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 --modified by NIZNHY-PKV Mon Oct 17 11:43:23 2011f
389 RealSplitsInFace(me:out;
390 nF1 :Integer from Standard;
391 aLPB :out ListOfPaveBlock from BOPTools);
392 --modified by NIZNHY-PKV Mon Oct 17 11:43:39 2011t
394 RealSplitsOnEdge(me:out;
395 nE1 :Integer from Standard;
396 nE2 :Integer from Standard;
397 aLs :out ListOfPaveBlock from BOPTools);
399 RealSplitsOnFace(me:out;
400 nE1 :Integer from Standard;
401 nF2 :Integer from Standard;
402 aLs :out ListOfPaveBlock from BOPTools);
404 RealSplitsOnFace(me:out;
405 aBid:Integer from Standard;
406 nF1 :Integer from Standard;
407 nF2 :Integer from Standard;
408 aLs :out ListOfPaveBlock from BOPTools);
410 PrepareSetForFace(me:out;
411 nF1 :Integer from Standard;
412 nF2 :Integer from Standard;
413 aLPB: ListOfPaveBlock from BOPTools;
414 aPSF:out PaveSet from BOPTools);
416 PutPaveOnCurve(me:out;
417 aPSF: PaveSet from BOPTools;
418 aTol: Real from Standard;
419 aBC : out Curve from BOPTools);
422 PutBoundPaveOnCurve (me:out;
423 aBC :out Curve from BOPTools;
424 aFF :out SSInterference from BOPTools);
426 PutBoundPaveOnCurve (me:out;
428 aT : Real from Standard;
429 aBC :out Curve from BOPTools;
430 aFF :out SSInterference from BOPTools);
434 aTpV: Real from Standard;
435 aPS : PaveSet from BOPTools;
436 aPV :out Pave from BOPTools)
437 returns Boolean from Standard;
439 CheckIntermediatePoint(me:out;
440 aPB : PaveBlock from BOPTools;
441 aPBR: PaveBlock from BOPTools;
442 aTol: Real from Standard)
443 returns Integer from Standard;
446 IsExistingPaveBlock (me:out;
447 aPB : PaveBlock from BOPTools;
448 aLPB: ListOfPaveBlock from BOPTools;
449 aTol: Real from Standard)
450 returns Boolean from Standard;
452 MakePCurves (me:out);
457 MakeAloneVertices(me:out)
461 returns IndexedDataMapOfIndexedMapOfInteger from NMTTools;
462 ---C++: return const &
464 IsExistingPaveBlock (me:out;
465 aPB : PaveBlock from BOPTools;
466 aLPB: ListOfShape from TopTools;
467 aTol: Real from Standard)
468 returns Boolean from Standard;
471 CheckCoincidence (me:out;
472 aPB : PaveBlock from BOPTools;
473 aLPB: ListOfPaveBlock from BOPTools)
474 returns Boolean from Standard;
477 CheckIntermediatePoint(me:out;
478 aPB : PaveBlock from BOPTools;
479 aE : Edge from TopoDS;
480 aTol: Real from Standard)
481 returns Integer from Standard;
484 nF1 :Integer from Standard;
485 nF2 :Integer from Standard;
486 aLNE :out ListOfInteger from TColStd;
487 aLSE :out ListOfShape from TopTools);
490 aC:Shape from TopoDS;
491 aDMVV: out DataMapOfShapeShape from TopTools);
493 TreatPaveBlocks(me:out;
494 theLCB:out ListOfCommonBlock from NMTTools);
496 ChangePavePoolNew(me:out)
497 returns PavePool from BOPTools;
500 CheckCoincidence (me:out;
501 aPB1 : PaveBlock from BOPTools;
502 aPB2 : PaveBlock from BOPTools)
503 returns Boolean from Standard;
505 FillFaceInfo (me:out)
508 CorrectTolR3D(me:out;
509 aFF : SSInterference from BOPTools;
510 aMVStick: MapOfInteger from TColStd;
511 aTolR3D: out Real from Standard)
514 PutClosingPaveOnCurve (me:out;
515 aBC :out Curve from BOPTools;
516 aFF :out SSInterference from BOPTools);
519 myDS : PShapesDataStructure from NMTDS is protected;
520 myIsDone : Boolean from Standard is protected;
521 myNbSources : Integer from Standard is protected;
522 myNbEdges : Integer from Standard is protected;
524 myPavePool : PavePool from BOPTools is protected;
525 myPavePoolNew : PavePool from BOPTools is protected;
526 myCommonBlockPool : CommonBlockPool from NMTTools is protected;
527 mySplitShapesPool : SplitShapesPool from BOPTools is protected;
529 myContext : Context from IntTools is protected;
530 mySectionAttribute : SSIntersectionAttribute from BOPTools is protected;
531 myAloneVertices : IndexedDataMapOfIndexedMapOfInteger from NMTTools is protected;
533 myVSD : DataMapOfIntegerInteger from TColStd is protected;
534 myDSIt : PIterator from NMTDS is protected;
535 myCompositeShape : Shape from TopoDS is protected;
536 myIP : PInterfPool from NMTDS is protected;
537 myFaceInfo : DataMapOfIntegerFaceInfo from NMTTools is protected;