0024495: Crash during performeng boolean operation on attached shape for Windows...
[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     MapOfShape  from BOPCol,  
24     IndexedDataMapOfShapeListOfShape from BOPCol,
25     Operation from BOPAlgo, 
26     PaveFiller from BOPAlgo 
27
28 --raises
29
30 is
31     Create 
32     ---Purpose:  Empty constructor     
33     returns BOP from BOPAlgo;  
34     ---C++: alias "Standard_EXPORT virtual ~BOPAlgo_BOP();"  
35       
36     Create (theAllocator: BaseAllocator from BOPCol)
37     returns BOP from BOPAlgo; 
38          
39     Clear(me:out) 
40     is redefined; 
41     ---Purpose:  Clears internal fields and arguments   
42      
43     AddArgument (me:out;  
44         theShape: Shape from TopoDS) 
45     ---Purpose:  Adds Object argument of the operation     
46      is redefined;
47          
48     AddTool (me:out;  
49         theShape: Shape from TopoDS) 
50     ---Purpose:  Adds Tool argument of the operation                 
51     is virtual; 
52          
53     Object(me) 
54     returns Shape from TopoDS; 
55     ---C++: return const &   
56
57     Tool(me) 
58     returns Shape from TopoDS; 
59     ---C++: return const &   
60
61     SetOperation(me:out;  
62         theOperation: Operation from BOPAlgo); 
63          
64     Operation(me) 
65     returns Operation from BOPAlgo;  
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     PerformInternal(me:out; 
77         thePF:PaveFiller from BOPAlgo) 
78     is redefined protected;   
79     ---Purpose:  Performs calculations using prepared Filler 
80     --           object theDSF                   
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     BuildSection(me:out) 
92     is protected;  
93  
94     IsBoundSplits(me:out; 
95         theS:Shape from TopoDS; 
96         theMEF:out IndexedDataMapOfShapeListOfShape from BOPCol)  
97     returns Boolean from Standard
98     is protected;
99
100 fields 
101     myNbArgs    : Integer from Standard    is protected;
102     myOperation : Operation from BOPAlgo   is protected; 
103     myArgs      : Shape from TopoDS[2]     is protected;  
104     myDims      : Integer from Standard[2] is protected;  
105     -- 
106     myRC        : Shape from TopoDS        is protected; 
107     myTools     : ListOfShape from BOPCol  is protected; 
108     myMapTools  : MapOfShape  from BOPCol  is protected;  
109     
110 end BOP;