0022627: Change OCCT memory management defaults
[occt.git] / src / BRepAdaptor / BRepAdaptor_Surface.cdl
CommitLineData
7fd59977 1-- File: BRepAdaptor_Surface.cdl
2-- Created: Mon Feb 22 10:01:31 1993
3-- Author: Remi LEQUETTE
4-- <rle@phylox>
5---Copyright: Matra Datavision 1993
6
7
8
9class Surface from BRepAdaptor inherits Surface from Adaptor3d
10
11 ---Purpose: The Surface from BRepAdaptor allows to use a Face
12 -- of the BRep topology look like a 3D surface.
13 --
14 -- It has the methods of the class Surface from
15 -- Adaptor3d.
16 --
17 -- It is created or initialized with a Face. It takes
18 -- into account the local coordinates system.
19 --
20 -- The u,v parameter range is the minmax value for
21 -- the restriction, unless the flag restriction is
22 -- set to false.
23
24uses
25 Face from TopoDS,
26 SurfaceType from GeomAbs,
27 HSurface from Adaptor3d,
28 HCurve from Adaptor3d,
29 Surface from GeomAdaptor,
30 Shape from GeomAbs,
31 BezierSurface from Geom,
32 BSplineSurface from Geom,
33 Trsf from gp,
34 Pnt from gp,
35 Vec from gp,
36 Dir from gp,
37 Pln from gp,
38 Cylinder from gp,
39 Sphere from gp,
40 Torus from gp,
41 Cone from gp,
42 Ax1 from gp,
43 Array1OfReal from TColStd
44
45
46raises
47
48 OutOfRange from Standard,
49 DomainError from Standard,
50 NoSuchObject from Standard
51
52is
53
54 Create returns Surface from BRepAdaptor;
55 ---Purpose: Creates an undefined surface with no face loaded.
56
57 Create(F : Face from TopoDS;
58 R : Boolean = Standard_True)
59 returns Surface from BRepAdaptor;
60 ---Purpose: Creates a surface to access the geometry of <F>.
61 -- If <Restriction> is true the parameter range is
62 -- the parameter range in the UV space of the
63 -- restriction.
64
65 Initialize(me : in out; F : Face from TopoDS;
66 Restriction : Boolean = Standard_True)
67 ---Purpose: Sets the surface to the geometry of <F>.
68 is static;
69
70 Surface(me) returns Surface from GeomAdaptor
71 ---Purpose: Returns the surface.
72 --
73 ---C++: return const &
74 is static;
75
76 ChangeSurface(me : in out) returns Surface from GeomAdaptor
77 ---Purpose: Returns the surface.
78 --
79 ---C++: return &
80 is static;
81
82 Trsf(me) returns Trsf from gp
83 ---Purpose: Returns the surface coordinate system.
84 --
85 ---C++: return const &
86 is static;
87
88 Face(me) returns Face from TopoDS
89 ---Purpose: Returns the face.
90 --
91 ---C++: return const &
92 is static;
93
94 Tolerance(me) returns Real
95 ---Purpose: Returns the face tolerance.
96 --
97 is static;
98
99 --
100 -- Methods of Surface from GeomAdaptor
101 --
102
103 FirstUParameter(me) returns Real
104 ---C++:inline
105 is redefined static;
106
107 LastUParameter(me) returns Real
108 ---C++:inline
109 is redefined static;
110
111 FirstVParameter(me) returns Real
112 ---C++:inline
113 is redefined static;
114
115 LastVParameter(me) returns Real
116 ---C++:inline
117 is redefined static;
118
119 UContinuity(me) returns Shape from GeomAbs
120 ---C++:inline
121 is redefined static;
122
123 VContinuity(me) returns Shape from GeomAbs
124 ---C++:inline
125 is redefined static;
126
127 NbUIntervals(me; S : Shape from GeomAbs) returns Integer
128 ---Purpose: If necessary, breaks the surface in U intervals of
129 -- continuity <S>. And returns the number of
130 -- intervals.
131 ---C++:inline
132 is redefined static;
133
134 NbVIntervals(me; S : Shape from GeomAbs) returns Integer
135 ---Purpose: If necessary, breaks the surface in V intervals of
136 -- continuity <S>. And returns the number of
137 -- intervals.
138 ---C++:inline
139 is redefined static;
140
141 UIntervals(me; T : in out Array1OfReal from TColStd;
142 S : Shape from GeomAbs )
143 ---Purpose: Returns the intervals with the requested continuity
144 -- in the U direction.
145 raises
146 OutOfRange from Standard -- if the Length of the array does
147 -- have enought slots to accomodate
148 -- the result.
149 is redefined static;
150
151 VIntervals(me; T : in out Array1OfReal from TColStd;
152 S : Shape from GeomAbs )
153 ---Purpose: Returns the intervals with the requested continuity
154 -- in the V direction.
155 raises
156 OutOfRange from Standard -- if the Length of the array does
157 -- have enought slots to accomodate
158 -- the result.
159 is redefined static;
160
161 UTrim(me; First, Last, Tol : Real) returns HSurface from Adaptor3d
162 ---Purpose: Returns a surface trimmed in the U direction
163 -- equivalent of <me> between
164 -- parameters <First> and <Last>. <Tol> is used to
165 -- test for 3d points confusion.
166 raises
167 OutOfRange from Standard
168 ---Purpose: If <First> >= <Last>
169 is redefined static ;
170
171 VTrim(me; First, Last, Tol : Real) returns HSurface from Adaptor3d
172 ---Purpose: Returns a surface trimmed in the V direction between
173 -- parameters <First> and <Last>. <Tol> is used to
174 -- test for 3d points confusion.
175 raises
176 OutOfRange from Standard
177 ---Purpose: If <First> >= <Last>
178 is redefined static ;
179
180 IsUClosed(me) returns Boolean
181 ---C++:inline
182 is redefined static;
183
184 IsVClosed(me) returns Boolean
185 ---C++:inline
186 is redefined static;
187
188 IsUPeriodic(me) returns Boolean
189 ---C++:inline
190 is redefined static;
191
192 UPeriod(me) returns Real
193 raises
194 DomainError from Standard -- if the curve is not periodic
195 ---C++:inline
196 is redefined static;
197
198 IsVPeriodic(me) returns Boolean
199 ---C++:inline
200 is redefined static;
201
202 VPeriod(me) returns Real
203 ---C++:inline
204 raises
205 DomainError from Standard -- if the curve is not periodic
206 is redefined static;
207
208 Value (me; U, V : Real) returns Pnt from gp
209 --- Purpose : Computes the point of parameters U,V on the surface.
210 is redefined static;
211
212 D0 (me; U, V : Real; P : out Pnt from gp)
213 --- Purpose : Computes the point of parameters U,V on the surface.
214 is redefined static;
215
216 D1 (me; U, V : Real;
217 P : out Pnt from gp;
218 D1U, D1V : out Vec from gp)
219 --- Purpose : Computes the point and the first derivatives on
220 -- the surface.
221 raises
222 DomainError from Standard
223 --- Purpose : Raised if the continuity of the current
224 -- intervals is not C1.
225 is redefined static;
226
227 D2 (me; U, V : Real;
228 P : out Pnt from gp;
229 D1U, D1V, D2U, D2V, D2UV : out Vec from gp)
230 --- Purpose : Computes the point, the first and second
231 -- derivatives on the surface.
232 raises
233 DomainError from Standard
234 --- Purpose : Raised if the continuity of the current
235 -- intervals is not C2.
236 is redefined static;
237
238 D3 (me; U, V : Real; P : out Pnt from gp;
239 D1U, D1V, D2U, D2V, D2UV, D3U, D3V, D3UUV, D3UVV : out Vec from gp)
240 --- Purpose : Computes the point, the first, second and third
241 -- derivatives on the surface.
242 raises
243 DomainError from Standard
244 --- Purpose : Raised if the continuity of the current
245 -- intervals is not C3.
246 is redefined static;
247
248 DN (me; U, V : Real; Nu, Nv : Integer) returns Vec from gp
249 --- Purpose : Computes the derivative of order Nu in the direction
250 -- U and Nv in the direction V at the point P(U, V).
251 raises
252 DomainError from Standard,
253 --- Purpose : Raised if the current U interval is not not CNu
254 -- and the current V interval is not CNv.
255 OutOfRange from Standard
256 --- Purpose : Raised if Nu + Nv < 1 or Nu < 0 or Nv < 0.
257 is redefined static;
258
259 UResolution(me; R3d : Real ) returns Real
260 ---Purpose : Returns the parametric U resolution corresponding
261 -- to the real space resolution <R3d>.
262 --
263 ---C++:inline
264 is redefined static;
265
266 VResolution(me; R3d : Real ) returns Real
267 ---Purpose : Returns the parametric V resolution corresponding
268 -- to the real space resolution <R3d>.
269 --
270 ---C++:inline
271 is redefined static;
272
273 GetType(me) returns SurfaceType from GeomAbs
274 ---Purpose: Returns the type of the surface : Plane, Cylinder,
275 -- Cone, Sphere, Torus, BezierSurface,
276 -- BSplineSurface, SurfaceOfRevolution,
277 -- SurfaceOfExtrusion, OtherSurface
278 ---C++:inline
279 is redefined static;
280
281 Plane(me) returns Pln from gp
282 raises NoSuchObject from Standard
283
284 is redefined static;
285
286 Cylinder(me) returns Cylinder from gp
287 raises NoSuchObject from Standard
288 is redefined static;
289
290 Cone(me) returns Cone from gp
291 raises NoSuchObject from Standard
292 is redefined static;
293
294 Sphere(me) returns Sphere from gp
295 raises NoSuchObject from Standard
296 is redefined static;
297
298 Torus(me) returns Torus from gp
299 raises NoSuchObject from Standard
300 is redefined static;
301
302
303 UDegree(me) returns Integer
304 raises NoSuchObject from Standard
305 ---C++:inline
306 is redefined static;
307
308 NbUPoles(me) returns Integer
309 raises NoSuchObject from Standard
310 ---C++:inline
311 is redefined static;
312
313 VDegree(me) returns Integer
314 raises NoSuchObject from Standard
315 ---C++:inline
316 is redefined static;
317
318 NbVPoles(me) returns Integer
319 raises NoSuchObject from Standard
320 ---C++:inline
321 is redefined static;
322
323
324 NbUKnots(me) returns Integer
325 raises
326 NoSuchObject from Standard
327 ---C++:inline
328 is redefined static;
329
330
331 NbVKnots(me) returns Integer
332 raises
333 NoSuchObject from Standard
334 ---C++:inline
335 is redefined static;
336
337
338 IsURational(me) returns Boolean
339 raises
340 NoSuchObject from Standard
341 ---C++:inline
342 is redefined static;
343
344 IsVRational(me) returns Boolean
345 raises
346 NoSuchObject from Standard
347 ---C++:inline
348 is redefined static;
349
350
351 Bezier(me) returns BezierSurface from Geom
352 ---Purpose:
353--Warning : this will make a copy of the
354 -- Bezier Surface since it applies
355 -- to it the myTsrf transformation
356 -- Be Carefull when using this method
357
358 raises
359 NoSuchObject from Standard
360 is redefined static;
361
362 BSpline(me) returns BSplineSurface from Geom
363 ---Purpose:
364-- Warning : this will make a copy of the
365 -- BSpline Surface since it applies
366 -- to it the myTsrf transformation
367 -- Be Carefull when using this method
368
369 raises
370 NoSuchObject from Standard
371 is redefined static;
372
373 AxeOfRevolution(me) returns Ax1 from gp
374 raises
375 NoSuchObject from Standard -- only for SurfaceOfRevolution
376 is redefined static;
377
378 Direction(me) returns Dir from gp
379 raises
380 NoSuchObject from Standard -- only for SurfaceOfExtrusion
381 is redefined static;
382
383 BasisCurve(me) returns HCurve from Adaptor3d
384 raises
385 NoSuchObject from Standard
386 ---Purpose: only for SurfaceOfExtrusion and SurfaceOfRevolution
387 -- Warning: this will make a copy of the underlying curve
388 -- since it applies to it the transformation
389 -- myTrsf. Be carefull when using this method.
390 is redefined static;
391
392 BasisSurface(me) returns HSurface from Adaptor3d
393 raises
394 NoSuchObject from Standard -- only for Offset Surface
395 is redefined static;
396
397 OffsetValue(me) returns Real from Standard
398 raises
399 NoSuchObject from Standard -- only for Offset Surface
400 is redefined static;
401
402fields
403
404 mySurf : Surface from GeomAdaptor;
405 myTrsf : Trsf from gp;
406 myFace : Face from TopoDS;
407
408end Surface;