Open CASCADE Technology 7.8.2.dev
|
This class provides basic operations to define a label in a data structure. A label is a feature in the feature hierarchy. A label is always connected to a Data from TDF. To a label is attached attributes containing the software components information. More...
#include <TDF_Label.hxx>
Public Member Functions | |
TDF_Label () | |
Constructs an empty label object. | |
void | Nullify () |
Nullifies the label. | |
Handle< TDF_Data > | Data () const |
Returns the Data owning <me>. | |
Standard_Integer | Tag () const |
Returns the tag of the label. This is the integer assigned randomly to a label in a data framework. This integer is used to identify this label in an entry. | |
const TDF_Label | Father () const |
Returns the label father. This label may be null if the label is root. | |
Standard_Boolean | IsNull () const |
Returns True if the <aLabel> is null, i.e. it has not been included in the data framework. | |
void | Imported (const Standard_Boolean aStatus) const |
Sets or unsets <me> and all its descendants as imported label, according to <aStatus>. | |
Standard_Boolean | IsImported () const |
Returns True if the <aLabel> is imported. | |
Standard_Boolean | IsEqual (const TDF_Label &aLabel) const |
Returns True if the <aLabel> is equal to me (same LabelNode*). | |
Standard_Boolean | operator== (const TDF_Label &aLabel) const |
Standard_Boolean | IsDifferent (const TDF_Label &aLabel) const |
Standard_Boolean | operator!= (const TDF_Label &aLabel) const |
Standard_Boolean | IsRoot () const |
Standard_Boolean | IsAttribute (const Standard_GUID &anID) const |
Returns true if <me> owns an attribute with <anID> as ID. | |
void | AddAttribute (const Handle< TDF_Attribute > &anAttribute, const Standard_Boolean append=Standard_True) const |
Adds an Attribute to the current label. Raises if there is already one. | |
void | ForgetAttribute (const Handle< TDF_Attribute > &anAttribute) const |
Forgets an Attribute from the current label, setting its forgotten status true and its valid status false. Raises if the attribute is not in the structure. | |
Standard_Boolean | ForgetAttribute (const Standard_GUID &aguid) const |
Forgets the Attribute of GUID <aguid> from the current label . If the attribute doesn't exist returns False. Otherwise returns True. | |
void | ForgetAllAttributes (const Standard_Boolean clearChildren=Standard_True) const |
Forgets all the attributes. Does it on also on the sub-labels if <clearChildren> is set to true. Of course, this method is compatible with Transaction & Delta mechanisms. | |
void | ResumeAttribute (const Handle< TDF_Attribute > &anAttribute) const |
Undo Forget action, setting its forgotten status false and its valid status true. Raises if the attribute is not in the structure. | |
Standard_Boolean | FindAttribute (const Standard_GUID &anID, Handle< TDF_Attribute > &anAttribute) const |
Finds an attribute of the current label, according to <anID>. If anAttribute is not a valid one, false is returned. | |
template<class T > | |
Standard_Boolean | FindAttribute (const Standard_GUID &theID, Handle< T > &theAttr) const |
Safe variant of FindAttribute() for arbitrary type of argument. | |
Standard_Boolean | FindAttribute (const Standard_GUID &anID, const Standard_Integer aTransaction, Handle< TDF_Attribute > &anAttribute) const |
Finds an attribute of the current label, according to <anID> and <aTransaction>. This attribute has/had to be a valid one for the given transaction index . So, this attribute is not necessary a valid one. | |
Standard_Boolean | MayBeModified () const |
Returns true if <me> or a DESCENDANT of <me> owns attributes not yet available in transaction 0. It means at least one of their attributes is new, modified or deleted. | |
Standard_Boolean | AttributesModified () const |
Returns true if <me> owns attributes not yet available in transaction 0. It means at least one attribute is new, modified or deleted. | |
Standard_Boolean | HasAttribute () const |
Returns true if this label has at least one attribute. | |
Standard_Integer | NbAttributes () const |
Returns the number of attributes. | |
Standard_Integer | Depth () const |
Returns the depth of the label in the data framework. This corresponds to the number of fathers which this label has, and is used in determining whether a label is root, null or equivalent to another label. Exceptions: Standard_NullObject if this label is null. This is because a null object can have no depth. | |
Standard_Boolean | IsDescendant (const TDF_Label &aLabel) const |
Returns True if <me> is a descendant of <aLabel>. Attention: every label is its own descendant. | |
const TDF_Label | Root () const |
Returns the root label Root of the data structure. This has a depth of 0. Exceptions: Standard_NullObject if this label is null. This is because a null object can have no depth. | |
Standard_Boolean | HasChild () const |
Returns true if this label has at least one child. | |
Standard_Integer | NbChildren () const |
Returns the number of children. | |
TDF_Label | FindChild (const Standard_Integer aTag, const Standard_Boolean create=Standard_True) const |
Finds a child label having <aTag> as tag. Creates The tag aTag identifies the label which will be the parent. If create is true and no child label is found, a new one is created. Example: //creating a label with tag 10 at Root TDF_Label lab1 = aDF->Root().FindChild(10); //creating labels 7 and 2 on label 10 TDF_Label lab2 = lab1.FindChild(7); TDF_Label lab3 = lab1.FindChild(2);. | |
TDF_Label | NewChild () const |
Create a new child label of me using autoamtic delivery tags provided by TagSource. | |
Standard_Integer | Transaction () const |
Returns the current transaction index. | |
Standard_Boolean | HasLowerNode (const TDF_Label &otherLabel) const |
Returns true if node address of <me> is lower than <otherLabel> one. Used to quickly sort labels (not on entry criterion). | |
Standard_Boolean | HasGreaterNode (const TDF_Label &otherLabel) const |
Returns true if node address of <me> is greater than <otherLabel> one. Used to quickly sort labels (not on entry criterion). | |
Standard_OStream & | Dump (Standard_OStream &anOS) const |
Dumps the minimum information about <me> on <aStream>. | |
Standard_OStream & | operator<< (Standard_OStream &anOS) const |
void | ExtendedDump (Standard_OStream &anOS, const TDF_IDFilter &aFilter, TDF_AttributeIndexedMap &aMap) const |
Dumps the label on <aStream> and its attributes rank in <aMap> if their IDs are kept by <IDFilter>. | |
void | EntryDump (Standard_OStream &anOS) const |
Dumps the label entry. | |
This class provides basic operations to define a label in a data structure. A label is a feature in the feature hierarchy. A label is always connected to a Data from TDF. To a label is attached attributes containing the software components information.
Label information:
It is possible to know the tag, the father, the depth in the tree of the label, if the label is root, null or equal to another label.
Comfort methods: Some methods useful on a label.
Attributes:
It is possible to get an attribute in accordance to an ID, or the yougest previous version of a current attribute.
TDF_Label::TDF_Label | ( | ) |
Constructs an empty label object.
void TDF_Label::AddAttribute | ( | const Handle< TDF_Attribute > & | anAttribute, |
const Standard_Boolean | append = Standard_True ) const |
Adds an Attribute to the current label. Raises if there is already one.
Standard_Boolean TDF_Label::AttributesModified | ( | ) | const |
Returns true if <me> owns attributes not yet available in transaction 0. It means at least one attribute is new, modified or deleted.
Standard_Integer TDF_Label::Depth | ( | ) | const |
Returns the depth of the label in the data framework. This corresponds to the number of fathers which this label has, and is used in determining whether a label is root, null or equivalent to another label. Exceptions: Standard_NullObject if this label is null. This is because a null object can have no depth.
Standard_OStream & TDF_Label::Dump | ( | Standard_OStream & | anOS | ) | const |
Dumps the minimum information about <me> on <aStream>.
void TDF_Label::EntryDump | ( | Standard_OStream & | anOS | ) | const |
Dumps the label entry.
void TDF_Label::ExtendedDump | ( | Standard_OStream & | anOS, |
const TDF_IDFilter & | aFilter, | ||
TDF_AttributeIndexedMap & | aMap ) const |
Dumps the label on <aStream> and its attributes rank in <aMap> if their IDs are kept by <IDFilter>.
const TDF_Label TDF_Label::Father | ( | ) | const |
Returns the label father. This label may be null if the label is root.
Standard_Boolean TDF_Label::FindAttribute | ( | const Standard_GUID & | anID, |
const Standard_Integer | aTransaction, | ||
Handle< TDF_Attribute > & | anAttribute ) const |
Finds an attribute of the current label, according to <anID> and <aTransaction>. This attribute has/had to be a valid one for the given transaction index . So, this attribute is not necessary a valid one.
The method returns True if found, False otherwise.
A removed attribute cannot be found nor a backuped attribute of a removed one.
Standard_Boolean TDF_Label::FindAttribute | ( | const Standard_GUID & | anID, |
Handle< TDF_Attribute > & | anAttribute ) const |
Finds an attribute of the current label, according to <anID>. If anAttribute is not a valid one, false is returned.
The method returns True if found, False otherwise.
A removed attribute cannot be found.
|
inline |
Safe variant of FindAttribute() for arbitrary type of argument.
TDF_Label TDF_Label::FindChild | ( | const Standard_Integer | aTag, |
const Standard_Boolean | create = Standard_True ) const |
Finds a child label having <aTag> as tag. Creates The tag aTag identifies the label which will be the parent. If create is true and no child label is found, a new one is created. Example: //creating a label with tag 10 at Root TDF_Label lab1 = aDF->Root().FindChild(10); //creating labels 7 and 2 on label 10 TDF_Label lab2 = lab1.FindChild(7); TDF_Label lab3 = lab1.FindChild(2);.
void TDF_Label::ForgetAllAttributes | ( | const Standard_Boolean | clearChildren = Standard_True | ) | const |
Forgets all the attributes. Does it on also on the sub-labels if <clearChildren> is set to true. Of course, this method is compatible with Transaction & Delta mechanisms.
void TDF_Label::ForgetAttribute | ( | const Handle< TDF_Attribute > & | anAttribute | ) | const |
Forgets an Attribute from the current label, setting its forgotten status true and its valid status false. Raises if the attribute is not in the structure.
Standard_Boolean TDF_Label::ForgetAttribute | ( | const Standard_GUID & | aguid | ) | const |
Forgets the Attribute of GUID <aguid> from the current label . If the attribute doesn't exist returns False. Otherwise returns True.
Standard_Boolean TDF_Label::HasAttribute | ( | ) | const |
Returns true if this label has at least one attribute.
Standard_Boolean TDF_Label::HasChild | ( | ) | const |
Returns true if this label has at least one child.
Standard_Boolean TDF_Label::HasGreaterNode | ( | const TDF_Label & | otherLabel | ) | const |
Returns true if node address of <me> is greater than <otherLabel> one. Used to quickly sort labels (not on entry criterion).
-C++: inline
Standard_Boolean TDF_Label::HasLowerNode | ( | const TDF_Label & | otherLabel | ) | const |
Returns true if node address of <me> is lower than <otherLabel> one. Used to quickly sort labels (not on entry criterion).
-C++: inline
void TDF_Label::Imported | ( | const Standard_Boolean | aStatus | ) | const |
Sets or unsets <me> and all its descendants as imported label, according to <aStatus>.
Standard_Boolean TDF_Label::IsAttribute | ( | const Standard_GUID & | anID | ) | const |
Returns true if <me> owns an attribute with <anID> as ID.
Standard_Boolean TDF_Label::IsDescendant | ( | const TDF_Label & | aLabel | ) | const |
Returns True if <me> is a descendant of <aLabel>. Attention: every label is its own descendant.
Standard_Boolean TDF_Label::IsDifferent | ( | const TDF_Label & | aLabel | ) | const |
Standard_Boolean TDF_Label::IsEqual | ( | const TDF_Label & | aLabel | ) | const |
Returns True if the <aLabel> is equal to me (same LabelNode*).
Standard_Boolean TDF_Label::IsImported | ( | ) | const |
Returns True if the <aLabel> is imported.
Standard_Boolean TDF_Label::IsNull | ( | ) | const |
Returns True if the <aLabel> is null, i.e. it has not been included in the data framework.
Standard_Boolean TDF_Label::IsRoot | ( | ) | const |
Standard_Boolean TDF_Label::MayBeModified | ( | ) | const |
Returns true if <me> or a DESCENDANT of <me> owns attributes not yet available in transaction 0. It means at least one of their attributes is new, modified or deleted.
Standard_Integer TDF_Label::NbAttributes | ( | ) | const |
Returns the number of attributes.
Standard_Integer TDF_Label::NbChildren | ( | ) | const |
Returns the number of children.
TDF_Label TDF_Label::NewChild | ( | ) | const |
Create a new child label of me using autoamtic delivery tags provided by TagSource.
void TDF_Label::Nullify | ( | ) |
Nullifies the label.
|
inline |
|
inline |
|
inline |
void TDF_Label::ResumeAttribute | ( | const Handle< TDF_Attribute > & | anAttribute | ) | const |
Undo Forget action, setting its forgotten status false and its valid status true. Raises if the attribute is not in the structure.
const TDF_Label TDF_Label::Root | ( | ) | const |
Returns the root label Root of the data structure. This has a depth of 0. Exceptions: Standard_NullObject if this label is null. This is because a null object can have no depth.
Standard_Integer TDF_Label::Tag | ( | ) | const |
Returns the tag of the label. This is the integer assigned randomly to a label in a data framework. This integer is used to identify this label in an entry.
Standard_Integer TDF_Label::Transaction | ( | ) | const |
Returns the current transaction index.