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
24 ---Copyright: Matra Datavision 2003
27 class PaveFiller from NMTTools
32 ListOfInteger from TColStd,
34 ShapeEnum from TopAbs,
38 Context from IntTools,
39 ShrunkRange from IntTools,
41 IndexedDataMapOfShapeInteger from BooleanOperations,
43 InterferencePool from BOPTools,
44 PInterferencePool from BOPTools,
45 PavePool from BOPTools,
46 PaveBlock from BOPTools,
47 ListOfPaveBlock from BOPTools,
48 SplitShapesPool from BOPTools,
50 PaveSet from BOPTools,
52 SSInterference from BOPTools,
54 IDMapOfPaveBlockIMapOfPaveBlock from BOPTools,
55 IDMapOfPaveBlockIMapOfInteger from BOPTools,
56 SSIntersectionAttribute from BOPTools,
58 CommonBlockPool from NMTTools,
59 CommonBlock from NMTTools,
60 ListOfCommonBlock from NMTTools,
61 IteratorOfCoupleOfShape from NMTTools,
63 ShapesDataStructure from NMTDS,
64 PShapesDataStructure from NMTDS
70 returns PaveFiller from NMTTools;
72 Create(aIP:InterferencePool from BOPTools)
73 returns PaveFiller from NMTTools;
77 ---C++: alias "Standard_EXPORT virtual ~NMTTools_PaveFiller(){Destroy();}"
79 -- Selectors/Modifiers
80 SetInterferencePool(me:out;
81 aIP:InterferencePool from BOPTools);
84 returns PInterferencePool from BOPTools;
100 is virtual protected;
103 is virtual protected;
106 is virtual protected;
109 is virtual protected;
111 MakeSplitEdges(me:out)
114 PreparePaveBlocks (me:out;
115 aType1: ShapeEnum from TopAbs;
116 aType2: ShapeEnum from TopAbs)
117 is virtual protected;
119 CorrectShrunkRanges(me:out;
120 aSide: Integer from Standard;
121 aPave: Pave from BOPTools;
122 aSR : out ShrunkRange from IntTools)
125 PreparePaveBlocks (me:out;
126 anE:Integer from Standard)
127 is virtual protected;
129 PerformNewVertices (me:out)
130 is virtual protected;
132 PrepareEdges (me:out)
133 is virtual protected;
136 anInd1:in out Integer from Standard;
137 anInd2:in out Integer from Standard)
140 ExpectedPoolLength(me)
141 returns Integer from Standard
146 returns Boolean from Standard;
149 returns PShapesDataStructure from NMTDS;
152 returns Context from IntTools;
153 ---C++:return const &
155 ChangeContext(me:out)
156 returns Context from IntTools;
160 returns PavePool from BOPTools;
161 ---C++:return const &
163 ChangePavePool(me:out)
164 returns PavePool from BOPTools;
168 returns CommonBlockPool from NMTTools;
169 ---C++:return const &
171 ChangeCommonBlockPool(me:out)
172 returns CommonBlockPool from NMTTools;
176 returns SplitShapesPool from BOPTools;
177 ---C++:return const &
179 ChangeSplitShapesPool(me:out)
180 returns SplitShapesPool from BOPTools;
184 nV: Integer from Standard)
185 returns Integer from Standard;
187 IsSuccesstorsComputed (me;
188 iF1:Integer from Standard;
189 iF2:Integer from Standard)
190 returns Boolean from Standard
193 IsBlocksCoinside (me;
194 aPB1:PaveBlock from BOPTools;
195 aPB2:PaveBlock from BOPTools)
196 returns Boolean from Standard
199 RefinePavePool(me:out)
202 CheckFacePaves(me:out;
203 aV : Vertex from TopoDS;
204 nF: Integer from Standard)
205 returns Integer from Standard
208 ReplaceCommonBlocks (me:out;
209 aLCB: ListOfCommonBlock from NMTTools)
212 RemoveCommonBlocks (me:out;
213 aLCB: ListOfCommonBlock from NMTTools)
216 SplitCommonBlocks (me:out;
217 aLCB: ListOfCommonBlock from NMTTools)
220 SplitCommonBlock (me:out;
221 aCB : CommonBlock from NMTTools;
222 aLCB: out ListOfCommonBlock from NMTTools)
225 EECommonBlocks(me:out;
226 aM:IDMapOfPaveBlockIMapOfPaveBlock from BOPTools)
229 EFCommonBlocks(me:out;
230 aMapCB:IDMapOfPaveBlockIMapOfInteger from BOPTools)
233 EENewVertices (me:out;
234 aM:IndexedDataMapOfShapeInteger from BooleanOperations)
237 EENewVertices (me:out;
238 aV:Vertex from TopoDS;
239 aM:IndexedDataMapOfShapeInteger from BooleanOperations)
242 EFNewVertices (me:out;
243 aM:IndexedDataMapOfShapeInteger from BooleanOperations)
246 EFNewVertices (me:out;
247 aV:Vertex from TopoDS;
248 aM:IndexedDataMapOfShapeInteger from BooleanOperations)
251 UpdateCommonBlocks(me:out)
254 UpdatePaveBlocks(me:out)
258 aPB:PaveBlock from BOPTools)
259 returns Integer from Standard
265 --------------------------------------------------------------
267 --- Some API FUNCTIONS
270 aBid:Integer from Standard;
271 nF1 :Integer from Standard;
272 nF2 :Integer from Standard;
273 aLs :out ListOfInteger from TColStd)
274 returns Integer from Standard;
277 nE1 :Integer from Standard;
278 nF2 :Integer from Standard;
279 aLs :out ListOfInteger from TColStd)
280 returns Integer from Standard;
283 nE1 :Integer from Standard;
284 nE2 :Integer from Standard;
285 aLs :out ListOfInteger from TColStd)
286 returns Integer from Standard;
289 nE1 :Integer from Standard;
290 nF2 :Integer from Standard;
291 aLs :out ListOfInteger from TColStd)
292 returns Integer from Standard;
295 aBid:Integer from Standard;
296 nF1 :Integer from Standard;
297 nF2 :Integer from Standard;
298 aLs :out ListOfInteger from TColStd)
299 returns Integer from Standard;
302 aBid:Integer from Standard;
303 nF1 :Integer from Standard;
304 nF2 :Integer from Standard;
305 aLs :out ListOfPaveBlock from BOPTools)
306 returns Integer from Standard;
309 nE1 :Integer from Standard;
310 nF2 :Integer from Standard;
311 aLs :out ListOfPaveBlock from BOPTools)
312 returns Integer from Standard;
315 nE1 :Integer from Standard;
316 nE2 :Integer from Standard;
317 aLs :out ListOfPaveBlock from BOPTools)
318 returns Integer from Standard;
321 nE1 :Integer from Standard;
322 nF2 :Integer from Standard;
323 aLs :out ListOfPaveBlock from BOPTools)
324 returns Integer from Standard;
327 aBid:Integer from Standard;
328 nF1 :Integer from Standard;
329 nF2 :Integer from Standard;
330 aLs :out ListOfPaveBlock from BOPTools)
331 returns Integer from Standard;
334 nF2 :Integer from Standard;
335 aLs :out ListOfPaveBlock from BOPTools)
336 returns Integer from Standard;
339 nF2 :Integer from Standard;
340 aLs :out ListOfInteger from TColStd)
341 returns Integer from Standard;
343 CommonBlocksFace (me:out;
344 nF :Integer from Standard;
345 aLCB:out ListOfCommonBlock from NMTTools)
346 returns Integer from Standard;
349 nF : Integer from Standard;
350 aF : out Face from TopoDS);
353 RealPaveBlock(me:out;
354 aPB:PaveBlock from BOPTools)
355 returns PaveBlock from BOPTools;
356 ---C++: return const &
358 RealSplitsFace (me:out;
359 nF2 :Integer from Standard;
360 aLs :out ListOfPaveBlock from BOPTools);
362 HasRealSplitsInOnFace (me:out;
363 nF1 :Integer from Standard;
364 nF2 :Integer from Standard)
365 returns Boolean from Standard;
367 RealSplitsInFace(me:out;
368 aBid:Integer from Standard;
369 nF1 :Integer from Standard;
370 nF2 :Integer from Standard;
371 aLs :out ListOfPaveBlock from BOPTools);
373 RealSplitsInFace(me:out;
374 nE1 :Integer from Standard;
375 nF2 :Integer from Standard;
376 aLs :out ListOfPaveBlock from BOPTools);
378 RealSplitsOnEdge(me:out;
379 nE1 :Integer from Standard;
380 nE2 :Integer from Standard;
381 aLs :out ListOfPaveBlock from BOPTools);
383 RealSplitsOnFace(me:out;
384 nE1 :Integer from Standard;
385 nF2 :Integer from Standard;
386 aLs :out ListOfPaveBlock from BOPTools);
388 RealSplitsOnFace(me:out;
389 aBid:Integer from Standard;
390 nF1 :Integer from Standard;
391 nF2 :Integer from Standard;
392 aLs :out ListOfPaveBlock from BOPTools);
394 PrepareSetForFace(me:out;
395 nF1 :Integer from Standard;
396 nF2 :Integer from Standard;
397 --modified by NIZNHY-PKV Fri Apr 1 11:19:15 2005f
398 aLPB: ListOfPaveBlock from BOPTools;
399 --modified by NIZNHY-PKV Fri Apr 1 10:54:16 2005t
400 aPSF:out PaveSet from BOPTools);
402 PutPaveOnCurve(me:out;
403 aPSF: PaveSet from BOPTools;
404 aTol: Real from Standard;
405 aBC : out Curve from BOPTools);
407 PutBoundPaveOnCurve (me:out;
408 aBC :out Curve from BOPTools;
409 aFF :out SSInterference from BOPTools);
411 PutBoundPaveOnCurve (me:out;
413 aT : Real from Standard;
414 aBC :out Curve from BOPTools;
415 aFF :out SSInterference from BOPTools);
419 aTpV: Real from Standard;
420 aPS : PaveSet from BOPTools;
421 aPV :out Pave from BOPTools)
422 returns Boolean from Standard;
424 CheckIntermediatePoint(me:out;
425 aPB : PaveBlock from BOPTools;
426 aPBR: PaveBlock from BOPTools;
427 aTol: Real from Standard)
428 returns Integer from Standard;
430 -- IsExistingPaveBlock (me:out;
431 -- aPB : PaveBlock from BOPTools;
432 -- aFF : SSInterference from BOPTools)
433 -- returns Boolean from Standard;
435 --modified by NIZNHY-PKV Fri Apr 1 09:35:34 2005f
436 IsExistingPaveBlock (me:out;
437 aPB : PaveBlock from BOPTools;
438 aLPB: ListOfPaveBlock from BOPTools;
439 aTol: Real from Standard)
440 returns Boolean from Standard;
441 --modified by NIZNHY-PKV Fri Apr 1 09:35:39 2005t
443 MakePCurves (me:out);
446 myIntrPool : PInterferencePool from BOPTools is protected;
447 myDS : PShapesDataStructure from NMTDS is protected;
448 myIsDone : Boolean from Standard is protected;
449 myNbSources : Integer from Standard is protected;
450 myNbEdges : Integer from Standard is protected;
451 myDSIt : IteratorOfCoupleOfShape from NMTTools is protected;
453 myPavePool : PavePool from BOPTools is protected;
454 myPavePoolNew : PavePool from BOPTools is protected;
455 myCommonBlockPool : CommonBlockPool from NMTTools is protected;
456 mySplitShapesPool : SplitShapesPool from BOPTools is protected;
458 myContext : Context from IntTools is protected;
459 mySectionAttribute : SSIntersectionAttribute from BOPTools is protected;