Integration of OCCT 6.5.0 from SVN
[occt.git] / src / HatchGen / HatchGen_Hatcher.cdl
CommitLineData
7fd59977 1-- File: HatchGen_Hatcher.cdl
2-- Created: Mon Oct 25 17:01:45 1993
3-- Author: Jean Marc LACHAUME
4-- <jml@phobox>
5-- Copyright: Matra Datavision 1993
6
7generic class Hatcher from HatchGen
8 (TheCurveE as any ; -- as Curve from Geom2dAdaptor
9 TheCurveH as any ; -- as Curve from Geom2dAdaptor
10 TheIntersector as any ) -- as Intersector from HatchGen
11
12uses
13 MapIntegerHasher from TColStd ,
14 PointOnHatching from HatchGen ,
15 Orientation from TopAbs ,
16 State from TopAbs ,
17 Domain from HatchGen ,
18 ErrorStatus from HatchGen
19
20raises
21 NoSuchObject from Standard ,
22 OutOfRange from Standard ,
23 NotDone from StdFail
24
25----------------------------------------------------------------------
26-- Nested classes descriptions.
27----------------------------------------------------------------------
28
29class Element from HatchGen instantiates ElementGen from HatchGen
30 (TheCurveE) ;
31
32class Elements from HatchGen instantiates ElementsGen from HatchGen
33 (Integer from Standard,
34 Element from HatchGen,
35 MapIntegerHasher from TColStd ,
36 TheCurveE ) ;
37
38class Hatching from HatchGen instantiates HatchingGen from HatchGen
39 (TheCurveH) ;
40
41class Hatchings from HatchGen instantiates DataMap from TCollection
42 (Integer from Standard,
43 Hatching from HatchGen,
44 MapIntegerHasher from TColStd) ;
45
46class Classifier from HatchGen instantiates FaceClassifier from TopClass
47 (Elements,
48 TheCurveE,
49 TheIntersector);
50
51----------------------------------------------------------------------
52-- class Hatcher description.
53----------------------------------------------------------------------
54
55is
56
57---Category: General use
58
59
60 Create (Intersector : TheIntersector ;
61 Confusion2d : Real from Standard ;
62 Confusion3d : Real from Standard ;
63 KeepPnt : Boolean from Standard = Standard_False ;
64 KeepSeg : Boolean from Standard = Standard_False)
65
66 ---Purpose: Returns an empty hatcher.
67
68 returns Hatcher from HatchGen ;
69
70
71 Intersector (me : in out ; Intersector : TheIntersector)
72
73 ---Purpose: Sets the associated intersector.
74 is static ;
75
76
77 Intersector (me : in out)
78
79 ---Purpose: Returns the associated intersector.
80
81 ---C++: inline
82 ---C++: return const &
83
84 returns TheIntersector
85 is static ;
86
87
88 ChangeIntersector (me : in out)
89
90 ---Purpose: Returns the associated intersector.
91
92 ---C++: inline
93 ---C++: return &
94
95 returns TheIntersector
96 is static ;
97
98
99 Confusion2d (me : in out ; Confusion : Real from Standard)
100
101 ---Purpose: Sets the confusion tolerance.
102
103 is static ;
104
105
106 Confusion2d (me)
107
108 ---Purpose: Returns the 2d confusion tolerance, i.e. the value under
109 -- which two points are considered identical in the
110 -- parametric space of the hatching.
111
112 ---C++: inline
113 returns Real from Standard
114 is static ;
115
116
117 Confusion3d (me : in out ; Confusion : Real from Standard)
118
119 ---Purpose: Sets the confusion tolerance.
120
121 is static ;
122
123
124 Confusion3d (me)
125
126 ---Purpose: Returns the 3d confusion tolerance, i.e. the value under
127 -- which two points are considered identical in the
128 -- 3d space of the hatching.
129
130 ---C++: inline
131 returns Real from Standard
132 is static ;
133
134
135 KeepPoints (me : in out; Keep : Boolean from Standard)
136
137 ---Purpose: Sets the above flag.
138
139 is static ;
140
141
142 KeepPoints (me)
143
144 ---Purpose: Returns the flag about the points consideration.
145
146 ---C++: inline
147 returns Boolean from Standard
148 is static ;
149
150
151 KeepSegments (me : in out; Keep : Boolean from Standard)
152
153 ---Purpose: Sets the above flag.
154
155 is static ;
156
157
158 KeepSegments (me)
159
160 ---Purpose: Returns the flag about the segments consideration.
161
162 ---C++: inline
163 returns Boolean from Standard
164 is static ;
165
166
167 Clear (me : in out)
168
169 ---Purpose: Removes all the hatchings and all the elements.
170
171 ---C++: inline
172 is static ;
173
174
175---Category: Element
176
177
178 Element (me : in out ; IndE : Integer from Standard)
179
180 ---Purpose: Returns the IndE-th element.
181
182 ---Category: Element
183
184 ---C++: inline
185 ---C++: return &
186
187 returns Element from HatchGen
188 raises NoSuchObject from Standard
189 is static protected ;
190
191
192 ElementCurve (me; IndE : Integer from Standard)
193
194 ---Purpose: Returns the curve associated to the IndE-th element.
195
196 ---Category: Element
197
198 ---C++: inline
199 ---C++: return const &
200
201 returns TheCurveE
202 raises NoSuchObject from Standard
203 is static ;
204
205
206 AddElement (me : in out ; Curve : TheCurveE ;
207 Orientation : Orientation from TopAbs = TopAbs_FORWARD)
208
209 ---Purpose: Adds an element to the hatcher and returns its index.
210
211 ---Category: Element
212
213 returns Integer from Standard
214 is static ;
215
216
217 RemElement (me : in out ; IndE : Integer from Standard)
218
219 ---Purpose: Removes the IndE-th element from the hatcher.
220
221 ---Category: Element
222
223 raises NoSuchObject from Standard
224 is static ;
225
226
227 ClrElements (me : in out)
228
229 ---Purpose: Removes all the elements from the hatcher.
230
231 ---Category: Element
232
233 is static ;
234
235
236---Category: Hatching
237
238
239 Hatching (me : in out ; IndH : Integer from Standard)
240
241 ---Purpose: Returns the IndH-th hatching.
242
243 ---Category: Hatching
244
245 ---C++: inline
246 ---C++: return &
247
248 returns Hatching from HatchGen
249 raises NoSuchObject from Standard
250 is static protected ;
251
252
253 HatchingCurve (me; IndH : Integer from Standard)
254
255 ---Purpose: Returns the curve associated to the IndH-th hatching.
256
257 ---Category: Hatching
258
259 ---C++: inline
260 ---C++: return const &
261
262 returns TheCurveH
263 raises NoSuchObject from Standard
264 is static ;
265
266
267 AddHatching (me : in out ; Curve : TheCurveH)
268
269 ---Purpose: Adds a hatching to the hatcher and returns its index.
270
271 ---Category: Hatching
272
273 returns Integer from Standard
274 is static ;
275
276
277 RemHatching (me : in out ; IndH : Integer from Standard)
278
279 ---Purpose: Removes the IndH-th hatching from the hatcher.
280
281 ---Category: Hatching
282
283 raises NoSuchObject from Standard
284 is static ;
285
286
287 ClrHatchings (me : in out)
288
289 ---Purpose: Removes all the hatchings from the hatcher.
290
291 ---Category: Hatching
292
293 is static ;
294
295
296 NbPoints (me; IndH : Integer from Standard)
297
298 ---Purpose: Returns the number of intersection points of
299 -- the IndH-th hatching.
300
301 ---Category: Hatching - Test
302
303 ---C++: inline
304 returns Integer from Standard
305 raises NoSuchObject from Standard
306 is static ;
307
308
309 Point (me; IndH, IndP : Integer from Standard)
310
311 ---Purpose: Returns the IndP-th intersection point of the
312 -- IndH-th hatching.
313
314 ---Category: Hatching - Test
315
316 ---C++: inline
317 ---C++: return const &
318
319 returns PointOnHatching from HatchGen
320 raises NoSuchObject from Standard,
321 OutOfRange from Standard
322 is static ;
323
324
325---Category: Computation - Trimming
326
327 Trim (me : in out)
328
329 ---Purpose: Trims all the hatchings of the hatcher by all the
330 -- elements of the hatcher.
331
332 is static ;
333
334
335 Trim (me : in out ; Curve : TheCurveH)
336
337 ---Purpose: Adds a hatching to the hatcher and trims it by
338 -- the elements already given and returns its index.
339
340 ---Category: Computation
341
342 returns Integer from Standard
343 is static ;
344
345
346 Trim (me : in out ; IndH : Integer from Standard)
347
348 ---Purpose: Trims the IndH-th hatching by the elements
349 -- already given.
350
351 ---Category: Computation
352
353 raises NoSuchObject from Standard
354 is static ;
355
356
357 Trim (me : in out ; IndH, IndE : Integer from Standard)
358
359 ---Purpose: Trims the IndH-th hatching of the hatcher by the
360 -- IndE-th element.
361
362 ---Category: Computation
363
364 returns Boolean from Standard
365 is static private ;
366
367
368---Category: Computation - Domains
369
370 GlobalTransition (me : in out; Point : in out PointOnHatching from HatchGen)
371
372 ---Purpose: Sets the global transition (the before and after
373 -- states and segment extremities flags) of the point.
374
375 ---Category: Computation - Domains
376
377 returns Boolean from Standard
378 is static private ;
379
380
381 ComputeDomains (me : in out)
382
383 ---Purpose: Computes the domains of all the hatchings.
384
385 ---Category: Computation - Domains
386
387 is static ;
388
389
390 ComputeDomains (me : in out ; IndH : Integer from Standard)
391
392 ---Purpose: Computes the domains of the IndH-th hatching.
393
394 ---Category: Computation - Domains
395
396 raises NoSuchObject from Standard
397 is static ;
398
399
400---Category: Results
401
402 TrimDone (me; IndH : Integer from Standard)
403
404 ---Purpose: Returns the fact that the intersections were computed
405 -- for the IndH-th hatching.
406
407 ---C++: inline
408 returns Boolean from Standard
409 raises NoSuchObject from Standard
410 is static ;
411
412
413 TrimFailed (me; IndH : Integer from Standard)
414
415 ---Purpose: Returns the fact that the intersections failed
416 -- for the IndH-th hatching.
417
418 ---C++: inline
419 returns Boolean from Standard
420 raises NoSuchObject from Standard
421 is static ;
422
423
424 IsDone (me)
425
426 ---Purpose: Returns the fact that the domains were computed
427 -- for all the hatchings.
428
429 ---C++: inline
430 returns Boolean from Standard
431 raises NoSuchObject from Standard
432 is static ;
433
434
435 IsDone (me; IndH : Integer from Standard)
436
437 ---Purpose: Returns the fact that the domains were computed
438 -- for the IndH-th hatching.
439
440 returns Boolean from Standard
441 raises NoSuchObject from Standard
442 is static ;
443
444
445 Status (me; IndH : Integer from Standard)
446
447 ---Purpose: Returns the status about the IndH-th hatching.
448
449 ---C++: inline
450 returns ErrorStatus from HatchGen
451 raises NoSuchObject from Standard
452 is static ;
453
454
455 NbDomains (me; IndH : Integer from Standard)
456
457 ---Purpose: Returns the number of domains of the IndH-th hatching.
458 -- Only ONE "INFINITE" domain means that the hatching is
459 -- fully included in the contour defined by the elements.
460
461 ---C++: inline
462 returns Integer from Standard
463 raises NoSuchObject from Standard ,
464 NotDone from StdFail
465 is static ;
466
467
468 Domain (me; IndH : Integer from Standard ;
469 IDom : Integer from Standard )
470
471 ---Purpose: Returns the IDom-th domain of the IndH-th hatching.
472
473 ---C++: return const &
474
475 returns Domain from HatchGen
476 raises NoSuchObject from Standard ,
477 NotDone from StdFail ,
478 OutOfRange from Standard
479 is static ;
480
481
482---Category: Dump
483
484 Dump (me)
485
486 ---Purpose: Dump the hatcher.
487
488 is static ;
489
490
491fields
492
493 myIntersector : TheIntersector ;
494 myConfusion2d : Real from Standard ;
495 myConfusion3d : Real from Standard ;
496 myKeepPoints : Boolean from Standard ;
497 myKeepSegments : Boolean from Standard ;
498 myNbElements : Integer from Standard ;
499 myElements : Elements from HatchGen ;
500 myNbHatchings : Integer from Standard ;
501 myHatchings : Hatchings from HatchGen ;
502
503end Hatcher from HatchGen ;