b311480e |
1 | -- Created on: 1992-04-06 |
2 | -- Created by: Jacques GOUSSARD |
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 | -- |
973c2be1 |
8 | -- This library is free software; you can redistribute it and / or modify it |
9 | -- under the terms of the GNU Lesser General Public 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. |
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 RLine from IntPatch |
18 | |
19 | |
20 | inherits Line from IntPatch |
21 | |
22 | ---Purpose: Implementation of an intersection line described by a |
23 | -- restriction line on one of the surfaces. |
24 | |
25 | |
26 | uses |
27 | HCurve2d from Adaptor2d, |
28 | Point from IntPatch, |
29 | SequenceOfPoint from IntPatch, |
30 | TypeTrans from IntSurf, |
31 | Situation from IntSurf, |
32 | PntOn2S from IntSurf, |
33 | LineOn2S from IntSurf |
34 | |
35 | raises DomainError from Standard, |
36 | OutOfRange from Standard |
37 | is |
38 | |
39 | |
40 | Create(Tang: Boolean from Standard; |
41 | Trans1,Trans2: TypeTrans from IntSurf) |
42 | |
43 | ---Purpose: Creates a restriction as an intersection line |
44 | -- when the transitions are In or Out. |
45 | |
46 | returns mutable RLine from IntPatch; |
47 | |
48 | |
49 | Create(Tang: Boolean from Standard; |
50 | Situ1,Situ2: Situation from IntSurf) |
51 | |
52 | ---Purpose: Creates a restriction as an intersection line |
53 | -- when the transitions are Touch. |
54 | |
55 | returns mutable RLine from IntPatch; |
56 | |
57 | |
58 | Create(Tang: Boolean from Standard) |
59 | |
60 | ---Purpose: Creates a restriction as an intersection line |
61 | -- when the transitions are Undecided. |
62 | |
63 | returns mutable RLine from IntPatch; |
64 | |
65 | |
66 | AddVertex(me: mutable; Pnt: Point from IntPatch) |
67 | |
68 | ---Purpose: To add a vertex in the list. |
69 | |
70 | ---C++: inline |
71 | |
72 | is static; |
73 | |
74 | |
75 | Replace(me: mutable; Index: Integer from Standard; Pnt: Point from IntPatch) |
76 | |
77 | ---Purpose: Replaces the element of range Index in the list |
78 | -- of points. |
79 | |
80 | ---C++: inline |
81 | |
82 | raises OutOfRange from Standard |
83 | --- The exception OutOfRange is raised when Index <= 0 |
84 | -- or Index > NbVertex. |
85 | |
86 | is static; |
87 | |
88 | |
89 | SetFirstPoint(me: mutable; IndFirst: Integer from Standard) is static; |
90 | |
91 | ---C++: inline |
92 | |
93 | |
94 | SetLastPoint(me: mutable; IndLast: Integer from Standard) is static; |
95 | |
96 | ---C++: inline |
97 | |
98 | |
99 | Add(me: mutable; L: LineOn2S from IntSurf) |
100 | |
101 | ---C++: inline |
102 | |
103 | is static; |
104 | |
105 | |
106 | IsArcOnS1(me) |
107 | |
108 | ---Purpose: Returns True if the intersection is on the domain of the |
109 | -- first patch. |
110 | -- Returns False if the intersection is on the domain of |
111 | -- the second patch. |
112 | |
113 | returns Boolean from Standard |
114 | ---C++: inline |
115 | |
116 | is static; |
117 | |
118 | IsArcOnS2(me) |
119 | |
120 | ---Purpose: Returns True if the intersection is on the domain of the |
121 | -- first patch. |
122 | -- Returns False if the intersection is on the domain of |
123 | -- the second patch. |
124 | |
125 | returns Boolean from Standard |
126 | ---C++: inline |
127 | |
128 | is static; |
129 | |
130 | SetArcOnS1(me: mutable; A: HCurve2d from Adaptor2d) |
131 | |
132 | is static; |
133 | |
134 | SetArcOnS2(me: mutable; A: HCurve2d from Adaptor2d) |
135 | |
136 | is static; |
137 | |
138 | SetParamOnS1(me: mutable; p1,p2: Real from Standard) |
139 | --- first and last parameters on the restriction of the first |
140 | -- patch |
141 | is static; |
142 | |
143 | SetParamOnS2(me: mutable; p1,p2: out Real from Standard) |
144 | --- first and last parameters on the restriction of the first |
145 | -- patch |
146 | is static; |
147 | |
148 | ArcOnS1(me) |
149 | |
150 | ---Purpose: Returns the concerned arc. |
151 | |
152 | returns HCurve2d from Adaptor2d |
153 | ---C++: inline |
154 | ---C++: return const& |
155 | |
156 | raises DomainError from Standard |
157 | |
158 | is static; |
159 | |
160 | ArcOnS2(me) |
161 | |
162 | ---Purpose: Returns the concerned arc. |
163 | |
164 | returns HCurve2d from Adaptor2d |
165 | ---C++: inline |
166 | ---C++: return const& |
167 | |
168 | raises DomainError from Standard |
169 | |
170 | is static; |
171 | |
172 | ParamOnS1(me; p1,p2: out Real from Standard) |
173 | --- first and last parameters on the restriction of the first |
174 | -- patch |
175 | is static; |
176 | |
177 | ParamOnS2(me; p1,p2: out Real from Standard) |
178 | --- first and last parameters on the restriction of the first |
179 | -- patch |
180 | is static; |
181 | |
182 | HasFirstPoint(me) |
183 | |
184 | ---Purpose: Returns True if the line has a known First point. |
185 | -- This point is given by the method FirstPoint(). |
186 | |
187 | returns Boolean from Standard |
188 | ---C++: inline |
189 | |
190 | is static; |
191 | |
192 | |
193 | HasLastPoint(me) |
194 | |
195 | ---Purpose: Returns True if the line has a known Last point. |
196 | -- This point is given by the method LastPoint(). |
197 | |
198 | returns Boolean from Standard |
199 | ---C++: inline |
200 | |
201 | is static; |
202 | |
203 | |
204 | FirstPoint(me) |
205 | |
206 | ---Purpose: Returns the IntPoint corresponding to the FirstPoint. |
207 | -- An exception is raised when HasFirstPoint returns False. |
208 | |
209 | returns Point from IntPatch |
210 | ---C++: inline |
211 | ---C++: return const& |
212 | |
213 | raises DomainError from Standard |
214 | |
215 | is static; |
216 | |
217 | |
218 | LastPoint(me) |
219 | |
220 | ---Purpose: Returns the IntPoint corresponding to the LastPoint. |
221 | -- An exception is raised when HasLastPoint returns False. |
222 | |
223 | returns Point from IntPatch |
224 | ---C++: inline |
225 | ---C++: return const& |
226 | |
227 | raises DomainError from Standard |
228 | |
229 | is static; |
230 | |
231 | |
232 | NbVertex(me) |
233 | |
234 | returns Integer from Standard |
235 | ---C++: inline |
236 | |
237 | is static; |
238 | |
239 | |
240 | Vertex(me; Index: Integer from Standard) |
241 | |
242 | ---Purpose: Returns the vertex of range Index on the line. |
243 | |
244 | returns Point from IntPatch |
245 | ---C++: inline |
246 | ---C++: return const& |
247 | |
248 | raises OutOfRange from Standard |
249 | --- The exception OutOfRange is raised if Index <= 0 or |
250 | -- Index > NbVertex. |
251 | |
252 | is static; |
253 | |
254 | |
255 | HasPolygon(me) |
256 | |
257 | returns Boolean from Standard |
258 | ---C++: inline |
259 | |
260 | is static; |
261 | |
262 | |
263 | NbPnts(me) |
264 | |
265 | ---Purpose: Returns the number of intersection points. |
266 | |
267 | returns Integer from Standard |
268 | ---C++: inline |
269 | |
270 | raises DomainError from Standard |
271 | --- The exception DomainError is raised if HasPolygon returns False. |
272 | |
273 | is static; |
274 | |
275 | |
276 | Point(me; Index: Integer from Standard) |
277 | |
278 | ---Purpose: Returns the intersection point of range Index. |
279 | |
280 | returns PntOn2S from IntSurf |
281 | ---C++: inline |
282 | ---C++: return const& |
283 | |
284 | raises OutOfRange from Standard, |
285 | DomainError from Standard |
286 | --- The exception DomainError is raised if HasPolygon returns False. |
287 | --- The exception OutOfRange is raised if Index <= 0 or Index > NbPnts. |
288 | |
289 | is static; |
290 | |
291 | |
292 | SetPoint(me:mutable; Index: Integer from Standard; Pnt: Point from IntPatch) |
293 | |
294 | ---Purpose: Set the Point of index <Index> in the LineOn2S |
295 | |
296 | is static; |
297 | |
298 | ComputeVertexParameters(me: mutable; Tol:Real from Standard) |
299 | |
300 | ---Purpose: Set the parameters of all the vertex on the line. |
301 | -- if a vertex is already in the line, |
302 | -- its parameter is modified |
303 | -- else a new point in the line is inserted. |
304 | is static; |
305 | |
306 | |
307 | fields |
308 | |
309 | theArcOnS1 : HCurve2d from Adaptor2d; |
310 | theArcOnS2 : HCurve2d from Adaptor2d; |
311 | onS1 : Boolean from Standard; |
312 | onS2 : Boolean from Standard; |
313 | |
314 | ParamInf1 : Real from Standard; |
315 | ParamSup1 : Real from Standard; |
316 | ParamInf2 : Real from Standard; |
317 | ParamSup2 : Real from Standard; |
318 | |
319 | curv : LineOn2S from IntSurf; |
320 | fipt : Boolean from Standard; |
321 | lapt : Boolean from Standard; |
322 | indf : Integer from Standard; |
323 | indl : Integer from Standard; |
324 | svtx : SequenceOfPoint from IntPatch; |
325 | |
326 | end RLine; |