1 -- Created by: Peter KURNEV
2 -- Copyright (c) 2010-2012 OPEN CASCADE SAS
3 -- Copyright (c) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE
4 -- Copyright (c) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT,
5 -- EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
7 -- The content of this file is subject to the Open CASCADE Technology Public
8 -- License Version 6.5 (the "License"). You may not use the content of this file
9 -- except in compliance with the License. Please obtain a copy of the License
10 -- at http://www.opencascade.org and read it completely before using this file.
12 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
13 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
15 -- The Original Code and all software distributed under the License is
16 -- distributed on an "AS IS" basis, without warranty of any kind, and the
17 -- Initial Developer hereby disclaims all such warranties, including without
18 -- limitation, any warranties of merchantability, fitness for a particular
19 -- purpose or non-infringement. Please see the License for the specific terms
20 -- and conditions governing the rights and limitations under the License.
23 class PaveFiller from BOPAlgo
24 inherits Algo from BOPAlgo
33 BaseAllocator from BOPCol,
34 ListOfShape from BOPCol,
35 MapOfInteger from BOPCol,
36 ListOfInteger from BOPCol,
37 DataMapOfShapeInteger from BOPCol,
38 IndexedDataMapOfShapeInteger from BOPCol,
39 DataMapOfIntegerListOfInteger from BOPCol,
40 DataMapOfShapeListOfShape from BOPCol,
41 IndexedDataMapOfShapeListOfShape from BOPCol,
42 DataMapOfIntegerReal from BOPCol,
46 SectionAttribute from BOPAlgo,
54 IndexedDataMapOfShapeCoupleOfPaveBlocks from BOPDS,
55 MapOfPaveBlock from BOPDS,
56 ListOfPaveBlock from BOPDS,
57 ListOfPave from BOPDS,
58 ListOfPntOn2S from IntSurf,
61 DataMapOfPaveBlockListOfPaveBlock from BOPDS,
62 VectorOfCurve from BOPDS
68 returns PaveFiller from BOPAlgo;
69 ---C++: alias "Standard_EXPORT virtual ~BOPAlgo_PaveFiller();"
71 Create (theAllocator: BaseAllocator from BOPCol)
72 returns PaveFiller from BOPAlgo;
75 returns DS from BOPDS;
80 returns PDS from BOPDS;
83 returns PIterator from BOPDS;
87 returns ListOfShape from BOPCol;
88 ---C++: return const &
89 ---C++: alias "Standard_EXPORT void SetArguments(const BOPCol_ListOfShape& theLS);"
92 returns Context from BOPInt;
94 SetSectionAttribute(me:out;
95 theSecAttr : SectionAttribute from BOPAlgo);
103 is virtual protected;
106 is virtual protected;
109 is virtual protected;
112 is virtual protected;
115 is virtual protected;
118 is virtual protected;
121 is virtual protected;
124 is virtual protected;
127 TreatVerticesEE(me:out)
130 MakeSplitEdges(me:out)
142 FillShrunkData(me:out;
143 thePB:out PaveBlock from BOPDS)
146 PerformVerticesEE(me:out;
147 theMVCPB:out IndexedDataMapOfShapeCoupleOfPaveBlocks from BOPDS;
148 theAllocator:out BaseAllocator from BOPCol)
149 returns Integer from Standard
152 PerformVerticesEF(me:out;
153 theMVCPB:out IndexedDataMapOfShapeCoupleOfPaveBlocks from BOPDS;
154 theAllocator:out BaseAllocator from BOPCol)
155 returns Integer from Standard
158 CheckFacePaves(me:out;
159 theVnew:Vertex from TopoDS;
160 theMIF:MapOfInteger from BOPCol)
161 returns Boolean from Standard
164 CheckFacePaves(myclass;
165 theN:Integer from Standard;
166 theMIFOn:MapOfInteger from BOPCol;
167 theMIFIn:MapOfInteger from BOPCol)
168 returns Boolean from Standard
173 theTol:Real from Standard;
174 theMVOn:MapOfInteger from BOPCol)
175 returns Boolean from Standard
178 PutPaveOnCurve(me:out;
179 theMVOn:MapOfInteger from BOPCol;
180 theTolR3D:Real from Standard;
181 theNC:out Curve from BOPDS;
182 nF1:Integer from Standard;
183 nF2:Integer from Standard;
184 theMVEF:MapOfInteger from BOPCol;
185 theMVTol:out DataMapOfIntegerReal from BOPCol)
188 ExtendedTolerance(me:out;
189 nV:Integer from Standard;
190 aMI:MapOfInteger from BOPCol;
191 aTolVExt:out Real from Standard)
192 returns Boolean from Standard
195 PutBoundPaveOnCurve(me:out;
196 theF1: Face from TopoDS;
197 theF2: Face from TopoDS;
198 theTolR3D:Real from Standard;
199 theNC:out Curve from BOPDS;
200 theMVOnIn:out MapOfInteger from BOPCol;
201 theMVB:out MapOfInteger from BOPCol)
204 IsExistingPaveBlock(me:out;
205 thePB:PaveBlock from BOPDS;
206 theNC:Curve from BOPDS;
207 theTolR3D:Real from Standard;
208 theMPB:MapOfPaveBlock from BOPDS;
209 thePBOut:out PaveBlock from BOPDS)
210 returns Boolean from Standard
213 IsExistingPaveBlock(me:out;
214 thePB:PaveBlock from BOPDS;
215 theNC:Curve from BOPDS;
216 theTolR3D:Real from Standard;
217 theLSE:ListOfInteger from BOPCol)
218 returns Boolean from Standard
222 theMSCPB:out IndexedDataMapOfShapeCoupleOfPaveBlocks from BOPDS;
223 theMVI:out DataMapOfShapeInteger from BOPCol;
224 theDMExEd:out DataMapOfPaveBlockListOfPaveBlock from BOPDS;
225 theAllocator:out BaseAllocator from BOPCol)
226 returns Integer from Standard
229 -- Treatment of degenerated edges
231 FindPaveBlocks(me:out;
232 theV:Integer from Standard;
233 theF:Integer from Standard;
234 theLPB:out ListOfPaveBlock from BOPDS)
238 theV:Integer from Standard;
239 theE:Integer from Standard;
240 theF:Integer from Standard;
241 theLPB: ListOfPaveBlock from BOPDS;
242 thePB: PaveBlock from BOPDS)
245 MakeSplitEdge(me:out;
246 theV:Integer from Standard;
247 theF:Integer from Standard)
251 nF1 : Integer from Standard;
252 nF2 : Integer from Standard;
253 aListOfPnts: out ListOfPntOn2S from IntSurf)
256 PutEFPavesOnCurve(me:out;
257 nF1 : Integer from Standard;
258 nF2 : Integer from Standard;
259 theNC : out Curve from BOPDS;
260 theMVEF : MapOfInteger from BOPCol;
261 theMVTol : out DataMapOfIntegerReal from BOPCol)
264 PutStickPavesOnCurve(me:out;
265 nF1 : Integer from Standard;
266 nF2 : Integer from Standard;
267 theNC : out Curve from BOPDS;
268 theMVStick : MapOfInteger from BOPCol;
269 theMVTol : out DataMapOfIntegerReal from BOPCol)
272 GetStickVertices(me:out;
273 nF1 : Integer from Standard;
274 nF2 : Integer from Standard;
275 theMVStick : out MapOfInteger from BOPCol;
276 theMVEFk : out MapOfInteger from BOPCol)
279 GetFullFaceMap(me:out;
280 nF : Integer from Standard;
281 theMI : out MapOfInteger from BOPCol)
285 RemoveUsedVertices(me:out;
286 theNC : out Curve from BOPDS;
287 theMV : out MapOfInteger from BOPCol)
290 PutPaveOnCurve(me:out;
291 nV : Integer from Standard;
292 theTolR3D : Real from Standard;
293 theNC : Curve from BOPDS;
294 thePB : out PaveBlock from BOPDS;
295 theMVTol : out DataMapOfIntegerReal from BOPCol)
298 ProcessExistingPaveBlocks(me:out;
299 theInt : Integer from Standard;
300 theMPBOnIn : MapOfPaveBlock from BOPDS;
301 theMSCPB : out IndexedDataMapOfShapeCoupleOfPaveBlocks from BOPDS;
302 theMVI : out DataMapOfShapeInteger from BOPCol;
303 theMVB : MapOfInteger from BOPCol;
304 theMPB : out MapOfPaveBlock from BOPDS)
307 UpdateExistingPaveBlocks(me:out;
308 thePB : PaveBlock from BOPDS;
309 theLPB : out ListOfPaveBlock from BOPDS;
310 nF1 : Integer from Standard;
311 nF2 : Integer from Standard)
314 TreatNewVertices(me:out;
315 theMVI : IndexedDataMapOfShapeInteger from BOPCol;
316 theImages : out IndexedDataMapOfShapeListOfShape from BOPCol)
319 PutClosingPaveOnCurve (me:out;
320 aNC :out Curve from BOPDS)
323 --- Put paves on the curve <aBC> in case when <aBC>
324 --- is closed 3D-curve
326 PreparePostTreatFF(me:out;
327 aInt : Integer from Standard;
328 aPB : PaveBlock from BOPDS;
329 aMSCPB : out IndexedDataMapOfShapeCoupleOfPaveBlocks from BOPDS;
330 aMVI : out DataMapOfShapeInteger from BOPCol;
331 aVC : out VectorOfCurve from BOPDS)
334 -- Keeps data for post treatment
336 RefineFaceInfoOn(me:out)
339 -- Refines the state On for the all faces having
342 UpdateFaceInfo(me:out;
343 theDME:out DataMapOfPaveBlockListOfPaveBlock from BOPDS)
346 -- Updates the information about faces
348 ForceInterfVE(me:out;
349 nV : Integer from Standard;
350 aPB : out PaveBlock from BOPDS;
351 aMPB : out MapOfPaveBlock from BOPDS)
354 -- Updates tolerance of vertex with index <nV>
355 -- to make it interfere with edge
357 ForceInterfVF(me:out;
358 nV:Integer from Standard;
359 nF:Integer from Standard)
360 returns Boolean from Standard
363 -- Updates tolerance of vertex with index <nV>
364 -- to make it interfere with face with index <nF>
367 nF1 : Integer from Standard;
368 nF2 : Integer from Standard)
369 returns Boolean from Standard
372 -- Checks if there are any common or intersecting sub shapes
373 -- between two planar faces.
376 myArguments : ListOfShape from BOPCol is protected;
377 myDS : PDS from BOPDS is protected;
378 myIterator : PIterator from BOPDS is protected;
379 myContext : Context from BOPInt is protected;
380 mySectionAttribute : SectionAttribute from BOPAlgo is protected;