0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BOPDS / BOPDS_ShapeInfo.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 class ShapeInfo from BOPDS 
16
17         ---Purpose: 
18         -- The class BOPDS_ShapeInfo is to store  
19         -- handy information about shape
20 uses 
21     Box   from Bnd, 
22     Shape from TopoDS, 
23     BaseAllocator from BOPCol, 
24     ListOfInteger from BOPCol, 
25     ShapeEnum from TopAbs 
26         
27 --raises
28
29 is
30     Create 
31         returns ShapeInfo from BOPDS;  
32     ---C++: alias "virtual ~BOPDS_ShapeInfo();" 
33     ---C++: inline 
34         ---Purpose:  
35         --- Empty contructor  
36         ---    
37     Create (theAllocator: BaseAllocator from BOPCol) 
38         returns ShapeInfo from BOPDS;
39     ---C++: inline 
40         ---Purpose:   
41         ---  Contructor    
42         ---  theAllocator - the allocator to manage the memory     
43         ---   
44     SetShape(me:out; 
45             theS: Shape from TopoDS); 
46     ---C++: inline  
47         ---Purpose: 
48         --- Modifier   
49         --- Sets the shape <theS>
50     Shape(me) 
51        returns Shape from TopoDS; 
52     ---C++: return const &       
53     ---C++: inline 
54         ---Purpose: 
55         --- Selector 
56         --- Returns the shape    
57      
58     SetShapeType(me:out; 
59             theType: ShapeEnum from TopAbs); 
60     ---C++: inline  
61         ---Purpose: 
62         --- Modifier   
63         --- Sets the type of shape theType 
64         
65     ShapeType(me) 
66         returns ShapeEnum from TopAbs; 
67     ---C++: inline  
68         ---Purpose: 
69         --- Selector 
70         --- Returns the type of shape   
71      
72     SetBox(me:out; 
73             theBox:Box from Bnd); 
74     ---C++: inline 
75         ---Purpose:      
76         --- Modifier   
77         --- Sets the boundung box of the shape theBox
78         
79         
80     Box(me) 
81         returns Box from Bnd; 
82     ---C++: return const &    
83     ---C++: inline 
84         ---Purpose: 
85         --- Selector 
86         --- Returns the boundung box of the shape  
87      
88     ChangeBox(me:out) 
89         returns Box from Bnd; 
90     ---C++: return  &    
91     ---C++: inline   
92         ---Purpose: 
93         --- Selector/Modifier 
94         --- Returns the boundung box of the shape 
95     
96     SubShapes(me) 
97         returns ListOfInteger from BOPCol;  
98     ---C++: return const & 
99     ---C++: inline 
100         ---Purpose: 
101         --- Selector 
102         --- Returns the list of indices of sub-shapes 
103
104     ChangeSubShapes(me:out) 
105         returns ListOfInteger from BOPCol;  
106     ---C++: return & 
107     ---C++: inline 
108         ---Purpose: 
109         --- Selector/ Modifier
110         --- Returns the list of indices of sub-shapes 
111   
112     HasSubShape(me; 
113             theI:Integer from Standard) 
114         returns Boolean from Standard;   
115     ---C++: inline  
116         ---Purpose: 
117         --- Query
118         --- Returns true if the shape has sub-shape with 
119         --- index theI 
120          
121     HasReference(me) 
122         returns Boolean from Standard;  
123     ---C++: inline  
124         --- Query
125         --- Returns true if the shape has a reference information 
126
127     SetReference(me:out; 
128            theI: Integer from Standard); 
129     ---C++: inline    
130         ---Purpose:      
131         --- Modifier   
132         --- Sets the index of a reference information 
133          
134     Reference(me) 
135         returns Integer from Standard;       
136     ---C++: inline   
137         ---Purpose:      
138         --- Selector   
139         --- Returns the index of a reference information 
140      
141     HasBRep(me) 
142         returns Boolean from Standard;   
143     ---C++: inline 
144         ---Purpose: 
145         --- Query
146         --- Returns true if the shape has boundary representation    
147      
148     IsInterfering(me) 
149         returns Boolean from Standard;   
150     ---C++: inline 
151         ---Purpose: 
152         --- Returns true if the shape can be participant of  
153         --- an interference       
154     -- 
155     ---  Flag 
156     --  
157     HasFlag(me) 
158         returns Boolean from Standard;   
159     ---C++: inline  
160         ---Purpose: 
161         --- Query
162         --- Returns true if there is flag.  
163      
164     HasFlag(me; 
165             theFlag:out Integer from Standard) 
166         returns Boolean from Standard;   
167     ---C++: inline  
168         ---Purpose: 
169         --- Query
170         --- Returns true if there is flag.  
171         --- Returns the the  flag theFlag  
172       
173     SetFlag(me:out; 
174             theI:Integer from Standard); 
175     ---C++: inline  
176         ---Purpose:      
177         --- Modifier   
178         --- Sets the flag 
179     Flag(me) 
180         returns Integer from Standard;       
181     ---C++: inline 
182         ---Purpose:  
183         --- Returns the flag  
184
185     Dump(me); 
186
187 fields
188     myShape    : Shape from TopoDS is protected; 
189     myType     : ShapeEnum from TopAbs is protected;         
190     myBox      : Box from Bnd is protected; 
191     mySubShapes: ListOfInteger from BOPCol is protected; 
192     myReference: Integer from Standard is protected; 
193     myFlag     : Integer from Standard is protected;  
194     
195 end ShapeInfo;