Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions
TDF_Data Class Reference

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.
More...

#include <TDF_Data.hxx>

Inheritance diagram for TDF_Data:
Inheritance graph
[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. <br>


More...

 
Standard_Integer Transaction () const
 Returns the current transaction number.
More...
 
Standard_Integer Time () const
 
 Returns the current tick. It is incremented each Commit. <br>


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 <br>
     modifications. <br>


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

 
void Destroy ()
 
 ~TDF_Data ()
 
Standard_Boolean NotUndoMode () const
 
 Returns the undo mode status. <br>


More...

 
Standard_OStreamDump (Standard_OStream &anOS) const
 
 Dumps the Data on <aStream>. <br>


More...

 
Standard_OStreamoperator<< (Standard_OStream &anOS) const
 
void AllowModification (const Standard_Boolean isAllowed)
 
 Sets modification mode. <br>


More...

 
Standard_Boolean IsModificationAllowed () const
 
 returns modification mode. <br>


More...

 
const TDF_HAllocatorLabelNodeAllocator () const
 
 Returns TDF_HAllocator, which is an <br>

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_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter. More...
 
virtual ~Standard_Transient ()
 Destructor must be virtual. More...
 
virtual void ShallowDump (Standard_OStream &) const
 
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. <br>


void TDF_Data::Destroy ( )
Standard_OStream& TDF_Data::Dump ( Standard_OStream anOS) const

 Dumps the Data on <aStream>. <br>


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. <br>


const TDF_HAllocator& TDF_Data::LabelNodeAllocator ( ) const

 Returns TDF_HAllocator, which is an <br>

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. <br>


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. <br>


Standard_Integer TDF_Data::Time ( ) const

 Returns the current tick. It is incremented each Commit. <br>


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 <br>
     modifications. <br>


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: