All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

ObjectSpecsModeler Interface CATISpecObject

System.IUnknown
  |
  +---System.IDispatch
    |
    +---System.CATBaseUnknown
      |
      +---CATISpecObject
 

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


interface CATISpecObject

Interface to manage the basic mechanisms of Feature Modeler.
Role: This interface is the base of the Feature Modeler, the prototype-instance and instance-reference mechanism. This interface enables you to manipulate features, i.e. create them from Startups defined in catalogs, trigger their update, etc. NB:
Adding attributes dynamically (through the various AddAttribute() methods) is not recommended. You may want to consider updating your catalog to add new attributes to your Startup instead.

See also:
CATISpecAttrKey, CATISpecAttrAccess, CATISpecAttribute


Method Index


o AddAttribute(CATUnicodeString&,CATAttrKind,CATAttrInOut)
Adds an attribute defined by its name, its type, and the expected behavior.
o AddAttribute(CATUnicodeString&,CATAttrKind,CATAttrKind,CATAttrInOut)
Adds an attribute defined by its name,its type, its sharp type, and the expected behavior.
o AddAttribute(CATUnicodeString&,CATAttrKind,CATAttrKind,CATUnicodeString&,CATAttrInOut)
Adds an attribute supposed to be valuate by list of other attributes.
o AddAttribute(CATUnicodeString&,CATAttrKind,CATUnicodeString&,CATAttrInOut)
Adds an attribute defined by its name,its type, its sharp type, and the expected behavior.
o CanGetReference()
Returns a CATBoolean to know if it's possible to get the reference without loading the document.
o CanRemove(CATBaseUnknown_var&)
Whether it is licit or not to remove a child object.
o GetBindParameter()
Returns the BindParameter.
o GetDisplayName()
Returns the automatic external NLS name of the feature; this will generally be the autoname of the feature.
o GetFather()
Returns the feature agregating this one, a.
o GetFeatContainer()
Returns the container containing the feature.
o GetName()
Returns the name of the feature.
o GetReference()
Returns reference of the feature.
o GetRootFather()
Returns the root SpecObject agregating this.
o GetStartUp()
Returns the startup of this feature, i.
o GetSuperType()
Returns the SuperType of the feature.
o GetTimeStamp()
Returns the modification TimeStamp of the feature.
o GetType()
Returns the type (i.
o GetUpdateStamp()
Returns the updateStamp held by the feature.
o Instanciate(CATUnicodeString&,CATIContainer_var&,CATBoolean)
Instanciates a new feature.
o IsOlderThan(CATISpecObject_var&)
Determines whether another SpecObject is older than this.
o IsSubTypeOf(CATUnicodeString&)
Determine whether this feature is of the given type.
o IsSynchronized()
Returns whether the feature is synchronized with its reference.
o IsUpToDate(CATIDomain_var)
Returns the status of the object concerning the update mechanism.
o ListComponents()
Lists all features ( SpecObjects ) valuating tk_component attributes ( features agregated to the feature ).
o ListPointing(CATListPtrCATSpecPointing&)
Retrieves all objects pointing the feature.
o Remove(CATBaseUnknown_var&,int)
Removes a given object.
o RemoveAttribute(CATISpecAttribute_var&)
Permanently removes an attribute; NOT RECOMMENDED !
o RemoveComponent(CATISpecObject_var&)
Removes a given component from the list of features aggregated to this one by tk_component links.
o Reset()
Resets local modifications of an instance .
o SetAutoNameFather(CATISpecObject_var&)
Sets the feature's autonaming father to the given feature.
o SetBindParameter(CATFlavorParam)
Defines the type of link resolution that will be used by default on this feature.
o SetDisplayName(CATUnicodeString&)
Modifies the automatic external name of the feature.
o SetUpToDate(CATBoolean)
Modifies the flag of the updatable object.
o SymbolIsExternal(CATParentKind)
Determines whether a given structural link (i.
o SymbolIsLoaded(CATParentKind)
Determines whether a given structural link (i.
o Synchronize(CATListValCATISpecAttribute_var*)
o SynchronizeAllInstances(CATListValCATISpecAttribute_var*,CATListValCATISpecObject_var*)
o Update(CATIDomain_var)
Rebuilds the feature ( generate the result ).

Methods


o AddAttribute
public virtual CATISpecAttribute* AddAttribute( const CATUnicodeString& iName,
CATAttrKind iType,
CATAttrInOut iFacet=sp_NEUTRAL )=0
Adds an attribute defined by its name, its type, and the expected behavior.
Parameters:
iName
attribute's name
iType
defines the type of an attribute.
Legal values :
tk_string : to specify a string C++ type.
tk_double : to specify a double C++ type
tk_boolean : to specify a DASSAULT SYSTEMES CATBoolean typedef
tk_octet : to specify an unsigned char C++ type
tk_integer : to specify an integer C++ type
tk_specobject: to specify a feature
tk_component : to specify a component, i.e. a feature that can be aggregated only once to a parent feature
tk_list : to specify a list of any other types
tk_external : to specify an object to be linked to another one by a symbolic link.
iFacet
Defines the value behaviour when valuating the object.
See also:
CATIOsmUpdate
Returns:
CATBaseUnknown#Release Returns attribute which has to be released after use.
o AddAttribute
public virtual CATISpecAttribute* AddAttribute( const CATUnicodeString& iName,
CATAttrKind iType,
CATAttrKind iSharp_type,
CATAttrInOut iFacet=sp_NEUTRAL) = 0
Adds an attribute defined by its name,its type, its sharp type, and the expected behavior.
Parameters:
iName
attribute's name
iType
defines the type of an attribute.
Legal values :
tk_string : to specify a string C++ type.
tk_double : to specify a double C++ type
tk_boolean : to specify a DASSAULT SYSTEMES CATBoolean typedef
tk_octet : to specify an unsigned char C++ type
tk_integer : to specify an integer C++ type
tk_specobject: to specify a feature
tk_component : to specify a component, i.e. a feature that can be aggregated only once to a parent feature
tk_list : to specify a list of any other types
tk_external : to specify an object to be linked to another one by a symbolic link.
iSharp_type
to specify a late type for attribute ( specify which kind of type we can have for the feature valuating ). Concerns attributes whose type is a list.
iFacet
Defines the value behaviour when valuating the object.
See also:
CATIOsmUpdate
Returns:
CATBaseUnknown#Release Returns attribute which has to be released after use.
o AddAttribute
public virtual CATISpecAttribute* AddAttribute( const CATUnicodeString& iName,
CATAttrKind iType,
CATAttrKind iType_list,
const CATUnicodeString& iSharp_type,
CATAttrInOut iFacet=sp_NEUTRAL )=0
Adds an attribute supposed to be valuate by list of other attributes.
Parameters:
iName
attribute's name
iType
defines the type of the attribute to add.
Legal values :
tk_list : to specify a list of any other types
iType_list
defines the kind of attribute's valuating the list.
iSharp_type
to specify a late type for attribute ( specify which kind of type we can have for the feature valuating ).
iFacet
Defines the value behaviour when valuating the object.
See also:
CATIOsmUpdate
Returns:
CATBaseUnknown#Release Returns attribute which has to be released after use.
o AddAttribute
public virtual CATISpecAttribute* AddAttribute( const CATUnicodeString& iName,
CATAttrKind iType,
const CATUnicodeString& iSharp_type,
CATAttrInOut iFacet=sp_NEUTRAL) = 0
Adds an attribute defined by its name,its type, its sharp type, and the expected behavior.
Parameters:
iName
attribute's name
iType
defines the type of an attribute.
Legal values :
tk_string : to specify a string C++ type.
tk_double : to specify a double C++ type
tk_boolean : to specify a DASSAULT SYSTEMES CATBoolean typedef
tk_octet : to specify an unsigned char C++ type
tk_integer : to specify an integer C++ type
tk_specobject: to specify a feature
tk_component : to specify a component, i.e. a feature that can be aggregated only once to a parent feature
tk_list : to specify a list of any other types
tk_external : to specify an object to be linked to another one by a symbolic link.
iSharp_type
to specify a late type for attribute ( specify which kind of type we can have for the feature valuating ).
iFacet
Defines the value behaviour when valuating the object.
See also:
CATIOsmUpdate
Returns:
CATBaseUnknown#Release Returns added attribute which has to be released after use.
o CanGetReference
public virtual CATBoolean CanGetReference()const = 0
Returns a CATBoolean to know if it's possible to get the reference without loading the document.
Returns:
TRUE if the document doesn't need to be loaded.
o CanRemove
public virtual int CanRemove( const CATBaseUnknown_var& iChild) = 0
Whether it is licit or not to remove a child object. If not, the Remove method is expected to fail. Also, such a child will not be deleted when, for instance, a cut and paste operation is made on it.
Parameters:
iChild
object to check for removal right.
o GetBindParameter
public virtual CATFlavorParam GetBindParameter()const = 0
Returns the BindParameter.
See also:
CATFlavorParam
o GetDisplayName
public virtual CATUnicodeString GetDisplayName()const = 0
Returns the automatic external NLS name of the feature; this will generally be the autoname of the feature.
o GetFather
public virtual CATISpecObject* GetFather()const = 0
Returns the feature agregating this one, a.k.a. its owner.
From the point of view of said owner, this feature is a tk_component.
Returns:
CATBaseUnknown#Release The returned father has to be released after use.
o GetFeatContainer
public virtual CATIContainer_var GetFeatContainer()const = 0
Returns the container containing the feature.
o GetName
public virtual CATUnicodeString GetName()const = 0
Returns the name of the feature.
o GetReference
public virtual CATISpecObject* GetReference()const = 0
Returns reference of the feature.
Role:The reference is the one from which an instance originates.
Returns:
CATBaseUnknown#Release The returned reference has to be released after use.
o GetRootFather
public virtual CATISpecObject* GetRootFather()const = 0
Returns the root SpecObject agregating this.
Returns:
CATBaseUnknown#Release The returned root father has to be released after use.
o GetStartUp
public virtual CATISpecObject* GetStartUp()const = 0
Returns the startup of this feature, i.e. the first feature in the instanciation chain.
Returns:
CATBaseUnknown#Release The returned startup has to be released after use.
o GetSuperType
public virtual CATUnicodeString GetSuperType()const = 0
Returns the SuperType of the feature.
o GetTimeStamp
public virtual CATOldTimeStamp GetTimeStamp()const = 0
Returns the modification TimeStamp of the feature.
o GetType
public virtual CATUnicodeString GetType()const = 0
Returns the type (i.e. Late Type) of the feature. This is generally the same as its name.
o GetUpdateStamp
public virtual CATOldUpdateStamp GetUpdateStamp()const = 0
Returns the updateStamp held by the feature. The updateStamp is unchanged unless some inputs of the feature has been modified.
Returns:
the updateStamp of the feature.
o Instanciate
public virtual CATISpecObject* Instanciate( const CATUnicodeString& iName= NULL_string,
const CATIContainer_var& iContainer= NULL_var,
CATBoolean iNeedToSave= FALSE) = 0
Instanciates a new feature.
Role:Instanciation creates a new feature that inherits the type, the values and the attributes of another.
These new features can be created both from a Startup, or from another feature.
The original object is known as the 'reference' of the new object, the 'instance'.
Parameters:
iName
name of the new instance. if NULL, the instance will have the same name as the StartUp.
iContainer
specifies wich container the instance will belong to. if NULL, the instance will be in the same container as its reference.
iNeedToSave
if TRUE, saving the document containing the instance will cause the document containing the reference to be safed.
Returns:
CATBaseUnknown#Release The new instance. Must be released after use.
o IsOlderThan
public virtual int IsOlderThan( const CATISpecObject_var& iRefObj) const = 0
Determines whether another SpecObject is older than this.
Role : compares timestamps of all attributes associated to the feature, and the SpecObject time stamp itself.
Parameters:
iRefObj
SpecObject refered to know if it's older than this.
Returns:
1 if iRefObj is older than this.
o IsSubTypeOf
public virtual CATBoolean IsSubTypeOf( const CATUnicodeString& iSpecType) = 0
Determine whether this feature is of the given type.
Parameters:
iSpecType
type of the given specobject
o IsSynchronized
public virtual CATBoolean IsSynchronized()const = 0
Returns whether the feature is synchronized with its reference.
Returns:

Legal Values: TRUE if the feature has ever been synchronized. FALSE if it has to be synchronized.
o IsUpToDate
public virtual CATBoolean IsUpToDate(CATIDomain_var iDomain=NULL_var) const = 0
Returns the status of the object concerning the update mechanism. Role: this method returns the status of the object concerning the update mechanism. The default IsUpToDate mechanism may be overridden with CATIOsmUpdate.
Parameters:
iDomain
The application domain of the update (not used).
Returns:
TRUE : the object is up to date.
FALSE : the object needs to be updated.
o ListComponents
public virtual CATListValCATISpecObject_var* ListComponents()const = 0
Lists all features ( SpecObjects ) valuating tk_component attributes ( features agregated to the feature ). List order is not guaranteed.
Returns:
delete Returns a new list containing the agregated features. Do not forget to delete it.
o ListPointing
public virtual HRESULT ListPointing(CATListPtrCATSpecPointing& oListOfAttr) = 0
Retrieves all objects pointing the feature.
Parameters:
oListOfAttr
[out, delete] The list of
CATSpecPointing objects. For each feature pointing this, through CATISpecAttrAccess.SetSpecAttribute or CATISpecAttrAccess.SetSpecObject, an object is added in the list.
Do not forget to delete (and not release) each object of the list after its use.
o Remove
public virtual void Remove( const CATBaseUnknown_var& iChild,
int iForCloseContext=0) = 0
Removes a given object.
Parameters:
iChild
The child object to remove.
iForCloseContext
This parameter specifies the context of removal:
Legal values
  • 1: During the closure of the document containing this.
  • 0: otherwise (default value). In this case internal post-processing are done.
The Remove method calls the
LifeCycleObject.remove on iChild with this parameter.
o RemoveAttribute
public virtual void RemoveAttribute( const CATISpecAttribute_var& iAttr) = 0
Permanently removes an attribute; NOT RECOMMENDED !
Parameters:
iAttr
attribute to remove.
o RemoveComponent
public virtual void RemoveComponent( const CATISpecObject_var& iSpec)=0
Removes a given component from the list of features aggregated to this one by tk_component links. The child is still alive after this operation but has no more father.
Parameters:
iSpec
The child to remove.
o Reset
public virtual void Reset()= 0
Resets local modifications of an instance .
Role:resets localmodification and synchronize with reference. To apply on an instance.
o SetAutoNameFather
public virtual void SetAutoNameFather( const CATISpecObject_var& iRefObj)= 0
Sets the feature's autonaming father to the given feature. The autonaming father is used to produce the automatic name of a feature : if your autoname father is called 'Instance1', you will be called 'Instance1.1' unless you manually select a name. This method will fail if the feature already has a manually name defined.
Parameters:
iRefObj
feature to use as autonaming father.
o SetBindParameter
public virtual void SetBindParameter(CATFlavorParam iParam)=0
Defines the type of link resolution that will be used by default on this feature. This is used any time a link resolution is necessary:
  • to access the value of a tk_component, tk_specobject, tk_external attribute,
  • to access any attribute that uses an attribute-attribute link,
  • to access the feature's reference, startup and other structural links,
  • etc.
Parameters:
iParam
The type of bind to perform; see
CATFlavorParam .
See also:
CATFlavorParam
o SetDisplayName
public virtual void SetDisplayName( const CATUnicodeString& iName)= 0
Modifies the automatic external name of the feature.
Parameters:
iName
name to set.
o SetUpToDate
public virtual void SetUpToDate(CATBoolean flag) = 0
Modifies the flag of the updatable object. Role: this method modifies the flag of the updatable object. The default SetUpToDate mechanism may be overridden with CATIOsmUpdate.
Parameters:
flag
  • TRUE : you are not allowed to call SetUpToDate(TRUE).
  • FALSE: the object needs to be updated.
o SymbolIsExternal
public virtual int SymbolIsExternal(CATParentKind iKind= Reference) const = 0
Determines whether a given structural link (i.e. reference, startup, etc) is in different document or not.
Parameters:
iKind
kind of relation between this and the concerned symbol.
legal values : Reference, StartUp or Father
See also:
CATParentKind
Returns:
TRUE if the feature pointed by the given link is in a different document.
o SymbolIsLoaded
public virtual int SymbolIsLoaded(CATParentKind iKind= Reference) const = 0
Determines whether a given structural link (i.e. reference, startup, etc) is loaded or not.
Parameters:
iKind
kind of relation between this and the concerned symbol ("parents ")
legal values : Reference, StartUp or Father
See also:
CATParentKind
Returns:
TRUE if the feature pointed by the given link is loaded.
o Synchronize
public virtual void Synchronize(CATListValCATISpecAttribute_var* iAtt2sync=0) = 0
Deprecated:
V5R17 CATISpecAttrAccess::Synchronize Synchronizes instance from reference.
Parameters:
iAtt2sync
list of attributes to synchronize.
if NULL, all attributes will be synchronized.
o SynchronizeAllInstances
public virtual void SynchronizeAllInstances(CATListValCATISpecAttribute_var* iAtt2sync=0 ,
CATListValCATISpecObject_var* oListObj= NULL) = 0
Deprecated:
V5R17 CATISpecAttrAccess::SynchronizeAllInstances Synchronizes recursively all instances from the reference feature calling that method.
Parameters:
iAtt2sync
list of attributes to synchronize
if NULL, all attributes will be synchronized.
oListObj
list of all instances of the feature found ( synchronised or not ).
o Update
public virtual int Update(CATIDomain_var iDomain= NULL_var) = 0
Rebuilds the feature ( generate the result ). Role: this method rebuilds the feature. The default Update mechanism may be overridden with CATIOsmUpdate. Note: The default update mechanism detects all features that have been modified upstream from a feature, updates all the features impacting the updated feature, and finally rebuilds the final feature.
Parameters:
iDomain
application domain of the update ( not used ).

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

Copyright © 2003, Dassault Systèmes. All rights reserved.