Open CASCADE Technology 6.6.0
Public Member Functions
TDF_Label Class Reference

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.

#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
 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 mecanisms.

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.

The method returns True if found, False otherwise.

A removed attribute cannot be found.

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.

The method returns True if found, False otherwise.

A removed attribute cannot be found nor a backuped
attribute of a removed 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_OStreamDump (Standard_OStream &anOS) const
 Dumps the minimum information about <me> on
<aStream>.


Standard_OStreamoperator<< (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.


Constructor & Destructor Documentation

TDF_Label::TDF_Label ( )

Member Function Documentation

void TDF_Label::AddAttribute ( const Handle< TDF_Attribute > &  anAttribute) const
Standard_Boolean TDF_Label::AttributesModified ( ) const
Handle_TDF_Data TDF_Label::Data ( ) const
Standard_Integer TDF_Label::Depth ( ) const
Standard_OStream& TDF_Label::Dump ( Standard_OStream anOS) const
void TDF_Label::EntryDump ( Standard_OStream anOS) const
void TDF_Label::ExtendedDump ( Standard_OStream anOS,
const TDF_IDFilter aFilter,
TDF_AttributeIndexedMap aMap 
) const
const TDF_Label TDF_Label::Father ( ) const
Standard_Boolean TDF_Label::FindAttribute ( const Standard_GUID anID,
Handle< TDF_Attribute > &  anAttribute 
) const
Standard_Boolean TDF_Label::FindAttribute ( const Standard_GUID anID,
const Standard_Integer  aTransaction,
Handle< TDF_Attribute > &  anAttribute 
) const
TDF_Label TDF_Label::FindChild ( const Standard_Integer  aTag,
const Standard_Boolean  create = Standard_True 
) const
void TDF_Label::ForgetAllAttributes ( const Standard_Boolean  clearChildren = Standard_True) const
Standard_Boolean TDF_Label::ForgetAttribute ( const Standard_GUID aguid) const
void TDF_Label::ForgetAttribute ( const Handle< TDF_Attribute > &  anAttribute) const
Standard_Boolean TDF_Label::HasAttribute ( ) const
Standard_Boolean TDF_Label::HasChild ( ) const
Standard_Boolean TDF_Label::HasGreaterNode ( const TDF_Label otherLabel) const

-C++: inline

Standard_Boolean TDF_Label::HasLowerNode ( const TDF_Label otherLabel) const

-C++: inline

void TDF_Label::Imported ( const Standard_Boolean  aStatus) const
Standard_Boolean TDF_Label::IsAttribute ( const Standard_GUID anID) const
Standard_Boolean TDF_Label::IsDescendant ( const TDF_Label aLabel) const
Standard_Boolean TDF_Label::IsDifferent ( const TDF_Label aLabel) const
Standard_Boolean TDF_Label::IsEqual ( const TDF_Label aLabel) const
Standard_Boolean TDF_Label::IsImported ( ) const
Standard_Boolean TDF_Label::IsNull ( ) const
Standard_Boolean TDF_Label::IsRoot ( ) const
Standard_Boolean TDF_Label::MayBeModified ( ) const
Standard_Integer TDF_Label::NbAttributes ( ) const
Standard_Integer TDF_Label::NbChildren ( ) const
TDF_Label TDF_Label::NewChild ( ) const
void TDF_Label::Nullify ( )
Standard_Boolean TDF_Label::operator!= ( const TDF_Label aLabel) const [inline]
Standard_OStream& TDF_Label::operator<< ( Standard_OStream anOS) const [inline]
Standard_Boolean TDF_Label::operator== ( const TDF_Label aLabel) const [inline]
void TDF_Label::ResumeAttribute ( const Handle< TDF_Attribute > &  anAttribute) const
const TDF_Label TDF_Label::Root ( ) const
Standard_Integer TDF_Label::Tag ( ) const
Standard_Integer TDF_Label::Transaction ( ) const

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines