// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _TDF_RelocationTable_HeaderFile #define _TDF_RelocationTable_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_TDF_RelocationTable_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _TDF_LabelDataMap_HeaderFile #include #endif #ifndef _TDF_AttributeDataMap_HeaderFile #include #endif #ifndef _TColStd_IndexedDataMapOfTransientTransient_HeaderFile #include #endif #ifndef _MMgt_TShared_HeaderFile #include #endif #ifndef _Handle_TDF_Attribute_HeaderFile #include #endif #ifndef _Handle_Standard_Transient_HeaderFile #include #endif #ifndef _Standard_OStream_HeaderFile #include #endif class TDF_Label; class TDF_Attribute; class Standard_Transient; class TDF_LabelMap; class TDF_AttributeMap; class TDF_LabelDataMap; class TDF_AttributeDataMap; class TColStd_IndexedDataMapOfTransientTransient; //! This is a relocation dictionnary between source
//! and target labels, attributes or any
//! transient. Note that one target value may be the
//! relocation value of more than one source object.
//!
//! Common behaviour: it returns true and the found
//! relocation value as target object; false
//! otherwise.
//!
//! Look at SelfRelocate method for more explanation
//! about self relocation behavior of this class.
class TDF_RelocationTable : public MMgt_TShared { public: //! Creates an relocation table. says
//! if a value without explicit relocation is its own
//! relocation.
Standard_EXPORT TDF_RelocationTable(const Standard_Boolean selfRelocate = Standard_False); //! Sets to .
//!
//! This flag affects the HasRelocation method
//! behavior like this:
//!
//! == False:
//!
//! If no relocation object is found in the map, a
//! null object is returned
//!
//! == True:
//!
//! If no relocation object is found in the map, the
//! method assumes the source object is relocation
//! value; so the source object is returned as target
//! object.
Standard_EXPORT void SelfRelocate(const Standard_Boolean selfRelocate) ; //! Returns .
Standard_EXPORT Standard_Boolean SelfRelocate() const; Standard_EXPORT void AfterRelocate(const Standard_Boolean afterRelocate) ; //! Returns .
Standard_EXPORT Standard_Boolean AfterRelocate() const; //! Sets the relocation value of to
//! .
Standard_EXPORT void SetRelocation(const TDF_Label& aSourceLabel,const TDF_Label& aTargetLabel) ; //! Finds the relocation value of
//! and returns it into .
//!
//! (See above SelfRelocate method for more
//! explanation about the method behavior)
Standard_EXPORT Standard_Boolean HasRelocation(const TDF_Label& aSourceLabel,TDF_Label& aTargetLabel) const; //! Sets the relocation value of to
//! .
Standard_EXPORT void SetRelocation(const Handle(TDF_Attribute)& aSourceAttribute,const Handle(TDF_Attribute)& aTargetAttribute) ; //! Finds the relocation value of
//! and returns it into .
//!
//! (See above SelfRelocate method for more
//! explanation about the method behavior)
Standard_EXPORT Standard_Boolean HasRelocation(const Handle(TDF_Attribute)& aSourceAttribute,Handle(TDF_Attribute)& aTargetAttribute) const; //! Sets the relocation value of to
//! .
Standard_EXPORT void SetTransientRelocation(const Handle(Standard_Transient)& aSourceTransient,const Handle(Standard_Transient)& aTargetTransient) ; //! Finds the relocation value of
//! and returns it into .
//!
//! (See above SelfRelocate method for more
//! explanation about the method behavior)
Standard_EXPORT Standard_Boolean HasTransientRelocation(const Handle(Standard_Transient)& aSourceTransient,Handle(Standard_Transient)& aTargetTransient) const; //! Clears the relocation dictionnary, but lets the
//! self relocation flag to its current value.
Standard_EXPORT void Clear() ; //! Fills with target relocation
//! labels. is not cleared before use.
Standard_EXPORT void TargetLabelMap(TDF_LabelMap& aLabelMap) const; //! Fills with target relocation
//! attributes. is not cleared before
//! use.
Standard_EXPORT void TargetAttributeMap(TDF_AttributeMap& anAttributeMap) const; //! Returns to be used or updated.
//!
Standard_EXPORT TDF_LabelDataMap& LabelTable() ; //! Returns to be used or updated.
//!
Standard_EXPORT TDF_AttributeDataMap& AttributeTable() ; //! Returns to be used or updated.
//!
Standard_EXPORT TColStd_IndexedDataMapOfTransientTransient& TransientTable() ; //! Dumps the relocation table.
//!
Standard_EXPORT Standard_OStream& Dump(const Standard_Boolean dumpLabels,const Standard_Boolean dumpAttributes,const Standard_Boolean dumpTransients,Standard_OStream& anOS) const; DEFINE_STANDARD_RTTI(TDF_RelocationTable) protected: private: Standard_Boolean mySelfRelocate; Standard_Boolean myAfterRelocate; TDF_LabelDataMap myLabelTable; TDF_AttributeDataMap myAttributeTable; TColStd_IndexedDataMapOfTransientTransient myTransientTable; }; // other Inline functions and methods (like "C++: function call" methods) #endif