// Created by: DAUTRY Philippe // Copyright (c) 1997-1999 Matra Datavision // Copyright (c) 1999-2014 OPEN CASCADE SAS // // This file is part of Open CASCADE Technology software library. // // This library is free software; you can redistribute it and/or modify it under // the terms of the GNU Lesser General Public License version 2.1 as published // by the Free Software Foundation, with special exception defined in the file // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT // distribution for complete text of the license and disclaimer of any warranty. // // Alternatively, this file may be used under the terms of Open CASCADE // commercial license or contractual agreement. #ifndef _TDF_HeaderFile #define _TDF_HeaderFile #include #include #include #include class Standard_GUID; class TCollection_ExtendedString; class TDF_Data; class TDF_Label; class TDF_Attribute; class TDF_TagSource; class TDF_Reference; class TDF_ClosureMode; class TDF_ClosureTool; class TDF_CopyTool; class TDF_CopyLabel; class TDF_ComparisonTool; class TDF_Transaction; class TDF_Delta; class TDF_AttributeDelta; class TDF_DeltaOnAddition; class TDF_DeltaOnForget; class TDF_DeltaOnResume; class TDF_DeltaOnRemoval; class TDF_DeltaOnModification; class TDF_DefaultDeltaOnRemoval; class TDF_DefaultDeltaOnModification; class TDF_ChildIterator; class TDF_ChildIDIterator; class TDF_DataSet; class TDF_RelocationTable; class TDF_Tool; class TDF_LabelMapHasher; class TDF_IDFilter; //! This package provides data framework for binding //! features and data structures. //! //! The feature structure is a tree used to bind //! semantic informations about each feature together. //! //! The only one concrete attribute defined in this //! package is the TagSource attribute.This attribute //! is used for random creation of child labels under //! a given label. Tags are randomly delivered. class TDF { public: DEFINE_STANDARD_ALLOC //! Returns ID "00000000-0000-0000-0000-000000000000", //! sometimes used as null ID. Standard_EXPORT static const Standard_GUID& LowestID(); //! Returns ID "ffffffff-ffff-ffff-ffff-ffffffffffff". Standard_EXPORT static const Standard_GUID& UppestID(); //! Sets link between GUID and ProgID in hidden DataMap Standard_EXPORT static void AddLinkGUIDToProgID (const Standard_GUID& ID, const TCollection_ExtendedString& ProgID); //! Returns True if there is GUID for given then GUID is returned in Standard_EXPORT static Standard_Boolean GUIDFromProgID (const TCollection_ExtendedString& ProgID, Standard_GUID& ID); //! Returns True if there is ProgID for given then ProgID is returned in Standard_EXPORT static Standard_Boolean ProgIDFromGUID (const Standard_GUID& ID, TCollection_ExtendedString& ProgID); protected: private: friend class TDF_Data; friend class TDF_Label; friend class TDF_Attribute; friend class TDF_TagSource; friend class TDF_Reference; friend class TDF_ClosureMode; friend class TDF_ClosureTool; friend class TDF_CopyTool; friend class TDF_CopyLabel; friend class TDF_ComparisonTool; friend class TDF_Transaction; friend class TDF_Delta; friend class TDF_AttributeDelta; friend class TDF_DeltaOnAddition; friend class TDF_DeltaOnForget; friend class TDF_DeltaOnResume; friend class TDF_DeltaOnRemoval; friend class TDF_DeltaOnModification; friend class TDF_DefaultDeltaOnRemoval; friend class TDF_DefaultDeltaOnModification; friend class TDF_ChildIterator; friend class TDF_ChildIDIterator; friend class TDF_DataSet; friend class TDF_RelocationTable; friend class TDF_Tool; friend class TDF_LabelMapHasher; friend class TDF_IDFilter; }; #endif // _TDF_HeaderFile