Open CASCADE Technology: TDF_Data Class Reference

Open CASCADE Technology 6.9.1

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Public Member Functions
TDF_Data Class Reference

This class is used to manipulate a complete independant, self sufficient data structure and its services: More...

`#include <TDF_Data.hxx>`

Inheritance diagram for TDF_Data:
[legend]

## Public Member Functions
| TDF_Data ()
| A new and empty Data structure. More...
const TDF_Label | Root () const
| Returns the root label of the Data structure. More...
Standard_Integer | Transaction () const
| Returns the current transaction number. More...
Standard_Integer | Time () const
| Returns the current tick. It is incremented each Commit. More...
Standard_Boolean | IsApplicable (const Handle< TDF_Delta > &aDelta) const
| Returns true if <aDelta> is applicable HERE and NOW. More...
Handle< TDF_Delta > | Undo (const Handle< TDF_Delta > &aDelta, const Standard_Boolean withDelta=Standard_False)
| Apply <aDelta> to undo a set of attribute modifications. More...
void | Destroy ()
| ~TDF_Data ()
Standard_Boolean | NotUndoMode () const
| Returns the undo mode status. More...
Standard_OStream & | Dump (Standard_OStream &anOS) const
| Dumps the Data on <aStream>. More...
Standard_OStream & | operator<< (Standard_OStream &anOS) const
void | AllowModification (const Standard_Boolean isAllowed)
| Sets modification mode. More...
Standard_Boolean | IsModificationAllowed () const
| returns modification mode. More...
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: More...
Public Member Functions inherited from MMgt_TShared
virtual void | Delete () const
| Memory deallocator for transient classes. More...
Public Member Functions inherited from Standard_Transient
| Standard_Transient ()
| Empty constructor. More...
| Standard_Transient (const Standard_Transient &)
| Copy constructor – does nothing. More...
Standard_Transient & | operator= (const Standard_Transient &)
| Assignment operator, needed to avoid copying reference counter. More...
virtual | ~Standard_Transient ()
| Destructor must be virtual. More...
virtual const Handle_Standard_Type & | DynamicType () const
| Returns a type information object about this object. More...
Standard_Boolean | IsInstance (const Handle_Standard_Type &theType) const
| Returns a true value if this is an instance of Type. More...
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const
| Returns a true value if this is an instance of TypeName. More...
Standard_Boolean | IsKind (const 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. More...
Standard_Boolean | IsKind (const Standard_CString 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. More...
virtual Handle_Standard_Transient | This () const
| Returns a Handle which references this object. Must never be called to objects created in stack. More...
Standard_Integer | GetRefCount () const
| Get the reference counter of this object. More...

## Detailed Description

This class is used to manipulate a complete independant, 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.

## Constructor & Destructor Documentation

TDF_Data::TDF_Data | ( |  | ) |

A new and empty Data structure.

TDF_Data::~TDF_Data | ( |  | ) |
| inline

## Member Function Documentation

void TDF_Data::AllowModification | ( | const Standard_Boolean | isAllowed | ) |

Sets modification mode.

void TDF_Data::Destroy | ( |  | ) |

Standard_OStream& TDF_Data::Dump | ( | Standard_OStream & | anOS | ) | const

Dumps the Data on <aStream>.

Standard_Boolean TDF_Data::IsApplicable | ( | const Handle< TDF_Delta > & | aDelta | ) | const

Returns true if <aDelta> is applicable HERE and NOW.

Standard_Boolean 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:

1. Very quick allocation of objects (memory heap is not used, the algorithm that replaces it is very simple).
2. Very quick destruction of objects (memory is released not by destructors of TDF_LabelNode, but rather by the destructor of TDF_Data).
3. TDF_LabelNode objects do not fragmentize the memory; they are kept compactly in a number of arrays of 16K each.
4. Swapping is reduced on large data, because each document now occupies a smaller number of memory pages.

Standard_Boolean TDF_Data::NotUndoMode | ( |  | ) | const

Returns the undo mode status.

Standard_OStream& TDF_Data::operator<< | ( | Standard_OStream & | anOS | ) | const
| inline

const TDF_Label TDF_Data::Root | ( |  | ) | const

Returns the root label of the Data structure.

Standard_Integer TDF_Data::Time | ( |  | ) | const

Returns the current tick. It is incremented each Commit.

Standard_Integer TDF_Data::Transaction | ( |  | ) | const

Returns the current transaction number.

Handle< TDF_Delta > TDF_Data::Undo | ( | const Handle< TDF_Delta > & | aDelta,
|  | const Standard_Boolean | withDelta = `Standard_False`
| ) |  |

Apply <aDelta> to undo a set of attribute modifications.

Optionnal <withDelta> set to True indiquates a Delta Set must be generated. (See above)

The documentation for this class was generated from the following file:

- TDF_Data.hxx