1 // Created on: 2000-08-08
2 // Created by: data exchange team
3 // Copyright (c) 2000-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 _XCAFDoc_HeaderFile
17 #define _XCAFDoc_HeaderFile
19 #include <Standard.hxx>
20 #include <Standard_DefineAlloc.hxx>
21 #include <Standard_Handle.hxx>
23 #include <XCAFDoc_ColorType.hxx>
25 class XCAFDoc_DocumentTool;
26 class XCAFDoc_Location;
29 class XCAFDoc_Dimension;
30 class XCAFDoc_GeomTolerance;
32 class XCAFDoc_Material;
35 class XCAFDoc_Centroid;
36 class XCAFDoc_ClippingPlaneTool;
37 class XCAFDoc_ShapeTool;
38 class XCAFDoc_ShapeMapTool;
39 class XCAFDoc_ColorTool;
40 class XCAFDoc_DimTolTool;
41 class XCAFDoc_LayerTool;
42 class XCAFDoc_MaterialTool;
43 class XCAFDoc_GraphNode;
45 class XCAFDoc_ViewTool;
48 //! Definition of general structure of DECAF document
49 //! and tools to work with it
51 //! The document is composed of sections, each section
52 //! storing its own kind of data and managing by corresponding
54 //! Some properties can be attached directly to shapes. These properties are:
55 //! * Name (the standard definition from OCAF) - class TDataStd_Name
56 //! * Centroid (for the validation of transfer) - class XCAFDoc_Centroid
57 //! * Volume (for the validation of transfer) - class XCAFDoc_Volume
58 //! * Area (for the validation of transfer) - class XCafDoc_Area
59 //! Management of these attributes is realized by OCAF. For getting
60 //! the attributes attached to a label the method class
61 //! TDF_Label::FindAttribute() should be used.
69 //! class for containing GraphNodes.
70 //! Returns GUID for UAttribute identifying assembly
71 Standard_EXPORT static const Standard_GUID& AssemblyGUID();
73 //! Returns GUID for TreeNode representing assembly link
74 Standard_EXPORT static const Standard_GUID& ShapeRefGUID();
76 //! Return GUIDs for TreeNode representing specified types of colors
77 Standard_EXPORT static const Standard_GUID& ColorRefGUID (const XCAFDoc_ColorType type);
79 //! Return GUIDs for TreeNode representing specified types of DGT
80 Standard_EXPORT static const Standard_GUID& DimTolRefGUID();
82 //! Return GUIDs for TreeNode representing specified types of Dimension
83 Standard_EXPORT static const Standard_GUID& DimensionRefFirstGUID() ;
85 //! Return GUIDs for TreeNode representing specified types of Dimension
86 Standard_EXPORT static const Standard_GUID& DimensionRefSecondGUID() ;
88 //! Return GUIDs for TreeNode representing specified types of GeomTolerance
89 Standard_EXPORT static const Standard_GUID& GeomToleranceRefGUID() ;
91 //! Return GUIDs for TreeNode representing specified types of datum
92 Standard_EXPORT static const Standard_GUID& DatumRefGUID();
94 //! Return GUIDs for TreeNode representing connections Datum-Toler
95 Standard_EXPORT static const Standard_GUID& DatumTolRefGUID();
97 Standard_EXPORT static const Standard_GUID& LayerRefGUID();
99 Standard_EXPORT static const Standard_GUID& MaterialRefGUID();
101 //! Return GUIDs for representing notes
102 Standard_EXPORT static const Standard_GUID& NoteRefGUID();
104 Standard_EXPORT static const Standard_GUID& InvisibleGUID();
106 Standard_EXPORT static const Standard_GUID& ColorByLayerGUID();
108 //! Returns GUID for UAttribute identifying external reference on no-step file
109 Standard_EXPORT static const Standard_GUID& ExternRefGUID();
111 //! Returns GUID for UAttribute identifying specified higher usage occurrence
112 Standard_EXPORT static const Standard_GUID& SHUORefGUID();
114 //! Return GUIDs for TreeNode representing specified types of View
115 Standard_EXPORT static const Standard_GUID& ViewRefGUID();
117 //! Return GUIDs for TreeNode representing specified types of View
118 Standard_EXPORT static const Standard_GUID& ViewRefShapeGUID();
120 //! Return GUIDs for TreeNode representing specified types of View
121 Standard_EXPORT static const Standard_GUID& ViewRefGDTGUID();
123 //! Return GUIDs for TreeNode representing specified types of View
124 Standard_EXPORT static const Standard_GUID& ViewRefPlaneGUID();
126 //! Return GUIDs for GraphNode representing specified types of View
127 Standard_EXPORT static const Standard_GUID& ViewRefNoteGUID();
128 Standard_EXPORT static const Standard_GUID& ViewRefAnnotationGUID();
130 //! Returns GUID for UAttribute identifying lock flag
131 Standard_EXPORT static const Standard_GUID& LockGUID();
135 #endif // _XCAFDoc_HeaderFile