0024428: Implementation of LGPL license
[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
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 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     ---  Flag 
149     --  
150     HasFlag(me) 
151         returns Boolean from Standard;   
152     ---C++: inline  
153         ---Purpose: 
154         --- Query
155         --- Returns true if there is flag.  
156      
157     HasFlag(me; 
158             theFlag:out Integer from Standard) 
159         returns Boolean from Standard;   
160     ---C++: inline  
161         ---Purpose: 
162         --- Query
163         --- Returns true if there is flag.  
164         --- Returns the the  flag theFlag  
165       
166     SetFlag(me:out; 
167             theI:Integer from Standard); 
168     ---C++: inline  
169         ---Purpose:      
170         --- Modifier   
171         --- Sets the flag 
172     Flag(me) 
173         returns Integer from Standard;       
174     ---C++: inline 
175         ---Purpose:  
176         --- Returns the flag  
177
178     Dump(me); 
179
180 fields
181     myShape    : Shape from TopoDS is protected; 
182     myType     : ShapeEnum from TopAbs is protected;         
183     myBox      : Box from Bnd is protected; 
184     mySubShapes: ListOfInteger from BOPCol is protected; 
185     myReference: Integer from Standard is protected; 
186     myFlag     : Integer from Standard is protected;  
187     
188 end ShapeInfo;