0024428: Implementation of LGPL license
[occt.git] / src / BRepAdaptor / BRepAdaptor_CompCurve.cdl
CommitLineData
b311480e 1-- Created on: 1998-08-20
2-- Created by: Philippe MANGIN
3-- Copyright (c) 1998-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--
973c2be1 8-- This library is free software; you can redistribute it and / or modify it
9-- under the terms of the GNU Lesser General Public 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.
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 CompCurve from BRepAdaptor
18
19inherits Curve from Adaptor3d
20
21 ---Purpose: The Curve from BRepAdaptor allows to use a Wire
22 -- of the BRep topology like a 3D curve.
23 -- Warning: With this class of curve, C0 and C1 continuities
24 -- are not assumed. So be carful with some algorithm!
25
26uses
27 Wire from TopoDS,
28 Edge from TopoDS,
29 CurveType from GeomAbs,
30 Shape from GeomAbs,
31 HCurve from Adaptor3d,
32 HArray1OfCurve from BRepAdaptor,
33 BezierCurve from Geom,
34 BSplineCurve from Geom,
35 Array1OfReal from TColStd,
36 HArray1OfReal from TColStd,
37 Pnt from gp,
38 Vec from gp,
39 Circ from gp,
40 Elips from gp,
41 Hypr from gp,
42 Parab from gp,
43 Lin from gp
44
45raises
46 NullObject from Standard,
47 DomainError from Standard,
48 OutOfRange from Standard,
49 NoSuchObject from Standard
50
51is
52 Create returns CompCurve from BRepAdaptor;
53 ---Purpose: Creates an undefined Curve with no Wire loaded.
54
55 Create(W : Wire from TopoDS;
56 KnotByCurvilinearAbcissa : Boolean = Standard_False)
57 returns CompCurve from BRepAdaptor;
58
59 Create(W : Wire from TopoDS;
60 KnotByCurvilinearAbcissa : Boolean;
61 First, Last, Tol : Real)
62 returns CompCurve from BRepAdaptor;
63 ---Purpose: Creates a Curve to acces to the geometry of edge
64 -- <W>.
65 --
66
67 Initialize(me : in out; W : Wire from TopoDS;
68 KnotByCurvilinearAbcissa : Boolean)
69 ---Purpose: Sets the wire <W>.
70
71 is static;
72
73 Initialize(me : in out; W : Wire from TopoDS;
74 KnotByCurvilinearAbcissa : Boolean;
75 First, Last, Tol : Real )
76 ---Purpose: Sets wire <W> and trimmed parameter.
77 is static;
78
79 SetPeriodic(me: in out; Periodic : Boolean)
80 ---Purpose: Set the flag Periodic.
81 -- Warning: This method has no effect if the wire is not closed
82 is static;
83
84 Wire(me) returns Wire from TopoDS
85 ---Purpose: Returns the wire.
86 --
87 ---C++: return const &
88 is static;
89
90 Edge(me; U : Real;
91 E : out Edge;
92 UonE : out Real)
93 ---Purpose: returns an edge and one parameter on them
94 -- corresponding to the parameter U.
95 is static;
96
97 --
98 -- Methods of Curve from GeomAdaptor.
99 --
100
101 FirstParameter(me) returns Real
102 is redefined static;
103
104 LastParameter(me) returns Real
105 is redefined static;
106
107 Continuity(me) returns Shape from GeomAbs
108 is redefined static;
109
110 NbIntervals(me: in out; S : Shape from GeomAbs) returns Integer
111 ---Purpose: Returns the number of intervals for continuity
112 -- <S>. May be one if Continuity(me) >= <S>
113 is redefined static;
114
115 Intervals(me: in out; T : in out Array1OfReal from TColStd;
116 S : Shape from GeomAbs)
117 ---Purpose: Stores in <T> the parameters bounding the intervals
118 -- of continuity <S>.
119 --
120 -- The array must provide enough room to accomodate
121 -- for the parameters. i.e. T.Length() > NbIntervals()
122 raises
123 OutOfRange from Standard
124 is redefined static;
125
126 Trim(me; First, Last, Tol : Real) returns HCurve from Adaptor3d
127 ---Purpose: Returns a curve equivalent of <me> between
128 -- parameters <First> and <Last>. <Tol> is used to
129 -- test for 3d points confusion.
130 raises
131 OutOfRange from Standard
132 ---Purpose: If <First> >= <Last>
133 is redefined static;
134
135 IsClosed(me) returns Boolean
136 is redefined static;
137
138 IsPeriodic(me) returns Boolean
139 is redefined static;
140
141 Period(me) returns Real
142 raises
143 DomainError from Standard -- if the curve is not periodic
144 is redefined static;
145
146
147 Value(me; U : Real) returns Pnt from gp
148 --- Purpose : Computes the point of parameter U on the curve
149 is redefined static;
150
151 D0 (me; U : Real; P : out Pnt from gp)
152 --- Purpose : Computes the point of parameter U.
153 is redefined static;
154
155 D1 (me; U : Real; P : out Pnt from gp ; V : out Vec from gp)
156 --- Purpose : Computes the point of parameter U on the curve
157 -- with its first derivative.
158
159 raises
160 DomainError from Standard
161 --- Purpose : Raised if the continuity of the current interval
162 -- is not C1.
163 is redefined static;
164
165 D2 (me; U : Real; P : out Pnt from gp; V1, V2 : out Vec from gp)
166 --- Purpose :
167 -- Returns the point P of parameter U, the first and second
168 -- derivatives V1 and V2.
169 raises
170 DomainError from Standard
171 --- Purpose : Raised if the continuity of the current interval
172 -- is not C2.
173 is redefined static;
174
175 D3 (me; U : Real; P : out Pnt from gp; V1, V2, V3 : out Vec from gp)
176 --- Purpose :
177 -- Returns the point P of parameter U, the first, the second
178 -- and the third derivative.
179 raises
180 DomainError from Standard
181 --- Purpose : Raised if the continuity of the current interval
182 -- is not C3.
183 is redefined static;
184
185 DN (me; U : Real; N : Integer) returns Vec from gp
186 --- Purpose :
187 -- The returned vector gives the value of the derivative for the
188 -- order of derivation N.
189 raises
190 DomainError from Standard,
191 --- Purpose : Raised if the continuity of the current interval
192 -- is not CN.
193 OutOfRange from Standard
194 --- Purpose : Raised if N < 1.
195 is redefined static;
196
197
198 Resolution(me; R3d :Real) returns Real
199 ---Purpose : returns the parametric resolution
200 is redefined static;
201
202
203 GetType(me) returns CurveType from GeomAbs
204 is redefined static;
205
206 Line(me) returns Lin from gp
207 raises NoSuchObject from Standard
208 is redefined static;
209
210 Circle(me) returns Circ from gp
211 raises NoSuchObject from Standard
212 is redefined static;
213
214 Ellipse(me) returns Elips from gp
215 raises NoSuchObject from Standard
216 is redefined static;
217
218 Hyperbola(me) returns Hypr from gp
219 raises NoSuchObject from Standard
220 is redefined static;
221
222 Parabola(me) returns Parab from gp
223 raises NoSuchObject from Standard
224 is redefined static;
225
226
227 Degree(me) returns Integer
228 raises NoSuchObject from Standard
229 is redefined static;
230
231 IsRational(me) returns Boolean
232 raises
233 NoSuchObject from Standard
234 is redefined static;
235
236 NbPoles(me) returns Integer
237 raises NoSuchObject from Standard
238 is redefined static;
239
240 NbKnots(me) returns Integer
241 raises
242 NoSuchObject from Standard
243 is redefined static;
244
245
246 Bezier(me) returns BezierCurve from Geom
247 ---Warning :
248 -- This will make a copy of the Bezier Curve .
249 -- Be carefull when using this method
250 raises
251 NoSuchObject from Standard
252 is redefined static;
253
254 BSpline(me) returns BSplineCurve from Geom
255 ---Warning : This will make a copy of the BSpline Curve. Be
256 -- carefull when using this method
257
258 raises
259 NoSuchObject from Standard
260 is redefined static;
261
262 Prepare(me; W, D: in out Real; ind : in out Integer)
263 is private;
264
265 InvPrepare(me; ind : Integer; F, D: in out Real)
266 is private;
267
268fields
269 myWire : Wire from TopoDS;
270 TFirst, TLast, PTol, myPeriod : Real;
271 myCurves : HArray1OfCurve from BRepAdaptor;
272 myKnots : HArray1OfReal from TColStd;
273 CurIndex : Integer;
274 Forward : Boolean;
275 IsbyAC : Boolean;
276 Periodic : Boolean;
277 end CompCurve;