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