0022627: Change OCCT memory management defaults
[occt.git] / src / Adaptor3d / Adaptor3d_Surface.cdl
CommitLineData
7fd59977 1-- File: Adaptor3d_Surface.cdl
2-- Created: Wed Mar 31 12:12:54 1993
3-- Author: Bruno DUMORTIER
4-- <dub@sdsun1>
5---Copyright: Matra Datavision 1993
6
7
8
9deferred class Surface from Adaptor3d
10
11 ---Purpose: Root class for surfaces on which geometric algorithms work.
12 -- An adapted surface is an interface between the
13 -- services provided by a surface and those required of
14 -- the surface by algorithms which use it.
15 -- A derived concrete class is provided:
16 -- GeomAdaptor_Surface for a surface from the Geom package.
17 -- The Surface class describes the standard behaviour
18 -- of a surface for generic algorithms.
19 --
20 -- The Surface can be decomposed in intervals of any
21 -- continuity in U and V using the method
22 -- NbIntervals. A current interval can be set. Most
23 -- of the methods apply to the current interval.
24 -- Warning: All the methods are virtual and implemented with a
25 -- raise to allow to redefined only the methods realy
26 -- used.
27uses
28 Array1OfReal from TColStd,
29 Shape from GeomAbs,
30 SurfaceType from GeomAbs,
31 Vec from gp,
32 Dir from gp,
33 Pnt from gp,
34 Pln from gp,
35 Cone from gp,
36 Cylinder from gp,
37 Sphere from gp,
38 Torus from gp,
39 Ax1 from gp,
40 BezierSurface from Geom,
41 BSplineSurface from Geom,
42 HSurface from Adaptor3d,
43 HCurve from Adaptor3d
44
45raises
46
47 OutOfRange from Standard,
48 NoSuchObject from Standard,
49 DomainError from Standard
50
51is
52
53 --
54 -- Global methods - Apply to the whole surface.
55 --
56
57 Delete(me:out) is virtual;
58 ---C++: alias "Standard_EXPORT virtual ~Adaptor3d_Surface(){Delete();}"
59
60 FirstUParameter(me) returns Real
61 is virtual;
62
63 LastUParameter(me) returns Real
64 is virtual;
65
66 FirstVParameter(me) returns Real
67 is virtual;
68
69 LastVParameter(me) returns Real
70 is virtual;
71
72 UContinuity(me) returns Shape from GeomAbs
73 is virtual;
74
75 VContinuity(me) returns Shape from GeomAbs
76 is virtual;
77
78 NbUIntervals(me; S : Shape from GeomAbs) returns Integer
79 ---Purpose: Returns the number of U intervals for continuity
80 -- <S>. May be one if UContinuity(me) >= <S>
81 is virtual;
82
83 NbVIntervals(me; S : Shape from GeomAbs) returns Integer
84 ---Purpose: Returns the number of V intervals for continuity
85 -- <S>. May be one if VContinuity(me) >= <S>
86 is virtual;
87
88 UIntervals(me; T : in out Array1OfReal from TColStd;
89 S : Shape from GeomAbs )
90 ---Purpose: Returns the intervals with the requested continuity
91 -- in the U direction.
92 raises
93 OutOfRange from Standard -- if the Length of the array does
94 -- have enought slots to accomodate
95 -- the result.
96 is virtual;
97
98 VIntervals(me; T : in out Array1OfReal from TColStd;
99 S : Shape from GeomAbs )
100 ---Purpose: Returns the intervals with the requested continuity
101 -- in the V direction.
102 raises
103 OutOfRange from Standard -- if the Length of the array does
104 -- have enought slots to accomodate
105 -- the result.
106 is virtual;
107
108 UTrim(me; First, Last, Tol : Real) returns HSurface from Adaptor3d
109 ---Purpose: Returns a surface trimmed in the U direction
110 -- equivalent of <me> between
111 -- parameters <First> and <Last>. <Tol> is used to
112 -- test for 3d points confusion.
113 raises
114 OutOfRange from Standard
115 ---Purpose: If <First> >= <Last>
116 is virtual ;
117
118 VTrim(me; First, Last, Tol : Real) returns HSurface from Adaptor3d
119 ---Purpose: Returns a surface trimmed in the V direction between
120 -- parameters <First> and <Last>. <Tol> is used to
121 -- test for 3d points confusion.
122 raises
123 OutOfRange from Standard
124 ---Purpose: If <First> >= <Last>
125 is virtual ;
126
127 IsUClosed(me) returns Boolean
128 is virtual;
129
130 IsVClosed(me) returns Boolean
131 is virtual;
132
133 IsUPeriodic(me) returns Boolean
134 is virtual;
135
136 UPeriod(me) returns Real
137 raises
138 DomainError from Standard -- if the curve is not periodic
139 is virtual;
140
141 IsVPeriodic(me) returns Boolean
142 is virtual;
143
144 VPeriod(me) returns Real
145 raises
146 DomainError from Standard -- if the curve is not periodic
147 is virtual;
148
149 Value (me; U, V : Real) returns Pnt from gp
150 --- Purpose : Computes the point of parameters U,V on the surface.
151 is virtual;
152
153 D0 (me; U, V : Real; P : out Pnt from gp)
154 --- Purpose : Computes the point of parameters U,V on the surface.
155 is virtual;
156
157 D1 (me; U, V : Real; P : out Pnt from gp; D1U, D1V : out Vec from gp)
158 --- Purpose : Computes the point and the first derivatives on
159 -- the surface.
160 raises DomainError from Standard
161 --- Purpose : Raised if the continuity of the current
162 -- intervals is not C1.
163 is virtual;
164
165 D2 (me; U, V : Real; P : out Pnt from gp; D1U, D1V, D2U, D2V, D2UV : out Vec from gp)
166 --- Purpose : Computes the point, the first and second
167 -- derivatives on the surface.
168 raises DomainError from Standard
169 --- Purpose : Raised if the continuity of the current
170 -- intervals is not C2.
171 is virtual;
172
173 D3 (me; U, V : Real; P : out Pnt from gp;
174 D1U, D1V, D2U, D2V, D2UV, D3U, D3V, D3UUV, D3UVV : out Vec from gp)
175 --- Purpose : Computes the point, the first, second and third
176 -- derivatives on the surface.
177 raises DomainError from Standard
178 --- Purpose : Raised if the continuity of the current
179 -- intervals is not C3.
180 is virtual;
181
182 DN (me; U, V : Real; Nu, Nv : Integer) returns Vec from gp
183 --- Purpose : Computes the derivative of order Nu in the direction U and Nv
184 -- in the direction V at the point P(U, V).
185 raises DomainError from Standard,
186 --- Purpose : Raised if the current U interval is not not CNu
187 -- and the current V interval is not CNv.
188 OutOfRange from Standard
189 --- Purpose : Raised if Nu + Nv < 1 or Nu < 0 or Nv < 0.
190 is virtual;
191
192 UResolution(me; R3d : Real ) returns Real
193 ---Purpose : Returns the parametric U resolution corresponding
194 -- to the real space resolution <R3d>.
195 is virtual;
196
197 VResolution(me; R3d : Real ) returns Real
198 ---Purpose : Returns the parametric V resolution corresponding
199 -- to the real space resolution <R3d>.
200 is virtual;
201
202 GetType(me) returns SurfaceType from GeomAbs
203 ---Purpose: Returns the type of the surface : Plane, Cylinder,
204 -- Cone, Sphere, Torus, BezierSurface,
205 -- BSplineSurface, SurfaceOfRevolution,
206 -- SurfaceOfExtrusion, OtherSurface
207 is virtual;
208
209 --
210 -- The following methods must be called when GetType returned
211 -- the corresponding type.
212 --
213
214 Plane(me) returns Pln from gp
215 raises NoSuchObject from Standard
216 is virtual;
217
218 Cylinder(me) returns Cylinder from gp
219 raises NoSuchObject from Standard
220 is virtual;
221
222 Cone(me) returns Cone from gp
223 raises NoSuchObject from Standard
224 is virtual;
225
226 Sphere(me) returns Sphere from gp
227 raises NoSuchObject from Standard
228 is virtual;
229
230 Torus(me) returns Torus from gp
231 raises NoSuchObject from Standard
232 is virtual;
233
234
235 UDegree(me) returns Integer
236 raises NoSuchObject from Standard
237 is virtual;
238
239 NbUPoles(me) returns Integer
240 raises NoSuchObject from Standard
241 is virtual;
242
243 VDegree(me) returns Integer
244 raises NoSuchObject from Standard
245 is virtual;
246
247 NbVPoles(me) returns Integer
248 raises NoSuchObject from Standard
249 is virtual;
250
251
252 NbUKnots(me) returns Integer
253 raises
254 NoSuchObject from Standard
255 is virtual;
256
257
258 NbVKnots(me) returns Integer
259 raises
260 NoSuchObject from Standard
261 is virtual;
262
263
264 IsURational(me) returns Boolean
265 raises
266 NoSuchObject from Standard
267 is virtual;
268
269 IsVRational(me) returns Boolean
270 raises
271 NoSuchObject from Standard
272 is virtual;
273
274
275
276 Bezier(me) returns BezierSurface from Geom
277 raises
278 NoSuchObject from Standard
279 is virtual;
280
281 BSpline(me) returns BSplineSurface from Geom
282 raises
283 NoSuchObject from Standard
284 is virtual;
285
286 AxeOfRevolution(me) returns Ax1 from gp
287 raises
288 NoSuchObject from Standard -- only for SurfaceOfRevolution
289 is virtual;
290
291 Direction(me) returns Dir from gp
292 raises
293 NoSuchObject from Standard -- only for SurfaceOfExtrusion
294 is virtual;
295
296 BasisCurve(me) returns HCurve from Adaptor3d
297 raises
298 NoSuchObject from Standard -- only for SurfaceOfExtrusion
299 is virtual;
300
301 BasisSurface(me) returns HSurface from Adaptor3d
302 raises
303 NoSuchObject from Standard -- only for Offset Surface
304 is virtual;
305
306 OffsetValue(me) returns Real from Standard
307 raises
308 NoSuchObject from Standard -- only for Offset Surface
309 is virtual;
310
311end Surface;
312
313
314
315
316
317
318
319