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>
22 #include <TCollection_AsciiString.hxx>
24 #include <XCAFDoc_ColorType.hxx>
29 //! Definition of general structure of DECAF document
30 //! and tools to work with it
32 //! The document is composed of sections, each section
33 //! storing its own kind of data and managing by corresponding
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.
50 //! class for containing GraphNodes.
51 //! Returns GUID for UAttribute identifying assembly
52 Standard_EXPORT static const Standard_GUID& AssemblyGUID();
54 //! Returns GUID for TreeNode representing assembly link
55 Standard_EXPORT static const Standard_GUID& ShapeRefGUID();
57 //! Return GUIDs for TreeNode representing specified types of colors
58 Standard_EXPORT static const Standard_GUID& ColorRefGUID (const XCAFDoc_ColorType type);
60 //! Return GUIDs for TreeNode representing specified types of DGT
61 Standard_EXPORT static const Standard_GUID& DimTolRefGUID();
63 //! Return GUIDs for TreeNode representing specified types of Dimension
64 Standard_EXPORT static const Standard_GUID& DimensionRefFirstGUID() ;
66 //! Return GUIDs for TreeNode representing specified types of Dimension
67 Standard_EXPORT static const Standard_GUID& DimensionRefSecondGUID() ;
69 //! Return GUIDs for TreeNode representing specified types of GeomTolerance
70 Standard_EXPORT static const Standard_GUID& GeomToleranceRefGUID() ;
72 //! Return GUIDs for TreeNode representing specified types of datum
73 Standard_EXPORT static const Standard_GUID& DatumRefGUID();
75 //! Return GUIDs for TreeNode representing connections Datum-Toler
76 Standard_EXPORT static const Standard_GUID& DatumTolRefGUID();
78 Standard_EXPORT static const Standard_GUID& LayerRefGUID();
80 Standard_EXPORT static const Standard_GUID& MaterialRefGUID();
82 //! Return GUID for TreeNode representing Visualization Material.
83 Standard_EXPORT static const Standard_GUID& VisMaterialRefGUID();
85 //! Return GUIDs for representing notes
86 Standard_EXPORT static const Standard_GUID& NoteRefGUID();
88 Standard_EXPORT static const Standard_GUID& InvisibleGUID();
90 Standard_EXPORT static const Standard_GUID& ColorByLayerGUID();
92 //! Returns GUID for UAttribute identifying external reference on no-step file
93 Standard_EXPORT static const Standard_GUID& ExternRefGUID();
95 //! Returns GUID for UAttribute identifying specified higher usage occurrence
96 Standard_EXPORT static const Standard_GUID& SHUORefGUID();
98 //! Return GUIDs for TreeNode representing specified types of View
99 Standard_EXPORT static const Standard_GUID& ViewRefGUID();
101 //! Return GUIDs for TreeNode representing specified types of View
102 Standard_EXPORT static const Standard_GUID& ViewRefShapeGUID();
104 //! Return GUIDs for TreeNode representing specified types of View
105 Standard_EXPORT static const Standard_GUID& ViewRefGDTGUID();
107 //! Return GUIDs for TreeNode representing specified types of View
108 Standard_EXPORT static const Standard_GUID& ViewRefPlaneGUID();
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();
114 //! Returns GUID for UAttribute identifying lock flag
115 Standard_EXPORT static const Standard_GUID& LockGUID();
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);
124 #endif // _XCAFDoc_HeaderFile