0025354: Intersection operation
[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     SetOperation(me:out;  
55             theOperation: Operation from BOPAlgo); 
56          
57     Operation(me) 
58         returns Operation from BOPAlgo; 
59     -- 
60     Perform(me:out) 
61         is redefined;  
62     --
63     --  protected methods 
64     -- 
65     CheckData(me:out) 
66         is redefined protected; 
67
68     Prepare(me:out)  
69         is redefined protected; 
70     ---Purpose:  Provides preparing actions 
71
72     PerformInternal1(me:out; 
73             thePF:PaveFiller from BOPAlgo) 
74         is redefined protected;   
75     ---Purpose:  Performs calculations using prepared Filler 
76     --           object <thePF>                  
77      
78     BuildResult(me:out; 
79             theType: ShapeEnum from TopAbs) 
80         is redefined protected;     
81      
82     BuildShape(me:out) 
83         is protected; 
84  
85     BuildRC(me:out) 
86         is protected; 
87  
88     BuildSolid(me:out) 
89         is protected; 
90  
91     IsBoundSplits(me:out; 
92             theS:Shape from TopoDS; 
93             theMEF:out IndexedDataMapOfShapeListOfShape from BOPCol)  
94         returns Boolean from Standard
95         is protected;
96  
97 fields 
98     myOperation : Operation from BOPAlgo   is protected; 
99     myDims      : Integer from Standard[2] is protected;  
100     -- 
101     myRC        : Shape from TopoDS        is protected; 
102     myTools     : ListOfShape from BOPCol  is protected; 
103     myMapTools  : MapOfShape  from BOPCol  is protected;  
104     
105 end BOP;