0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BOPDS / BOPDS_PassKey.cdl
1 -- Created by: Peter KURNEV
2 -- Copyright (c) 2010-2014 OPEN CASCADE SAS
3 -- Copyright (c) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE
4 -- Copyright (c) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT,
5 --                         EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 --
7 -- This file is part of Open CASCADE Technology software library.
8 --
9 -- This library is free software; you can redistribute it and/or modify it under
10 -- the terms of the GNU Lesser General Public License version 2.1 as published
11 -- by the Free Software Foundation, with special exception defined in the file
12 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
13 -- distribution for complete text of the license and disclaimer of any warranty.
14 --
15 -- Alternatively, this file may be used under the terms of Open CASCADE
16 -- commercial license or contractual agreement.
17
18 class PassKey from BOPDS 
19
20         ---Purpose: 
21         --  The class BOPDS_PassKey is to provide 
22         --  possibility to map objects that  
23         --  have a set of integer IDs as a base        
24
25 uses
26     Shape from TopoDS, 
27     ListOfInteger from BOPCol,
28     PInteger from BOPCol, 
29     BaseAllocator from BOPCol
30
31 --raises
32
33 is 
34     Create  
35         returns PassKey from BOPDS; 
36     ---C++: inline 
37     ---C++: alias "virtual ~BOPDS_PassKey();" 
38         ---Purpose:  
39         --- Empty contructor  
40         ---   
41          
42     Create (theAllocator: BaseAllocator from BOPCol)  
43         returns PassKey from BOPDS;  
44     ---C++: inline 
45         ---Purpose:  
46         ---  Contructor    
47         ---  theAllocator - the allocator to manage the memory     
48         ---  
49               
50     Create(Other:PassKey from BOPDS) 
51         returns PassKey from BOPDS; 
52     ---C++: inline    
53     ---C++: alias "BOPDS_PassKey& operator =(const BOPDS_PassKey& Other);" 
54         ---Purpose:  
55         ---  Copy Contructor 
56          
57     Clear(me:out); 
58     ---C++: inline  
59         ---Purpose:  
60         ---  Clear the contents 
61          
62     SetIds(me:out; 
63             theI1  :Integer from Standard); 
64     ---C++: inline      
65         ---Purpose: 
66         --- Modifier 
67         --- Sets one Id <theI1>   
68         
69     SetIds(me:out; 
70             theI1 :Integer from Standard; 
71             theI2 :Integer from Standard);  
72     ---C++: inline      
73         ---Purpose: 
74         --- Modifier 
75         --- Sets two Id <theI1>,<theI2>    
76         
77     SetIds(me:out; 
78             theI1 :Integer from Standard;    
79             theI2 :Integer from Standard;    
80             theI3 :Integer from Standard);  
81     ---C++: inline  
82         ---Purpose: 
83         --- Modifier 
84         --- Sets three Id <theI1>,<theI2>,<theI3>    
85     SetIds(me:out; 
86             theI1 :Integer from Standard;    
87             theI2 :Integer from Standard;    
88             theI3 :Integer from Standard;    
89             theI4 :Integer from Standard); 
90     ---C++: inline  
91         ---Purpose: 
92         --- Modifier 
93         --- Sets four Id <theI1>,<theI2>,<theI3>,<theI4>    
94     SetIds(me:out; 
95             theLI:ListOfInteger from BOPCol); 
96         ---Purpose: 
97         --- Modifier 
98         --- Sets the list of Id <theLI> 
99
100     NbIds(me) 
101         returns Integer  from Standard; 
102     ---C++: inline  
103         ---Purpose: 
104         --- Selector
105         --- Returns the number of Ids> 
106      
107     IsEqual(me; 
108             theOther:PassKey from BOPDS) 
109         returns Boolean from Standard;                       
110     ---C++: inline 
111         ---Purpose: 
112         --- Query
113         --- Returns true if the PassKey is equal to <the theOther> 
114
115     HashCode(me; 
116             theUpper : Integer  from Standard)  
117         returns Integer from Standard;           
118     ---C++: inline       
119         ---Purpose: 
120         --- Query
121         --- Returns hash  code 
122  
123     Id(me; 
124             theIndex: Integer  from Standard)  
125         returns  Integer from Standard;
126     ---C++: inline  
127         ---Purpose: 
128         --- Selector
129         --- Returns Id of index <theIndex>  
130      
131     Ids(me; 
132             theI1 :out Integer from Standard;    
133             theI2 :out Integer from Standard);
134     ---C++: inline 
135         ---Purpose:  
136         --- Selector
137         --- Returns the first two Ids <theI1>,<theI2> 
138         
139     Dump(me; 
140         aHex:Integer from Standard=0);
141      
142     Allocate(me:out; 
143             theSize:Integer from Standard) 
144         returns PInteger from BOPCol 
145         is protected; 
146     ---C++: inline
147         
148 fields  
149     myAllocator : BaseAllocator from BOPCol is protected;
150     myNbIds: Integer from Standard is protected;  
151     mySum  : Integer from Standard is protected;  
152     myPtr  : PInteger from BOPCol is protected;  
153      
154 end PassKey;