summaryrefslogtreecommitdiff
path: root/inc/XCAFDoc_DimTolTool.hxx
blob: 84843a637c2784d220bf261aa6ceec6cc88b3746 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _XCAFDoc_DimTolTool_HeaderFile
#define _XCAFDoc_DimTolTool_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_XCAFDoc_DimTolTool_HeaderFile
#include <Handle_XCAFDoc_DimTolTool.hxx>
#endif

#ifndef _Handle_XCAFDoc_ShapeTool_HeaderFile
#include <Handle_XCAFDoc_ShapeTool.hxx>
#endif
#ifndef _TDF_Attribute_HeaderFile
#include <TDF_Attribute.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Handle_TColStd_HArray1OfReal_HeaderFile
#include <Handle_TColStd_HArray1OfReal.hxx>
#endif
#ifndef _Handle_TCollection_HAsciiString_HeaderFile
#include <Handle_TCollection_HAsciiString.hxx>
#endif
#ifndef _Handle_TDF_Attribute_HeaderFile
#include <Handle_TDF_Attribute.hxx>
#endif
#ifndef _Handle_TDF_RelocationTable_HeaderFile
#include <Handle_TDF_RelocationTable.hxx>
#endif
class XCAFDoc_ShapeTool;
class TDF_Label;
class Standard_GUID;
class TDF_LabelSequence;
class TColStd_HArray1OfReal;
class TCollection_HAsciiString;
class TDF_Attribute;
class TDF_RelocationTable;


//! Provides tools to store and retrieve attributes (colors) <br>
//!          of TopoDS_Shape in and from TDocStd_Document <br>
//!          A Document is intended to hold different <br>
//!          attributes of ONE shape and it's sub-shapes <br>
class XCAFDoc_DimTolTool : public TDF_Attribute {

public:

  
  Standard_EXPORT   XCAFDoc_DimTolTool();
  //! Creates (if not exist) DimTolTool. <br>
  Standard_EXPORT   static  Handle_XCAFDoc_DimTolTool Set(const TDF_Label& L) ;
  
  Standard_EXPORT   static const Standard_GUID& GetID() ;
  //! returns the label under which colors are stored <br>
  Standard_EXPORT     TDF_Label BaseLabel() const;
  //! Returns internal XCAFDoc_ShapeTool tool <br>
  Standard_EXPORT    const Handle_XCAFDoc_ShapeTool& ShapeTool() ;
  //! Returns True if label belongs to a dimtoltable and <br>
//!          is a DimTol definition <br>
  Standard_EXPORT     Standard_Boolean IsDimTol(const TDF_Label& lab) const;
  //! Returns a sequence of D&GTs currently stored <br>
//!          in the DGTtable <br>
  Standard_EXPORT     void GetDimTolLabels(TDF_LabelSequence& Labels) const;
  //! Finds a dimtol definition in a DGTtable and returns <br>
//!          its label if found <br>
//!          Returns False if dimtol is not found in DGTtable <br>
  Standard_EXPORT     Standard_Boolean FindDimTol(const Standard_Integer kind,const Handle(TColStd_HArray1OfReal)& aVal,const Handle(TCollection_HAsciiString)& aName,const Handle(TCollection_HAsciiString)& aDescription,TDF_Label& lab) const;
  //! Finds a dimtol definition in a DGTtable and returns <br>
//!          its label if found (or Null label else) <br>
  Standard_EXPORT     TDF_Label FindDimTol(const Standard_Integer kind,const Handle(TColStd_HArray1OfReal)& aVal,const Handle(TCollection_HAsciiString)& aName,const Handle(TCollection_HAsciiString)& aDescription) const;
  //! Adds a dimtol definition to a DGTtable and returns its label <br>
  Standard_EXPORT     TDF_Label AddDimTol(const Standard_Integer kind,const Handle(TColStd_HArray1OfReal)& aVal,const Handle(TCollection_HAsciiString)& aName,const Handle(TCollection_HAsciiString)& aDescription) const;
  //! Sets a link with GUID <br>
  Standard_EXPORT     void SetDimTol(const TDF_Label& L,const TDF_Label& DimTolL) const;
  //! Sets a link with GUID <br>
//!          Adds a DimTol as necessary <br>
  Standard_EXPORT     TDF_Label SetDimTol(const TDF_Label& L,const Standard_Integer kind,const Handle(TColStd_HArray1OfReal)& aVal,const Handle(TCollection_HAsciiString)& aName,const Handle(TCollection_HAsciiString)& aDescription) const;
  //! Returns ShapeL defined for label DimTolL <br>
//!          Returns False if the DimTolL is not in DGTtable <br>
  Standard_EXPORT     Standard_Boolean GetRefShapeLabel(const TDF_Label& DimTolL,TDF_Label& ShapeL) const;
  //! Returns all DimTol labels defined for label ShapeL <br>
  Standard_EXPORT     Standard_Boolean GetRefDGTLabels(const TDF_Label& ShapeL,TDF_LabelSequence& DimTols) const;
  //! Returns dimtol assigned to <DimTolL> <br>
//!          Returns False if no such dimtol is assigned <br>
  Standard_EXPORT     Standard_Boolean GetDimTol(const TDF_Label& DimTolL,Standard_Integer& kind,Handle(TColStd_HArray1OfReal)& aVal,Handle(TCollection_HAsciiString)& aName,Handle(TCollection_HAsciiString)& aDescription) const;
  //! Returns True if label belongs to a dimtoltable and <br>
//!          is a Datum definition <br>
  Standard_EXPORT     Standard_Boolean IsDatum(const TDF_Label& lab) const;
  //! Returns a sequence of Datumss currently stored <br>
//!          in the DGTtable <br>
  Standard_EXPORT     void GetDatumLabels(TDF_LabelSequence& Labels) const;
  //! Finds a datum and returns its label if found <br>
  Standard_EXPORT     Standard_Boolean FindDatum(const Handle(TCollection_HAsciiString)& aName,const Handle(TCollection_HAsciiString)& aDescription,const Handle(TCollection_HAsciiString)& anIdentification,TDF_Label& lab) const;
  //! Adds a datum definition to a DGTtable and returns its label <br>
  Standard_EXPORT     TDF_Label AddDatum(const Handle(TCollection_HAsciiString)& aName,const Handle(TCollection_HAsciiString)& aDescription,const Handle(TCollection_HAsciiString)& anIdentification) const;
  //! Sets a link with GUID <br>
  Standard_EXPORT     void SetDatum(const TDF_Label& L,const TDF_Label& DatumL) const;
  //! Sets a link with GUID for Datum <br>
//!          Adds a Datum as necessary <br>
//!          Sets connection between Datum and Tolerance <br>
  Standard_EXPORT     void SetDatum(const TDF_Label& L,const TDF_Label& TolerL,const Handle(TCollection_HAsciiString)& aName,const Handle(TCollection_HAsciiString)& aDescription,const Handle(TCollection_HAsciiString)& anIdentification) const;
  //! Returns datum assigned to <DatumL> <br>
//!          Returns False if no such datum is assigned <br>
  Standard_EXPORT     Standard_Boolean GetDatum(const TDF_Label& DatumL,Handle(TCollection_HAsciiString)& aName,Handle(TCollection_HAsciiString)& aDescription,Handle(TCollection_HAsciiString)& anIdentification) const;
  //! Returns all Datum labels defined for label DimTolL <br>
  Standard_EXPORT     Standard_Boolean GetDatumTolerLabels(const TDF_Label& DimTolL,TDF_LabelSequence& Datums) const;
  
  Standard_EXPORT    const Standard_GUID& ID() const;
  
  Standard_EXPORT     void Restore(const Handle(TDF_Attribute)& with) ;
  
  Standard_EXPORT     Handle_TDF_Attribute NewEmpty() const;
  
  Standard_EXPORT     void Paste(const Handle(TDF_Attribute)& into,const Handle(TDF_RelocationTable)& RT) const;




  DEFINE_STANDARD_RTTI(XCAFDoc_DimTolTool)

protected:




private: 


Handle_XCAFDoc_ShapeTool myShapeTool;


};





// other Inline functions and methods (like "C++: function call" methods)


#endif