0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BOPAlgo / BOPAlgo_BOP.cdl
1 -- Created by: Peter KURNEV
2 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
3 --
4 -- This file is part of Open CASCADE Technology software library.
5 --
6 -- This library is free software; you can redistribute it and/or modify it under
7 -- the terms of the GNU Lesser General Public License version 2.1 as published
8 -- by the Free Software Foundation, with special exception defined in the file
9 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10 -- distribution for complete text of the license and disclaimer of any warranty.
11 --
12 -- Alternatively, this file may be used under the terms of Open CASCADE
13 -- commercial license or contractual agreement. 
14
15  
16 class BOP from BOPAlgo  
17     inherits Builder from BOPAlgo
18  
19 ---Purpose: 
20
21 uses 
22     ShapeEnum from TopAbs,
23     Shape from TopoDS,   
24     ListOfShape from TopTools, 
25     --
26     BaseAllocator from BOPCol,  
27     ListOfShape from BOPCol, 
28     MapOfShape  from BOPCol, 
29     IndexedDataMapOfShapeListOfShape from BOPCol, 
30     --
31     Operation  from BOPAlgo, 
32     PaveFiller from BOPAlgo 
33
34 --raises
35
36 is
37     Create 
38     ---Purpose:  Empty constructor     
39         returns BOP from BOPAlgo;  
40     ---C++: alias "Standard_EXPORT virtual ~BOPAlgo_BOP();"  
41       
42     Create (theAllocator: BaseAllocator from BOPCol)
43         returns BOP from BOPAlgo; 
44          
45     Clear(me:out) 
46     is redefined; 
47     ---Purpose:  Clears internal fields and arguments   
48      
49     AddTool (me:out;  
50             theShape: Shape from TopoDS) 
51     ---Purpose:  Adds Tool argument of the operation                 
52         is virtual;  
53         
54     SetTools (me:out;
55             theShapes: ListOfShape from BOPCol)
56         is virtual; 
57  
58     SetOperation(me:out;  
59             theOperation: Operation from BOPAlgo); 
60          
61     Operation(me) 
62         returns Operation from BOPAlgo; 
63     -- 
64     Perform(me:out) 
65         is redefined;  
66     --
67     --  protected methods 
68     -- 
69     CheckData(me:out) 
70         is redefined protected; 
71
72     Prepare(me:out)  
73         is redefined protected; 
74     ---Purpose:  Provides preparing actions 
75
76     PerformInternal1(me:out; 
77             thePF:PaveFiller from BOPAlgo) 
78         is redefined protected;   
79     ---Purpose:  Performs calculations using prepared Filler 
80     --           object <thePF>                  
81      
82     BuildResult(me:out; 
83             theType: ShapeEnum from TopAbs) 
84         is redefined protected;     
85      
86     BuildShape(me:out) 
87         is protected; 
88  
89     BuildRC(me:out) 
90         is protected; 
91  
92     BuildSolid(me:out) 
93         is protected; 
94  
95     IsBoundSplits(me:out; 
96             theS:Shape from TopoDS; 
97             theMEF:out IndexedDataMapOfShapeListOfShape from BOPCol)  
98         returns Boolean from Standard
99         is protected;
100  
101 fields 
102     myOperation : Operation from BOPAlgo   is protected; 
103     myDims      : Integer from Standard[2] is protected;  
104     -- 
105     myRC        : Shape from TopoDS        is protected; 
106     myTools     : ListOfShape from BOPCol  is protected; 
107     myMapTools  : MapOfShape  from BOPCol  is protected;  
108     
109 end BOP;