0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BOPDS / BOPDS_Curve.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 Curve from BOPDS 
16
17         ---Purpose:  
18         -- The class BOPDS_Curve is to store  
19         -- the information about intersection curve 
20
21 uses 
22     Box from Bnd,
23     Curve from IntTools, 
24     ListOfInteger from BOPCol, 
25     BaseAllocator from BOPCol, 
26     ListOfPaveBlock from BOPDS, 
27     PaveBlock from BOPDS 
28     
29 --raises
30
31 is 
32     Create 
33         returns Curve from BOPDS;  
34     ---C++: alias "virtual ~BOPDS_Curve();" 
35     ---C++: inline  
36         ---Purpose:  
37         --- Empty contructor  
38         --- 
39     Create (theAllocator: BaseAllocator from BOPCol) 
40         returns Curve from BOPDS;      
41     ---C++: inline   
42         ---Purpose:  
43         ---  Contructor    
44         ---  <theAllocator> - the allocator to manage the memory     
45         ---  
46         
47     SetCurve(me:out; 
48              theC:Curve from IntTools);  
49     ---C++: inline  
50         ---Purpose: 
51         --- Modifier   
52         --- Sets the curve <theC> 
53          
54     Curve(me)
55         returns Curve from IntTools; 
56     ---C++: return const &  
57     ---C++: inline 
58         ---Purpose: 
59         --- Selector   
60         --- Returns the curve  
61          
62     SetBox(me:out; 
63             theBox:Box from Bnd); 
64     ---C++: inline 
65         ---Purpose: 
66         --- Modifier   
67         --- Sets the bounding box <theBox> of the curve 
68          
69     Box(me) 
70         returns Box from Bnd; 
71     ---C++: return const &    
72     ---C++: inline 
73         ---Purpose: 
74         --- Selector   
75         --- Returns the bounding box of the curve 
76          
77     ChangeBox(me:out) 
78         returns Box from Bnd; 
79     ---C++: return  &    
80     ---C++: inline  
81         ---Purpose: 
82         --- Selector/Modifier  
83         --- Returns the bounding box of the curve 
84     SetPaveBlocks(me:out; 
85             theLPB:ListOfPaveBlock from BOPDS); 
86              
87     PaveBlocks (me) 
88         returns ListOfPaveBlock from BOPDS;  
89     ---C++: return const &   
90     ---C++: inline       
91         ---Purpose: 
92         --- Selector   
93         --- Returns the list of pave blocks  
94         --- of the curve 
95          
96     ChangePaveBlocks (me:out) 
97         returns ListOfPaveBlock from BOPDS; 
98     ---C++: return & 
99     ---C++: inline      
100         ---Purpose: 
101         --- Selector/Modifier   
102         --- Returns the list of pave blocks   
103         --- of the curve  
104         
105     InitPaveBlock1(me:out); 
106     ---C++: inline 
107         ---Purpose: 
108         --- Creates  initial pave block   
109         --- of the curve   
110         
111     ChangePaveBlock1(me:out) 
112         returns PaveBlock from BOPDS; 
113     ---C++: return &  
114     ---C++: inline  
115         ---Purpose:  
116         --- Selector/Modifier 
117         --- Returns  initial pave block   
118         --- of the curve   
119
120     TechnoVertices (me) 
121         returns ListOfInteger from BOPCol; 
122     ---C++: return const &  
123     ---C++: inline      
124         ---Purpose:  
125         --- Selector
126         --- Returns list of indices of technologic vertices   
127         --- of the curve    
128         
129     ChangeTechnoVertices (me:out) 
130         returns ListOfInteger from BOPCol; 
131     ---C++:  return & 
132     ---C++: inline  
133         ---Purpose:  
134         --- Selector/Modifier 
135         --- Returns list of indices of technologic vertices   
136         --- of the curve   
137          
138     HasEdge(me) 
139         returns Boolean from Standard;  
140     ---C++: inline 
141         ---Purpose:  
142         --- Query 
143         --- Returns true if at least one pave block of the curve  
144         --  has edge  
145 fields 
146     myAllocator      : BaseAllocator from BOPCol is protected;
147     myCurve          : Curve from IntTools is protected; 
148     myPaveBlocks     : ListOfPaveBlock from BOPDS is protected; 
149     myTechnoVertices : ListOfInteger from BOPCol is protected;  
150     myBox            : Box from Bnd is protected; 
151
152 end Curve;