1 // Created by: DAUTRY Philippe
2 // Copyright (c) 1997-1999 Matra Datavision
3 // Copyright (c) 1999-2014 OPEN CASCADE SAS
5 // This file is part of Open CASCADE Technology software library.
7 // This library is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU Lesser General Public License version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
16 #ifndef _TDF_HeaderFile
17 #define _TDF_HeaderFile
19 #include <Standard.hxx>
20 #include <Standard_DefineAlloc.hxx>
21 #include <Standard_Handle.hxx>
23 #include <Standard_Boolean.hxx>
25 class TCollection_ExtendedString;
31 class TDF_ClosureMode;
32 class TDF_ClosureTool;
35 class TDF_ComparisonTool;
36 class TDF_Transaction;
38 class TDF_AttributeDelta;
39 class TDF_DeltaOnAddition;
40 class TDF_DeltaOnForget;
41 class TDF_DeltaOnResume;
42 class TDF_DeltaOnRemoval;
43 class TDF_DeltaOnModification;
44 class TDF_DefaultDeltaOnRemoval;
45 class TDF_DefaultDeltaOnModification;
46 class TDF_ChildIterator;
47 class TDF_ChildIDIterator;
49 class TDF_RelocationTable;
51 class TDF_LabelMapHasher;
55 //! This package provides data framework for binding
56 //! features and data structures.
58 //! The feature structure is a tree used to bind
59 //! semantic informations about each feature together.
61 //! The only one concrete attribute defined in this
62 //! package is the TagSource attribute.This attribute
63 //! is used for random creation of child labels under
64 //! a given label. Tags are randomly delivered.
72 //! Returns ID "00000000-0000-0000-0000-000000000000",
73 //! sometimes used as null ID.
74 Standard_EXPORT static const Standard_GUID& LowestID();
76 //! Returns ID "ffffffff-ffff-ffff-ffff-ffffffffffff".
77 Standard_EXPORT static const Standard_GUID& UppestID();
79 //! Sets link between GUID and ProgID in hidden DataMap
80 Standard_EXPORT static void AddLinkGUIDToProgID (const Standard_GUID& ID, const TCollection_ExtendedString& ProgID);
82 //! Returns True if there is GUID for given <ProgID> then GUID is returned in <ID>
83 Standard_EXPORT static Standard_Boolean GUIDFromProgID (const TCollection_ExtendedString& ProgID, Standard_GUID& ID);
85 //! Returns True if there is ProgID for given <ID> then ProgID is returned in <ProgID>
86 Standard_EXPORT static Standard_Boolean ProgIDFromGUID (const Standard_GUID& ID, TCollection_ExtendedString& ProgID);
102 friend class TDF_Data;
103 friend class TDF_Label;
104 friend class TDF_Attribute;
105 friend class TDF_TagSource;
106 friend class TDF_Reference;
107 friend class TDF_ClosureMode;
108 friend class TDF_ClosureTool;
109 friend class TDF_CopyTool;
110 friend class TDF_CopyLabel;
111 friend class TDF_ComparisonTool;
112 friend class TDF_Transaction;
113 friend class TDF_Delta;
114 friend class TDF_AttributeDelta;
115 friend class TDF_DeltaOnAddition;
116 friend class TDF_DeltaOnForget;
117 friend class TDF_DeltaOnResume;
118 friend class TDF_DeltaOnRemoval;
119 friend class TDF_DeltaOnModification;
120 friend class TDF_DefaultDeltaOnRemoval;
121 friend class TDF_DefaultDeltaOnModification;
122 friend class TDF_ChildIterator;
123 friend class TDF_ChildIDIterator;
124 friend class TDF_DataSet;
125 friend class TDF_RelocationTable;
126 friend class TDF_Tool;
127 friend class TDF_LabelMapHasher;
128 friend class TDF_IDFilter;
138 #endif // _TDF_HeaderFile