0021762: Integration of new Boolean Operation algorithm to OCCT.
[occt.git] / src / BOPDS / BOPDS_ShapeInfo.cdl
1 -- Created by: Peter KURNEV
2 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
3 --
4 -- The content of this file is subject to the Open CASCADE Technology Public
5 -- License Version 6.5 (the "License"). You may not use the content of this file
6 -- except in compliance with the License. Please obtain a copy of the License
7 -- at http://www.opencascade.org and read it completely before using this file.
8 --
9 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
10 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
11 --
12 -- The Original Code and all software distributed under the License is
13 -- distributed on an "AS IS" basis, without warranty of any kind, and the
14 -- Initial Developer hereby disclaims all such warranties, including without
15 -- limitation, any warranties of merchantability, fitness for a particular
16 -- purpose or non-infringement. Please see the License for the specific terms
17 -- and conditions governing the rights and limitations under the License.
18
19
20 class ShapeInfo from BOPDS 
21
22         ---Purpose: 
23         -- The class BOPDS_ShapeInfo is to store  
24         -- handy information about shape
25 uses 
26     Box   from Bnd, 
27     Shape from TopoDS, 
28     BaseAllocator from BOPCol, 
29     ListOfInteger from BOPCol, 
30     ShapeEnum from TopAbs 
31         
32 --raises
33
34 is
35     Create 
36         returns ShapeInfo from BOPDS;  
37     ---C++: alias "virtual ~BOPDS_ShapeInfo();" 
38     ---C++: inline 
39         ---Purpose:  
40         --- Empty contructor  
41         ---    
42     Create (theAllocator: BaseAllocator from BOPCol) 
43         returns ShapeInfo from BOPDS;
44     ---C++: inline 
45         ---Purpose:   
46         ---  Contructor    
47         ---  theAllocator - the allocator to manage the memory     
48         ---   
49     SetShape(me:out; 
50             theS: Shape from TopoDS); 
51     ---C++: inline  
52         ---Purpose: 
53         --- Modifier   
54         --- Sets the shape <theS>
55     Shape(me) 
56        returns Shape from TopoDS; 
57     ---C++: return const &       
58     ---C++: inline 
59         ---Purpose: 
60         --- Selector 
61         --- Returns the shape    
62      
63     SetShapeType(me:out; 
64             theType: ShapeEnum from TopAbs); 
65     ---C++: inline  
66         ---Purpose: 
67         --- Modifier   
68         --- Sets the type of shape theType 
69         
70     ShapeType(me) 
71         returns ShapeEnum from TopAbs; 
72     ---C++: inline  
73         ---Purpose: 
74         --- Selector 
75         --- Returns the type of shape   
76      
77     SetBox(me:out; 
78             theBox:Box from Bnd); 
79     ---C++: inline 
80         ---Purpose:      
81         --- Modifier   
82         --- Sets the boundung box of the shape theBox
83         
84         
85     Box(me) 
86         returns Box from Bnd; 
87     ---C++: return const &    
88     ---C++: inline 
89         ---Purpose: 
90         --- Selector 
91         --- Returns the boundung box of the shape  
92      
93     ChangeBox(me:out) 
94         returns Box from Bnd; 
95     ---C++: return  &    
96     ---C++: inline   
97         ---Purpose: 
98         --- Selector/Modifier 
99         --- Returns the boundung box of the shape 
100     
101     SubShapes(me) 
102         returns ListOfInteger from BOPCol;  
103     ---C++: return const & 
104     ---C++: inline 
105         ---Purpose: 
106         --- Selector 
107         --- Returns the list of indices of sub-shapes 
108
109     ChangeSubShapes(me:out) 
110         returns ListOfInteger from BOPCol;  
111     ---C++: return & 
112     ---C++: inline 
113         ---Purpose: 
114         --- Selector/ Modifier
115         --- Returns the list of indices of sub-shapes 
116   
117     HasSubShape(me; 
118             theI:Integer from Standard) 
119         returns Boolean from Standard;   
120     ---C++: inline  
121         ---Purpose: 
122         --- Query
123         --- Returns true if the shape has sub-shape with 
124         --- index theI 
125          
126     HasReference(me) 
127         returns Boolean from Standard;  
128     ---C++: inline  
129         --- Query
130         --- Returns true if the shape has a reference information 
131
132     SetReference(me:out; 
133            theI: Integer from Standard); 
134     ---C++: inline    
135         ---Purpose:      
136         --- Modifier   
137         --- Sets the index of a reference information 
138          
139     Reference(me) 
140         returns Integer from Standard;       
141     ---C++: inline   
142         ---Purpose:      
143         --- Selector   
144         --- Returns the index of a reference information 
145      
146     HasBRep(me) 
147         returns Boolean from Standard;   
148     ---C++: inline 
149         ---Purpose: 
150         --- Query
151         --- Returns true if the shape has boundary representation   
152     -- 
153     ---  Flag 
154     --  
155     HasFlag(me) 
156         returns Boolean from Standard;   
157     ---C++: inline  
158         ---Purpose: 
159         --- Query
160         --- Returns true if there is flag.  
161      
162     HasFlag(me; 
163             theFlag:out Integer from Standard) 
164         returns Boolean from Standard;   
165     ---C++: inline  
166         ---Purpose: 
167         --- Query
168         --- Returns true if there is flag.  
169         --- Returns the the  flag theFlag  
170       
171     SetFlag(me:out; 
172             theI:Integer from Standard); 
173     ---C++: inline  
174         ---Purpose:      
175         --- Modifier   
176         --- Sets the flag 
177     Flag(me) 
178         returns Integer from Standard;       
179     ---C++: inline 
180         ---Purpose:  
181         --- Returns the flag  
182
183     Dump(me); 
184
185 fields
186     myShape    : Shape from TopoDS is protected; 
187     myType     : ShapeEnum from TopAbs is protected;         
188     myBox      : Box from Bnd is protected; 
189     mySubShapes: ListOfInteger from BOPCol is protected; 
190     myReference: Integer from Standard is protected; 
191     myFlag     : Integer from Standard is protected;  
192     
193 end ShapeInfo;