0023024: Update headers of OCCT files
[occt.git] / src / BOP / BOP_Builder.cdl
1 -- Created on: 2001-03-29
2 -- Created by: Peter KURNEV
3 -- Copyright (c) 2001-2012 OPEN CASCADE SAS
4 --
5 -- The content of this file is subject to the Open CASCADE Technology Public
6 -- License Version 6.5 (the "License"). You may not use the content of this file
7 -- except in compliance with the License. Please obtain a copy of the License
8 -- at http://www.opencascade.org and read it completely before using this file.
9 --
10 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
12 --
13 -- The Original Code and all software distributed under the License is
14 -- distributed on an "AS IS" basis, without warranty of any kind, and the
15 -- Initial Developer hereby disclaims all such warranties, including without
16 -- limitation, any warranties of merchantability, fitness for a particular
17 -- purpose or non-infringement. Please see the License for the specific terms
18 -- and conditions governing the rights and limitations under the License.
19
20
21
22 deferred  class Builder from BOP 
23
24         ---Purpose:  
25         
26         --  The Root class to perform a Boolean Operations (BO)
27
28 uses 
29
30     Shape from TopoDS, 
31     Operation from BOP, 
32     HistoryCollector from BOP,
33     ShapeEnum from TopAbs, 
34     DSFiller  from BOPTools,
35     PDSFiller from BOPTools, 
36      
37     IndexedDataMapOfShapeListOfShape from TopTools, 
38     ListOfShape       from TopTools, 
39     IndexedMapOfShape from TopTools 
40
41 --raises
42
43 is  
44
45     Initialize 
46         returns Builder from BOP; 
47     ---Purpose:  
48     --- Empty constructor;
49     ---     
50     SetShapes       (me:out; 
51                      aS1: Shape from TopoDS;             
52                      aS2: Shape from TopoDS);  
53     ---Purpose:  
54     --  Set shapes (arguments) to perform BO        
55     ---
56     SetOperation    (me:out; 
57                      anOp:Operation from BOP); 
58     ---Purpose:  
59     --  Set type of the BO to perform                
60     -- 
61     SetManifoldFlag (me:out; 
62                      aFlag:Boolean from Standard);  
63     ---Purpose: Set the flag to allow the result  
64     --          be manifold or non-manifold (not used) 
65     --
66     Shape1  (me) 
67         returns Shape from TopoDS; 
68     ---C++:  return const &  
69     ---Purpose:   
70     --  Selector
71     --
72     Shape2  (me) 
73         returns Shape from TopoDS; 
74     ---C++:  return const &   
75     ---Purpose:   
76     --  Selector
77     --
78     Operation  (me) 
79         returns Operation from BOP; 
80     ---Purpose:   
81     --  Selector
82     -- 
83     ManifoldFlag(me) 
84         returns  Boolean from Standard; 
85     ---Purpose:   
86     --  Selector
87     --  
88     IsDone(me) 
89         returns  Boolean  from  Standard ;       
90     ---Purpose:   
91     --  Selector
92     -- 
93     ErrorStatus (me) 
94         returns  Integer  from  Standard;        
95     ---Purpose:   
96     --  Selector
97     --
98     Result(me) 
99         returns Shape from TopoDS ;
100     ---C++:  return const &  
101     ---Purpose:   
102     --  Returns the result of the BO      
103     -- 
104     Do    (me:out) 
105         is virtual;    
106     ---Purpose:   
107     --           Does the BO from the beggining to the end, 
108     --           i.e.  create new DataStructure, DSFiller,         
109     --           compute all  interferences, compute states, 
110     --           build result etc   
111     --
112     DoWithFiller  (me:out; 
113                    aDSF: DSFiller from BOPTools) 
114         is virtual;      
115     ---Purpose:   
116     --  Does the BO using existing Filler to the end        
117     --    
118     BuildResult (me:out) 
119         is  virtual;     
120     ---Purpose:   
121     --  Constructs the final result of the BO 
122     --   
123     Destroy (me: in out) 
124         is  virtual;     
125     ---C++: alias "Standard_EXPORT virtual ~BOP_Builder(){Destroy();}" 
126     ---Purpose:   
127     --  Destructor 
128     --     
129     SortTypes  (myclass; 
130                 aType1:out ShapeEnum from TopAbs;  
131                 aType2:out ShapeEnum from TopAbs);  
132     ---Purpose:   
133     --  Sort types of shapes as integers in increasing order        
134     -- 
135     Modified (me;  
136                 aS : Shape from TopoDS)  
137         returns ListOfShape from TopTools; 
138     ---C++:  return const & 
139     ---Purpose:   
140     -- Returns the list  of shapes modified from the shape aS      
141     --  
142     IsDeleted(me; 
143                 aS : Shape from TopoDS) 
144         returns  Boolean from Standard;  
145     ---Purpose:   
146     -- Returns TRUE if the result does  not contain the shape aS        
147     --   
148     FillModified(me:out) 
149         is  protected; 
150     ---Purpose:   
151     -- Fill the list  of shapes modified from the shape aS.    
152     -- For Internal usage 
153     --               
154     FillModified(me:out; 
155                 aS : Shape from TopoDS; 
156                 aL : ListOfShape from TopTools) 
157         is  protected;   
158     ---Purpose:   
159     -- Fill the list  of shapes modified from the shape aS. 
160     -- For Internal usage    
161     --  
162     FillModified(me:out; 
163                 aE : Shape from TopoDS; 
164                 aSp: Shape from TopoDS) 
165         is  protected;   
166     ---Purpose:   
167     -- Fill the list  of shapes modified from the shape aS    
168     -- For Internal usage   
169     -- 
170     SectionEdges (me)  
171         returns ListOfShape from TopTools; 
172     ---C++:  return const & 
173     ---Purpose:   
174     -- Returns the list of shapes that are parts of BO "Section" 
175     -- for  given arguments. 
176     -- For Internal usage       
177     --   
178
179     SetHistoryCollector(me: in out; theHistory: HistoryCollector from BOP)
180         is virtual;
181
182     GetHistoryCollector(me)
183         returns HistoryCollector from BOP;
184
185 fields 
186
187     myShape1       : Shape from TopoDS      
188         is protected;  
189     myShape2       : Shape from TopoDS      
190         is protected;   
191     myOperation    : Operation from BOP     
192         is protected; 
193     myManifoldFlag : Boolean from Standard  
194         is protected;        
195     myIsDone       : Boolean from Standard  
196         is protected;             
197     myErrorStatus  : Integer from Standard  
198         is protected;    
199     myResult       : Shape   from TopoDS    
200         is protected;
201     myDraw         : Integer   from Standard  
202         is protected; 
203     myDSFiller     : PDSFiller from BOPTools  
204         is  protected; 
205     myResultMap    : IndexedMapOfShape from TopTools   
206         is  protected; 
207     myModifiedMap  : IndexedDataMapOfShapeListOfShape from TopTools   
208         is  protected; 
209     myEmptyList    : ListOfShape from TopTools   
210         is  protected;    
211     mySectionEdges : ListOfShape from TopTools   
212         is  protected; 
213
214     myHistory: HistoryCollector from BOP
215         is protected;
216 end Builder;
217