Open CASCADE Technology 7.8.2.dev
TObj_Model Class Referenceabstract

#include <TObj_Model.hxx>

Inheritance diagram for TObj_Model:

Public Member Functions

void SetMessenger (const Handle< Message_Messenger > &theMsgr)
 Set messenger to use for messages output.
 
Handle< Message_MessengerMessenger () const
 Get messenger used for messages output (by default, the messenger from application is used)
 
virtual Standard_Boolean Load (const TCollection_ExtendedString &theFile)
 Load the OCAF model from a file. If the filename is empty or file does not exists, it just initializes model by empty data.
 
virtual Standard_Boolean Load (Standard_IStream &theIStream)
 Load the OCAF model from a stream. If case of failure, it initializes the model by empty data.
 
virtual Standard_Boolean SaveAs (const TCollection_ExtendedString &theFile)
 Save the model to a file.
 
virtual Standard_Boolean SaveAs (Standard_OStream &theOStream)
 Save the model to a stream.
 
Standard_Boolean Save ()
 Save the model to the same file.
 
virtual Standard_Boolean Close ()
 Close the model.
 
void CloseDocument (const Handle< TDocStd_Document > &theDoc)
 Close Free OCAF document.
 
virtual Handle< TCollection_HExtendedStringGetFile () const
 Returns the full file name this model is to be saved to, or null if the model was not saved yet.
 
virtual Handle< TObj_ObjectIteratorGetObjects () const
 Returns an Iterator on all objects in the Model.
 
virtual Handle< TObj_ObjectIteratorGetChildren () const
 Returns an Iterator on objects in the main partition.
 
virtual Handle< TObj_ObjectFindObject (const Handle< TCollection_HExtendedString > &theName, const Handle< TObj_TNameContainer > &theDictionary) const
 Returns an Object by given Name (or Null if not found).
 
virtual Handle< TObj_CheckModelGetChecker () const
 Returns the tool checking model consistency. Descendant may redefine it to return its own tool.
 
virtual Handle< TObj_ObjectGetRoot () const
 Returns root object of model.
 
Handle< TObj_PartitionGetMainPartition () const
 Returns root object of model.
 
TDF_Label GetLabel () const
 Returns OCAF label on which model data are stored.
 
virtual Handle< TCollection_HExtendedStringGetModelName () const
 Returns the name of the model.
 
Standard_Boolean IsRegisteredName (const Handle< TCollection_HExtendedString > &theName, const Handle< TObj_TNameContainer > &theDictionary) const
 Returns True is name is registered in the names map The input argument may be NULL handle, then model check in own global container.
 
void RegisterName (const Handle< TCollection_HExtendedString > &theName, const TDF_Label &theLabel, const Handle< TObj_TNameContainer > &theDictionary) const
 Register name in the map The input argument may be NULL handle, then model check in own global container.
 
void UnRegisterName (const Handle< TCollection_HExtendedString > &theName, const Handle< TObj_TNameContainer > &theDictionary) const
 Unregisters name from the map The input argument may be NULL handle, then model check in own global container.
 
Standard_Boolean HasOpenCommand () const
 Returns True if a Command transaction is open Starting, finishing the transaction.
 
void OpenCommand () const
 Open a new command transaction.
 
void CommitCommand () const
 Commit the Command transaction. Do nothing If there is no Command transaction open.
 
void AbortCommand () const
 Abort the Command transaction. Do nothing If there is no Command transaction open.
 
virtual Standard_Boolean IsModified () const
 Modification status.
 
void SetModified (const Standard_Boolean theModified)
 Sets modification status.
 
virtual const Handle< TObj_ApplicationGetApplication ()
 Returns handle to static instance of the relevant application class.
 
virtual TCollection_ExtendedString GetFormat () const
 Returns the format for save/restore. This implementation returns "BinOcaf". The method should be redefined for those models that should use another format.
 
Standard_Integer GetFormatVersion () const
 Returns the version of format stored in TObj file.
 
virtual Standard_Boolean Update ()
 this method is called before activating this model
 
virtual Standard_GUID GetGUID () const
 Defines interface GUID for TObj_Model.
 
Handle< TObj_TNameContainerGetDictionary () const
 Returns the map of names of the objects.
 
Handle< TDocStd_DocumentGetDocument () const
 Returns OCAF document of Model.
 
void SetLabel (const TDF_Label &theLabel)
 Sets OCAF label on which model data are stored. Used by persistence mechanism.
 
virtual Standard_Boolean Paste (Handle< TObj_Model > theModel, Handle< TDF_RelocationTable > theRelocTable=0)
 Pastes me to the new model references will not be copied if theRelocTable is not 0 if theRelocTable is not NULL theRelocTable is filled by objects.
 
virtual Handle< TObj_ModelNewEmpty ()=0
 This function have to create a new model with type like me.
 
void CopyReferences (const Handle< TObj_Model > &theTarget, const Handle< TDF_RelocationTable > &theRelocTable)
 Copy references from me to the other.
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor.
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing.
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter.
 
virtual ~Standard_Transient ()
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
Standard_Boolean IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
Standard_Boolean 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.
 
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.
 
Standard_TransientThis () 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.
 
Standard_Integer GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object.
 
Standard_Integer DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Static Public Member Functions

static Handle< TObj_ModelGetDocumentModel (const TDF_Label &theLabel)
 Returns model which contains a document with the label, or NULL handle if label is NULL.
 
static void SetNewName (const Handle< TObj_Object > &theObject)
 Sets new unique name for the 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.
 

Protected Types

enum  DataTag { DataTag_FormatVersion = TObj_Partition::DataTag_Last , DataTag_Last }
 Model may store some data on the data labels of its main partition See TObj_Object for. More...
 

Protected Member Functions

 TObj_Model ()
 Empty constructor.
 
 ~TObj_Model ()
 Destructor closes the model.
 
virtual Standard_Boolean checkDocumentEmpty (const TCollection_ExtendedString &theFile)
 Check whether the document contains the OCAF data.
 
void SetFormatVersion (const Standard_Integer theVersion)
 Sets the format version to save.
 
Handle< TObj_PartitiongetPartition (const TDF_Label &theLabel, const Standard_Boolean theHidden=Standard_False) const
 Returns (or creates a new) partition on a given label.
 
Handle< TObj_PartitiongetPartition (const TDF_Label &theLabel, const Standard_Integer theIndex, const TCollection_ExtendedString &theName, const Standard_Boolean theHidden=Standard_False) const
 Returns Partition specified by its index number on a given label If not exists, creates anew with specified name.
 
Handle< TObj_PartitiongetPartition (const Standard_Integer theIndex, const TCollection_ExtendedString &theName, const Standard_Boolean theHidden=Standard_False) const
 Returns Partition specified by its index number If not exists, creates anew with specified name.
 
TDF_Label GetDataLabel () const
 Returns the labels under which the data is stored. the data stored from the third sublabel of this one.
 
virtual Standard_Boolean initNewModel (const Standard_Boolean IsNew)
 Do the necessary initialisations after creation of a new model. This function is called by LoadModel after creation of OCAF document and setting myModel on its main label. Default implementation does nothing. Returns True is model sucsesfully initialized.
 
virtual void updateBackReferences (const Handle< TObj_Object > &theObject)
 Updates back references of object Recursive method.
 
virtual Standard_Boolean isToCheck () const
 Returns boolean value is to check model in Init new model The check could be useful if version of model changed Default implementation returns FALSE (check turned OFF)
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 

Detailed Description

Base class for OCAF based models. Defines common behaviour for all models based on TObject classes, basic services to access model objects and common operations with the model. Provides default implementation for many methods.

Member Enumeration Documentation

◆ DataTag

enum TObj_Model::DataTag
protected

Model may store some data on the data labels of its main partition See TObj_Object for.

Enumerator
DataTag_FormatVersion 
DataTag_Last 

Constructor & Destructor Documentation

◆ TObj_Model()

TObj_Model::TObj_Model ( )
protected

Empty constructor.

Constructors and Persistence

◆ ~TObj_Model()

TObj_Model::~TObj_Model ( )
protected

Destructor closes the model.

Member Function Documentation

◆ AbortCommand()

void TObj_Model::AbortCommand ( ) const

Abort the Command transaction. Do nothing If there is no Command transaction open.

◆ checkDocumentEmpty()

virtual Standard_Boolean TObj_Model::checkDocumentEmpty ( const TCollection_ExtendedString & theFile)
protectedvirtual

Check whether the document contains the OCAF data.

◆ Close()

virtual Standard_Boolean TObj_Model::Close ( )
virtual

Close the model.

Work with document

◆ CloseDocument()

void TObj_Model::CloseDocument ( const Handle< TDocStd_Document > & theDoc)

Close Free OCAF document.

◆ CommitCommand()

void TObj_Model::CommitCommand ( ) const

Commit the Command transaction. Do nothing If there is no Command transaction open.

◆ CopyReferences()

void TObj_Model::CopyReferences ( const Handle< TObj_Model > & theTarget,
const Handle< TDF_RelocationTable > & theRelocTable )

Copy references from me to the other.

◆ FindObject()

virtual Handle< TObj_Object > TObj_Model::FindObject ( const Handle< TCollection_HExtendedString > & theName,
const Handle< TObj_TNameContainer > & theDictionary ) const
virtual

Returns an Object by given Name (or Null if not found).

◆ GetApplication()

virtual const Handle< TObj_Application > TObj_Model::GetApplication ( )
virtual

Returns handle to static instance of the relevant application class.

Methods for obtaining application

◆ GetChecker()

virtual Handle< TObj_CheckModel > TObj_Model::GetChecker ( ) const
virtual

Returns the tool checking model consistency. Descendant may redefine it to return its own tool.

◆ GetChildren()

virtual Handle< TObj_ObjectIterator > TObj_Model::GetChildren ( ) const
virtual

Returns an Iterator on objects in the main partition.

◆ GetDataLabel()

TDF_Label TObj_Model::GetDataLabel ( ) const
protected

Returns the labels under which the data is stored. the data stored from the third sublabel of this one.

◆ GetDictionary()

Handle< TObj_TNameContainer > TObj_Model::GetDictionary ( ) const

Returns the map of names of the objects.

Internal methods

◆ GetDocument()

Handle< TDocStd_Document > TObj_Model::GetDocument ( ) const

Returns OCAF document of Model.

◆ GetDocumentModel()

static Handle< TObj_Model > TObj_Model::GetDocumentModel ( const TDF_Label & theLabel)
static

Returns model which contains a document with the label, or NULL handle if label is NULL.

◆ GetFile()

virtual Handle< TCollection_HExtendedString > TObj_Model::GetFile ( ) const
virtual

Returns the full file name this model is to be saved to, or null if the model was not saved yet.

◆ GetFormat()

virtual TCollection_ExtendedString TObj_Model::GetFormat ( ) const
virtual

Returns the format for save/restore. This implementation returns "BinOcaf". The method should be redefined for those models that should use another format.

Methods for obtaining the version of Format

◆ GetFormatVersion()

Standard_Integer TObj_Model::GetFormatVersion ( ) const

Returns the version of format stored in TObj file.

◆ GetGUID()

virtual Standard_GUID TObj_Model::GetGUID ( ) const
virtual

Defines interface GUID for TObj_Model.

Definition of interface GUID

◆ GetLabel()

TDF_Label TObj_Model::GetLabel ( ) const
inline

Returns OCAF label on which model data are stored.

OCAF methods

◆ GetMainPartition()

Handle< TObj_Partition > TObj_Model::GetMainPartition ( ) const

Returns root object of model.

◆ GetModelName()

virtual Handle< TCollection_HExtendedString > TObj_Model::GetModelName ( ) const
virtual

Returns the name of the model.

Methods for supporting unique naming of the objects in model

◆ GetObjects()

virtual Handle< TObj_ObjectIterator > TObj_Model::GetObjects ( ) const
virtual

Returns an Iterator on all objects in the Model.

Access to the objects in the model

◆ getPartition() [1/3]

Handle< TObj_Partition > TObj_Model::getPartition ( const Standard_Integer theIndex,
const TCollection_ExtendedString & theName,
const Standard_Boolean theHidden = Standard_False ) const
protected

Returns Partition specified by its index number If not exists, creates anew with specified name.

◆ getPartition() [2/3]

Handle< TObj_Partition > TObj_Model::getPartition ( const TDF_Label & theLabel,
const Standard_Boolean theHidden = Standard_False ) const
protected

Returns (or creates a new) partition on a given label.

Internal methods

◆ getPartition() [3/3]

Handle< TObj_Partition > TObj_Model::getPartition ( const TDF_Label & theLabel,
const Standard_Integer theIndex,
const TCollection_ExtendedString & theName,
const Standard_Boolean theHidden = Standard_False ) const
protected

Returns Partition specified by its index number on a given label If not exists, creates anew with specified name.

◆ GetRoot()

virtual Handle< TObj_Object > TObj_Model::GetRoot ( ) const
virtual

Returns root object of model.

Methods for iteration on the model

◆ HasOpenCommand()

Standard_Boolean TObj_Model::HasOpenCommand ( ) const

Returns True if a Command transaction is open Starting, finishing the transaction.

API for transaction mechanism

◆ initNewModel()

virtual Standard_Boolean TObj_Model::initNewModel ( const Standard_Boolean IsNew)
protectedvirtual

Do the necessary initialisations after creation of a new model. This function is called by LoadModel after creation of OCAF document and setting myModel on its main label. Default implementation does nothing. Returns True is model sucsesfully initialized.

◆ IsModified()

virtual Standard_Boolean TObj_Model::IsModified ( ) const
virtual

Modification status.

◆ IsRegisteredName()

Standard_Boolean TObj_Model::IsRegisteredName ( const Handle< TCollection_HExtendedString > & theName,
const Handle< TObj_TNameContainer > & theDictionary ) const

Returns True is name is registered in the names map The input argument may be NULL handle, then model check in own global container.

◆ isToCheck()

virtual Standard_Boolean TObj_Model::isToCheck ( ) const
inlineprotectedvirtual

Returns boolean value is to check model in Init new model The check could be useful if version of model changed Default implementation returns FALSE (check turned OFF)

◆ Load() [1/2]

virtual Standard_Boolean TObj_Model::Load ( const TCollection_ExtendedString & theFile)
virtual

Load the OCAF model from a file. If the filename is empty or file does not exists, it just initializes model by empty data.

Implementation of Load/Save for OCAF based models

◆ Load() [2/2]

virtual Standard_Boolean TObj_Model::Load ( Standard_IStream & theIStream)
virtual

Load the OCAF model from a stream. If case of failure, it initializes the model by empty data.

◆ Messenger()

Handle< Message_Messenger > TObj_Model::Messenger ( ) const
inline

Get messenger used for messages output (by default, the messenger from application is used)

◆ NewEmpty()

virtual Handle< TObj_Model > TObj_Model::NewEmpty ( )
pure virtual

This function have to create a new model with type like me.

◆ OpenCommand()

void TObj_Model::OpenCommand ( ) const

Open a new command transaction.

◆ Paste()

virtual Standard_Boolean TObj_Model::Paste ( Handle< TObj_Model > theModel,
Handle< TDF_RelocationTable > theRelocTable = 0 )
virtual

Pastes me to the new model references will not be copied if theRelocTable is not 0 if theRelocTable is not NULL theRelocTable is filled by objects.

Methods for clone model

◆ RegisterName()

void TObj_Model::RegisterName ( const Handle< TCollection_HExtendedString > & theName,
const TDF_Label & theLabel,
const Handle< TObj_TNameContainer > & theDictionary ) const

Register name in the map The input argument may be NULL handle, then model check in own global container.

◆ Save()

Standard_Boolean TObj_Model::Save ( )

Save the model to the same file.

◆ SaveAs() [1/2]

virtual Standard_Boolean TObj_Model::SaveAs ( const TCollection_ExtendedString & theFile)
virtual

Save the model to a file.

◆ SaveAs() [2/2]

virtual Standard_Boolean TObj_Model::SaveAs ( Standard_OStream & theOStream)
virtual

Save the model to a stream.

◆ SetFormatVersion()

void TObj_Model::SetFormatVersion ( const Standard_Integer theVersion)
protected

Sets the format version to save.

Methods for handling the version of the Format

◆ SetLabel()

void TObj_Model::SetLabel ( const TDF_Label & theLabel)
inline

Sets OCAF label on which model data are stored. Used by persistence mechanism.

◆ SetMessenger()

void TObj_Model::SetMessenger ( const Handle< Message_Messenger > & theMsgr)
inline

Set messenger to use for messages output.

Messages mechanism

◆ SetModified()

void TObj_Model::SetModified ( const Standard_Boolean theModified)

Sets modification status.

◆ SetNewName()

static void TObj_Model::SetNewName ( const Handle< TObj_Object > & theObject)
static

Sets new unique name for the object.

◆ UnRegisterName()

void TObj_Model::UnRegisterName ( const Handle< TCollection_HExtendedString > & theName,
const Handle< TObj_TNameContainer > & theDictionary ) const

Unregisters name from the map The input argument may be NULL handle, then model check in own global container.

◆ Update()

virtual Standard_Boolean TObj_Model::Update ( )
virtual

this method is called before activating this model

Methods for updating model

◆ updateBackReferences()

virtual void TObj_Model::updateBackReferences ( const Handle< TObj_Object > & theObject)
protectedvirtual

Updates back references of object Recursive method.


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