0024247: Wrong result obtained by General Fuse algorithm
[occt.git] / src / BOPAlgo / BOPAlgo_PaveFiller.cdl
CommitLineData
4e57c75e 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
6--
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.
11--
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.
14--
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.
21
22
23class PaveFiller from BOPAlgo
24 inherits Algo from BOPAlgo
25 ---Purpose:
26
27uses
28 Pnt from gp,
29 Vertex from TopoDS,
30 Face from TopoDS,
31 Edge from TopoDS,
32
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,
b4109929 41 IndexedDataMapOfShapeListOfShape from BOPCol,
42 DataMapOfIntegerReal from BOPCol,
4e57c75e 43 --
44 Context from BOPInt,
45 --
46 SectionAttribute from BOPAlgo,
47
48 DS from BOPDS,
49 PDS from BOPDS,
50 Iterator from BOPDS,
51 PIterator from BOPDS,
52 PaveBlock from BOPDS,
53 Curve from BOPDS,
54 IndexedDataMapOfShapeCoupleOfPaveBlocks from BOPDS,
55 MapOfPaveBlock from BOPDS,
56 ListOfPaveBlock from BOPDS,
57 ListOfPave from BOPDS,
58 ListOfPntOn2S from IntSurf,
59 Curve from IntTools,
60
61 DataMapOfPaveBlockListOfPaveBlock from BOPDS,
62 VectorOfCurve from BOPDS
63
64--raises
65
66is
67 Create
68 returns PaveFiller from BOPAlgo;
69 ---C++: alias "Standard_EXPORT virtual ~BOPAlgo_PaveFiller();"
70
71 Create (theAllocator: BaseAllocator from BOPCol)
72 returns PaveFiller from BOPAlgo;
73
74 DS(me:out)
75 returns DS from BOPDS;
76 ---C++:return const &
77
78
79 PDS(me:out)
80 returns PDS from BOPDS;
81
82 Iterator(me:out)
83 returns PIterator from BOPDS;
84 ---C++:return const &
85
86 Arguments(me)
87 returns ListOfShape from BOPCol;
88 ---C++: return const &
89 ---C++: alias "Standard_EXPORT void SetArguments(const BOPCol_ListOfShape& theLS);"
90
91 Context(me:out)
92 returns Context from BOPInt;
93
94 SetSectionAttribute(me:out;
95 theSecAttr : SectionAttribute from BOPAlgo);
96
97 Perform(me:out)
98 is redefined;
99 --
100 -- protected methods
101 --
102 Clear(me:out)
103 is virtual protected;
104
105 Init(me:out)
106 is virtual protected;
107
108 PerformVV(me:out)
109 is virtual protected;
110
111 PerformVE(me:out)
112 is virtual protected;
113
114 PerformVF(me:out)
115 is virtual protected;
116
117 PerformEE(me:out)
118 is virtual protected;
119
120 PerformEF(me:out)
121 is virtual protected;
122
123 PerformFF(me:out)
124 is virtual protected;
125
126
127 TreatVerticesEE(me:out)
128 is protected;
129
130 MakeSplitEdges(me:out)
131 is protected;
132
133 MakeBlocks(me:out)
134 is protected;
135
136 MakePCurves(me:out)
137 is protected;
138
139 ProcessDE(me:out)
140 is protected;
141
142 FillShrunkData(me:out;
143 thePB:out PaveBlock from BOPDS)
144 is protected;
145
146 PerformVerticesEE(me:out;
147 theMVCPB:out IndexedDataMapOfShapeCoupleOfPaveBlocks from BOPDS;
148 theAllocator:out BaseAllocator from BOPCol)
149 returns Integer from Standard
150 is protected;
151
152 PerformVerticesEF(me:out;
153 theMVCPB:out IndexedDataMapOfShapeCoupleOfPaveBlocks from BOPDS;
154 theAllocator:out BaseAllocator from BOPCol)
155 returns Integer from Standard
156 is protected;
157
158 CheckFacePaves(me:out;
159 theVnew:Vertex from TopoDS;
160 theMIF:MapOfInteger from BOPCol)
161 returns Boolean from Standard
162 is protected;
163
164 CheckFacePaves(myclass;
165 theN:Integer from Standard;
166 theMIFOn:MapOfInteger from BOPCol;
167 theMIFIn:MapOfInteger from BOPCol)
168 returns Boolean from Standard
169 is protected;
170
171 IsExistingVertex(me;
172 theP:Pnt from gp;
173 theTol:Real from Standard;
174 theMVOn:MapOfInteger from BOPCol)
175 returns Boolean from Standard
176 is protected;
177
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;
b4109929 184 theMVEF:MapOfInteger from BOPCol;
185 theMVTol:out DataMapOfIntegerReal from BOPCol)
4e57c75e 186 is protected;
187
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
193 is protected;
194
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)
202 is protected;
203
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
211 is protected;
212
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
219 is protected;
220
221 PostTreatFF(me:out;
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
227 is protected;
228 --
229 -- Treatment of degenerated edges
230 --
231 FindPaveBlocks(me:out;
232 theV:Integer from Standard;
233 theF:Integer from Standard;
234 theLPB:out ListOfPaveBlock from BOPDS)
235 is protected;
236
237 FillPaves(me:out;
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)
243 is protected;
244
245 MakeSplitEdge(me:out;
246 theV:Integer from Standard;
247 theF:Integer from Standard)
248 is protected;
249
250 GetEFPnts(me:out;
251 nF1 : Integer from Standard;
252 nF2 : Integer from Standard;
253 aListOfPnts: out ListOfPntOn2S from IntSurf)
254 is protected;
255
256 PutEFPavesOnCurve(me:out;
257 nF1 : Integer from Standard;
258 nF2 : Integer from Standard;
259 theNC : out Curve from BOPDS;
b4109929 260 theMVEF : MapOfInteger from BOPCol;
261 theMVTol : out DataMapOfIntegerReal from BOPCol)
4e57c75e 262 is protected;
263
264 PutStickPavesOnCurve(me:out;
265 nF1 : Integer from Standard;
266 nF2 : Integer from Standard;
267 theNC : out Curve from BOPDS;
b4109929 268 theMVStick : MapOfInteger from BOPCol;
269 theMVTol : out DataMapOfIntegerReal from BOPCol)
4e57c75e 270 is protected;
271
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)
277 is protected;
278
279 GetFullFaceMap(me:out;
280 nF : Integer from Standard;
281 theMI : out MapOfInteger from BOPCol)
282 is protected;
283
284
285 RemoveUsedVertices(me:out;
286 theNC : out Curve from BOPDS;
287 theMV : out MapOfInteger from BOPCol)
288 is protected;
289
290 PutPaveOnCurve(me:out;
291 nV : Integer from Standard;
292 theTolR3D : Real from Standard;
293 theNC : Curve from BOPDS;
b4109929 294 thePB : out PaveBlock from BOPDS;
295 theMVTol : out DataMapOfIntegerReal from BOPCol)
4e57c75e 296 is protected;
297
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)
305 is protected;
306
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)
312 is protected;
313
314 TreatNewVertices(me:out;
315 theMVI : IndexedDataMapOfShapeInteger from BOPCol;
316 theImages : out IndexedDataMapOfShapeListOfShape from BOPCol)
317 is protected;
318
319 PutClosingPaveOnCurve (me:out;
320 aNC :out Curve from BOPDS)
321 is protected;
322 ---Purpose:
323 --- Put paves on the curve <aBC> in case when <aBC>
324 --- is closed 3D-curve
325
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)
332 is protected;
333 ---Purpose:
b4109929 334 -- Keeps data for post treatment
4e57c75e 335
336 RefineFaceInfoOn(me:out)
337 is protected;
338 ---Purpose:
b4109929 339 -- Refines the state On for the all faces having
340 -- state information
4e57c75e 341
342 UpdateFaceInfo(me:out;
343 theDME:out DataMapOfPaveBlockListOfPaveBlock from BOPDS)
344 is protected;
345 ---Purpose:
b4109929 346 -- Updates the information about faces
347
348 ForceInterfVE(me:out;
349 nV : Integer from Standard;
350 aPB : out PaveBlock from BOPDS;
351 aMPB : out MapOfPaveBlock from BOPDS)
352 is protected;
353 ---Purpose:
354 -- Updates tolerance of vertex with index <nV>
355 -- to make it interfere with edge
356
357 ForceInterfVF(me:out;
358 nV:Integer from Standard;
359 nF:Integer from Standard)
360 returns Boolean from Standard
361 is protected;
362 ---Purpose:
363 -- Updates tolerance of vertex with index <nV>
af4e6dab 364 -- to make it interfere with face with index <nF>
365
366 CheckPlanes(me;
b4109929 367 nF1 : Integer from Standard;
368 nF2 : Integer from Standard)
369 returns Boolean from Standard
370 is protected;
371 ---Purpose:
372 -- Checks if there are any common or intersecting sub shapes
373 -- between two planar faces.
4e57c75e 374
4e57c75e 375fields
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;
381
382end PaveFiller;