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 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.
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 PointLine 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 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 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 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;
240 Tol: Real from Standard;
241 hasBeenAdded: Boolean from Standard = Standard_False)
243 ---Purpose: Set the parameters of all the vertex on the line.
244 -- if a vertex is already in the line,
245 -- its parameter is modified
246 -- else a new point in the line is inserted.
251 returns LineOn2S from IntSurf
255 IsOutSurf1Box(me: mutable; P1: Pnt2d from gp )
256 returns Boolean from Standard
259 IsOutSurf2Box(me: mutable; P1: Pnt2d from gp )
260 returns Boolean from Standard
263 IsOutBox(me: mutable; P: Pnt from gp)
264 returns Boolean from Standard
268 SetPeriod(me: mutable; pu1,pv1,pu2,pv2: Real from Standard)
273 returns Real from Standard
277 returns Real from Standard
281 returns Real from Standard
285 returns Real from Standard
290 SetArcOnS1(me: mutable ; A : HCurve2d from Adaptor2d)
294 returns Boolean from Standard
298 ---C++: return const&
299 returns HCurve2d from Adaptor2d;
301 SetArcOnS2(me: mutable ; A : HCurve2d from Adaptor2d)
305 returns Boolean from Standard
309 ---C++: return const&
310 returns HCurve2d from Adaptor2d;
312 ClearVertexes(me: mutable)
315 RemoveVertex(me: mutable;
316 theIndex : Integer from Standard)
319 InsertVertexBefore(me: mutable;
320 theIndex : Integer from Standard;
321 thePnt : Point from IntPatch)
331 curv : LineOn2S from IntSurf;
332 fipt : Boolean from Standard;
333 lapt : Boolean from Standard;
334 indf : Integer from Standard;
335 indl : Integer from Standard;
336 svtx : SequenceOfPoint from IntPatch;
338 Buv1 : Box2d from Bnd;
339 Buv2 : Box2d from Bnd;
342 u1period : Real from Standard;
343 v1period : Real from Standard;
344 u2period : Real from Standard;
345 v2period : Real from Standard;
347 hasArcOnS1 : Boolean from Standard;
348 theArcOnS1 : HCurve2d from Adaptor2d;
349 hasArcOnS2 : Boolean from Standard;
350 theArcOnS2 : HCurve2d from Adaptor2d;