1 -- Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
3 -- Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 -- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 -- This library is free software; you can redistribute it and/or
7 -- modify it under the terms of the GNU Lesser General Public
8 -- License as published by the Free Software Foundation; either
9 -- version 2.1 of the License.
11 -- This library is distributed in the hope that it will be useful,
12 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
13 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 -- Lesser General Public License for more details.
16 -- You should have received a copy of the GNU Lesser General Public
17 -- License along with this library; if not, write to the Free Software
18 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 -- See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 -- File: NMTTools_PaveFiller.cdl
23 -- Created: Fri Dec 5 14:35:00 2003
24 -- Author: Peter KURNEV
27 class PaveFiller from NMTTools
32 DataMapOfIntegerInteger from TColStd,
33 ListOfInteger from TColStd,
34 MapOfInteger from TColStd,
37 ShapeEnum from TopAbs,
42 ListOfShape from TopTools,
43 DataMapOfShapeShape from TopTools,
45 Context from IntTools,
46 ShrunkRange from IntTools,
48 IndexedDataMapOfShapeInteger from BooleanOperations,
50 PavePool from BOPTools,
51 PaveBlock from BOPTools,
52 ListOfPaveBlock from BOPTools,
53 SplitShapesPool from BOPTools,
55 PaveSet from BOPTools,
57 SSInterference from BOPTools,
58 IDMapOfPaveBlockIMapOfPaveBlock from BOPTools,
59 IDMapOfPaveBlockIMapOfInteger from BOPTools,
60 SSIntersectionAttribute from BOPTools,
62 ShapesDataStructure from NMTDS,
63 PShapesDataStructure from NMTDS,
66 PInterfPool from NMTDS,
68 CommonBlockPool from NMTTools,
69 CommonBlock from NMTTools,
70 ListOfCommonBlock from NMTTools,
71 DataMapOfIntegerFaceInfo from NMTTools,
72 IndexedDataMapOfIndexedMapOfInteger from NMTTools
78 returns PaveFiller from NMTTools;
79 ---C++: alias "Standard_EXPORT virtual ~NMTTools_PaveFiller();"
83 SetCompositeShape (me:out;
84 aS: Shape from TopoDS);
87 returns Shape from TopoDS;
92 returns PShapesDataStructure from NMTDS;
95 returns PIterator from NMTDS;
98 returns PInterfPool from NMTDS;
101 is virtual protected;
104 is virtual protected;
110 is virtual protected;
113 is virtual protected;
116 is virtual protected;
119 is virtual protected;
122 is virtual protected;
125 is virtual protected;
127 MakeSplitEdges(me:out)
130 PreparePaveBlocks (me:out;
131 aType1: ShapeEnum from TopAbs;
132 aType2: ShapeEnum from TopAbs)
133 is virtual protected;
135 CorrectShrunkRanges(me:out;
136 aSide: Integer from Standard;
137 aPave: Pave from BOPTools;
138 aSR : out ShrunkRange from IntTools)
141 PreparePaveBlocks (me:out;
142 anE:Integer from Standard)
143 is virtual protected;
146 PrepareEdges (me:out)
147 is virtual protected;
152 returns Boolean from Standard;
155 returns Context from IntTools;
156 ---C++:return const &
158 ChangeContext(me:out)
159 returns Context from IntTools;
163 returns PavePool from BOPTools;
164 ---C++:return const &
166 ChangePavePool(me:out)
167 returns PavePool from BOPTools;
171 returns CommonBlockPool from NMTTools;
172 ---C++:return const &
174 ChangeCommonBlockPool(me:out)
175 returns CommonBlockPool from NMTTools;
179 returns SplitShapesPool from BOPTools;
180 ---C++:return const &
182 ChangeSplitShapesPool(me:out)
183 returns SplitShapesPool from BOPTools;
187 nV: Integer from Standard)
188 returns Integer from Standard;
190 IsSuccessorsComputed (me;
191 iF1:Integer from Standard;
192 iF2:Integer from Standard)
193 returns Boolean from Standard
196 IsBlocksCoinside (me;
197 aPB1:PaveBlock from BOPTools;
198 aPB2:PaveBlock from BOPTools)
199 returns Boolean from Standard
202 RefinePavePool(me:out)
205 CheckFacePaves(me:out;
206 aV : Vertex from TopoDS;
207 nF: Integer from Standard)
208 returns Integer from Standard
211 ReplaceCommonBlocks (me:out;
212 aLCB: ListOfCommonBlock from NMTTools)
215 RemoveCommonBlocks (me:out;
216 aLCB: ListOfCommonBlock from NMTTools)
219 SplitCommonBlocks (me:out;
220 aLCB: ListOfCommonBlock from NMTTools)
223 SplitCommonBlock (me:out;
224 aCB : CommonBlock from NMTTools;
225 aLCB: out ListOfCommonBlock from NMTTools)
228 EECommonBlocks(me:out;
229 aM:IDMapOfPaveBlockIMapOfPaveBlock from BOPTools)
232 EFCommonBlocks(me:out;
233 aMapCB:IDMapOfPaveBlockIMapOfInteger from BOPTools)
236 EENewVertices (me:out;
237 aM:IndexedDataMapOfShapeInteger from BooleanOperations)
240 EENewVertices (me:out;
241 aV:Vertex from TopoDS;
242 aM:IndexedDataMapOfShapeInteger from BooleanOperations)
245 EFNewVertices (me:out;
246 aM:IndexedDataMapOfShapeInteger from BooleanOperations)
249 EFNewVertices (me:out;
250 aV:Vertex from TopoDS;
251 aM:IndexedDataMapOfShapeInteger from BooleanOperations)
254 UpdateCommonBlocks(me:out)
257 UpdatePaveBlocks(me:out)
261 aPB:PaveBlock from BOPTools)
262 returns Integer from Standard
268 --------------------------------------------------------------
270 --- Some API FUNCTIONS
273 aBid:Integer from Standard;
274 nF1 :Integer from Standard;
275 nF2 :Integer from Standard;
276 aLs :out ListOfInteger from TColStd)
277 returns Integer from Standard;
280 nE1 :Integer from Standard;
281 nF2 :Integer from Standard;
282 aLs :out ListOfInteger from TColStd)
283 returns Integer from Standard;
286 nE1 :Integer from Standard;
287 nE2 :Integer from Standard;
288 aLs :out ListOfInteger from TColStd)
289 returns Integer from Standard;
292 nE1 :Integer from Standard;
293 nF2 :Integer from Standard;
294 aLs :out ListOfInteger from TColStd)
295 returns Integer from Standard;
298 aBid:Integer from Standard;
299 nF1 :Integer from Standard;
300 nF2 :Integer from Standard;
301 aLs :out ListOfInteger from TColStd)
302 returns Integer from Standard;
305 aBid:Integer from Standard;
306 nF1 :Integer from Standard;
307 nF2 :Integer from Standard;
308 aLs :out ListOfPaveBlock from BOPTools)
309 returns Integer from Standard;
312 nE1 :Integer from Standard;
313 nF2 :Integer from Standard;
314 aLs :out ListOfPaveBlock from BOPTools)
315 returns Integer from Standard;
318 nE1 :Integer from Standard;
319 nE2 :Integer from Standard;
320 aLs :out ListOfPaveBlock from BOPTools)
321 returns Integer from Standard;
324 nE1 :Integer from Standard;
325 nF2 :Integer from Standard;
326 aLs :out ListOfPaveBlock from BOPTools)
327 returns Integer from Standard;
330 aBid:Integer from Standard;
331 nF1 :Integer from Standard;
332 nF2 :Integer from Standard;
333 aLs :out ListOfPaveBlock from BOPTools)
334 returns Integer from Standard;
337 nF2 :Integer from Standard;
338 aLs :out ListOfPaveBlock from BOPTools)
339 returns Integer from Standard;
342 nF2 :Integer from Standard;
343 aLs :out ListOfInteger from TColStd)
344 returns Integer from Standard;
346 CommonBlocksFace (me:out;
347 nF :Integer from Standard;
348 aLCB:out ListOfCommonBlock from NMTTools)
349 returns Integer from Standard;
352 nF : Integer from Standard;
353 aF : out Face from TopoDS);
356 RealPaveBlock(me:out;
357 aPB:PaveBlock from BOPTools)
358 returns PaveBlock from BOPTools;
359 ---C++: return const &
361 RealPaveBlock(me:out;
362 aPB:PaveBlock from BOPTools;
363 aLB:out ListOfInteger from TColStd;
364 aIsCommonBlock:out Integer from Standard)
365 returns PaveBlock from BOPTools;
366 ---C++: return const &
368 RealSplitsFace (me:out;
369 nF2 :Integer from Standard;
370 aLs :out ListOfPaveBlock from BOPTools);
372 HasRealSplitsInOnFace (me:out;
373 nF1 :Integer from Standard;
374 nF2 :Integer from Standard)
375 returns Boolean from Standard;
377 RealSplitsInFace(me:out;
378 aBid:Integer from Standard;
379 nF1 :Integer from Standard;
380 nF2 :Integer from Standard;
381 aLs :out ListOfPaveBlock from BOPTools);
383 RealSplitsInFace(me:out;
384 nE1 :Integer from Standard;
385 nF2 :Integer from Standard;
386 aLs :out ListOfPaveBlock from BOPTools);
388 RealSplitsOnEdge(me:out;
389 nE1 :Integer from Standard;
390 nE2 :Integer from Standard;
391 aLs :out ListOfPaveBlock from BOPTools);
393 RealSplitsOnFace(me:out;
394 nE1 :Integer from Standard;
395 nF2 :Integer from Standard;
396 aLs :out ListOfPaveBlock from BOPTools);
398 RealSplitsOnFace(me:out;
399 aBid:Integer from Standard;
400 nF1 :Integer from Standard;
401 nF2 :Integer from Standard;
402 aLs :out ListOfPaveBlock from BOPTools);
404 PrepareSetForFace(me:out;
405 nF1 :Integer from Standard;
406 nF2 :Integer from Standard;
407 aLPB: ListOfPaveBlock from BOPTools;
408 aPSF:out PaveSet from BOPTools);
410 PutPaveOnCurve(me:out;
411 aPSF: PaveSet from BOPTools;
412 aTol: Real from Standard;
413 aBC : out Curve from BOPTools);
417 PutBoundPaveOnCurve (me:out;
418 aBC :out Curve from BOPTools;
419 aFF :out SSInterference from BOPTools);
421 PutBoundPaveOnCurve (me:out;
423 aT : Real from Standard;
424 aBC :out Curve from BOPTools;
425 aFF :out SSInterference from BOPTools);
429 aTpV: Real from Standard;
430 aPS : PaveSet from BOPTools;
431 aPV :out Pave from BOPTools)
432 returns Boolean from Standard;
434 CheckIntermediatePoint(me:out;
435 aPB : PaveBlock from BOPTools;
436 aPBR: PaveBlock from BOPTools;
437 aTol: Real from Standard)
438 returns Integer from Standard;
441 IsExistingPaveBlock (me:out;
442 aPB : PaveBlock from BOPTools;
443 aLPB: ListOfPaveBlock from BOPTools;
444 aTol: Real from Standard)
445 returns Boolean from Standard;
447 MakePCurves (me:out);
452 MakeAloneVertices(me:out)
456 returns IndexedDataMapOfIndexedMapOfInteger from NMTTools;
457 ---C++: return const &
459 IsExistingPaveBlock (me:out;
460 aPB : PaveBlock from BOPTools;
461 aLPB: ListOfShape from TopTools;
462 aTol: Real from Standard)
463 returns Boolean from Standard;
466 CheckCoincidence (me:out;
467 aPB : PaveBlock from BOPTools;
468 aLPB: ListOfPaveBlock from BOPTools)
469 returns Boolean from Standard;
472 CheckIntermediatePoint(me:out;
473 aPB : PaveBlock from BOPTools;
474 aE : Edge from TopoDS;
475 aTol: Real from Standard)
476 returns Integer from Standard;
479 nF1 :Integer from Standard;
480 nF2 :Integer from Standard;
481 aLNE :out ListOfInteger from TColStd;
482 aLSE :out ListOfShape from TopTools);
485 aC:Shape from TopoDS;
486 aDMVV: out DataMapOfShapeShape from TopTools);
488 TreatPaveBlocks(me:out;
489 theLCB:out ListOfCommonBlock from NMTTools);
491 ChangePavePoolNew(me:out)
492 returns PavePool from BOPTools;
495 CheckCoincidence (me:out;
496 aPB1 : PaveBlock from BOPTools;
497 aPB2 : PaveBlock from BOPTools)
498 returns Boolean from Standard;
500 FillFaceInfo (me:out)
503 CorrectTolR3D(me:out;
504 aFF : SSInterference from BOPTools;
505 aMVStick: MapOfInteger from TColStd;
506 aTolR3D: out Real from Standard)
509 --modified by NIZNHY-PKV Thu Sep 15 08:15:08 2011f
510 PutClosingPaveOnCurve (me:out;
511 aBC :out Curve from BOPTools;
512 aFF :out SSInterference from BOPTools);
513 --modified by NIZNHY-PKV Thu Sep 15 08:15:12 2011t
516 myDS : PShapesDataStructure from NMTDS is protected;
517 myIsDone : Boolean from Standard is protected;
518 myNbSources : Integer from Standard is protected;
519 myNbEdges : Integer from Standard is protected;
521 myPavePool : PavePool from BOPTools is protected;
522 myPavePoolNew : PavePool from BOPTools is protected;
523 myCommonBlockPool : CommonBlockPool from NMTTools is protected;
524 mySplitShapesPool : SplitShapesPool from BOPTools is protected;
526 myContext : Context from IntTools is protected;
527 mySectionAttribute : SSIntersectionAttribute from BOPTools is protected;
528 myAloneVertices : IndexedDataMapOfIndexedMapOfInteger from NMTTools is protected;
530 myVSD : DataMapOfIntegerInteger from TColStd is protected;
531 myDSIt : PIterator from NMTDS is protected;
532 myCompositeShape : Shape from TopoDS is protected;
533 myIP : PInterfPool from NMTDS is protected;
534 --modified by NIZNHY-PKV Wed Feb 09 10:51:50 2011f
535 myFaceInfo : DataMapOfIntegerFaceInfo from NMTTools is protected;
536 --modified by NIZNHY-PKV Wed Feb 09 10:51:50 2011t