1 -- Created on: 1991-05-27
2 -- Created by: Isabelle GRIGNON
3 -- Copyright (c) 1991-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 class WLine from IntPatch
19 inherits Line from IntPatch
21 ---Purpose: Definition of set of points as a result of the intersection
22 -- between 2 parametrised patches.
25 HCurve2d from Adaptor2d,
27 SequenceOfPoint from IntPatch,
29 LineOn2S from IntSurf,
30 TypeTrans from IntSurf,
31 Situation from IntSurf,
37 raises OutOfRange from Standard,
38 DomainError from Standard
40 Create(Line: LineOn2S from IntSurf; Tang: Boolean from Standard;
41 Trans1, Trans2: TypeTrans from IntSurf)
43 ---Purpose: Creates a WLine as an intersection when the
44 -- transitions are In or Out.
46 returns mutable WLine from IntPatch;
49 Create(Line: LineOn2S from IntSurf; Tang: Boolean from Standard;
50 Situ1,Situ2: Situation from IntSurf)
52 ---Purpose: Creates a WLine as an intersection when the
53 -- transitions are Touch.
55 returns mutable WLine from IntPatch;
58 Create(Line: LineOn2S from IntSurf; Tang: Boolean from Standard)
60 ---Purpose: Creates a WLine as an intersection when the
61 -- transitions are Undecided.
63 returns mutable WLine from IntPatch;
66 AddVertex(me: mutable; Pnt: Point from IntPatch)
68 ---Purpose: Adds a vertex in the list.
75 SetPoint(me:mutable; Index: Integer from Standard; Pnt: Point from IntPatch)
77 ---Purpose: Set the Point of index <Index> in the LineOn2S
82 Replace(me: mutable; Index: Integer from Standard; Pnt: Point from IntPatch)
84 ---Purpose: Replaces the element of range Index in the list
86 -- The exception OutOfRange is raised when
87 -- Index <= 0 or Index > NbVertex.
91 raises OutOfRange from Standard
96 SetFirstPoint(me: mutable; IndFirst: Integer from Standard) is static;
101 SetLastPoint(me: mutable; IndLast: Integer from Standard) is static;
108 ---Purpose: Returns the number of intersection points.
110 returns Integer from Standard
116 Point(me; Index: Integer from Standard)
118 ---Purpose: Returns the intersection point of range Index.
120 returns PntOn2S from IntSurf
122 ---C++: return const&
124 raises OutOfRange from Standard
125 --- The exception OutOfRange is raised if Index <= 0 or Index > NbPnts.
132 ---Purpose: Returns True if the line has a known First point.
133 -- This point is given by the method FirstPoint().
135 returns Boolean from Standard
143 ---Purpose: Returns True if the line has a known Last point.
144 -- This point is given by the method LastPoint().
146 returns Boolean from Standard
154 ---Purpose: Returns the Point corresponding to the FirstPoint.
156 returns Point from IntPatch
158 ---C++: return const&
160 raises DomainError from Standard
161 --- The exception DomainError is raised when HasFirstPoint
169 ---Purpose: Returns the Point corresponding to the LastPoint.
171 returns Point from IntPatch
173 ---C++: return const&
175 raises DomainError from Standard
176 --- The exception DomainError is raised when HasFirstPoint
182 FirstPoint(me; Indfirst: out Integer from Standard)
184 ---Purpose: Returns the Point corresponding to the FirstPoint.
185 -- Indfirst is the index of the first in the list
188 returns Point from IntPatch
190 ---C++: return const&
192 raises DomainError from Standard
193 --- The exception DomainError is raised when HasFirstPoint
199 LastPoint(me; Indlast: out Integer from Standard)
201 ---Purpose: Returns the Point corresponding to the LastPoint.
202 -- Indlast is the index of the last in the list
205 returns Point from IntPatch
207 ---C++: return const&
209 raises DomainError from Standard
210 --- The exception DomainError is raised when HasFirstPoint
218 returns Integer from Standard
224 Vertex(me; Index: Integer from Standard)
226 ---Purpose: Returns the vertex of range Index on the line.
228 returns Point from IntPatch
230 ---C++: return const&
232 raises OutOfRange from Standard
233 --- The exception OutOfRange is raised if Index <= 0 or
239 ComputeVertexParameters(me: mutable; Tol: Real from Standard)
241 ---Purpose: Set the parameters of all the vertex on the line.
242 -- if a vertex is already in the line,
243 -- its parameter is modified
244 -- else a new point in the line is inserted.
249 returns LineOn2S from IntSurf
253 IsOutSurf1Box(me: mutable; P1: Pnt2d from gp )
254 returns Boolean from Standard
257 IsOutSurf2Box(me: mutable; P1: Pnt2d from gp )
258 returns Boolean from Standard
261 IsOutBox(me: mutable; P: Pnt from gp)
262 returns Boolean from Standard
266 SetPeriod(me: mutable; pu1,pv1,pu2,pv2: Real from Standard)
271 returns Real from Standard
275 returns Real from Standard
279 returns Real from Standard
283 returns Real from Standard
288 SetArcOnS1(me: mutable ; A : HCurve2d from Adaptor2d)
292 returns Boolean from Standard
296 ---C++: return const&
297 returns HCurve2d from Adaptor2d;
299 SetArcOnS2(me: mutable ; A : HCurve2d from Adaptor2d)
303 returns Boolean from Standard
307 ---C++: return const&
308 returns HCurve2d from Adaptor2d;
317 curv : LineOn2S from IntSurf;
318 fipt : Boolean from Standard;
319 lapt : Boolean from Standard;
320 indf : Integer from Standard;
321 indl : Integer from Standard;
322 svtx : SequenceOfPoint from IntPatch;
324 Buv1 : Box2d from Bnd;
325 Buv2 : Box2d from Bnd;
328 u1period : Real from Standard;
329 v1period : Real from Standard;
330 u2period : Real from Standard;
331 v2period : Real from Standard;
333 hasArcOnS1 : Boolean from Standard;
334 theArcOnS1 : HCurve2d from Adaptor2d;
335 hasArcOnS2 : Boolean from Standard;
336 theArcOnS2 : HCurve2d from Adaptor2d;