CATFunctionalImplLinkUseItf Interface CATIFunctionalImplementLinkManager

Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.


interface CATIFunctionalImplementLinkManager

Interface representing the Functional Implement Link Manager.

Role: The Functional Implement Link Manager is dedicated to the manipulation of Implement Links.

It is a component instanciated thanks to the .
Code sample:

   ...
   CATIFunctionalImplementLinkManager* pImplementLinkManager = NULL;
   rc = CATFunctionalImplementLinkManagerProvider::GetImplementLinkManager(pImplementLinkManager);
   if (SUCCEEDED(rc) && NULL != pImplementLinkManager)
   {
     ...
     pImplementLinkManager->Release();
     pImplementLinkManager = NULL;
   }
   ...
 

Notes:
  1. An Implement Link is a PLMConnection that links a Functional entity to any entity from an upstream domain.
  2. All the methods of this interface are working on the session which content, in term of loaded entities, is tuned by an option at Open. Refer to .


Method Index


o CreateImplementRelation(CATIType_var&,CATIAdpEnvironment*,CATListValCATICkeParm_var&,CATOmbObjectInContext*,CATOmbObjectInContext*,CATIFunctionalImplementLink*&)
Creates an Implement Link Relation between a Functional entity and any Entity from an upstream domain according to the authorized combinations.
o DeleteImplementRelation(CATOmbObjectInContext*,CATOmbObjectInContext*)
Deletes an Implement Link Relation between a Functional entity and any entity from an upstream domain.
o GetImplementRelationSources(CATOmbObjectInContext*,CATLISTP(CATOmbObjectInContext)&,CATLISTP(CATIFunctionalImplementLink)&)
Get the Functional entities (Sources) from any implemented entity.
o GetImplementRelationTargets(CATOmbObjectInContext*,CATLISTP(CATOmbObjectInContext)&,CATLISTP(CATIFunctionalImplementLink)&)
Get the implemented entities (Targets) from a Functional entity.

Methods


o CreateImplementRelation
public virtual CreateImplementRelation( const ispType,
const ipEnvironment,
iLAttributesValues,
ipFunctionalSource,
ipTarget,
opImplementLinkConnection)
Creates an Implement Link Relation between a Functional entity and any Entity from an upstream domain according to the authorized combinations.
Refer to the authorized combinations for the compatibilty between types
Role: This method creates an Implement Link Relation between a Functional entity and any Entity from an upstream domain according to the authorized combinations.
Parameters:
ispType
The type of the Implement Link to create (optional).
It must be a subtype of the Implement Link type (RFLPLMImplementConnection).
If NULL, a standard Functional Implement Link will be created.
ipEnvironment
The PLM environment in which must be created the Functional Implement Link.
If NULL, the current PLM environment will be used.
iLAttributesValues
A list of functional attributes values (of the implement link to create).
The compliancy of attributes values will be checked relatively to their definition in metadata (mandatory, size, type).
This list must be empty.
ipFunctionalSource
Represents the Functional Source entity.
ipTarget
Represents the Target entity. The target entity belongs to an upstream domain according to the authorized combinations.
opImplementLinkConnection
Represents the created Implement Link connection.
Returns:
  • S_OK if the Implement Link Relation has been created.
  • E_INVALIDARG if the input arguments are not valid.
    • ipFunctionalSource is NULL
    • ipTarget is NULL
    • Target in context of the Source is not valid
    • The given Implement Link connection pointer is not NULL
  • E_FAIL if an error occured. The possible returned errors (listed by their identifier) are:
    • ImplementLinkERR_01:
    • Creation of an Implement Link between these 2 objects failed because this is an unauthorized pattern.
    • ImplementLinkERR_02:
    • Creation of an Implement Link between these 2 objects failed because its Master Implement Link is missing.
    • ImplementLinkERR_03:
    • A similar Implement Link between these 2 entities already exist, the creation of an identical one is forbidden!
    • Otherwise : Internal error.
o DeleteImplementRelation
public virtual DeleteImplementRelation( ipFunctionalSource,
ipTarget)
Deletes an Implement Link Relation between a Functional entity and any entity from an upstream domain.
Role: This method deletes an Implement Link Relation between a Functional entity and any entity from an upstream domain.
Parameters:
ipFunctionalSource
Represents the Functional implementing entity.
ipTarget
Represents the implemented entity.
Returns:
  • S_OK if the Implement Link Relation has been deleted.
  • E_INVALIDARG if the input arguments are not valid.
    • ipFunctionalSource is NULL
    • ipTarget is NULL
    • Target in context of the Source is not valid
  • E_FAIL if an error occured.
    • Licensing authorization not granted.
    • Internal error.
o GetImplementRelationSources
public virtual GetImplementRelationSources( ipTarget,
oListOfFunctionalSources,
oListOfImplementLinks)
Get the Functional entities (Sources) from any implemented entity.
Role: This method gets, from the current session, the Functional entities (Sources) from any implemented entity.
The session content depends on the option used during the open. Refer to the ExpandMode argument described in .
Parameters:
ipTarget
Represents the implemented entity.
oListOfFunctionalSources
Represents the list of Functional implementing entities.
oListOfImplementLinks
Represents the list of the implement links
Returns:
  • S_OK if the Source entities have been found
  • E_INVALIDARG if the input arguments are not valid.
    • ipTarget is NULL.
    • oListOfFunctionalSources is not empty.
  • E_FAIL if an error occured.
    • Licensing authorization not granted.
    • Internal error.
o GetImplementRelationTargets
public virtual GetImplementRelationTargets( ipFunctionalSource,
oListOfTargets,
oListOfImplementLinks)
Get the implemented entities (Targets) from a Functional entity.
Role: This method gets, from the current session, the implemented entities (Targets) from a Functional entity.
The session content depends on the option used during the open. Refer to the ExpandMode argument described in .
Parameters:
ipFunctionalSource
Represents the Functional implementing entity.
oListOfTargets
Represents the list of implemented entities.
oListOfImplementLinks
Represents the list of the implement links
Returns:
  • S_OK if the Source entities have been found
  • E_INVALIDARG if the input arguments are not valid.
    • ipFunctionalSource is NULL.
    • oListOfTargets is not empty.
  • E_FAIL if an error occured.
    • Licensing authorization not granted.
    • Internal error.

This object is included in the file: CATIFunctionalImplementLinkManager.h
If needed, your Imakefile.mk should include the module: CATFunctionalImplLinkUseItf

Copyright © 1999-2014, Dassault Systèmes. All rights reserved.