![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
This class is used to manipulate a complete independent, self sufficient data structure and its services: More...
#include <TDF_Data.hxx>

Public Member Functions | |
| TDF_Data () | |
| A new and empty Data structure. | |
| const TDF_Label | Root () const |
| Returns the root label of the Data structure. | |
| int | Transaction () const |
| Returns the current transaction number. | |
| int | Time () const |
| Returns the current tick. It is incremented each Commit. | |
| bool | IsApplicable (const occ::handle< TDF_Delta > &aDelta) const |
| Returns true if <aDelta> is applicable HERE and NOW. | |
| occ::handle< TDF_Delta > | Undo (const occ::handle< TDF_Delta > &aDelta, const bool withDelta=false) |
| Apply <aDelta> to undo a set of attribute modifications. | |
| void | Destroy () |
| ~TDF_Data () override | |
| bool | NotUndoMode () const |
| Returns the undo mode status. | |
| Standard_OStream & | Dump (Standard_OStream &anOS) const |
| Dumps the Data on <aStream>. | |
| Standard_OStream & | operator<< (Standard_OStream &anOS) const |
| void | AllowModification (const bool isAllowed) |
| Sets modification mode. | |
| bool | IsModificationAllowed () const |
| returns modification mode. | |
| void | SetAccessByEntries (const bool aSet) |
| Initializes a mechanism for fast access to the labels by their entries. The fast access is useful for large documents and often access to the labels via entries. Internally, a table of entry - label is created, which allows to obtain a label by its entry in a very fast way. If the mechanism is turned off, the internal table is cleaned. New labels are added to the table, if the mechanism is on (no need to re-initialize the mechanism). | |
| bool | IsAccessByEntries () const |
| Returns a status of mechanism for fast access to the labels via entries. | |
| bool | GetLabel (const TCollection_AsciiString &anEntry, TDF_Label &aLabel) |
| Returns a label by an entry. Returns false, if such a label doesn't exist or mechanism for fast access to the label by entry is not initialized. | |
| void | RegisterLabel (const TDF_Label &aLabel) |
| An internal method. It is used internally on creation of new labels. It adds a new label into internal table for fast access to the labels by entry. | |
| const TDF_HAllocator & | LabelNodeAllocator () const |
| Returns TDF_HAllocator, which is an incremental allocator used by TDF_LabelNode. This allocator is used to manage TDF_LabelNode objects, but it can also be used for allocating memory to application-specific data (be careful because this allocator does not release the memory). The benefits of this allocation scheme are noticeable when dealing with large OCAF documents, due to: | |
| void | DumpJson (Standard_OStream &theOStream, int theDepth=-1) const |
| Dumps the content of me into the stream. | |
Public Member Functions inherited from Standard_Transient | |
| Standard_Transient () | |
| Empty constructor. | |
| Standard_Transient (const Standard_Transient &) | |
| Copy constructor – does nothing. | |
| Standard_Transient & | operator= (const Standard_Transient &) |
| Assignment operator, needed to avoid copying reference counter. | |
| virtual | ~Standard_Transient ()=default |
| Destructor must be virtual. | |
| virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
| Returns a type descriptor about this object. | |
| bool | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
| Returns a true value if this is an instance of Type. | |
| bool | IsInstance (const char *const theTypeName) const |
| Returns a true value if this is an instance of TypeName. | |
| bool | IsKind (const opencascade::handle< Standard_Type > &theType) const |
| Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
| bool | IsKind (const char *const theTypeName) const |
| Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
| Standard_Transient * | This () const |
| Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. | |
| int | GetRefCount () const noexcept |
| Get the reference counter of this object. | |
| void | IncrementRefCounter () noexcept |
| Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations. | |
| int | DecrementRefCounter () noexcept |
| Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement. | |
| virtual void | Delete () const |
| Memory deallocator for transient classes. | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
| typedef void | base_type |
| Returns a type descriptor about this object. | |
Static Public Member Functions inherited from Standard_Transient | |
| static constexpr const char * | get_type_name () |
| Returns a type descriptor about this object. | |
| static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
| Returns type descriptor of Standard_Transient class. | |
This class is used to manipulate a complete independent, self sufficient data structure and its services:
Access to the root label;
Opens, aborts, commits a transaction;
Generation and use of Delta, depending on the time. This class uses a special allocator (see LabelNodeAllocator() method) for more efficient allocation of objects in memory.
| TDF_Data::TDF_Data | ( | ) |
A new and empty Data structure.
|
inlineoverride |
| void TDF_Data::Destroy | ( | ) |
| Standard_OStream & TDF_Data::Dump | ( | Standard_OStream & | anOS | ) | const |
Dumps the Data on <aStream>.
| void TDF_Data::DumpJson | ( | Standard_OStream & | theOStream, |
| int | theDepth = -1 ) const |
Dumps the content of me into the stream.
|
inline |
Returns a label by an entry. Returns false, if such a label doesn't exist or mechanism for fast access to the label by entry is not initialized.
|
inline |
Returns a status of mechanism for fast access to the labels via entries.
| bool TDF_Data::IsApplicable | ( | const occ::handle< TDF_Delta > & | aDelta | ) | const |
Returns true if <aDelta> is applicable HERE and NOW.
| bool TDF_Data::IsModificationAllowed | ( | ) | const |
returns modification mode.
| const TDF_HAllocator & TDF_Data::LabelNodeAllocator | ( | ) | const |
Returns TDF_HAllocator, which is an incremental allocator used by TDF_LabelNode. This allocator is used to manage TDF_LabelNode objects, but it can also be used for allocating memory to application-specific data (be careful because this allocator does not release the memory). The benefits of this allocation scheme are noticeable when dealing with large OCAF documents, due to:
| bool TDF_Data::NotUndoMode | ( | ) | const |
Returns the undo mode status.
|
inline |
An internal method. It is used internally on creation of new labels. It adds a new label into internal table for fast access to the labels by entry.
| const TDF_Label TDF_Data::Root | ( | ) | const |
Returns the root label of the Data structure.
Initializes a mechanism for fast access to the labels by their entries. The fast access is useful for large documents and often access to the labels via entries. Internally, a table of entry - label is created, which allows to obtain a label by its entry in a very fast way. If the mechanism is turned off, the internal table is cleaned. New labels are added to the table, if the mechanism is on (no need to re-initialize the mechanism).
| int TDF_Data::Time | ( | ) | const |
Returns the current tick. It is incremented each Commit.
| int TDF_Data::Transaction | ( | ) | const |
Returns the current transaction number.
| occ::handle< TDF_Delta > TDF_Data::Undo | ( | const occ::handle< TDF_Delta > & | aDelta, |
| const bool | withDelta = false ) |
Apply <aDelta> to undo a set of attribute modifications.
Optional <withDelta> set to True indicates a Delta Set must be generated. (See above)