0024166: Unable to create file with "Save" menu of voxeldemo Qt sample
[occt.git] / src / Adaptor3d / Adaptor3d_HSurface.cdl
1 -- Created on: 1994-02-14
2 -- Created by: model
3 -- Copyright (c) 1994-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21
22
23 deferred class HSurface from Adaptor3d 
24
25 inherits TShared from MMgt
26
27         ---Purpose: Root class for surfaces manipulated by handles, on
28         -- which geometric algorithms work.
29         -- An adapted surface is an interface between the
30         -- services provided by a surface and those required of
31         -- the surface by algorithms which use it.
32         -- A derived concrete class is provided:
33         -- GeomAdaptor_HSurface for a surface from the Geom package. 
34     
35 uses
36      Array1OfReal    from TColStd,
37      Shape           from GeomAbs,
38      SurfaceType     from GeomAbs,
39      Vec             from gp,
40      Dir             from gp,
41      Pnt             from gp,
42      Pln             from gp,
43      Cone            from gp,
44      Cylinder        from gp,
45      Sphere          from gp,
46      Torus           from gp,
47      Ax1             from gp,
48      BezierSurface   from Geom,
49      BSplineSurface  from Geom,
50      Surface         from Adaptor3d,
51      HCurve          from Adaptor3d
52
53 raises
54
55     OutOfRange          from Standard,
56     NoSuchObject        from Standard,
57     DomainError         from Standard,
58     NotImplemented      from Standard
59
60
61 is
62
63
64     --
65     --  Access to the surface
66     --  
67     
68     Surface(me) returns Surface from Adaptor3d
69         ---Purpose: Returns a reference to the Surface inside the HSurface.
70         --          
71         ---C++: return const &
72     is deferred;
73
74
75     --
76     --     Surface  methods,  they are  provided  for convenience.  Each
77     --     method M() is defined inline as :
78     --     
79     --     Adaptor3d_HSurface::M() { Surface()->M(); }
80     --     
81     --     See the class Surface for comments on the methods.
82     --     
83         --     
84     
85     FirstUParameter(me) returns Real ;
86     ---C++: inline
87
88
89     LastUParameter(me) returns Real ;
90     ---C++: inline
91     
92     FirstVParameter(me) returns Real ;
93     ---C++: inline
94
95     LastVParameter(me) returns Real ;
96     ---C++: inline
97     
98     UContinuity(me) returns Shape from GeomAbs ;
99     ---C++: inline
100     
101     VContinuity(me) returns Shape from GeomAbs ;
102     ---C++: inline
103     
104     NbUIntervals(me ; S : Shape from GeomAbs) returns Integer ; 
105     ---C++: inline
106     
107     NbVIntervals(me ; S : Shape from GeomAbs) returns Integer ; 
108     ---C++: inline
109     
110     UIntervals(me ;T : in out Array1OfReal from TColStd; 
111                 S : Shape from GeomAbs ) ;
112     ---C++: inline
113
114     VIntervals(me ; T : in out Array1OfReal from TColStd; 
115                 S : Shape from GeomAbs ) ;
116     ---C++: inline
117     --      
118     UTrim(me; First, Last, Tol : Real) returns HSurface from Adaptor3d ;
119      ---C++: inline
120      --      
121     VTrim(me; First, Last, Tol : Real) returns HSurface from Adaptor3d ;
122      ---C++: inline
123      --      
124     IsUClosed(me) returns Boolean ;
125     ---C++: inline
126      
127     IsVClosed(me) returns Boolean ;
128     ---C++: inline
129      
130     IsUPeriodic(me) returns Boolean ;
131     ---C++: inline
132     
133     UPeriod(me) returns Real ;
134     ---C++: inline
135      
136     IsVPeriodic(me) returns Boolean ;
137     ---C++: inline
138     
139     VPeriod(me) returns Real ;
140     ---C++: inline
141      
142     Value (me; U, V : Real)  returns Pnt from gp;
143     ---C++: inline
144
145     D0 (me; U, V : Real; P : out Pnt from gp) ;
146     ---C++: inline
147
148     D1 (me; U, V : Real; P : out Pnt from gp;
149             D1U, D1V : out Vec from gp) ;
150     ---C++: inline
151
152     D2 (me; U, V : Real; P : out Pnt from gp;
153             D1U, D1V, D2U, D2V, D2UV : out Vec from gp)  ; 
154     ---C++: inline
155
156
157     D3 (me; U, V : Real; P : out Pnt from gp; 
158             D1U, D1V, D2U, D2V, D2UV, 
159             D3U, D3V, D3UUV, D3UVV : out Vec from gp)  ; 
160     ---C++: inline
161
162     DN (me; U, V : Real; Nu, Nv : Integer)   returns Vec from gp  ; 
163     ---C++: inline
164     
165     UResolution(me; R3d : Real ) returns Real ;
166     ---C++: inline
167   
168     VResolution(me; R3d : Real ) returns Real ;
169     ---C++: inline
170   
171     GetType(me) returns SurfaceType from GeomAbs ;
172     ---C++: inline
173
174     Plane(me) returns Pln from gp ;
175     ---C++: inline
176
177     Cylinder(me) returns Cylinder from gp ;
178     ---C++: inline
179
180     Cone(me) returns Cone from gp ;
181     ---C++: inline
182
183     Sphere(me) returns Sphere from gp ;
184     ---C++: inline
185
186     Torus(me) returns Torus from gp ;
187     ---C++: inline
188
189     UDegree(me) returns Integer ;
190     ---C++: inline
191
192
193     NbUPoles(me) returns Integer ;
194         ---C++: inline
195
196     VDegree(me) returns Integer ;
197         ---C++: inline
198
199
200     NbVPoles(me) returns Integer ;
201         ---C++: inline
202
203
204     
205     NbUKnots(me) returns Integer ;
206         ---C++: inline
207
208     
209     NbVKnots(me) returns Integer ;
210         ---C++: inline
211
212     
213     IsURational(me) returns Boolean ;
214         ---C++: inline
215
216     
217     IsVRational(me) returns Boolean ;
218         ---C++: inline
219
220
221     Bezier(me) returns BezierSurface from Geom ;
222     ---C++: inline
223
224     BSpline(me) returns BSplineSurface from Geom ;
225     ---C++: inline
226
227    AxeOfRevolution(me) returns Ax1 from gp ;
228    ---C++: inline
229
230    Direction(me) returns Dir from gp ;
231    ---C++: inline
232
233    BasisCurve(me) returns HCurve from Adaptor3d ;
234     ---C++: inline
235    
236    BasisSurface(me) returns HSurface from Adaptor3d;
237     ---C++: inline
238
239    OffsetValue(me) returns Real from Standard;
240     ---C++: inline
241
242 end HSurface;
243
244
245
246