7fd59977 |
1 | -- File: TopoDS_Shape.cdl |
2 | -- Created: Tue Dec 11 16:55:01 1990 |
3 | -- Author: Remi Lequette |
4 | ---Copyright: Matra Datavision 1990, 1992 |
5 | |
6 | |
7 | class Shape from TopoDS |
8 | |
9 | ---Purpose: Describes a shape which |
10 | -- - references an underlying shape with the potential |
11 | -- to be given a location and an orientation |
12 | -- - has a location for the underlying shape, giving its |
13 | -- placement in the local coordinate system |
14 | -- - has an orientation for the underlying shape, in |
15 | -- terms of its geometry (as opposed to orientation in |
16 | -- relation to other shapes). |
17 | -- Note: A Shape is empty if it references an underlying |
18 | -- shape which has an empty list of shapes. |
19 | |
20 | uses |
21 | Orientation from TopAbs, |
22 | ShapeEnum from TopAbs, |
23 | |
24 | TShape from TopoDS, |
25 | |
26 | Location from TopLoc |
27 | |
28 | raises |
29 | NullObject from Standard, |
30 | DomainError from Standard, |
31 | TypeMismatch from Standard |
32 | |
33 | is |
34 | Create returns Shape from TopoDS; |
35 | ---C++: inline |
36 | ---Purpose: Creates a NULL Shape referring to nothing. |
37 | |
38 | -- |
39 | -- Data from the Shape itself |
40 | -- |
41 | |
42 | IsNull(me) returns Boolean |
43 | ---C++: inline |
44 | ---Purpose: Returns true if this shape is null. In other words, it |
45 | -- references no underlying shape with the potential to |
46 | -- be given a location and an orientation. |
47 | is static; |
48 | |
49 | Nullify(me : in out) |
50 | ---C++: inline |
51 | ---Purpose: Destroys the reference to the underlying shape |
52 | -- stored in this shape. As a result, this shape becomes null. |
53 | is static; |
54 | |
55 | Location(me) returns Location from TopLoc |
56 | ---C++: inline |
57 | ---C++: return const & |
58 | ---Purpose: Returns the shape local coordinate system. |
59 | is static; |
60 | |
61 | Location(me : in out; Loc : Location from TopLoc) |
62 | ---C++: inline |
63 | ---Purpose: Sets the shape local coordinate system. |
64 | is static; |
65 | |
66 | Located(me; Loc : Location) returns Shape from TopoDS |
67 | ---Purpose: Returns a shape similar to <me> with the local |
68 | -- coordinate system set to <Loc>. |
69 | -- |
70 | ---C++: inline |
71 | is static; |
72 | |
73 | Orientation(me) returns Orientation from TopAbs |
74 | ---Purpose: Returns the shape orientation. |
75 | -- |
76 | ---C++: inline |
77 | is static; |
78 | |
79 | Orientation(me : in out; Orient : Orientation from TopAbs) |
80 | ---Purpose: Sets the shape orientation. |
81 | ---C++: inline |
82 | is static; |
83 | |
84 | Oriented(me; Or : Orientation from TopAbs) returns Shape from TopoDS |
85 | ---Purpose: Returns a shape similar to <me> with the |
86 | -- orientation set to <Or>. |
87 | -- |
88 | ---C++: inline |
89 | is static; |
90 | |
91 | -- |
92 | -- Data from the TShape |
93 | -- |
94 | |
95 | TShape(me) returns TShape from TopoDS |
96 | ---C++: inline |
97 | ---C++: return const & |
98 | is static; |
99 | |
100 | ShapeType(me) returns ShapeEnum from TopAbs |
101 | ---C++: inline |
102 | ---Purpose: Returns the value of the TopAbs_ShapeEnum |
103 | -- enumeration that corresponds to this shape, for |
104 | -- example VERTEX, EDGE, and so on. |
105 | -- Exceptions |
106 | -- Standard_NullObject if this shape is null. |
107 | raises NullObject from Standard |
108 | is static; |
109 | |
110 | Free(me) returns Boolean |
111 | ---Purpose: Returns the free flag. |
112 | -- |
113 | ---C++: inline |
114 | raises NullObject from Standard |
115 | is static; |
116 | |
117 | Free(me : in out; F : Boolean) |
118 | ---Purpose: Sets the free flag. |
119 | -- |
120 | ---C++: inline |
121 | raises NullObject from Standard |
122 | is static; |
123 | |
124 | Modified(me) returns Boolean |
125 | ---Purpose: Returns the modification flag. |
126 | -- |
127 | ---C++: inline |
128 | raises NullObject from Standard |
129 | is static; |
130 | |
131 | Modified(me : in out; M : Boolean) |
132 | ---Purpose: Sets the modification flag. |
133 | -- |
134 | ---C++: inline |
135 | raises NullObject from Standard |
136 | is static; |
137 | |
138 | Checked(me) returns Boolean |
139 | ---Purpose: Returns the checked flag. |
140 | -- |
141 | ---C++: inline |
142 | raises NullObject from Standard |
143 | is static; |
144 | |
145 | Checked(me : in out; C : Boolean) |
146 | ---Purpose: Sets the checked flag. |
147 | -- |
148 | ---C++: inline |
149 | raises NullObject from Standard |
150 | is static; |
151 | |
152 | Orientable(me) returns Boolean |
153 | ---Purpose: Returns the orientability flag. |
154 | -- |
155 | ---C++: inline |
156 | raises NullObject from Standard |
157 | is static; |
158 | |
159 | Orientable(me : in out; C : Boolean) |
160 | ---Purpose: Sets the orientability flag. |
161 | -- |
162 | ---C++: inline |
163 | raises NullObject from Standard |
164 | is static; |
165 | |
166 | Closed(me) returns Boolean |
167 | ---Purpose: Returns the closedness flag. |
168 | -- |
169 | ---C++: inline |
170 | raises NullObject from Standard |
171 | is static; |
172 | |
173 | Closed(me : in out; C : Boolean) |
174 | ---Purpose: Sets the closedness flag. |
175 | -- |
176 | ---C++: inline |
177 | raises NullObject from Standard |
178 | is static; |
179 | |
180 | Infinite(me) returns Boolean |
181 | ---Purpose: Returns the infinity flag. |
182 | -- |
183 | ---C++: inline |
184 | raises NullObject from Standard |
185 | is static; |
186 | |
187 | Infinite(me : in out; C : Boolean) |
188 | ---Purpose: Sets the infinity flag. |
189 | -- |
190 | ---C++: inline |
191 | raises NullObject from Standard |
192 | is static; |
193 | |
194 | Convex(me) returns Boolean |
195 | ---Purpose: Returns the convexness flag. |
196 | -- |
197 | ---C++: inline |
198 | raises NullObject from Standard |
199 | is static; |
200 | |
201 | Convex(me : in out; C : Boolean) |
202 | ---Purpose: Sets the convexness flag. |
203 | -- |
204 | ---C++: inline |
205 | raises NullObject from Standard |
206 | is static; |
207 | |
208 | -- |
209 | -- Methods to modify the Shape data |
210 | -- |
211 | |
212 | Move(me : in out; position : Location from TopLoc) |
213 | ---Purpose: Multiplies the Shape location by <position>. |
214 | -- |
215 | ---C++: inline |
216 | is static; |
217 | |
218 | Moved(me; position : Location from TopLoc) returns Shape from TopoDS |
219 | ---Purpose: Returns a shape similar to <me> with a location |
220 | -- multiplied by <position>. |
221 | -- |
222 | ---C++: inline |
223 | is static; |
224 | |
225 | Reverse(me : in out) |
226 | ---Purpose: Reverses the orientation, using the Reverse method |
227 | -- from the TopAbs package. |
228 | -- |
229 | ---C++: inline |
230 | is static; |
231 | |
232 | Reversed(me) returns Shape from TopoDS |
233 | ---Purpose: Returns a shape similar to <me> with the |
234 | -- orientation reversed, using the Reverse method |
235 | -- from the TopAbs package. |
236 | -- |
237 | ---C++: inline |
238 | is static; |
239 | |
240 | Complement(me : in out) |
241 | ---Purpose: Complements the orientation, using the Complement |
242 | -- method from the TopAbs package. |
243 | -- |
244 | ---C++: inline |
245 | is static; |
246 | |
247 | Complemented(me) returns Shape from TopoDS |
248 | ---Purpose: Returns a shape similar to <me> with the |
249 | -- orientation complemented, using the Complement |
250 | -- method from the TopAbs package. |
251 | -- |
252 | ---C++: inline |
253 | is static; |
254 | |
255 | Compose(me : in out; Orient : Orientation from TopAbs) |
256 | ---Purpose: Updates the Shape Orientation by composition with |
257 | -- <Orient>, using the Compose method from the TopAbs |
258 | -- package. |
259 | -- |
260 | ---C++: inline |
261 | is static; |
262 | |
263 | Composed(me; Orient : Orientation from TopAbs) returns Shape from TopoDS |
264 | ---Purpose: Returns a shape similar to <me> with the |
265 | -- orientation composed with <Orient>, using the |
266 | -- Compose method from the TopAbs package. |
267 | -- |
268 | ---C++: inline |
269 | is static; |
270 | |
271 | -- |
272 | -- Methods to compare Shapes |
273 | -- |
274 | |
275 | IsPartner(me; other : Shape) returns Boolean |
276 | ---Purpose: Returns True if two shapes are partners, i.e. if |
277 | -- they share the same TShape. Locations and |
278 | -- Orientations may differ. |
279 | -- |
280 | ---C++: inline |
281 | is static; |
282 | |
283 | IsSame(me; other : Shape) returns Boolean |
284 | ---Purpose: Returns True if two shapes are same, i.e. if they |
285 | -- share the same TShape with the same Locations. |
286 | -- Orientations may differ. |
287 | ---C++: inline |
288 | is static; |
289 | |
290 | IsEqual(me; other : Shape) returns Boolean |
291 | ---Purpose: Returns True if two shapes are equal, i.e. if they |
292 | -- share the same TShape with the same Locations and |
293 | -- Orientations. |
294 | -- |
295 | ---C++: inline |
296 | ---C++: alias operator == |
297 | is static; |
298 | |
299 | IsNotEqual(me; other : Shape) returns Boolean |
300 | ---Purpose: Negation of the IsEqual method. |
301 | -- |
302 | ---C++: inline |
303 | ---C++: alias operator != |
304 | is static; |
305 | |
306 | HashCode (me; Upper : Integer ) returns Integer |
307 | ---Purpose: Returns a hashed value denoting <me>. This value |
308 | -- is in the range 1..<Upper>. It is computed from |
309 | -- the TShape and the Location. The Orientation is |
310 | -- not used. |
311 | -- |
312 | ---C++: function call |
313 | is static; |
314 | |
315 | EmptyCopy(me : in out) |
316 | ---Purpose: Replace <me> by a new Shape with the same |
317 | -- Orientation and Location and a new TShape with the |
318 | -- same geometry and no sub-shapes. |
319 | -- |
320 | ---C++: inline |
321 | is static; |
322 | |
323 | EmptyCopied(me) returns Shape from TopoDS |
324 | ---Purpose: Returns a new Shape with the same Orientation and |
325 | -- Location and a new TShape with the same geometry |
326 | -- and no sub-shapes. |
327 | -- |
328 | ---C++: inline |
329 | is static; |
330 | |
331 | -- |
332 | -- To set the TShape |
333 | -- |
334 | |
335 | TShape(me : in out; T : TShape from TopoDS) |
336 | ---C++: inline |
337 | is static; |
338 | |
339 | fields |
340 | myTShape : TShape from TopoDS; |
341 | myLocation : Location from TopLoc; |
342 | myOrient : Orientation from TopAbs; |
343 | |
344 | end Shape; |