Salome HOME
Merge from BR_Dev_For_4_0 branch (from tag mergeto_BR_QT4_Dev_17Jan08)
[modules/geom.git] / src / GEOMAlgo / GEOMAlgo_ShapeInfo.hxx
1 // File generated by CPPExt (Value)
2 //
3 //                     Copyright (C) 1991 - 2000 by  
4 //                      Matra Datavision SA.  All rights reserved.
5 //  
6 //                     Copyright (C) 2001 - 2004 by
7 //                     Open CASCADE SA.  All rights reserved.
8 // 
9 // This file is part of the Open CASCADE Technology software.
10 //
11 // This software may be distributed and/or modified under the terms and
12 // conditions of the Open CASCADE Public License as defined by Open CASCADE SA
13 // and appearing in the file LICENSE included in the packaging of this file.
14 //  
15 // This software is distributed on an "AS IS" basis, without warranty of any
16 // kind, and Open CASCADE SA hereby disclaims all such warranties,
17 // including without limitation, any warranties of merchantability, fitness
18 // for a particular purpose or non-infringement. Please see the License for
19 // the specific terms and conditions governing rights and limitations under the
20 // License.
21
22 #ifndef _GEOMAlgo_ShapeInfo_HeaderFile
23 #define _GEOMAlgo_ShapeInfo_HeaderFile
24
25 #ifndef _TopAbs_ShapeEnum_HeaderFile
26 #include <TopAbs_ShapeEnum.hxx>
27 #endif
28 #ifndef _Standard_Integer_HeaderFile
29 #include <Standard_Integer.hxx>
30 #endif
31 #ifndef _GEOMAlgo_KindOfShape_HeaderFile
32 #include <GEOMAlgo_KindOfShape.hxx>
33 #endif
34 #ifndef _GEOMAlgo_KindOfName_HeaderFile
35 #include <GEOMAlgo_KindOfName.hxx>
36 #endif
37 #ifndef _GEOMAlgo_KindOfBounds_HeaderFile
38 #include <GEOMAlgo_KindOfBounds.hxx>
39 #endif
40 #ifndef _GEOMAlgo_KindOfClosed_HeaderFile
41 #include <GEOMAlgo_KindOfClosed.hxx>
42 #endif
43 #ifndef _gp_Pnt_HeaderFile
44 #include <gp_Pnt.hxx>
45 #endif
46 #ifndef _gp_Dir_HeaderFile
47 #include <gp_Dir.hxx>
48 #endif
49 #ifndef _gp_Ax3_HeaderFile
50 #include <gp_Ax3.hxx>
51 #endif
52 #ifndef _Standard_Real_HeaderFile
53 #include <Standard_Real.hxx>
54 #endif
55 class gp_Pnt;
56 class gp_Dir;
57 class gp_Ax2;
58 class gp_Ax3;
59
60
61 #ifndef _Standard_HeaderFile
62 #include <Standard.hxx>
63 #endif
64 #ifndef _Standard_Macro_HeaderFile
65 #include <Standard_Macro.hxx>
66 #endif
67
68
69 class GEOMAlgo_ShapeInfo  {
70
71 public:
72
73     void* operator new(size_t,void* anAddress) 
74       {
75         return anAddress;
76       }
77     void* operator new(size_t size) 
78       { 
79         return Standard::Allocate(size); 
80       }
81     void  operator delete(void *anAddress) 
82       { 
83         if (anAddress) Standard::Free((Standard_Address&)anAddress); 
84       }
85  // Methods PUBLIC
86  // 
87
88
89 Standard_EXPORT GEOMAlgo_ShapeInfo();
90 Standard_EXPORT virtual ~GEOMAlgo_ShapeInfo();
91
92
93 Standard_EXPORT   void Reset() ;
94
95
96 Standard_EXPORT   void SetType(const TopAbs_ShapeEnum aType) ;
97
98
99 Standard_EXPORT   TopAbs_ShapeEnum Type() const;
100
101
102 Standard_EXPORT   void SetNbSubShapes(const TopAbs_ShapeEnum aType,const Standard_Integer aNb) ;
103
104
105 Standard_EXPORT   Standard_Integer NbSubShapes(const TopAbs_ShapeEnum aType) const;
106
107
108 Standard_EXPORT   void SetKindOfShape(const GEOMAlgo_KindOfShape aT) ;
109
110
111 Standard_EXPORT   GEOMAlgo_KindOfShape KindOfShape() const;
112
113
114 Standard_EXPORT   void SetKindOfName(const GEOMAlgo_KindOfName aT) ;
115
116
117 Standard_EXPORT   GEOMAlgo_KindOfName KindOfName() const;
118
119
120 Standard_EXPORT   void SetKindOfBounds(const GEOMAlgo_KindOfBounds aT) ;
121
122
123 Standard_EXPORT   GEOMAlgo_KindOfBounds KindOfBounds() const;
124
125
126 Standard_EXPORT   void SetKindOfClosed(const GEOMAlgo_KindOfClosed aT) ;
127
128
129 Standard_EXPORT   GEOMAlgo_KindOfClosed KindOfClosed() const;
130
131
132 Standard_EXPORT   void SetLocation(const gp_Pnt& aP) ;
133
134
135 Standard_EXPORT  const gp_Pnt& Location() const;
136
137
138 Standard_EXPORT   void SetDirection(const gp_Dir& aD) ;
139
140
141 Standard_EXPORT  const gp_Dir& Direction() const;
142
143
144 Standard_EXPORT   void SetPosition(const gp_Ax2& aAx2) ;
145
146
147 Standard_EXPORT   void SetPosition(const gp_Ax3& aAx3) ;
148
149
150 Standard_EXPORT  const gp_Ax3& Position() const;
151
152
153 Standard_EXPORT   void SetPnt1(const gp_Pnt& aP) ;
154
155
156 Standard_EXPORT  const gp_Pnt& Pnt1() const;
157
158
159 Standard_EXPORT   void SetPnt2(const gp_Pnt& aP) ;
160
161
162 Standard_EXPORT  const gp_Pnt& Pnt2() const;
163
164
165 Standard_EXPORT   void SetRadius1(const Standard_Real aR) ;
166
167
168 Standard_EXPORT   Standard_Real Radius1() const;
169
170
171 Standard_EXPORT   void SetRadius2(const Standard_Real aR) ;
172
173
174 Standard_EXPORT   Standard_Real Radius2() const;
175
176
177 Standard_EXPORT   void SetLength(const Standard_Real aL) ;
178
179
180 Standard_EXPORT   Standard_Real Length() const;
181
182
183 Standard_EXPORT   void SetWidth(const Standard_Real aW) ;
184
185
186 Standard_EXPORT   Standard_Real Width() const;
187
188
189 Standard_EXPORT   void SetHeight(const Standard_Real aH) ;
190
191
192 Standard_EXPORT   Standard_Real Height() const;
193
194
195 Standard_EXPORT   void Dump() const;
196
197
198
199
200
201 protected:
202
203  // Methods PROTECTED
204  // 
205
206
207 Standard_EXPORT   void DumpVertex() const;
208
209
210 Standard_EXPORT   void DumpEdge() const;
211
212
213 Standard_EXPORT   void DumpWire() const;
214
215
216 Standard_EXPORT   void DumpFace() const;
217
218
219 Standard_EXPORT   void DumpShell() const;
220
221
222 Standard_EXPORT   void DumpSolid() const;
223
224
225 Standard_EXPORT   void DumpCompSolid() const;
226
227
228 Standard_EXPORT   void DumpCompound() const;
229
230
231  // Fields PROTECTED
232  //
233 TopAbs_ShapeEnum myType;
234 Standard_Integer myNbSubShapes[9];
235 GEOMAlgo_KindOfShape myKindOfShape;
236 GEOMAlgo_KindOfName myKindOfName;
237 GEOMAlgo_KindOfBounds myKindOfBounds;
238 GEOMAlgo_KindOfClosed myKindOfClosed;
239 gp_Pnt myLocation;
240 gp_Dir myDirection;
241 gp_Ax3 myPosition;
242 Standard_Real myRadius1;
243 Standard_Real myRadius2;
244 Standard_Real myLength;
245 Standard_Real myWidth;
246 Standard_Real myHeight;
247 gp_Pnt myPnt1;
248 gp_Pnt myPnt2;
249 Standard_Integer myNbTypes;
250
251
252 private: 
253
254  // Methods PRIVATE
255  // 
256
257
258  // Fields PRIVATE
259  //
260
261
262 };
263
264
265
266
267
268 // other Inline functions and methods (like "C++: function call" methods)
269 //
270
271
272 #endif