0025246: Make methods Intervals and NbIntervals const in Adaptor3d_Curve and it desce...
[occt.git] / src / Adaptor3d / Adaptor3d_HCurve.cdl
CommitLineData
b311480e 1-- Created on: 1994-02-23
2-- Created by: model
3-- Copyright (c) 1994-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
17deferred class HCurve from Adaptor3d inherits TShared from MMgt
18
19 ---Purpose: Root class for 3D curves manipulated by handles, on
20 -- which geometric algorithms work.
21 -- An adapted curve is an interface between the
22 -- services provided by a curve and those required of
23 -- the curve by algorithms which use it.
24 -- Two derived concrete classes are provided:
25 -- - GeomAdaptor_HCurve for a curve from the Geom package
26 -- - Adaptor3d_HCurveOnSurface for a curve lying
27 -- on a surface from the Geom package.
28
29
30uses
31 Array1OfReal from TColStd,
32 Shape from GeomAbs,
33 CurveType from GeomAbs,
34 Vec from gp,
35 Pnt from gp,
36 Circ from gp,
37 Elips from gp,
38 Hypr from gp,
39 Parab from gp,
40 Lin from gp,
41 BezierCurve from Geom,
42 BSplineCurve from Geom,
43 Curve from Adaptor3d
44
45raises
46
47 OutOfRange from Standard,
48 NoSuchObject from Standard,
49 DomainError from Standard
50
51is
52
53
54 --
55 -- Access to the curve
56 --
57
58 Curve(me) returns Curve from Adaptor3d
59 ---Purpose: Returns a pointer to the Curve inside the HCurve.
60 --
61 ---C++: return const &
62 is deferred;
63
64 GetCurve(me:mutable) returns Curve from Adaptor3d
65 ---Purpose: Returns a pointer to the Curve inside the HCurve.
66 --
67 ---C++: return &
68 is deferred;
69
70 --
71 -- Curve methods, they are provided for convenience. Each
72 -- method M() is defined inline as :
73 --
74 -- Adaptor3d_HCurve::M() { Curve().M(); }
75 --
76 -- See the class Curve for comments on the methods.
77 --
78
79 FirstParameter(me) returns Real;
80 ---C++: inline
81
82 LastParameter(me) returns Real;
83 ---C++: inline
84
85 Continuity(me) returns Shape from GeomAbs ;
86 ---C++: inline
87
31b1749c 88 NbIntervals(me; S : Shape from GeomAbs) returns Integer;
7fd59977 89 ---C++: inline
90
31b1749c 91 Intervals(me; T : in out Array1OfReal from TColStd;
7fd59977 92 S : Shape from GeomAbs)
93 ---Purpose: Stores in <T> the parameters bounding the intervals
94 -- of continuity <S>.
95 --
96 -- The array must provide enough room to accomodate
97 -- for the parameters. i.e. T.Length() > NbIntervals()
98 --
99 ---C++: inline
100 raises
101 OutOfRange from Standard
102 is static;
103
104 Trim(me; First, Last, Tol : Real) returns HCurve from Adaptor3d
105 ---Purpose: Returns a curve equivalent of <me> between
106 -- parameters <First> and <Last>. <Tol> is used to
107 -- test for 3d points confusion.
108 --
109 ---C++: inline
110 raises
111 OutOfRange from Standard
112 ---Purpose: If <First> >= <Last>
113 is static;
114
115
116 IsClosed(me) returns Boolean;
117 ---C++: inline
118
119 IsPeriodic(me) returns Boolean;
120 ---C++: inline
121
122 Period(me) returns Real
123 ---C++: inline
124 raises
125 DomainError from Standard;
126
127 Value(me; U : Real) returns Pnt from gp;
128 ---C++: inline
129
130 D0 (me; U : Real; P : out Pnt from gp);
131 ---C++: inline
132
133 D1 (me; U : Real; P : out Pnt from gp ; V : out Vec from gp)
134 ---C++: inline
135 raises
136 DomainError from Standard;
137
138 D2 (me; U : Real; P : out Pnt from gp; V1, V2 : out Vec from gp)
139 ---C++: inline
140 raises
141 DomainError from Standard;
142
143 D3 (me; U : Real; P : out Pnt from gp; V1, V2, V3 : out Vec from gp)
144 ---C++: inline
145 raises
146 DomainError from Standard;
147
148 DN (me; U : Real; N : Integer) returns Vec from gp
149 ---C++: inline
150 raises
151 DomainError from Standard,
152 OutOfRange from Standard;
153
154 Resolution(me; R3d : Real) returns Real;
155 ---C++: inline
156
157 GetType(me) returns CurveType from GeomAbs;
158 ---C++: inline
159
160 Line(me) returns Lin from gp
161 ---C++: inline
162 raises
163 NoSuchObject from Standard;
164
165 Circle(me) returns Circ from gp
166 ---C++: inline
167 raises
168 NoSuchObject from Standard;
169
170 Ellipse(me) returns Elips from gp
171 ---C++: inline
172 raises
173 NoSuchObject from Standard;
174
175 Hyperbola(me) returns Hypr from gp
176 ---C++: inline
177 raises
178 NoSuchObject from Standard;
179
180 Parabola(me) returns Parab from gp
181 ---C++: inline
182 raises
183 NoSuchObject from Standard;
184
185 Degree(me) returns Integer
186 ---C++: inline
187 raises
188 NoSuchObject from Standard ;
189
190
191 IsRational(me) returns Boolean
192 ---C++: inline
193 raises
194 NoSuchObject from Standard ;
195
196
197 NbPoles(me) returns Integer
198 ---C++: inline
199 raises
200 NoSuchObject from Standard ;
201
202
203 NbKnots(me) returns Integer
204 ---C++: inline
205 raises
206 NoSuchObject from Standard ;
207
208
209 Bezier(me) returns BezierCurve from Geom
210 ---C++: inline
211 raises
212 NoSuchObject from Standard;
213
214 BSpline(me) returns BSplineCurve from Geom
215 ---C++: inline
216 raises
217 NoSuchObject from Standard;
218
219
220end HCurve;
221
222
223