0024784: Move documentation in CDL files to proper location
[occt.git] / src / GeomAdaptor / GeomAdaptor_Curve.cdl
CommitLineData
b311480e 1-- Created on: 1992-09-01
2-- Created by: Modelistation
3-- Copyright (c) 1992-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
d5f74e42 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
973c2be1 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.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17class Curve from GeomAdaptor inherits Curve from Adaptor3d
18
19 ---Purpose: This class provides an interface between the services provided by any
20 -- curve from the package Geom and those required of the curve by algorithms which use it.
ff8178ef 21 -- Creation of the loaded curve the curve is C1 by piece.
22
7fd59977 23uses Vec from gp,
24 Pnt from gp,
25 Circ from gp,
26 Elips from gp,
27 Hypr from gp,
28 Parab from gp,
29 Lin from gp,
30 Array1OfReal from TColStd,
31 Curve from Geom,
32 BezierCurve from Geom,
33 BSplineCurve from Geom,
34 CurveType from GeomAbs,
35 Shape from GeomAbs,
36 HCurve from Adaptor3d
37
38raises NoSuchObject from Standard,
39 ConstructionError from Standard,
40 OutOfRange from Standard,
41 DomainError from Standard
42
43
44is
45
46 Create
47 returns Curve from GeomAdaptor;
48 ---C++: inline
49
50 Create(C : Curve from Geom)
51 returns Curve from GeomAdaptor;
52 ---C++: inline
53
54 Create(C : Curve from Geom; UFirst,ULast : Real)
55 returns Curve from GeomAdaptor
56 raises
57 ConstructionError from Standard;
58 ---Purpose: ConstructionError is raised if Ufirst>Ulast
59 ---C++: inline
60
61 Load(me : in out; C : Curve from Geom);
62 ---C++: inline
63
64 Load(me : in out; C : Curve from Geom; UFirst,ULast : Real)
65 raises
66 ConstructionError from Standard;
041bfce9 67 ---C++: inline
7fd59977 68 ---Purpose: ConstructionError is raised if Ufirst>Ulast
69
70 Curve(me) returns Curve from Geom
71 ---Purpose:
72 -- Provides a curve inherited from Hcurve from Adaptor.
73 -- This is inherited to provide easy to use constructors.
74 ---C++: return const&
75 ---C++: inline
76 is static;
77
78
79
80 FirstParameter(me) returns Real
81 ---C++: inline
82 is redefined static;
83
84 LastParameter(me) returns Real
85 ---C++: inline
86 is redefined static;
87
88 Continuity(me) returns Shape from GeomAbs
89 is redefined static;
90
91 NbIntervals(me:in out; S : Shape from GeomAbs) returns Integer
92 ---Purpose: Returns the number of intervals for continuity
93 -- <S>. May be one if Continuity(me) >= <S>
94 is redefined static;
95
96 Intervals(me: in out; T : in out Array1OfReal from TColStd;
97 S : Shape from GeomAbs)
98 ---Purpose: Stores in <T> the parameters bounding the intervals
99 -- of continuity <S>.
100 --
101 -- The array must provide enough room to accomodate
102 -- for the parameters. i.e. T.Length() > NbIntervals()
103 raises
104 OutOfRange from Standard
105 is redefined static;
106
107 Trim(me; First, Last, Tol : Real) returns HCurve from Adaptor3d
108 ---Purpose: Returns a curve equivalent of <me> between
109 -- parameters <First> and <Last>. <Tol> is used to
110 -- test for 3d points confusion.
111 raises
112 OutOfRange from Standard
113 ---Purpose: If <First> >= <Last>
114 is redefined static;
115
116 IsClosed(me) returns Boolean
117 is redefined static;
118
119 IsPeriodic(me) returns Boolean
120 is redefined static;
121
122 Period(me) returns Real
123 raises
124 DomainError from Standard -- if the curve is not periodic
125 is redefined static;
126
127
128 Value(me; U : Real) returns Pnt from gp
129 --- Purpose : Computes the point of parameter U on the curve
130 is redefined static;
131
132 D0 (me; U : Real; P : out Pnt from gp)
133 --- Purpose : Computes the point of parameter U.
134 is redefined static;
135
136 D1 (me; U : Real; P : out Pnt from gp ; V : out Vec from gp)
137 --- Purpose : Computes the point of parameter U on the curve
138 -- with its first derivative.
139 --
140 -- Warning : On the specific case of BSplineCurve:
141 -- if the curve is cut in interval of continuity at least C1, the
142 -- derivatives are computed on the current interval.
143 -- else the derivatives are computed on the basis curve.
144 is redefined static;
145
146 D2 (me; U : Real; P : out Pnt from gp; V1, V2 : out Vec from gp)
147 --- Purpose :
148 -- Returns the point P of parameter U, the first and second
149 -- derivatives V1 and V2.
150 --
151 -- Warning : On the specific case of BSplineCurve:
152 -- if the curve is cut in interval of continuity at least C2, the
153 -- derivatives are computed on the current interval.
154 -- else the derivatives are computed on the basis curve.
155 is redefined static;
156
157 D3 (me; U : Real; P : out Pnt from gp; V1, V2, V3 : out Vec from gp)
158 --- Purpose :
159 -- Returns the point P of parameter U, the first, the second
160 -- and the third derivative.
161 --
162 -- Warning : On the specific case of BSplineCurve:
163 -- if the curve is cut in interval of continuity at least C3, the
164 -- derivatives are computed on the current interval.
165 -- else the derivatives are computed on the basis curve.
166 is redefined static;
167
168 DN (me; U : Real; N : Integer) returns Vec from gp
169 --- Purpose :
170 -- The returned vector gives the value of the derivative for the
171 -- order of derivation N.
172 -- Warning : On the specific case of BSplineCurve:
173 -- if the curve is cut in interval of continuity CN, the
174 -- derivatives are computed on the current interval.
175 -- else the derivatives are computed on the basis curve.
176 raises
177 OutOfRange from Standard
178 --- Purpose : Raised if N < 1.
179 is redefined static;
180
181
182 Resolution(me; R3d :Real) returns Real
183 ---Purpose : returns the parametric resolution
184 is redefined static;
185
186
187 GetType(me) returns CurveType from GeomAbs
188 ---C++: inline
189 is redefined static;
190
191 Line(me) returns Lin from gp
192 raises
193 NoSuchObject from Standard
194 is redefined static;
195
196 Circle(me) returns Circ from gp
197 raises
198 NoSuchObject from Standard
199 is redefined static;
200
201 Ellipse(me) returns Elips from gp
202 raises
203 NoSuchObject from Standard
204 is redefined static;
205
206 Hyperbola(me) returns Hypr from gp
207 raises
208 NoSuchObject from Standard
209 is redefined static;
210
211 Parabola(me) returns Parab from gp
212 raises
213 NoSuchObject from Standard
214 is redefined static;
215
216
217 Degree(me) returns Integer
218 raises
219 NoSuchObject from Standard
220 is redefined static;
221 ---Purpose:
222 -- this should NEVER make a copy
223 -- of the underlying curve to read
224 -- the relevant information
225 --
226 IsRational(me) returns Boolean
227 raises
228 NoSuchObject from Standard
229 is redefined static;
230
231 ---Purpose:
232 -- this should NEVER make a copy
233 -- of the underlying curve to read
234 -- the relevant information
235 --
236 NbPoles(me) returns Integer
237 raises
238 NoSuchObject from Standard
239 is redefined static;
240
241 ---Purpose:
242 -- this should NEVER make a copy
243 -- of the underlying curve to read
244 -- the relevant information
245 --
246 NbKnots(me) returns Integer
247 raises
248 NoSuchObject from Standard
249 is redefined static;
250 ---Purpose:
251 -- this should NEVER make a copy
252 -- of the underlying curve to read
253 -- the relevant information
254 --
255
256 Bezier(me) returns BezierCurve from Geom
257 raises
258 NoSuchObject from Standard
259 is redefined static;
260 ---Purpose : this will NOT make a copy of the
261 -- Bezier Curve : If you want to modify
262 -- the Curve please make a copy yourself
263 -- Also it will NOT trim the surface to
264 -- myFirst/Last.
265
266 BSpline(me) returns BSplineCurve from Geom
267 raises
268 NoSuchObject from Standard
269 is redefined static;
270 ---Purpose : this will NOT make a copy of the
271 -- BSpline Curve : If you want to modify
272 -- the Curve please make a copy yourself
273 -- Also it will NOT trim the surface to
274 -- myFirst/Last.
275
276
277 LocalContinuity(me; U1, U2 : Real) returns Shape from GeomAbs
278 is static private;
041bfce9 279
280 load(me : in out; C : Curve from Geom; UFirst,ULast : Real)
281 is private;
7fd59977 282
283fields
284
285 myCurve : Curve from Geom ;
286 myTypeCurve : CurveType from GeomAbs ;
287 myFirst : Real from Standard ;
288 myLast : Real from Standard;
289
290friends
291 class Surface from GeomAdaptor
292
293end Curve;
294