0033661: Data Exchange, Step Import - Tessellated GDTs are not imported
[occt.git] / src / XCAFDoc / XCAFDoc.hxx
1 // Created on: 2000-08-08
2 // Created by: data exchange team
3 // Copyright (c) 2000-2014 OPEN CASCADE SAS
4 //
5 // This file is part of Open CASCADE Technology software library.
6 //
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.
12 //
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
15
16 #ifndef _XCAFDoc_HeaderFile
17 #define _XCAFDoc_HeaderFile
18
19 #include <Standard.hxx>
20 #include <Standard_DefineAlloc.hxx>
21 #include <Standard_Handle.hxx>
22 #include <TCollection_AsciiString.hxx>
23
24 #include <XCAFDoc_ColorType.hxx>
25 class TDF_Attribute;
26 class Standard_GUID;
27
28
29 //! Definition of general structure of DECAF document
30 //! and tools to work with it
31 //!
32 //! The document is composed of sections, each section
33 //! storing its own kind of data and managing by corresponding
34 //! tool
35 //! Some properties can be attached directly to shapes. These properties are:
36 //! * Name (the standard definition from OCAF) - class TDataStd_Name
37 //! * Centroid (for the validation of transfer) - class XCAFDoc_Centroid
38 //! * Volume (for the validation of transfer) - class XCAFDoc_Volume
39 //! * Area (for the validation of transfer) - class XCafDoc_Area
40 //! Management of these attributes is realized by OCAF. For getting
41 //! the attributes attached to a label the method class
42 //! TDF_Label::FindAttribute() should be used.
43 class XCAFDoc 
44 {
45 public:
46
47   DEFINE_STANDARD_ALLOC
48
49   
50   //! class for containing GraphNodes.
51   //! Returns GUID for UAttribute identifying assembly
52   Standard_EXPORT static const Standard_GUID& AssemblyGUID();
53   
54   //! Returns GUID for TreeNode representing assembly link
55   Standard_EXPORT static const Standard_GUID& ShapeRefGUID();
56   
57   //! Return GUIDs for TreeNode representing specified types of colors
58   Standard_EXPORT static const Standard_GUID& ColorRefGUID (const XCAFDoc_ColorType type);
59   
60   //! Return GUIDs for TreeNode representing specified types of DGT
61   Standard_EXPORT static const Standard_GUID& DimTolRefGUID();
62
63   //! Return GUIDs for TreeNode representing specified types of Dimension
64   Standard_EXPORT static const Standard_GUID& DimensionRefFirstGUID() ;
65
66   //! Return GUIDs for TreeNode representing specified types of Dimension
67   Standard_EXPORT static const Standard_GUID& DimensionRefSecondGUID() ;
68
69   //! Return GUIDs for TreeNode representing specified types of GeomTolerance
70   Standard_EXPORT static const Standard_GUID& GeomToleranceRefGUID() ;
71   
72   //! Return GUIDs for TreeNode representing specified types of datum
73   Standard_EXPORT static const Standard_GUID& DatumRefGUID();
74   
75   //! Return GUIDs for TreeNode representing connections Datum-Toler
76   Standard_EXPORT static const Standard_GUID& DatumTolRefGUID();
77   
78   Standard_EXPORT static const Standard_GUID& LayerRefGUID();
79   
80   Standard_EXPORT static const Standard_GUID& MaterialRefGUID();
81
82   //! Return GUID for TreeNode representing Visualization Material.
83   Standard_EXPORT static const Standard_GUID& VisMaterialRefGUID();
84
85   //! Return GUIDs for representing notes
86   Standard_EXPORT static const Standard_GUID& NoteRefGUID();
87
88   Standard_EXPORT static const Standard_GUID& InvisibleGUID();
89
90   Standard_EXPORT static const Standard_GUID& ColorByLayerGUID();
91   
92   //! Returns GUID for UAttribute identifying external reference on no-step file
93   Standard_EXPORT static const Standard_GUID& ExternRefGUID();
94   
95   //! Returns GUID for UAttribute identifying specified higher usage occurrence
96   Standard_EXPORT static const Standard_GUID& SHUORefGUID();
97
98   //! Return GUIDs for TreeNode representing specified types of View
99   Standard_EXPORT static const Standard_GUID& ViewRefGUID();
100
101   //! Return GUIDs for TreeNode representing specified types of View
102   Standard_EXPORT static const Standard_GUID& ViewRefShapeGUID();
103
104   //! Return GUIDs for TreeNode representing specified types of View
105   Standard_EXPORT static const Standard_GUID& ViewRefGDTGUID();
106   
107   //! Return GUIDs for TreeNode representing specified types of View
108   Standard_EXPORT static const Standard_GUID& ViewRefPlaneGUID();
109
110   //! Return GUIDs for GraphNode representing specified types of View
111   Standard_EXPORT static const Standard_GUID& ViewRefNoteGUID();
112   Standard_EXPORT static const Standard_GUID& ViewRefAnnotationGUID();
113
114   //! Returns GUID for UAttribute identifying lock flag
115   Standard_EXPORT static const Standard_GUID& LockGUID();
116
117   //! Prints attribute information into a string.
118   //! @param theAtt an XDE attribute
119   //! @return the generated info value
120   Standard_EXPORT static TCollection_AsciiString AttributeInfo (const Handle(TDF_Attribute)& theAtt);
121
122 };
123
124 #endif // _XCAFDoc_HeaderFile