0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BOPTools / BOPTools_ShapeSet.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 ShapeSet from BOPTools 
16
17         ---Purpose: Implementation of some formal   
18         --          opereations with a set of shapes        
19
20 uses 
21     Shape from TopoDS, 
22     Edge from TopoDS,
23     ShapeEnum from TopAbs,  
24     BaseAllocator from BOPCol, 
25     MapOfOrientedShape from BOPCol, 
26     ListOfShape from BOPCol 
27     
28 --raises
29
30 is 
31     Create 
32         returns ShapeSet from BOPTools;  
33     ---C++: alias "virtual ~BOPTools_ShapeSet();"  
34     ---C++: inline 
35      
36     Create (theAllocator: BaseAllocator from BOPCol)
37         returns ShapeSet from BOPTools; 
38     ---C++: inline   
39      
40     SetShape(me:out; 
41             theS:Shape from TopoDS); 
42     ---C++: inline  
43      
44     Shape(me) 
45          returns Shape from TopoDS; 
46     ---C++: return const & 
47     ---C++: inline  
48     
49     Add(me:out; 
50             theLS:ListOfShape from BOPCol);  
51             
52     Add(me:out; 
53             theShape:Shape from TopoDS); 
54     ---C++: inline 
55
56     Add(me:out; 
57             theShape:Shape from TopoDS; 
58             theType: ShapeEnum from TopAbs); 
59              
60     AddEdge(me:out; 
61             theEdge:Edge from TopoDS); 
62     ---C++: inline 
63
64     AddEdges(me:out; 
65             theLS:ListOfShape from BOPCol);  
66
67     AddEdges(me:out; 
68             theFace:Shape from TopoDS); 
69     ---C++: inline 
70      
71     Subtract(me:out; 
72             theSet:ShapeSet from BOPTools); 
73     ---C++: alias operator -=
74     ---C++: inline  
75     
76     Clear(me:out);
77     ---C++: inline 
78     
79     Get(me; 
80             theLS:out ListOfShape from BOPCol);     
81     ---C++: inline 
82     
83     Contains(me; 
84             theSet:ShapeSet from BOPTools) 
85         returns Boolean from Standard; 
86     ---C++: inline
87     
88      
89 fields  
90     myShape: Shape from TopoDS is protected;   
91     myMap  : MapOfOrientedShape from BOPCol is protected;   
92             
93 end ShapeSet;