1 -- File: Adaptor3d_IsoCurve.cdl
2 -- Created: Thu Mar 11 17:15:21 1993
3 -- Author: Isabelle GRIGNON
5 -- modified 01-1994 by rob (time comsumption)
6 ---Copyright: Matra Datavision 1993
9 class IsoCurve from Adaptor3d inherits Curve from Adaptor3d
11 ---Purpose: Defines an isoparametric curve on a surface. The
12 -- type of isoparametric curve (U or V) is defined
13 -- with the enumeration IsoType from GeomAbs if
14 -- NoneIso is given an error is raised.
17 Array1OfReal from TColStd,
20 CurveType from GeomAbs,
28 BezierCurve from Geom,
29 BSplineCurve from Geom,
30 HCurve from Adaptor3d,
31 HSurface from Adaptor3d
34 NoSuchObject from Standard,
35 OutOfRange from Standard,
36 DomainError from Standard
41 -- Methods specific of IsoCurve
44 Create returns IsoCurve from Adaptor3d;
45 ---Purpose: The iso is set to NoneIso.
47 Create(S : HSurface from Adaptor3d) returns IsoCurve from Adaptor3d;
48 ---Purpose: The surface is loaded. The iso is set to NoneIso.
50 Create(S : HSurface from Adaptor3d;
51 Iso : IsoType from GeomAbs; Param : Real)
52 returns IsoCurve from Adaptor3d;
53 ---Purpose: Creates an IsoCurve curve. Iso defines the
54 -- type (isoU or isoU) Param defines the value of
55 -- the iso. The bounds of the iso are the bounds
58 Create(S : HSurface from Adaptor3d;
59 Iso : IsoType from GeomAbs; Param : Real; WFirst,WLast : Real)
60 returns IsoCurve from Adaptor3d;
61 ---Purpose: Create an IsoCurve curve. Iso defines the type
62 -- (isoU or isov). Param defines the value of the
63 -- iso. WFirst,WLast define the bounds of the iso.
66 Load( me:in out ;S : HSurface from Adaptor3d)
67 ---Purpose: Changes the surface. The iso is reset to
71 Load (me : in out ; Iso : IsoType from GeomAbs; Param : Real)
72 ---Purpose: Changes the iso on the current surface.
76 Iso : IsoType from GeomAbs; Param : Real; WFirst,WLast : Real)
77 ---Purpose: Changes the iso on the current surface.
80 Surface(me) returns HSurface from Adaptor3d
82 ---C++: return const &
85 Iso(me) returns IsoType from GeomAbs
89 Parameter(me) returns Real
94 -- Implementation of Curve from Adaptor3d methods
98 -- Global methods - Apply to the whole curve.
101 FirstParameter(me) returns Real
105 LastParameter(me) returns Real
109 Continuity(me) returns Shape from GeomAbs
112 NbIntervals(me:in out; S : Shape from GeomAbs) returns Integer
113 ---Purpose: Returns the number of intervals for continuity
114 -- <S>. May be one if Continuity(me) >= <S>
117 Intervals(me:in out; T : in out Array1OfReal from TColStd;
118 S : Shape from GeomAbs)
119 ---Purpose: Stores in <T> the parameters bounding the intervals
120 -- of continuity <S>.
122 -- The array must provide enough room to accomodate
123 -- for the parameters. i.e. T.Length() > NbIntervals()
125 OutOfRange from Standard
128 Trim(me; First, Last, Tol : Real) returns HCurve from Adaptor3d
129 ---Purpose: Returns a curve equivalent of <me> between
130 -- parameters <First> and <Last>. <Tol> is used to
131 -- test for 3d points confusion.
133 OutOfRange from Standard
134 ---Purpose: If <First> >= <Last>
138 IsClosed(me) returns Boolean
141 IsPeriodic(me) returns Boolean
144 Period(me) returns Real
146 DomainError from Standard -- if the curve is not periodic
149 Value(me; U : Real) returns Pnt from gp
150 --- Purpose : Computes the point of parameter U on the curve.
153 D0 (me; U : Real; P : out Pnt from gp)
154 --- Purpose : Computes the point of parameter U on the curve.
157 D1 (me; U : Real; P : out Pnt from gp ; V : out Vec from gp)
158 --- Purpose : Computes the point of parameter U on the curve with its
161 DomainError from Standard
162 --- Purpose : Raised if the continuity of the current interval
166 D2 (me; U : Real; P : out Pnt from gp; V1, V2 : out Vec from gp)
168 -- Returns the point P of parameter U, the first and second
169 -- derivatives V1 and V2.
171 DomainError from Standard
172 --- Purpose : Raised if the continuity of the current interval
176 D3 (me; U : Real; P : out Pnt from gp; V1, V2, V3 : out Vec from gp)
178 -- Returns the point P of parameter U, the first, the second
179 -- and the third derivative.
181 DomainError from Standard
182 --- Purpose : Raised if the continuity of the current interval
186 DN (me; U : Real; N : Integer) returns Vec from gp
188 -- The returned vector gives the value of the derivative for the
189 -- order of derivation N.
191 DomainError from Standard,
192 --- Purpose : Raised if the continuity of the current interval
194 OutOfRange from Standard
195 --- Purpose : Raised if N < 1.
198 Resolution(me; R3d : Real) returns Real
199 ---Purpose : Returns the parametric resolution corresponding
200 -- to the real space resolution <R3d>.
203 GetType(me) returns CurveType from GeomAbs
204 ---Purpose: Returns the type of the curve in the current
205 -- interval : Line, Circle, Ellipse, Hyperbola,
206 -- Parabola, BezierCurve, BSplineCurve, OtherCurve.
210 -- The following methods must be called when GetType returned
211 -- the corresponding type.
214 Line(me) returns Lin from gp
216 NoSuchObject from Standard
219 Circle(me) returns Circ from gp
221 NoSuchObject from Standard
224 Ellipse(me) returns Elips from gp
226 NoSuchObject from Standard
229 Hyperbola(me) returns Hypr from gp
231 NoSuchObject from Standard
234 Parabola(me) returns Parab from gp
236 NoSuchObject from Standard
241 Degree(me) returns Integer
243 NoSuchObject from Standard
246 IsRational(me) returns Boolean
248 NoSuchObject from Standard
251 NbPoles(me) returns Integer
253 NoSuchObject from Standard
257 NbKnots(me) returns Integer
259 NoSuchObject from Standard
266 Bezier(me) returns BezierCurve from Geom
268 NoSuchObject from Standard
271 BSpline(me) returns BSplineCurve from Geom
273 NoSuchObject from Standard
279 mySurface : HSurface from Adaptor3d;
280 myIso : IsoType from GeomAbs;