1 -- Created on: 1993-12-02
2 -- Created by: Jacques GOUSSARD
3 -- Copyright (c) 1993-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 generic class Line from Blend
20 ThePointOnRst as any; -- as PointOnRst from Blend(TheArc)
21 TheSequenceOfPointOnRst as any;
22 TheExtremity as any) -- as Extremity from Blend (TheVertex,TheArc,
23 -- ThePointOnRst,TheSequenceOfPointOnRst)
27 inherits TShared from MMgt
30 uses Point from Blend,
31 SequenceOfPoint from Blend,
32 TypeTrans from IntSurf
35 raises OutOfRange from Standard
42 returns mutable Line from Blend;
48 ---Purpose: Clears the content of the line.
54 Append(me: mutable; P: Point from Blend)
56 ---Purpose: Adds a point in the line.
62 Prepend(me: mutable; P: Point from Blend)
64 ---Purpose: Adds a point in the line at the first place.
69 InsertBefore(me : mutable;
70 Index : Integer from Standard;
73 ---Purpose: Adds a point in the line at the first place.
79 Remove(me: mutable; FromIndex,ToIndex: Integer from Standard)
81 ---Purpose: Removes from <me> all the items of
82 -- positions between <FromIndex> and <ToIndex>.
83 -- Raises an exception if the indices are out of bounds.
85 raises OutOfRange from Standard
89 Set(me: mutable; TranS1,TranS2: TypeTrans from IntSurf)
91 ---Purpose: Sets the value of the transition of the line on S1 and
97 Set(me: mutable; Trans: TypeTrans from IntSurf)
99 ---Purpose: Sets the value of the transition of the line on a surface
104 SetStartPoints(me: mutable; StartPt1,StartPt2: TheExtremity)
106 ---Purpose: Sets the values of the start points for the line.
112 SetEndPoints(me: mutable; EndPt1,EndPt2: TheExtremity)
114 ---Purpose: Sets tne values of the end points for the line.
123 ---Purpose: Returns the number of points in the line.
125 returns Integer from Standard
131 Point(me; Index: Integer from Standard)
133 ---Purpose: Returns the point of range Index.
135 returns Point from Blend
137 ---C++: return const&
139 raises OutOfRange from Standard
140 --- The exception OutOfRange is raised when Index <=0 or
148 ---Purpose: Returns the type of the transition of the line defined
149 -- on the first surface. The transition is "constant"
151 -- The transition is IN if the line is oriented in such
152 -- a way that the system of vectors (N,DRac,T) is
153 -- right-handed, where
154 -- N is the normal to the first surface at a point P,
155 -- DRac is a vector tangent to the blending patch,
156 -- oriented towards the valid part of this patch,
157 -- T is the tangent to the line on S1 at P.
158 -- The transitioon is OUT when the system of vectors is
161 returns TypeTrans from IntSurf
169 ---Purpose: Returns the type of the transition of the line defined
170 -- on the second surface. The transition is "constant"
173 returns TypeTrans from IntSurf
179 StartPointOnFirst(me)
181 ---Purpose: Returns the start point on S1.
185 ---C++: return const&
190 StartPointOnSecond(me)
192 ---Purpose: Returns the start point on S2
196 ---C++: return const&
203 ---Purpose: Returns the end point on S1.
207 ---C++: return const&
214 ---Purpose: Returns the point on S2.
218 ---C++: return const&
225 ---Purpose: Returns the type of the transition of the line defined
228 returns TypeTrans from IntSurf
235 seqpt : SequenceOfPoint from Blend;
236 tras1 : TypeTrans from IntSurf;
237 tras2 : TypeTrans from IntSurf;
240 endp1 : TheExtremity;
241 endp2 : TheExtremity;
242 hass1 : Boolean from Standard;
243 hass2 : Boolean from Standard;