1 -- File: NMTTools_PaveFiller.cdl
2 -- Created: Fri Dec 5 14:35:00 2003
3 -- Author: Peter KURNEV
5 ---Copyright: Matra Datavision 2003
8 class PaveFiller from NMTTools
13 ListOfInteger from TColStd,
15 ShapeEnum from TopAbs,
19 Context from IntTools,
20 ShrunkRange from IntTools,
22 IndexedDataMapOfShapeInteger from BooleanOperations,
24 InterferencePool from BOPTools,
25 PInterferencePool from BOPTools,
26 PavePool from BOPTools,
27 PaveBlock from BOPTools,
28 ListOfPaveBlock from BOPTools,
29 SplitShapesPool from BOPTools,
31 PaveSet from BOPTools,
33 SSInterference from BOPTools,
35 IDMapOfPaveBlockIMapOfPaveBlock from BOPTools,
36 IDMapOfPaveBlockIMapOfInteger from BOPTools,
37 SSIntersectionAttribute from BOPTools,
39 CommonBlockPool from NMTTools,
40 CommonBlock from NMTTools,
41 ListOfCommonBlock from NMTTools,
42 IteratorOfCoupleOfShape from NMTTools,
44 ShapesDataStructure from NMTDS,
45 PShapesDataStructure from NMTDS
51 returns PaveFiller from NMTTools;
53 Create(aIP:InterferencePool from BOPTools)
54 returns PaveFiller from NMTTools;
58 ---C++: alias "Standard_EXPORT virtual ~NMTTools_PaveFiller(){Destroy();}"
60 -- Selectors/Modifiers
61 SetInterferencePool(me:out;
62 aIP:InterferencePool from BOPTools);
65 returns PInterferencePool from BOPTools;
92 MakeSplitEdges(me:out)
95 PreparePaveBlocks (me:out;
96 aType1: ShapeEnum from TopAbs;
97 aType2: ShapeEnum from TopAbs)
100 CorrectShrunkRanges(me:out;
101 aSide: Integer from Standard;
102 aPave: Pave from BOPTools;
103 aSR : out ShrunkRange from IntTools)
106 PreparePaveBlocks (me:out;
107 anE:Integer from Standard)
108 is virtual protected;
110 PerformNewVertices (me:out)
111 is virtual protected;
113 PrepareEdges (me:out)
114 is virtual protected;
117 anInd1:in out Integer from Standard;
118 anInd2:in out Integer from Standard)
121 ExpectedPoolLength(me)
122 returns Integer from Standard
127 returns Boolean from Standard;
130 returns PShapesDataStructure from NMTDS;
133 returns Context from IntTools;
134 ---C++:return const &
136 ChangeContext(me:out)
137 returns Context from IntTools;
141 returns PavePool from BOPTools;
142 ---C++:return const &
144 ChangePavePool(me:out)
145 returns PavePool from BOPTools;
149 returns CommonBlockPool from NMTTools;
150 ---C++:return const &
152 ChangeCommonBlockPool(me:out)
153 returns CommonBlockPool from NMTTools;
157 returns SplitShapesPool from BOPTools;
158 ---C++:return const &
160 ChangeSplitShapesPool(me:out)
161 returns SplitShapesPool from BOPTools;
165 nV: Integer from Standard)
166 returns Integer from Standard;
168 IsSuccesstorsComputed (me;
169 iF1:Integer from Standard;
170 iF2:Integer from Standard)
171 returns Boolean from Standard
174 IsBlocksCoinside (me;
175 aPB1:PaveBlock from BOPTools;
176 aPB2:PaveBlock from BOPTools)
177 returns Boolean from Standard
180 RefinePavePool(me:out)
183 CheckFacePaves(me:out;
184 aV : Vertex from TopoDS;
185 nF: Integer from Standard)
186 returns Integer from Standard
189 ReplaceCommonBlocks (me:out;
190 aLCB: ListOfCommonBlock from NMTTools)
193 RemoveCommonBlocks (me:out;
194 aLCB: ListOfCommonBlock from NMTTools)
197 SplitCommonBlocks (me:out;
198 aLCB: ListOfCommonBlock from NMTTools)
201 SplitCommonBlock (me:out;
202 aCB : CommonBlock from NMTTools;
203 aLCB: out ListOfCommonBlock from NMTTools)
206 EECommonBlocks(me:out;
207 aM:IDMapOfPaveBlockIMapOfPaveBlock from BOPTools)
210 EFCommonBlocks(me:out;
211 aMapCB:IDMapOfPaveBlockIMapOfInteger from BOPTools)
214 EENewVertices (me:out;
215 aM:IndexedDataMapOfShapeInteger from BooleanOperations)
218 EENewVertices (me:out;
219 aV:Vertex from TopoDS;
220 aM:IndexedDataMapOfShapeInteger from BooleanOperations)
223 EFNewVertices (me:out;
224 aM:IndexedDataMapOfShapeInteger from BooleanOperations)
227 EFNewVertices (me:out;
228 aV:Vertex from TopoDS;
229 aM:IndexedDataMapOfShapeInteger from BooleanOperations)
232 UpdateCommonBlocks(me:out)
235 UpdatePaveBlocks(me:out)
239 aPB:PaveBlock from BOPTools)
240 returns Integer from Standard
246 --------------------------------------------------------------
248 --- Some API FUNCTIONS
251 aBid:Integer from Standard;
252 nF1 :Integer from Standard;
253 nF2 :Integer from Standard;
254 aLs :out ListOfInteger from TColStd)
255 returns Integer from Standard;
258 nE1 :Integer from Standard;
259 nF2 :Integer from Standard;
260 aLs :out ListOfInteger from TColStd)
261 returns Integer from Standard;
264 nE1 :Integer from Standard;
265 nE2 :Integer from Standard;
266 aLs :out ListOfInteger from TColStd)
267 returns Integer from Standard;
270 nE1 :Integer from Standard;
271 nF2 :Integer from Standard;
272 aLs :out ListOfInteger from TColStd)
273 returns Integer from Standard;
276 aBid:Integer from Standard;
277 nF1 :Integer from Standard;
278 nF2 :Integer from Standard;
279 aLs :out ListOfInteger from TColStd)
280 returns Integer from Standard;
283 aBid:Integer from Standard;
284 nF1 :Integer from Standard;
285 nF2 :Integer from Standard;
286 aLs :out ListOfPaveBlock from BOPTools)
287 returns Integer from Standard;
290 nE1 :Integer from Standard;
291 nF2 :Integer from Standard;
292 aLs :out ListOfPaveBlock from BOPTools)
293 returns Integer from Standard;
296 nE1 :Integer from Standard;
297 nE2 :Integer from Standard;
298 aLs :out ListOfPaveBlock from BOPTools)
299 returns Integer from Standard;
302 nE1 :Integer from Standard;
303 nF2 :Integer from Standard;
304 aLs :out ListOfPaveBlock from BOPTools)
305 returns Integer from Standard;
308 aBid:Integer from Standard;
309 nF1 :Integer from Standard;
310 nF2 :Integer from Standard;
311 aLs :out ListOfPaveBlock from BOPTools)
312 returns Integer from Standard;
315 nF2 :Integer from Standard;
316 aLs :out ListOfPaveBlock from BOPTools)
317 returns Integer from Standard;
320 nF2 :Integer from Standard;
321 aLs :out ListOfInteger from TColStd)
322 returns Integer from Standard;
324 CommonBlocksFace (me:out;
325 nF :Integer from Standard;
326 aLCB:out ListOfCommonBlock from NMTTools)
327 returns Integer from Standard;
330 nF : Integer from Standard;
331 aF : out Face from TopoDS);
334 RealPaveBlock(me:out;
335 aPB:PaveBlock from BOPTools)
336 returns PaveBlock from BOPTools;
337 ---C++: return const &
339 RealSplitsFace (me:out;
340 nF2 :Integer from Standard;
341 aLs :out ListOfPaveBlock from BOPTools);
343 HasRealSplitsInOnFace (me:out;
344 nF1 :Integer from Standard;
345 nF2 :Integer from Standard)
346 returns Boolean from Standard;
348 RealSplitsInFace(me:out;
349 aBid:Integer from Standard;
350 nF1 :Integer from Standard;
351 nF2 :Integer from Standard;
352 aLs :out ListOfPaveBlock from BOPTools);
354 RealSplitsInFace(me:out;
355 nE1 :Integer from Standard;
356 nF2 :Integer from Standard;
357 aLs :out ListOfPaveBlock from BOPTools);
359 RealSplitsOnEdge(me:out;
360 nE1 :Integer from Standard;
361 nE2 :Integer from Standard;
362 aLs :out ListOfPaveBlock from BOPTools);
364 RealSplitsOnFace(me:out;
365 nE1 :Integer from Standard;
366 nF2 :Integer from Standard;
367 aLs :out ListOfPaveBlock from BOPTools);
369 RealSplitsOnFace(me:out;
370 aBid:Integer from Standard;
371 nF1 :Integer from Standard;
372 nF2 :Integer from Standard;
373 aLs :out ListOfPaveBlock from BOPTools);
375 PrepareSetForFace(me:out;
376 nF1 :Integer from Standard;
377 nF2 :Integer from Standard;
378 aPSF:out PaveSet from BOPTools);
380 PutPaveOnCurve(me:out;
381 aPSF: PaveSet from BOPTools;
382 aTol: Real from Standard;
383 aBC : out Curve from BOPTools);
385 PutBoundPaveOnCurve (me:out;
386 aBC :out Curve from BOPTools;
387 aFF :out SSInterference from BOPTools);
389 PutBoundPaveOnCurve (me:out;
391 aT : Real from Standard;
392 aBC :out Curve from BOPTools;
393 aFF :out SSInterference from BOPTools);
397 aTpV: Real from Standard;
398 aPS : PaveSet from BOPTools;
399 aPV :out Pave from BOPTools)
400 returns Boolean from Standard;
402 CheckIntermediatePoint(me:out;
403 aPB : PaveBlock from BOPTools;
404 aPBR: PaveBlock from BOPTools;
405 aTol: Real from Standard)
406 returns Integer from Standard;
408 IsExistingPaveBlock (me:out;
409 aPB : PaveBlock from BOPTools;
410 aFF : SSInterference from BOPTools)
411 returns Boolean from Standard;
413 MakePCurves (me:out);
416 myIntrPool : PInterferencePool from BOPTools is protected;
417 myDS : PShapesDataStructure from NMTDS is protected;
418 myIsDone : Boolean from Standard is protected;
419 myNbSources : Integer from Standard is protected;
420 myNbEdges : Integer from Standard is protected;
421 myDSIt : IteratorOfCoupleOfShape from NMTTools is protected;
423 myPavePool : PavePool from BOPTools is protected;
424 myPavePoolNew : PavePool from BOPTools is protected;
425 myCommonBlockPool : CommonBlockPool from NMTTools is protected;
426 mySplitShapesPool : SplitShapesPool from BOPTools is protected;
428 myContext : Context from IntTools is protected;
429 mySectionAttribute : SSIntersectionAttribute from BOPTools is protected;