Adding of testing cases from subgroups 937 940 and 941 of CHL group
[occt.git] / src / BOP / BOP_SolidSolid.cdl
1 -- Created on: 2001-05-25
2 -- Created by: Peter KURNEV
3 -- Copyright (c) 2001-2012 OPEN CASCADE SAS
4 --
5 -- The content of this file is subject to the Open CASCADE Technology Public
6 -- License Version 6.5 (the "License"). You may not use the content of this file
7 -- except in compliance with the License. Please obtain a copy of the License
8 -- at http://www.opencascade.org and read it completely before using this file.
9 --
10 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
12 --
13 -- The Original Code and all software distributed under the License is
14 -- distributed on an "AS IS" basis, without warranty of any kind, and the
15 -- Initial Developer hereby disclaims all such warranties, including without
16 -- limitation, any warranties of merchantability, fitness for a particular
17 -- purpose or non-infringement. Please see the License for the specific terms
18 -- and conditions governing the rights and limitations under the License.
19
20
21
22 class SolidSolid from BOP inherits ShellSolid from BOP
23
24         ---Purpose:  
25         ---        Performs Boolean Operations  (BO)  
26         ---        Common,Cut,Fuse for solids as      
27         ---        arguments 
28         ---
29 uses 
30     DSFiller     from BOPTools, 
31      
32     WireEdgeSet  from BOP,   
33     ShellFaceSet from BOP, 
34
35     HistoryCollector from BOP,
36     IndexedDataMapOfIntegerIndexedMapOfInteger from BOPTColStd,
37     DataMapOfShapeInteger from TopTools,
38     Shape        from TopoDS,
39     Solid        from TopoDS,
40     State        from TopAbs,
41     
42     ListOfShape  from TopTools
43     
44     
45 is 
46     Create   
47         returns SolidSolid from BOP; 
48         ---Purpose:  
49         --- Empty constructor;
50         ---
51     DoWithFiller      (me:out; 
52              aDSF: DSFiller from BOPTools) 
53         is  redefined; 
54         ---Purpose:  
55         --- See base classes, please 
56         ---
57     Destroy (me: in out) 
58         is redefined; 
59         ---C++: alias "Standard_EXPORT virtual ~BOP_SolidSolid(){Destroy();}"  
60         ---Purpose:   
61         --- Destructor 
62         ---
63     DoNewFaces(me: out)    
64         is redefined;  
65         ---Purpose:  
66         --- See base classes, please 
67         ---
68     BuildResult (me: out)
69         is  redefined; 
70         ---Purpose:  
71         --- See base classes, please 
72         ---
73
74     SetHistoryCollector(me: in out; theHistory: HistoryCollector from BOP)
75         is redefined virtual;
76
77     --- 
78     ---              P  r  i  v  a  t  e    b  l  o  c  k   
79     ---      
80     PrepareSFS  (me:out; 
81             aFaces: ListOfShape from TopTools; 
82             aSFS  : out ShellFaceSet from BOP) 
83         is  private;         
84
85     PrepareFaceSplits(me: out)
86         is private;
87
88     PropagateFaceStateByEdges(me: in out; theFace:           Shape from TopoDS;
89                                           theMapOfEdgeIndex: DataMapOfShapeInteger from TopTools;
90                                           theState:          out State from TopAbs)
91         returns Boolean from Standard
92         is private;
93         
94     ComputeStateByInsidePoints(me: in out; theFaceIndex: Integer from Standard;
95                                            theBaseFaceIndex: Integer from Standard;
96                                            theFaceRank:  Integer from Standard;
97                                            theFFMap:     IndexedDataMapOfIntegerIndexedMapOfInteger from BOPTColStd;
98                                            theState:     out State from TopAbs)
99         returns Boolean from Standard
100         is private;
101
102     TakeOnSplit(me; theFaceIndex: Integer from Standard;
103                     theBaseFaceIndex: Integer from Standard)
104         returns Boolean from Standard
105         is private;
106      
107     PrepareReferences(me:out) 
108         is protected; 
109     
110 fields  
111     myRefObject: Solid from TopoDS is protected;   
112     myRefTool  : Solid from TopoDS is protected;     
113     
114 end SolidSolid;