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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
|
// 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 _TDataXtd_Constraint_HeaderFile
#define _TDataXtd_Constraint_HeaderFile
#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_TDataXtd_Constraint_HeaderFile
#include <Handle_TDataXtd_Constraint.hxx>
#endif
#ifndef _TDataXtd_ConstraintEnum_HeaderFile
#include <TDataXtd_ConstraintEnum.hxx>
#endif
#ifndef _Handle_TDataStd_Real_HeaderFile
#include <Handle_TDataStd_Real.hxx>
#endif
#ifndef _Handle_TDF_Attribute_HeaderFile
#include <Handle_TDF_Attribute.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _TDF_Attribute_HeaderFile
#include <TDF_Attribute.hxx>
#endif
#ifndef _Handle_TNaming_NamedShape_HeaderFile
#include <Handle_TNaming_NamedShape.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Handle_TDF_RelocationTable_HeaderFile
#include <Handle_TDF_RelocationTable.hxx>
#endif
#ifndef _Standard_OStream_HeaderFile
#include <Standard_OStream.hxx>
#endif
#ifndef _Handle_TDF_DataSet_HeaderFile
#include <Handle_TDF_DataSet.hxx>
#endif
class TDataStd_Real;
class TDF_Attribute;
class Standard_GUID;
class TDF_Label;
class TNaming_NamedShape;
class TDF_LabelList;
class TDF_RelocationTable;
class TDF_DataSet;
//! The groundwork to define constraint attributes. <br>
//! The constraint attribute contains the following sorts of data: <br>
//! - Type whether the constraint attribute is a <br>
//! geometric constraint or a dimension <br>
//! - Value the real number value of a numeric <br>
//! constraint such as an angle or a radius <br>
//! - Geometries to identify the geometries <br>
//! underlying the topological attributes which <br>
//! define the constraint (up to 4) <br>
//! - Plane for 2D constraints. <br>
class TDataXtd_Constraint : public TDF_Attribute {
public:
//! Returns the GUID for constraints. <br>
Standard_EXPORT static const Standard_GUID& GetID() ;
//! Finds or creates the 2D constraint attribute <br>
//! defined by the planar topological attribute plane <br>
//! and the label label. <br>//! Constraint methods <br>
//! ================== <br>
Standard_EXPORT static Handle_TDataXtd_Constraint Set(const TDF_Label& label) ;
Standard_EXPORT TDataXtd_Constraint();
//! Finds or creates the constraint attribute defined <br>
//! by the topological attribute G1 and the constraint type type. <br>
Standard_EXPORT void Set(const TDataXtd_ConstraintEnum type,const Handle(TNaming_NamedShape)& G1) ;
//! Finds or creates the constraint attribute defined <br>
//! by the topological attributes G1 and G2, and by <br>
//! the constraint type type. <br>
Standard_EXPORT void Set(const TDataXtd_ConstraintEnum type,const Handle(TNaming_NamedShape)& G1,const Handle(TNaming_NamedShape)& G2) ;
//! Finds or creates the constraint attribute defined <br>
//! by the topological attributes G1, G2 and G3, and <br>
//! by the constraint type type. <br>
Standard_EXPORT void Set(const TDataXtd_ConstraintEnum type,const Handle(TNaming_NamedShape)& G1,const Handle(TNaming_NamedShape)& G2,const Handle(TNaming_NamedShape)& G3) ;
//! Finds or creates the constraint attribute defined <br>
//! by the topological attributes G1, G2, G3 and G4, <br>
//! and by the constraint type type. <br>//! methods to read constraint fields <br>
//! ================================= <br>
Standard_EXPORT void Set(const TDataXtd_ConstraintEnum type,const Handle(TNaming_NamedShape)& G1,const Handle(TNaming_NamedShape)& G2,const Handle(TNaming_NamedShape)& G3,const Handle(TNaming_NamedShape)& G4) ;
//! Returns true if this constraint attribute is valid. <br>
//! By default, true is returned. <br>
//! When the value of a dimension is changed or <br>
//! when a geometry is moved, false is returned <br>
//! until the solver sets it back to true. <br>
Standard_EXPORT Standard_Boolean Verified() const;
//! Returns the type of constraint. <br>
//! This will be an element of the <br>
//! TDataXtd_ConstraintEnum enumeration. <br>
Standard_EXPORT TDataXtd_ConstraintEnum GetType() const;
//! Returns true if this constraint attribute is <br>
//! two-dimensional. <br>
Standard_EXPORT Standard_Boolean IsPlanar() const;
//! Returns the topological attribute of the plane <br>
//! used for planar - i.e., 2D - constraints. <br>
//! This plane is attached to another label. <br>
//! If the constraint is not planar, in other words, 3D, <br>
//! this function will return a null handle. <br>
Standard_EXPORT const Handle_TNaming_NamedShape& GetPlane() const;
//! Returns true if this constraint attribute is a <br>
//! dimension, and therefore has a value. <br>
Standard_EXPORT Standard_Boolean IsDimension() const;
//! Returns the value of a dimension. <br>
//! This value is a reference to a TDataStd_Real attribute. <br>
//! If the attribute is not a dimension, this value will <br>
//! be 0. Use IsDimension to test this condition. <br>
Standard_EXPORT const Handle_TDataStd_Real& GetValue() const;
//! Returns the number of geometry attributes in this constraint attribute. <br>
//! This number will be between 1 and 4. <br>
Standard_EXPORT Standard_Integer NbGeometries() const;
//! Returns the integer index Index used to access <br>
//! the array of the constraint or stored geometries of a dimension <br>
//! Index has a value between 1 and 4. <br>//! methods to write constraint fields (use builder) <br>
//! ================================== <br>
Standard_EXPORT Handle_TNaming_NamedShape GetGeometry(const Standard_Integer Index) const;
//! Removes the geometries involved in the <br>
//! constraint or dimension from the array of <br>
//! topological attributes where they are stored. <br>
Standard_EXPORT void ClearGeometries() ;
//! Finds or creates the type of constraint CTR. <br>
Standard_EXPORT void SetType(const TDataXtd_ConstraintEnum CTR) ;
//! Finds or creates the plane of the 2D constraint <br>
//! attribute, defined by the planar topological attribute plane. <br>
Standard_EXPORT void SetPlane(const Handle(TNaming_NamedShape)& plane) ;
//! Finds or creates the real number value V of the dimension constraint attribute. <br>
Standard_EXPORT void SetValue(const Handle(TDataStd_Real)& V) ;
//! Finds or creates the underlying geometry of the <br>
//! constraint defined by the topological attribute G <br>
//! and the integer index Index. <br>
Standard_EXPORT void SetGeometry(const Standard_Integer Index,const Handle(TNaming_NamedShape)& G) ;
//! Returns true if this constraint attribute defined by status is valid. <br>
//! By default, true is returned. <br>
//! When the value of a dimension is changed or <br>
//! when a geometry is moved, false is returned until <br>
//! the solver sets it back to true. <br>
//! If status is false, Verified is set to false. <br>
Standard_EXPORT void Verified(const Standard_Boolean status) ;
Standard_EXPORT void Inverted(const Standard_Boolean status) ;
Standard_EXPORT Standard_Boolean Inverted() const;
Standard_EXPORT void Reversed(const Standard_Boolean status) ;
Standard_EXPORT Standard_Boolean Reversed() const;
//! collects constraints on Childs for label <aLabel> <br>
Standard_EXPORT static void CollectChildConstraints(const TDF_Label& aLabel,TDF_LabelList& TheList) ;
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;
Standard_EXPORT virtual Standard_OStream& Dump(Standard_OStream& anOS) const;
Standard_EXPORT virtual void References(const Handle(TDF_DataSet)& DS) const;
DEFINE_STANDARD_RTTI(TDataXtd_Constraint)
protected:
private:
TDataXtd_ConstraintEnum myType;
Handle_TDataStd_Real myValue;
Handle_TDF_Attribute myGeometries[4];
Handle_TDF_Attribute myPlane;
Standard_Boolean myIsReversed;
Standard_Boolean myIsInverted;
Standard_Boolean myIsVerified;
};
// other Inline functions and methods (like "C++: function call" methods)
#endif
|