1 -- File: IntPatch_WLine.cdl
2 -- Created: Mon May 27 13:18:45 1991
3 -- Author: Isabelle GRIGNON
4 ---Copyright: Matra Datavision 1991, 1992
7 class WLine from IntPatch
9 inherits Line from IntPatch
11 ---Purpose: Definition of set of points as a result of the intersection
12 -- between 2 parametrised patches.
15 HCurve2d from Adaptor2d,
17 SequenceOfPoint from IntPatch,
19 LineOn2S from IntSurf,
20 TypeTrans from IntSurf,
21 Situation from IntSurf,
27 raises OutOfRange from Standard,
28 DomainError from Standard
30 Create(Line: LineOn2S from IntSurf; Tang: Boolean from Standard;
31 Trans1, Trans2: TypeTrans from IntSurf)
33 ---Purpose: Creates a WLine as an intersection when the
34 -- transitions are In or Out.
36 returns mutable WLine from IntPatch;
39 Create(Line: LineOn2S from IntSurf; Tang: Boolean from Standard;
40 Situ1,Situ2: Situation from IntSurf)
42 ---Purpose: Creates a WLine as an intersection when the
43 -- transitions are Touch.
45 returns mutable WLine from IntPatch;
48 Create(Line: LineOn2S from IntSurf; Tang: Boolean from Standard)
50 ---Purpose: Creates a WLine as an intersection when the
51 -- transitions are Undecided.
53 returns mutable WLine from IntPatch;
56 AddVertex(me: mutable; Pnt: Point from IntPatch)
58 ---Purpose: Adds a vertex in the list.
65 SetPoint(me:mutable; Index: Integer from Standard; Pnt: Point from IntPatch)
67 ---Purpose: Set the Point of index <Index> in the LineOn2S
72 Replace(me: mutable; Index: Integer from Standard; Pnt: Point from IntPatch)
74 ---Purpose: Replaces the element of range Index in the list
76 -- The exception OutOfRange is raised when
77 -- Index <= 0 or Index > NbVertex.
81 raises OutOfRange from Standard
86 SetFirstPoint(me: mutable; IndFirst: Integer from Standard) is static;
91 SetLastPoint(me: mutable; IndLast: Integer from Standard) is static;
98 ---Purpose: Returns the number of intersection points.
100 returns Integer from Standard
106 Point(me; Index: Integer from Standard)
108 ---Purpose: Returns the intersection point of range Index.
110 returns PntOn2S from IntSurf
112 ---C++: return const&
114 raises OutOfRange from Standard
115 --- The exception OutOfRange is raised if Index <= 0 or Index > NbPnts.
122 ---Purpose: Returns True if the line has a known First point.
123 -- This point is given by the method FirstPoint().
125 returns Boolean from Standard
133 ---Purpose: Returns True if the line has a known Last point.
134 -- This point is given by the method LastPoint().
136 returns Boolean from Standard
144 ---Purpose: Returns the Point corresponding to the FirstPoint.
146 returns Point from IntPatch
148 ---C++: return const&
150 raises DomainError from Standard
151 --- The exception DomainError is raised when HasFirstPoint
159 ---Purpose: Returns the Point corresponding to the LastPoint.
161 returns Point from IntPatch
163 ---C++: return const&
165 raises DomainError from Standard
166 --- The exception DomainError is raised when HasFirstPoint
172 FirstPoint(me; Indfirst: out Integer from Standard)
174 ---Purpose: Returns the Point corresponding to the FirstPoint.
175 -- Indfirst is the index of the first in the list
178 returns Point from IntPatch
180 ---C++: return const&
182 raises DomainError from Standard
183 --- The exception DomainError is raised when HasFirstPoint
189 LastPoint(me; Indlast: out Integer from Standard)
191 ---Purpose: Returns the Point corresponding to the LastPoint.
192 -- Indlast is the index of the last in the list
195 returns Point from IntPatch
197 ---C++: return const&
199 raises DomainError from Standard
200 --- The exception DomainError is raised when HasFirstPoint
208 returns Integer from Standard
214 Vertex(me; Index: Integer from Standard)
216 ---Purpose: Returns the vertex of range Index on the line.
218 returns Point from IntPatch
220 ---C++: return const&
222 raises OutOfRange from Standard
223 --- The exception OutOfRange is raised if Index <= 0 or
229 ComputeVertexParameters(me: mutable; Tol: Real from Standard)
231 ---Purpose: Set the parameters of all the vertex on the line.
232 -- if a vertex is already in the line,
233 -- its parameter is modified
234 -- else a new point in the line is inserted.
239 returns LineOn2S from IntSurf
243 IsOutSurf1Box(me: mutable; P1: Pnt2d from gp )
244 returns Boolean from Standard
247 IsOutSurf2Box(me: mutable; P1: Pnt2d from gp )
248 returns Boolean from Standard
251 IsOutBox(me: mutable; P: Pnt from gp)
252 returns Boolean from Standard
256 SetPeriod(me: mutable; pu1,pv1,pu2,pv2: Real from Standard)
261 returns Real from Standard
265 returns Real from Standard
269 returns Real from Standard
273 returns Real from Standard
278 SetArcOnS1(me: mutable ; A : HCurve2d from Adaptor2d)
282 returns Boolean from Standard
286 ---C++: return const&
287 returns HCurve2d from Adaptor2d;
289 SetArcOnS2(me: mutable ; A : HCurve2d from Adaptor2d)
293 returns Boolean from Standard
297 ---C++: return const&
298 returns HCurve2d from Adaptor2d;
307 curv : LineOn2S from IntSurf;
308 fipt : Boolean from Standard;
309 lapt : Boolean from Standard;
310 indf : Integer from Standard;
311 indl : Integer from Standard;
312 svtx : SequenceOfPoint from IntPatch;
314 Buv1 : Box2d from Bnd;
315 Buv2 : Box2d from Bnd;
318 u1period : Real from Standard;
319 v1period : Real from Standard;
320 u2period : Real from Standard;
321 v2period : Real from Standard;
323 hasArcOnS1 : Boolean from Standard;
324 theArcOnS1 : HCurve2d from Adaptor2d;
325 hasArcOnS2 : Boolean from Standard;
326 theArcOnS2 : HCurve2d from Adaptor2d;