1 -- Created on: 1997-01-10
2 -- Created by: Bruno DUMORTIER
3 -- Copyright (c) 1997-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 private class CurveOnEdge from BiTgte inherits Curve from Adaptor3d
22 Array1OfReal from TColStd,
24 CurveType from GeomAbs,
33 BezierCurve from Geom,
34 BSplineCurve from Geom,
35 HCurve from Adaptor3d,
40 OutOfRange from Standard,
41 NoSuchObject from Standard,
42 DomainError from Standard
47 returns CurveOnEdge from BiTgte;
49 Create( EonF : Edge from TopoDS;
50 Edge : Edge from TopoDS);
53 EonF : Edge from TopoDS;
54 Edge : Edge from TopoDS)
57 --------------------------------
58 -- Methodes from Adaptor3d_Curve --
59 --------------------------------
61 FirstParameter(me) returns Real
64 LastParameter(me) returns Real
67 Continuity(me) returns Shape from GeomAbs
71 NbIntervals(me; S : Shape from GeomAbs) returns Integer
72 ---Purpose: Returns the number of intervals for continuity
73 -- <S>. May be one if Continuity(me) >= <S>
76 Intervals(me; T : in out Array1OfReal from TColStd;
77 S : Shape from GeomAbs)
78 ---Purpose: Stores in <T> the parameters bounding the intervals
81 -- The array must provide enough room to accomodate
82 -- for the parameters. i.e. T.Length() > NbIntervals()
84 OutOfRange from Standard
87 Trim(me; First, Last, Tol : Real) returns HCurve from Adaptor3d
88 ---Purpose: Returns a curve equivalent of <me> between
89 -- parameters <First> and <Last>. <Tol> is used to
90 -- test for 3d points confusion.
92 OutOfRange from Standard
93 ---Purpose: If <First> >= <Last>
97 IsClosed(me) returns Boolean
100 IsPeriodic(me) returns Boolean
103 Period(me) returns Real
105 DomainError from Standard -- if the curve is not periodic
108 Value(me; U : Real) returns Pnt from gp
109 --- Purpose : Computes the point of parameter U on the curve.
112 D0 (me; U : Real; P : out Pnt from gp)
113 --- Purpose : Computes the point of parameter U on the curve.
116 D1 (me; U : Real; P : out Pnt from gp ; V : out Vec from gp)
117 --- Purpose : Computes the point of parameter U on the curve with its
120 DomainError from Standard
121 --- Purpose : Raised if the continuity of the current interval
125 D2 (me; U : Real; P : out Pnt from gp; V1, V2 : out Vec from gp)
127 -- Returns the point P of parameter U, the first and second
128 -- derivatives V1 and V2.
130 DomainError from Standard
131 --- Purpose : Raised if the continuity of the current interval
135 D3 (me; U : Real; P : out Pnt from gp; V1, V2, V3 : out Vec from gp)
137 -- Returns the point P of parameter U, the first, the second
138 -- and the third derivative.
140 DomainError from Standard
141 --- Purpose : Raised if the continuity of the current interval
145 DN (me; U : Real; N : Integer) returns Vec from gp
147 -- The returned vector gives the value of the derivative for the
148 -- order of derivation N.
150 DomainError from Standard,
151 --- Purpose : Raised if the continuity of the current interval
153 OutOfRange from Standard
154 --- Purpose : Raised if N < 1.
157 Resolution(me; R3d : Real) returns Real
158 ---Purpose : Returns the parametric resolution corresponding
159 -- to the real space resolution <R3d>.
162 GetType(me) returns CurveType from GeomAbs
163 ---Purpose: Returns the type of the curve in the current
164 -- interval : Line, Circle, Ellipse, Hyperbola,
165 -- Parabola, BezierCurve, BSplineCurve, OtherCurve.
169 -- The following methods must be called when GetType returned
170 -- the corresponding type.
173 Line(me) returns Lin from gp
175 NoSuchObject from Standard
178 Circle(me) returns Circ from gp
180 NoSuchObject from Standard
183 Ellipse(me) returns Elips from gp
185 NoSuchObject from Standard
188 Hyperbola(me) returns Hypr from gp
190 NoSuchObject from Standard
193 Parabola(me) returns Parab from gp
195 NoSuchObject from Standard
199 Degree(me) returns Integer
201 NoSuchObject from Standard
204 IsRational(me) returns Boolean
206 NoSuchObject from Standard
209 NbPoles(me) returns Integer
211 NoSuchObject from Standard
215 NbKnots(me) returns Integer
217 NoSuchObject from Standard
220 Bezier(me) returns BezierCurve from Geom
222 NoSuchObject from Standard
225 BSpline(me) returns BSplineCurve from Geom
227 NoSuchObject from Standard
232 myEdge : Edge from TopoDS;
233 myEonF : Edge from TopoDS;
234 myCurv : Curve from Geom;
235 myConF : Curve from Geom;
237 myType : CurveType from GeomAbs;
238 myCirc : Circ from gp;
240 end CurveOnEdge from BiTgte;