1 -- Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 -- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
4 -- This library is free software; you can redistribute it and/or
5 -- modify it under the terms of the GNU Lesser General Public
6 -- License as published by the Free Software Foundation; either
7 -- version 2.1 of the License.
9 -- This library is distributed in the hope that it will be useful
10 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
11 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 -- Lesser General Public License for more details.
14 -- You should have received a copy of the GNU Lesser General Public
15 -- License along with this library; if not, write to the Free Software
16 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 -- See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 -- File: NMTTools_PaveFiller.cdl
21 -- Created: Fri Dec 5 14:35:00 2003
22 -- Author: Peter KURNEV
26 class PaveFiller from NMTTools
31 DataMapOfIntegerInteger from TColStd,
33 ShapeEnum from TopAbs,
37 -- Modified to add new definitions Thu Sep 14 14:35:18 2006
38 -- Contribution of Samtech www.samcef.com BEGIN
40 ListOfShape from TopTools,
41 DataMapOfShapeShape from TopTools,
42 ListOfInteger from TColStd,
43 -- Contribution of Samtech www.samcef.com END
45 Context from IntTools,
46 ShrunkRange from IntTools,
48 IndexedDataMapOfShapeInteger from BooleanOperations,
50 --InterferencePool from BOPTools,
51 --PInterferencePool from BOPTools,
52 PavePool from BOPTools,
53 PaveBlock from BOPTools,
54 ListOfPaveBlock from BOPTools,
55 SplitShapesPool from BOPTools,
57 PaveSet from BOPTools,
59 SSInterference from BOPTools,
61 IDMapOfPaveBlockIMapOfPaveBlock from BOPTools,
62 IDMapOfPaveBlockIMapOfInteger from BOPTools,
63 SSIntersectionAttribute from BOPTools,
65 CommonBlockPool from NMTTools,
66 CommonBlock from NMTTools,
67 ListOfCommonBlock from NMTTools,
69 ShapesDataStructure from NMTDS,
71 -- Modified to add new definitions Thu Sep 14 14:35:18 2006
72 -- Contribution of Samtech www.samcef.com BEGIN
73 PShapesDataStructure from NMTDS,
75 IndexedDataMapOfIndexedMapOfInteger from NMTTools,
76 -- Contribution of Samtech www.samcef.com END
79 PInterfPool from NMTDS
85 returns PaveFiller from NMTTools;
86 ---C++: alias "Standard_EXPORT virtual ~NMTTools_PaveFiller();"
88 -- Create(aIP:InterferencePool from BOPTools)
89 -- returns PaveFiller from NMTTools;
91 -- Destroy (me: in out)
93 -- -C++: alias "Standard_EXPORT virtual ~NMTTools_PaveFiller(){Destroy();}"
95 -- Selectors/Modifiers
96 --SetInterferencePool(me:out;
97 -- aIP:PInterferencePool from BOPTools);
99 SetCompositeShape (me:out;
100 aS: Shape from TopoDS);
103 returns Shape from TopoDS;
104 ---C++: return const&
107 --returns PInterferencePool from BOPTools;
110 -- aDS:PShapesDataStructure from NMTDS);
113 returns PShapesDataStructure from NMTDS;
116 -- aIt:PIterator from NMTDS);
119 returns PIterator from NMTDS;
122 returns PInterfPool from NMTDS;
125 -- Modified to add new method Thu Sep 14 14:35:18 2006
126 -- Contribution of Samtech www.samcef.com BEGIN
128 is virtual protected;
129 -- Contribution of Samtech www.samcef.com END
132 is virtual protected;
138 is virtual protected;
141 is virtual protected;
144 is virtual protected;
147 is virtual protected;
150 is virtual protected;
153 is virtual protected;
155 MakeSplitEdges(me:out)
158 PreparePaveBlocks (me:out;
159 aType1: ShapeEnum from TopAbs;
160 aType2: ShapeEnum from TopAbs)
161 is virtual protected;
163 CorrectShrunkRanges(me:out;
164 aSide: Integer from Standard;
165 aPave: Pave from BOPTools;
166 aSR : out ShrunkRange from IntTools)
169 PreparePaveBlocks (me:out;
170 anE:Integer from Standard)
171 is virtual protected;
173 --PerformNewVertices (me:out)
176 PrepareEdges (me:out)
177 is virtual protected;
180 -- anInd1:in out Integer from Standard;
181 -- anInd2:in out Integer from Standard)
184 --ExpectedPoolLength(me)
185 -- returns Integer from Standard
190 returns Boolean from Standard;
193 returns Context from IntTools;
194 ---C++:return const &
196 ChangeContext(me:out)
197 returns Context from IntTools;
201 returns PavePool from BOPTools;
202 ---C++:return const &
204 ChangePavePool(me:out)
205 returns PavePool from BOPTools;
209 returns CommonBlockPool from NMTTools;
210 ---C++:return const &
212 ChangeCommonBlockPool(me:out)
213 returns CommonBlockPool from NMTTools;
217 returns SplitShapesPool from BOPTools;
218 ---C++:return const &
220 ChangeSplitShapesPool(me:out)
221 returns SplitShapesPool from BOPTools;
225 nV: Integer from Standard)
226 returns Integer from Standard;
228 IsSuccessorsComputed (me;
229 iF1:Integer from Standard;
230 iF2:Integer from Standard)
231 returns Boolean from Standard
234 IsBlocksCoinside (me;
235 aPB1:PaveBlock from BOPTools;
236 aPB2:PaveBlock from BOPTools)
237 returns Boolean from Standard
240 RefinePavePool(me:out)
243 CheckFacePaves(me:out;
244 aV : Vertex from TopoDS;
245 nF: Integer from Standard)
246 returns Integer from Standard
249 ReplaceCommonBlocks (me:out;
250 aLCB: ListOfCommonBlock from NMTTools)
253 RemoveCommonBlocks (me:out;
254 aLCB: ListOfCommonBlock from NMTTools)
257 SplitCommonBlocks (me:out;
258 aLCB: ListOfCommonBlock from NMTTools)
261 SplitCommonBlock (me:out;
262 aCB : CommonBlock from NMTTools;
263 aLCB: out ListOfCommonBlock from NMTTools)
266 EECommonBlocks(me:out;
267 aM:IDMapOfPaveBlockIMapOfPaveBlock from BOPTools)
270 EFCommonBlocks(me:out;
271 aMapCB:IDMapOfPaveBlockIMapOfInteger from BOPTools)
274 EENewVertices (me:out;
275 aM:IndexedDataMapOfShapeInteger from BooleanOperations)
278 EENewVertices (me:out;
279 aV:Vertex from TopoDS;
280 aM:IndexedDataMapOfShapeInteger from BooleanOperations)
283 EFNewVertices (me:out;
284 aM:IndexedDataMapOfShapeInteger from BooleanOperations)
287 EFNewVertices (me:out;
288 aV:Vertex from TopoDS;
289 aM:IndexedDataMapOfShapeInteger from BooleanOperations)
292 UpdateCommonBlocks(me:out)
295 UpdatePaveBlocks(me:out)
299 aPB:PaveBlock from BOPTools)
300 returns Integer from Standard
306 --------------------------------------------------------------
308 --- Some API FUNCTIONS
311 aBid:Integer from Standard;
312 nF1 :Integer from Standard;
313 nF2 :Integer from Standard;
314 aLs :out ListOfInteger from TColStd)
315 returns Integer from Standard;
318 nE1 :Integer from Standard;
319 nF2 :Integer from Standard;
320 aLs :out ListOfInteger from TColStd)
321 returns Integer from Standard;
324 nE1 :Integer from Standard;
325 nE2 :Integer from Standard;
326 aLs :out ListOfInteger from TColStd)
327 returns Integer from Standard;
330 nE1 :Integer from Standard;
331 nF2 :Integer from Standard;
332 aLs :out ListOfInteger from TColStd)
333 returns Integer from Standard;
336 aBid:Integer from Standard;
337 nF1 :Integer from Standard;
338 nF2 :Integer from Standard;
339 aLs :out ListOfInteger from TColStd)
340 returns Integer from Standard;
343 aBid:Integer from Standard;
344 nF1 :Integer from Standard;
345 nF2 :Integer from Standard;
346 aLs :out ListOfPaveBlock from BOPTools)
347 returns Integer from Standard;
350 nE1 :Integer from Standard;
351 nF2 :Integer from Standard;
352 aLs :out ListOfPaveBlock from BOPTools)
353 returns Integer from Standard;
356 nE1 :Integer from Standard;
357 nE2 :Integer from Standard;
358 aLs :out ListOfPaveBlock from BOPTools)
359 returns Integer from Standard;
362 nE1 :Integer from Standard;
363 nF2 :Integer from Standard;
364 aLs :out ListOfPaveBlock from BOPTools)
365 returns Integer from Standard;
368 aBid:Integer from Standard;
369 nF1 :Integer from Standard;
370 nF2 :Integer from Standard;
371 aLs :out ListOfPaveBlock from BOPTools)
372 returns Integer from Standard;
375 nF2 :Integer from Standard;
376 aLs :out ListOfPaveBlock from BOPTools)
377 returns Integer from Standard;
380 nF2 :Integer from Standard;
381 aLs :out ListOfInteger from TColStd)
382 returns Integer from Standard;
384 CommonBlocksFace (me:out;
385 nF :Integer from Standard;
386 aLCB:out ListOfCommonBlock from NMTTools)
387 returns Integer from Standard;
390 nF : Integer from Standard;
391 aF : out Face from TopoDS);
394 RealPaveBlock(me:out;
395 aPB:PaveBlock from BOPTools)
396 returns PaveBlock from BOPTools;
397 ---C++: return const &
399 -- Modified to add new method Thu Sep 14 14:35:18 2006
400 -- Contribution of Samtech www.samcef.com BEGIN
401 RealPaveBlock(me:out;
402 aPB:PaveBlock from BOPTools;
403 aLB:out ListOfInteger from TColStd)
404 returns PaveBlock from BOPTools;
405 ---C++: return const &
406 -- Contribution of Samtech www.samcef.com END
408 RealSplitsFace (me:out;
409 nF2 :Integer from Standard;
410 aLs :out ListOfPaveBlock from BOPTools);
412 HasRealSplitsInOnFace (me:out;
413 nF1 :Integer from Standard;
414 nF2 :Integer from Standard)
415 returns Boolean from Standard;
417 RealSplitsInFace(me:out;
418 aBid:Integer from Standard;
419 nF1 :Integer from Standard;
420 nF2 :Integer from Standard;
421 aLs :out ListOfPaveBlock from BOPTools);
423 RealSplitsInFace(me:out;
424 nE1 :Integer from Standard;
425 nF2 :Integer from Standard;
426 aLs :out ListOfPaveBlock from BOPTools);
428 RealSplitsOnEdge(me:out;
429 nE1 :Integer from Standard;
430 nE2 :Integer from Standard;
431 aLs :out ListOfPaveBlock from BOPTools);
433 RealSplitsOnFace(me:out;
434 nE1 :Integer from Standard;
435 nF2 :Integer from Standard;
436 aLs :out ListOfPaveBlock from BOPTools);
438 RealSplitsOnFace(me:out;
439 aBid:Integer from Standard;
440 nF1 :Integer from Standard;
441 nF2 :Integer from Standard;
442 aLs :out ListOfPaveBlock from BOPTools);
444 PrepareSetForFace(me:out;
445 nF1 :Integer from Standard;
446 nF2 :Integer from Standard;
447 aLPB: ListOfPaveBlock from BOPTools;
448 aPSF:out PaveSet from BOPTools);
450 PutPaveOnCurve(me:out;
451 aPSF: PaveSet from BOPTools;
452 aTol: Real from Standard;
453 aBC : out Curve from BOPTools);
455 PutBoundPaveOnCurve (me:out;
456 aBC :out Curve from BOPTools;
457 aFF :out SSInterference from BOPTools);
459 PutBoundPaveOnCurve (me:out;
461 aT : Real from Standard;
462 aBC :out Curve from BOPTools;
463 aFF :out SSInterference from BOPTools);
467 aTpV: Real from Standard;
468 aPS : PaveSet from BOPTools;
469 aPV :out Pave from BOPTools)
470 returns Boolean from Standard;
472 CheckIntermediatePoint(me:out;
473 aPB : PaveBlock from BOPTools;
474 aPBR: PaveBlock from BOPTools;
475 aTol: Real from Standard)
476 returns Integer from Standard;
479 IsExistingPaveBlock (me:out;
480 aPB : PaveBlock from BOPTools;
481 aLPB: ListOfPaveBlock from BOPTools;
482 aTol: Real from Standard)
483 returns Boolean from Standard;
485 MakePCurves (me:out);
487 -- Modified to add new methods Thu Sep 14 14:35:18 2006
488 -- Contribution of Samtech www.samcef.com BEGIN
492 MakeAloneVertices(me:out)
496 returns IndexedDataMapOfIndexedMapOfInteger from NMTTools;
497 ---C++: return const &
498 -- Contribution of Samtech www.samcef.com END
500 IsExistingPaveBlock (me:out;
501 aPB : PaveBlock from BOPTools;
502 aLPB: ListOfShape from TopTools;
503 aTol: Real from Standard)
504 returns Boolean from Standard;
507 CheckCoincidence (me:out;
508 aPB : PaveBlock from BOPTools;
509 aLPB: ListOfPaveBlock from BOPTools)
510 returns Boolean from Standard;
513 CheckIntermediatePoint(me:out;
514 aPB : PaveBlock from BOPTools;
515 aE : Edge from TopoDS;
516 aTol: Real from Standard)
517 returns Integer from Standard;
519 -- Modified to add new method Thu Sep 14 14:35:18 2006
520 -- Contribution of Samtech www.samcef.com BEGIN
522 nF1 :Integer from Standard;
523 nF2 :Integer from Standard;
524 aLNE :out ListOfInteger from TColStd;
525 aLSE :out ListOfShape from TopTools);
526 -- Contribution of Samtech www.samcef.com END
529 aC:Shape from TopoDS;
530 aDMVV: out DataMapOfShapeShape from TopTools);
533 --myIntrPool : PInterferencePool from BOPTools is protected;
534 myDS : PShapesDataStructure from NMTDS is protected;
535 myIsDone : Boolean from Standard is protected;
536 myNbSources : Integer from Standard is protected;
537 myNbEdges : Integer from Standard is protected;
539 myPavePool : PavePool from BOPTools is protected;
540 myPavePoolNew : PavePool from BOPTools is protected;
541 myCommonBlockPool : CommonBlockPool from NMTTools is protected;
542 mySplitShapesPool : SplitShapesPool from BOPTools is protected;
544 myContext : Context from IntTools is protected;
545 mySectionAttribute : SSIntersectionAttribute from BOPTools is protected;
546 myAloneVertices : IndexedDataMapOfIndexedMapOfInteger from NMTTools is protected;
547 --modified by NIZNHY-PKV Wed Oct 11 11:06:50 2006f
548 myVSD : DataMapOfIntegerInteger from TColStd is protected;
549 myDSIt : PIterator from NMTDS is protected;
550 myCompositeShape : Shape from TopoDS is protected;
551 myIP : PInterfPool from NMTDS is protected;
552 --modified by NIZNHY-PKV Wed Oct 11 11:06:55 2006t