0021762: Integration of new Boolean Operation algorithm to OCCT.
[occt.git] / src / BOPAlgo / BOPAlgo_BuilderSolid.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 BuilderSolid from BOPAlgo 
23     inherits BuilderArea from BOPAlgo 
24  
25 ---Purpose: The algorithm to build solids from set of faces  
26
27 uses 
28     BaseAllocator from BOPCol
29
30 --raises
31
32 is 
33     Create  
34     returns BuilderSolid from BOPAlgo; 
35     ---C++: alias "Standard_EXPORT virtual ~BOPAlgo_BuilderSolid();" 
36      
37       
38     Create (theAllocator: BaseAllocator from BOPCol) 
39     returns BuilderSolid from BOPAlgo; 
40      
41     Perform(me:out)  
42     ---Purpose:  Performs the algorithm 
43     is redefined;  
44  
45     PerformShapesToAvoid(me:out) 
46     ---Purpose:  Collect the faces that 
47     --           a) are internal                 
48     --           b) are the same and have different orientation         
49     is redefined protected; 
50          
51     PerformLoops(me:out) 
52     ---Purpose: Build draft shells 
53     --          a)myLoops - draft shells that consist of  
54     --                       boundary faces 
55     --          b)myLoopsInternal - draft shells that contains 
56     --                               inner faces 
57     is redefined protected;  
58          
59     PerformAreas(me:out)   
60     ---Purpose: Build draft solids that contains boundary faces   
61     is redefined protected;  
62
63     PerformInternalShapes(me:out)   
64     ---Purpose: Build finalized solids with internal shells   
65     is redefined protected;   
66
67 --fields 
68   
69 end BuilderSolid;