// 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_ComparisonTool_HeaderFile #define _TDF_ComparisonTool_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Handle_TDF_DataSet_HeaderFile #include #endif #ifndef _Handle_TDF_RelocationTable_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif class TDF_DataSet; class TDF_IDFilter; class TDF_RelocationTable; class TDF_Label; //! This class provides services to compare sets of
//! information. The use of this tool can works after
//! a copy, acted by a CopyTool.
//!
//! * Compare(...) compares two DataSet and returns
//! the result.
//!
//! * SourceUnbound(...) builds the difference between
//! a relocation dictionnary and a source set of
//! information.
//!
//! * TargetUnbound(...) does the same between a
//! relocation dictionnary and a target set of
//! information.
//!
//! * Cut(aDataSet, anLabel) removes a set of
//! attributes.
//!
//! * IsSelfContained(...) returns true if all the
//! labels of the attributes of the given DataSet are
//! descendant of the given label.
class TDF_ComparisonTool { public: void* operator new(size_t,void* anAddress) { return anAddress; } void* operator new(size_t size) { return Standard::Allocate(size); } void operator delete(void *anAddress) { if (anAddress) Standard::Free((Standard_Address&)anAddress); } //! Compares with ,
//! updating with labels and
//! attributes found in both sets.
Standard_EXPORT static void Compare(const Handle(TDF_DataSet)& aSourceDataSet,const Handle(TDF_DataSet)& aTargetDataSet,const TDF_IDFilter& aFilter,const Handle(TDF_RelocationTable)& aRelocationTable) ; //! Finds from all the keys not bound
//! into and put them into
//! . Returns True if the difference
//! contains at least one key. (A key is a source
//! object).
//!
//! may take the following values:
//! 1 : labels treatment only;
//! 2 : attributes treatment only (default value);
//! 3 : both labels & attributes treatment.
Standard_EXPORT static Standard_Boolean SourceUnbound(const Handle(TDF_DataSet)& aRefDataSet,const Handle(TDF_RelocationTable)& aRelocationTable,const TDF_IDFilter& aFilter,const Handle(TDF_DataSet)& aDiffDataSet,const Standard_Integer anOption = 2) ; //! Substracts from all the items bound
//! into . The result is put into
//! . Returns True if the difference
//! contains at least one item. (An item is a target
//! object).
//!
//! may take the following values:
//! 1 : labels treatment only;
//! 2 : attributes treatment only(default value);
//! 3 : both labels & attributes treatment.
Standard_EXPORT static Standard_Boolean TargetUnbound(const Handle(TDF_DataSet)& aRefDataSet,const Handle(TDF_RelocationTable)& aRelocationTable,const TDF_IDFilter& aFilter,const Handle(TDF_DataSet)& aDiffDataSet,const Standard_Integer anOption = 2) ; //! Removes attributes from .
Standard_EXPORT static void Cut(const Handle(TDF_DataSet)& aDataSet) ; //! Returns true if all the labels of are
//! descendant of .
Standard_EXPORT static Standard_Boolean IsSelfContained(const TDF_Label& aLabel,const Handle(TDF_DataSet)& aDataSet) ; protected: private: //! Internal comparison method used by Compare(...).
Standard_EXPORT static void Compare(const TDF_Label& aSrcLabel,const TDF_Label& aTrgLabel,const Handle(TDF_DataSet)& aSourceDataSet,const Handle(TDF_DataSet)& aTargetDataSet,const TDF_IDFilter& aFilter,const Handle(TDF_RelocationTable)& aRelocationTable) ; //! Internal function used by SourceUnbound() and
//! TargetUnbound().
Standard_EXPORT static Standard_Boolean Unbound(const Handle(TDF_DataSet)& aRefDataSet,const Handle(TDF_RelocationTable)& aRelocationTable,const TDF_IDFilter& aFilter,const Handle(TDF_DataSet)& aDiffDataSet,const Standard_Integer anOption,const Standard_Boolean theSource) ; }; // other Inline functions and methods (like "C++: function call" methods) #endif