b311480e |
1 | -- Created on: 1992-03-05 |
2 | -- Created by: Laurent BUCHARD |
3 | -- Copyright (c) 1992-1999 Matra Datavision |
973c2be1 |
4 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
5 | -- |
973c2be1 |
6 | -- This file is part of Open CASCADE Technology software library. |
b311480e |
7 | -- |
d5f74e42 |
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 |
973c2be1 |
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. |
b311480e |
13 | -- |
973c2be1 |
14 | -- Alternatively, this file may be used under the terms of Open CASCADE |
15 | -- commercial license or contractual agreement. |
7fd59977 |
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 | |