0024157: Parallelization of assembly part of BO
[occt.git] / src / BOPAlgo / BOPAlgo_Builder.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
22class Builder from BOPAlgo
23 inherits BuilderShape from BOPAlgo
24
25---Purpose:
26
744511c8 27uses
28 Box from Bnd,
4e57c75e 29 ShapeEnum from TopAbs,
30 Shape from TopoDS,
31 ListOfShape from TopTools,
32 --
33 BaseAllocator from BOPCol,
34 ListOfInteger from BOPCol,
35 ListOfShape from BOPCol,
36 MapOfShape from BOPCol,
37 DataMapOfShapeShape from BOPCol,
38 DataMapOfShapeListOfShape from BOPCol,
39 Context from BOPInt,
40 PDS from BOPDS,
41 PaveFiller from BOPAlgo,
42 PPaveFiller from BOPAlgo
43
44
45--raises
46
47is
48
49 Create
50 returns Builder from BOPAlgo;
51 ---C++: alias "Standard_EXPORT virtual ~BOPAlgo_Builder();"
52
53 Create (theAllocator: BaseAllocator from BOPCol)
54 returns Builder from BOPAlgo;
55
56 Clear(me:out)
57 is virtual;
58
59 PPaveFiller(me:out)
60 returns PPaveFiller from BOPAlgo;
61
62 PDS(me:out)
63 returns PDS from BOPDS;
64
65 AddArgument (me:out;
66 theShape: Shape from TopoDS)
67 is virtual;
68
69 Arguments(me)
70 returns ListOfShape from BOPCol;
71 ---C++: return const &
72
73
74 Perform(me:out)
75 is redefined;
76
77 PerformWithFiller(me:out;
78 theFiller: PaveFiller from BOPAlgo)
79 is virtual;
80
81 --
82 -- History support
83 --
84 PrepareHistory (me:out)
85 ---Purpose: Prepare information for history support
86 is redefined protected;
87
88 Generated (me:out;
89 theS : Shape from TopoDS)
90 ---Purpose: Returns the list of shapes generated from the
91 -- shape theS.
92 returns ListOfShape from TopTools
93 is redefined;
94 ---C++: return const &
95
96 Modified (me:out;
97 theS : Shape from TopoDS)
98 ---Purpose: Returns the list of shapes modified from the shape
99 -- theS.
100 returns ListOfShape from TopTools
101 is redefined;
102 ---C++: return const &
103
104 IsDeleted (me:out;
105 theS : Shape from TopoDS)
106 ---Purpose: Returns true if the shape theS has been deleted.
107 returns Boolean from Standard
108 is redefined;
796a784d 109
110 SetRunParallel(me:out;
111 theFlag:Boolean from Standard);
112 ---Purpose: Set the flag of parallel processing
113 -- if <theFlag> is true the parallel processing is switched on
114 -- if <theFlag> is false the parallel processing is switched off
115 --
116 RunParallel(me)
117 returns Boolean from Standard;
118 ---Purpose: Returns the flag of parallel processing
4e57c75e 119 --
120 -- Debug
121 --
122 Images(me)
123 returns DataMapOfShapeListOfShape from BOPCol;
124 ---C++: return const &
796a784d 125
126 --
4e57c75e 127 --
128 -- protected methods
129 --
130 PerformInternal(me:out;
131 thePF: PaveFiller from BOPAlgo)
132 is virtual protected;
133
134 CheckData(me:out)
135 is redefined protected;
136
137 Prepare(me:out)
138 is virtual protected;
139
140 FillImagesVertices(me:out)
141 is protected;
142
143 FillImagesEdges(me:out)
144 is protected;
145
146
147 BuildResult(me:out;
148 theType: ShapeEnum from TopAbs)
149 is virtual protected;
150
151 IsInterferred(me;
152 theS:Shape from TopoDS)
153 returns Boolean from Standard;
154
155 FillImagesContainers(me:out;
156 theType:ShapeEnum from TopAbs)
157 is protected;
158
159 FillImagesCompounds(me:out)
160 is protected;
161
162 FillImagesContainer(me:out;
163 theS:Shape from TopoDS;
164 theType:ShapeEnum from TopAbs)
165 is protected;
166
167 FillImagesCompound(me:out;
168 theS:Shape from TopoDS;
169 theMF:out MapOfShape from BOPCol)
170 is protected;
171
172 FillImagesFaces (me:out)
173 is protected;
174
175 BuildSplitFaces (me:out)
176 is virtual protected;
177
178 FillSameDomainFaces (me:out)
179 is protected;
180
181 FillImagesFaces1 (me:out)
182 is protected;
183
184 FillInternalVertices(me:out;
185 theLF:out ListOfShape from BOPCol;
186 theLIV:out ListOfInteger from BOPCol)
187 is protected;
188 --
189 -- solids
190 --
191 FillImagesSolids(me:out)
192 is protected;
193
194 BuildDraftSolid(me:out;
195 theSolid:Shape from TopoDS;
196 theDraftSolid:out Shape from TopoDS;
197 theLIF:out ListOfShape from BOPCol)
198 is protected;
199
200 FillIn3DParts(me:out;
201 theInParts:out DataMapOfShapeListOfShape from BOPCol;
744511c8 202 theDraftSolids:out DataMapOfShapeShape from BOPCol;
203 theAllocator:BaseAllocator from BOPCol)
4e57c75e 204 is virtual protected;
744511c8 205
4e57c75e 206 BuildSplitSolids(me:out;
207 theInParts:out DataMapOfShapeListOfShape from BOPCol;
208 theDraftSolids:out DataMapOfShapeShape from BOPCol;
744511c8 209 theAllocator:BaseAllocator from BOPCol)
4e57c75e 210 is protected;
744511c8 211
212 BuildBndBox(me:out;
213 theIndex:Integer from Standard;
214 theBox: out Box from Bnd)
215 is protected;
216
4e57c75e 217 FillInternalShapes(me:out)
218 is protected;
219 --
220 -- misc
221 --
222 PostTreat (me:out)
223 is virtual protected;
224
225 Origins(me)
226 returns DataMapOfShapeShape from BOPCol;
227 ---C++: return const &
228 ---Purpose: Returns myOrigins.
229
230 ShapesSD(me)
231 returns DataMapOfShapeShape from BOPCol;
232 ---C++: return const &
233 ---Purpose: Returns myShapesSD.
234
235 Splits (me)
236 returns DataMapOfShapeListOfShape from BOPCol;
237 ---C++: return const &
238 ---Purpose: Returns mySplits.
239
240fields
241 myArguments : ListOfShape from BOPCol is protected;
242 myMapFence : MapOfShape from BOPCol is protected;
243 myPaveFiller : PPaveFiller from BOPAlgo is protected;
244 myDS : PDS from BOPDS is protected;
245 myContext : Context from BOPInt is protected;
246 myEntryPoint : Integer from Standard is protected;
247 --
248 myImages : DataMapOfShapeListOfShape from BOPCol is protected;
249 myShapesSD : DataMapOfShapeShape from BOPCol is protected;
250 --
251 mySplits : DataMapOfShapeListOfShape from BOPCol is protected;
252 myOrigins : DataMapOfShapeShape from BOPCol is protected;
796a784d 253 --
254 myRunParallel : Boolean from Standard is protected;
255 --
4e57c75e 256end Builder;
257