0023948: Wrong intersection between a surface of revolution and a plane.
[occt.git] / src / IntRes2d / IntRes2d_Domain.cdl
1 -- Created on: 1992-03-05
2 -- Created by: Laurent BUCHARD
3 -- Copyright (c) 1992-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 class Domain from IntRes2d 
18
19
20         ---Purpose: Definition of the domain of parameter on a 2d-curve.
21         --          Most of the time, a domain is defined by two extremities.
22         --          An extremity is made of :
23         --           - a point in 2d-space (Pnt2d from gp),
24         --           - a parameter on the curve,
25         --           - a tolerance in the 2d-space.
26         --          Sometimes, it can be made of 0 or 1 point ( for an infinite
27         --          or semi-infinite line for example).
28         --          
29         --          For Intersection algorithms, Ellipses and Circles 
30         --          Domains must be closed.
31         --          So, SetEquivalentParameters(.,.) method must be called
32         --          after initializing the first and the last bounds.
33
34
35
36 uses Pnt2d from gp
37
38 raises DomainError from Standard
39
40 is
41
42
43    Create
44    
45         ---Purpose: Creates an infinite Domain (HasFirstPoint = False
46         --          and HasLastPoint = False).
47            
48           returns Domain from IntRes2d;
49
50
51     Create(Pnt1: Pnt2d  from gp;
52            Par1: Real   from Standard;
53            Tol1: Real   from Standard;
54            Pnt2: Pnt2d  from gp;
55            Par2: Real   from Standard;
56            Tol2: Real   from Standard)
57            
58         ---Purpose: Creates a bounded Domain.
59            
60         returns Domain from IntRes2d;      
61
62
63     Create(Pnt:    Pnt2d   from gp;
64            Par:    Real    from Standard;
65            Tol:    Real    from Standard;
66            First:  Boolean from Standard)
67
68         ---Purpose: Creates a semi-infinite Domain. If First is set to 
69         --          True, the given point is the first point of the domain,
70         --          otherwise it is the last point.
71
72         returns Domain from IntRes2d;      
73           
74
75     SetValues(me:   in out;
76               Pnt1: Pnt2d  from gp;
77               Par1: Real   from Standard;
78               Tol1: Real   from Standard;
79               Pnt2: Pnt2d  from gp;
80               Par2: Real   from Standard;
81               Tol2: Real   from Standard)
82     
83         ---Purpose: Sets the values for a bounded domain.
84         
85         is static;
86
87
88     SetValues(me: in out)
89     
90         ---Purpose : Sets the values for an infinite domain.
91         
92          is static;       
93
94
95     SetValues(me: in out;
96               Pnt:   Pnt2d   from gp;
97               Par:   Real    from Standard;
98               Tol:   Real    from Standard;
99               First: Boolean from Standard)
100
101         ---Purpose: Sets the values for a semi-infinite domain.
102         
103         is static;
104
105
106     SetEquivalentParameters(me: in out; zero,period: Real from Standard)
107
108         ---Purpose: Defines a closed domain.
109
110         ---C++: inline
111             
112         is static;
113
114
115     HasFirstPoint(me)
116
117         ---Purpose: Returns True if the domain has a first point, i-e
118         --          a point defining the lowest admitted parameter on the
119         --          curve.
120
121         ---C++: inline  
122
123         returns Boolean from Standard
124         is static;
125
126
127     FirstParameter(me)
128     
129         ---Purpose: Returns the parameter of the first point of the domain
130         --          The exception DomainError is raised if HasFirstPoint
131         --          returns False.
132
133         ---C++: inline    
134
135         returns Real        from Standard
136         raises  DomainError from Standard
137         is static;
138         
139     
140     FirstPoint(me)
141
142         ---Purpose: Returns the first point of the domain.
143         --          The exception DomainError is raised if HasFirstPoint
144         --          returns False.
145
146         ---C++: inline
147         ---C++: return const &
148     
149         returns Pnt2d       from gp
150         raises  DomainError from Standard
151         is static;
152         
153     
154     FirstTolerance(me)
155
156         ---Purpose: Returns the tolerance of the first (left) bound.
157         --          The exception DomainError is raised if HasFirstPoint
158         --          returns False.
159
160         ---C++: inline
161
162         returns Real        from Standard
163         raises  DomainError from Standard
164         is static;
165     
166
167     HasLastPoint(me)
168
169         ---Purpose: Returns True if the domain has a last point, i-e
170         --          a point defining the highest admitted parameter on the
171         --          curve.
172
173         ---C++: inline    
174
175         returns Boolean from Standard
176         is static;
177
178
179     LastParameter(me)
180
181         ---Purpose: Returns the parameter of the last point of the domain.
182         --          The exception DomainError is raised if HasLastPoint
183         --          returns False.
184
185         ---C++: inline    
186     
187         returns Real        from Standard
188         raises  DomainError from Standard
189         is static;
190         
191     
192     LastPoint(me)
193     
194         ---Purpose: Returns the last point of the domain.
195         --          The exception DomainError is raised if HasLastPoint
196         --          returns False.
197
198         ---C++: inline
199         ---C++: return const &
200         
201         returns Pnt2d       from gp
202         raises  DomainError from Standard
203         is static;
204         
205     
206     LastTolerance(me)
207     
208         ---Purpose: Returns the tolerance of the last (right) bound.
209         --          The exception DomainError is raised if HasLastPoint
210         --          returns False.
211
212         ---C++: inline
213
214         returns Real        from Standard
215         raises  DomainError from Standard
216         is static;
217
218
219     IsClosed(me)
220     
221         ---Purpose: Returns True if the domain is closed.
222
223         ---C++: inline    
224
225         returns Boolean from Standard
226         is static;
227         
228     
229     EquivalentParameters(me; zero,zeroplusperiod:out Real from Standard)
230     
231         ---Purpose: Returns Equivalent parameters if the domain is closed.
232         --          Otherwise, the exception DomainError is raised.
233
234         ---C++: inline    
235
236         raises DomainError from Standard
237         is static;
238
239     
240 fields 
241
242     status      : Integer     from Standard; 
243     ----------------------------------------
244     -- Bit 0 :   HasFist
245     -- Bit 1 :   HasLast
246     -- Bit 2 :   Closed
247     ----------------------------------------
248
249     first_param : Real        from Standard;
250     last_param  : Real        from Standard;
251
252     first_tol   : Real        from Standard;
253     last_tol    : Real        from Standard;
254
255     first_point : Pnt2d       from gp;
256     last_point  : Pnt2d       from gp;
257     
258     periodfirst : Real        from Standard;
259     periodlast  : Real        from Standard;
260     
261 end Domain;
262
263
264
265
266