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