0024491: Partition algorithm history bug (faces).
[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
7 -- under the terms of the GNU Lesser General Public 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 class BOP from BOPAlgo  
16     inherits Builder from BOPAlgo
17 ---Purpose: 
18
19 uses
20     Shape from TopoDS,  
21     BaseAllocator from BOPCol,  
22     ListOfShape from BOPCol, 
23     ListOfShape from TopTools, 
24     MapOfShape  from BOPCol,  
25     IndexedDataMapOfShapeListOfShape from BOPCol,
26     Operation from BOPAlgo, 
27     PaveFiller from BOPAlgo 
28
29 --raises
30
31 is
32     Create 
33     ---Purpose:  Empty constructor     
34     returns BOP from BOPAlgo;  
35     ---C++: alias "Standard_EXPORT virtual ~BOPAlgo_BOP();"  
36       
37     Create (theAllocator: BaseAllocator from BOPCol)
38     returns BOP from BOPAlgo; 
39          
40     Clear(me:out) 
41     is redefined; 
42     ---Purpose:  Clears internal fields and arguments   
43      
44     AddArgument (me:out;  
45         theShape: Shape from TopoDS) 
46     ---Purpose:  Adds Object argument of the operation     
47      is redefined;
48          
49     AddTool (me:out;  
50         theShape: Shape from TopoDS) 
51     ---Purpose:  Adds Tool argument of the operation                 
52     is virtual; 
53          
54     Object(me) 
55     returns Shape from TopoDS; 
56     ---C++: return const &   
57
58     Tool(me) 
59     returns Shape from TopoDS; 
60     ---C++: return const &   
61
62     SetOperation(me:out;  
63         theOperation: Operation from BOPAlgo); 
64          
65     Operation(me) 
66     returns Operation from BOPAlgo;  
67     --
68     --  protected methods 
69     -- 
70     CheckData(me:out) 
71     is redefined protected; 
72
73     Prepare(me:out)  
74     is redefined protected; 
75     ---Purpose:  Provides preparing actions 
76
77     PerformInternal(me:out; 
78         thePF:PaveFiller from BOPAlgo) 
79     is redefined protected;   
80     ---Purpose:  Performs calculations using prepared Filler 
81     --           object theDSF                   
82       
83     BuildShape(me:out) 
84     is protected; 
85  
86     BuildRC(me:out) 
87     is protected; 
88  
89     BuildSolid(me:out) 
90     is protected; 
91          
92     BuildSection(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     Generated (me:out;  
102         theS : Shape from TopoDS)
103     ---Purpose: Returns the  list of shapes generated from the
104     --          shape theS. 
105     returns ListOfShape from TopTools
106     is redefined;
107     ---C++: return const & 
108
109 fields 
110     myNbArgs    : Integer from Standard    is protected;
111     myOperation : Operation from BOPAlgo   is protected; 
112     myArgs      : Shape from TopoDS[2]     is protected;  
113     myDims      : Integer from Standard[2] is protected;  
114     -- 
115     myRC        : Shape from TopoDS        is protected; 
116     myTools     : ListOfShape from BOPCol  is protected; 
117     myMapTools  : MapOfShape  from BOPCol  is protected;  
118     
119 end BOP;