#include <TDF_Attribute.hxx>
Inheritance diagram for TDF_Attribute:
Public Member Functions | |
virtual Standard_EXPORT const Standard_GUID & | ID () const =0 |
Returns the ID of the attribute. . | |
Standard_EXPORT const TDF_Label | Label () const |
Returns the label to which the attribute is attached. If the label is not included in a DF, the label is null. See Label. Warning If the label is not included in a data framework, it is null. This function should not be redefined inline. . | |
Standard_Integer | Transaction () const |
Returns the transaction index in which the attribute has been created or modified. . | |
Standard_EXPORT Standard_Integer | UntilTransaction () const |
Returns the upper transaction index until which the attribute is/was valid. This number may vary. A removed attribute validity range is reduced to its transaction index. . | |
Standard_Boolean | IsValid () const |
Returns true if the attribute is valid; i.e. not a backuped or removed one. . | |
Standard_Boolean | IsNew () const |
Returns true if the attribute has no backup . | |
Standard_Boolean | IsForgotten () const |
Returns true if the attribute forgotten status is set. //! ShortCut Methods concerning associated attributes ================================================= . | |
Standard_EXPORT Standard_Boolean | IsAttribute (const Standard_GUID &anID) const |
Returns true if it exists an associated attribute of <me> with <anid> as ID. . | |
Standard_EXPORT Standard_Boolean | FindAttribute (const Standard_GUID &anID, Handle(TDF_Attribute)&anAttribute) const |
Finds an associated attribute of <me>, according to <anid>. the returned <anattribute> is a valid one. The method returns True if found, False otherwise. A removed attribute cannot be found using this method. . | |
Standard_EXPORT void | AddAttribute (const Handle(TDF_Attribute)&other) const |
Adds an Attribute <other> to the label of <me>.Raises if there is already one of the same GUID fhan <other>. . | |
Standard_EXPORT Standard_Boolean | ForgetAttribute (const Standard_GUID &aguid) const |
Forgets the Attribute of GUID <aguid> associated to the label of <me>. Be carefull that if <me> is the attribute of <guid>, <me> will have a null label after this call. If the attribute doesn't exist returns False. Otherwise returns True. . | |
Standard_EXPORT void | ForgetAllAttributes (const Standard_Boolean clearChildren=Standard_True) const |
Forgets all the attributes attached to the label of <me>. Does it on the sub-labels if <clearchildren> is set to true. Of course, this method is compatible with Transaction & Delta mecanisms. Be carefull that if <me> will have a null label after this call . | |
virtual Standard_EXPORT void | AfterAddition () |
Something to do after adding an Attribute to a label. . | |
virtual Standard_EXPORT void | BeforeRemoval () |
Something to do before removing an Attribute from a label. . | |
virtual Standard_EXPORT void | BeforeForget () |
Something to do before forgetting an Attribute to a label. . | |
virtual Standard_EXPORT void | AfterResume () |
Something to do after resuming an Attribute from a label. . | |
virtual Standard_EXPORT Standard_Boolean | AfterRetrieval (const Standard_Boolean forceIt=Standard_False) |
Something to do AFTER creation of an attribute by persistent-transient translation. The returned status says if AfterUndo has been performed (true) or if this callback must be called once again further (false). If <forceit> is set to true, the method MUST perform and return true. Does nothing by default and returns true. . | |
virtual Standard_EXPORT Standard_Boolean | BeforeUndo (const Handle(TDF_AttributeDelta)&anAttDelta, const Standard_Boolean forceIt=Standard_False) |
Something to do before applying <anattdelta>. The returned status says if AfterUndo has been performed (true) or if this callback must be called once again further (false). If <forceit> is set to true, the method MUST perform and return true. Does nothing by default and returns true. . | |
virtual Standard_EXPORT Standard_Boolean | AfterUndo (const Handle(TDF_AttributeDelta)&anAttDelta, const Standard_Boolean forceIt=Standard_False) |
Something to do after applying <anattdelta>. The returned status says if AfterUndo has been performed (true) or if this callback must be called once again further (false). If <forceit> is set to true, the method MUST perform and return true. Does nothing by default and returns true. . | |
virtual Standard_EXPORT void | BeforeCommitTransaction () |
A callback. By default does nothing. It is called by TDF_Data::CommitTransaction() method. . | |
Standard_EXPORT void | Backup () |
Backups the attribute. The backuped attribute is flagged "Backuped" and not "Valid". The method does nothing: 1) If the attribute transaction number is equal to the current transaction number (the attribute has already been backuped). 2) If the attribute is not attached to a label. . | |
Standard_Boolean | IsBackuped () const |
Returns true if the attribute backup status is set. This status is set/unset by the Backup() method. . | |
virtual Standard_EXPORT Handle_TDF_Attribute | BackupCopy () const |
Copies the attribute contents into a new other attribute. It is used by Backup(). . | |
virtual Standard_EXPORT void | Restore (const Handle(TDF_Attribute)&anAttribute)=0 |
Restores the backuped contents from <anattribute> into this one. It is used when aborting a transaction. . | |
virtual Standard_EXPORT Handle_TDF_DeltaOnAddition | DeltaOnAddition () const |
Makes an AttributeDelta because <me> appeared. The only known use of a redefinition of this method is to return a null handle (no delta). . | |
virtual Standard_EXPORT Handle_TDF_DeltaOnForget | DeltaOnForget () const |
Makes an AttributeDelta because <me> has been forgotten. . | |
virtual Standard_EXPORT Handle_TDF_DeltaOnResume | DeltaOnResume () const |
Makes an AttributeDelta because <me> has been resumed. . | |
virtual Standard_EXPORT Handle_TDF_DeltaOnModification | DeltaOnModification (const Handle(TDF_Attribute)&anOldAttribute) const |
Makes a DeltaOnModification between <me> and <anOldAttribute. . | |
virtual Standard_EXPORT void | DeltaOnModification (const Handle(TDF_DeltaOnModification)&aDelta) |
Applies a DeltaOnModification to <me>. . | |
virtual Standard_EXPORT Handle_TDF_DeltaOnRemoval | DeltaOnRemoval () const |
Makes a DeltaOnRemoval on <me> because <me> has disappeared from the DS. . | |
virtual Standard_EXPORT Handle_TDF_Attribute | NewEmpty () const =0 |
Returns an new empty attribute from the good end type. It is used by the copy algorithm. . | |
virtual Standard_EXPORT void | Paste (const Handle(TDF_Attribute)&intoAttribute, const Handle(TDF_RelocationTable)&aRelocationTable) const =0 |
This method is different from the "Copy" one, because it is used when copying an attribute from a source structure into a target structure. This method may paste the contents of <me> into <intoattribute>. The given pasted attribute can be full or empty of its contents. But don't make a NEW! Just set the contents! It is possible to use <arelocationtable> to get/set the relocation value of a source attribute. . | |
virtual Standard_EXPORT void | References (const Handle(TDF_DataSet)&aDataSet) const |
Adds the first level referenced attributes and labels to <adataset>. For this, use the AddLabel or AddAttribute of DataSet. If there is none, do not implement the method. . | |
virtual Standard_EXPORT Standard_OStream & | Dump (Standard_OStream &anOS) const |
Dumps the minimum information about <me> on <astream>. . | |
Standard_OStream & | operator<< (Standard_OStream &anOS) const |
virtual Standard_EXPORT void | ExtendedDump (Standard_OStream &anOS, const TDF_IDFilter &aFilter, TDF_AttributeIndexedMap &aMap) const |
Dumps the attribute content on <astream>, using <amap> like this: if an attribute is not in the map, first put add it to the map and then dump it. Use the map rank instead of dumping each attribute field. . | |
Standard_EXPORT void | Forget (const Standard_Integer aTransaction) |
Forgets the attribute. <atransaction> is the current transaction in which the forget is done. A forgotten attribute is also flagged not "Valid". A forgotten attribute is invisible. Set also the "Valid" status to False. Obvioulsy, DF cannot empty an attribute (this has a semantic signification), but can remove it from the structure. So, a forgotten attribute is NOT an empty one, but a soon DEAD one. Should be private. . | |
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const |
Protected Member Functions | |
Standard_EXPORT | TDF_Attribute () |
Initializes fields. . | |
Private Member Functions | |
void | Validate (const Standard_Boolean aStatus) |
Set the "Valid" status with <astatus>. . | |
Standard_EXPORT void | Resume () |
Resumes the attribute (undos Forget action). . | |
void | Backup (const Standard_Boolean aStatus) |
Set the "backuped" status with <astatus>. . | |
Standard_EXPORT void | RemoveBackup () |
Removes the last backup attribute, if it exists. . | |
Private Attributes | |
TDF_LabelNodePtr | myLabelNode |
Standard_Integer | myTransaction |
Standard_Integer | mySavedTransaction |
Standard_Integer | myFlags |
Handle_TDF_Attribute | myNext |
Handle_TDF_Attribute | myBackup |
|
|
|
|
|
Reimplemented in TDataStd_TreeNode, TDocStd_XLink, and TPrsStd_AISPresentation. |
|
Reimplemented in TDataStd_TreeNode, TObj_TReference, and TPrsStd_AISPresentation. |
|
Reimplemented in TDataStd_Comment, and TObj_TReference. |
|
Reimplemented in TDataStd_TreeNode, TDocStd_XLink, TNaming_NamedShape, TNaming_UsedShapes, TObj_TIntSparseArray, TObj_TObject, TObj_TReference, and TPrsStd_AISPresentation. |
|
|
|
|
|
Reimplemented in TDocStd_XLink, TDocStd_XLinkRoot, TNaming_NamedShape, TNaming_UsedShapes, and TPrsStd_AISPresentation. |
|
Reimplemented in TObj_TIntSparseArray. |
|
Reimplemented in TDataStd_TreeNode, TObj_TObject, TObj_TReference, and TPrsStd_AISPresentation. |
|
Reimplemented in TDocStd_XLink, TNaming_NamedShape, TNaming_UsedShapes, and TPrsStd_AISPresentation. |
|
Reimplemented in TDataStd_TreeNode, TDocStd_XLink, TNaming_NamedShape, TObj_TReference, and TPrsStd_AISPresentation. |
|
|
|
|
|
Reimplemented in TNaming_NamedShape, and TObj_TIntSparseArray. |
|
Reimplemented in TDataStd_ByteArray, TDataStd_ExtStringArray, TDataStd_IntegerArray, TDataStd_IntPackedMap, TDataStd_RealArray, and TNaming_NamedShape. |
|
Reimplemented in TNaming_NamedShape. |
|
|
|
|
Reimplemented in TNaming_Naming. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reimplemented in TDataStd_TreeNode, TDocStd_XLink, and TFunction_GraphNode. |
|
|
|
|