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