0023024: Update headers of OCCT files
[occt.git] / src / BRepApprox / BRepApprox_SurfaceToolGen.cdl
1 -- Created on: 1995-07-20
2 -- Created by: Modelistation
3 -- Copyright (c) 1995-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
24 generic class SurfaceToolGen from BRepApprox 
25     (TheSurface as any)
26                                  
27                                  
28 uses 
29    
30    Shape        from GeomAbs,
31    SurfaceType  from GeomAbs,
32    Pln          from gp,
33    Cone         from gp,
34    Cylinder     from gp,
35    Sphere       from gp,
36    Torus        from gp, 
37    Pnt          from gp,
38    Vec          from gp,
39    Array1OfReal from TColStd,
40    BezierSurface   from Geom,
41    BSplineSurface  from Geom,
42    HSurface     from Adaptor3d,
43    HCurve       from Adaptor3d,
44    Ax1          from gp,
45    Dir          from gp
46
47 raises 
48
49    NoSuchObject from Standard,
50    OutOfRange   from Standard
51
52 is 
53   
54     FirstUParameter(myclass; S: TheSurface)
55         ---C++: inline
56         returns Real from Standard;
57         
58     FirstVParameter(myclass; S: TheSurface)
59         ---C++: inline
60         returns Real from Standard;
61
62     LastUParameter(myclass; S: TheSurface)
63         ---C++: inline
64         returns Real from Standard;
65
66     LastVParameter(myclass; S: TheSurface)
67         ---C++: inline
68         returns Real from Standard;
69
70
71
72     NbUIntervals(myclass; S: TheSurface;
73                           Sh : Shape from GeomAbs)
74         ---C++: inline
75         returns Integer from Standard;
76
77     NbVIntervals(myclass; S: TheSurface;
78                           Sh : Shape from GeomAbs) 
79         ---C++: inline 
80         returns Integer from Standard;
81
82
83
84     UIntervals(myclass; S  : TheSurface;
85                         T  : in out Array1OfReal from TColStd; 
86                         Sh : Shape from GeomAbs);
87         ---C++: inline
88
89     VIntervals(myclass; S  : TheSurface;
90                         T  : in out Array1OfReal from TColStd; 
91                         Sh : Shape from GeomAbs) ;
92         ---C++: inline 
93
94
95    UTrim(myclass; S : TheSurface;
96                   First, Last, Tol : Real) 
97         ---C++: inline
98     returns HSurface from Adaptor3d
99     raises
100         OutOfRange from Standard;
101         ---Purpose: If <First> >= <Last> 
102     
103    VTrim(myclass; S : TheSurface;
104                   First, Last, Tol : Real) 
105         ---C++: inline
106     returns HSurface from Adaptor3d
107     raises
108         OutOfRange from Standard;
109         ---Purpose: If <First> >= <Last> 
110     
111
112     IsUClosed(myclass; S: TheSurface) 
113         ---C++: inline
114         returns Boolean from Standard;
115
116     IsVClosed(myclass; S: TheSurface) 
117         ---C++: inline
118         returns Boolean from Standard;
119     
120
121     IsUPeriodic(myclass; S: TheSurface) 
122         ---C++: inline
123         returns Boolean from Standard;
124
125     UPeriod(myclass; S: TheSurface) 
126         ---C++: inline
127         returns Real from Standard;
128         
129     IsVPeriodic(myclass; S: TheSurface) 
130         ---C++: inline
131         returns Boolean from Standard;
132     
133     VPeriod(myclass; S: TheSurface) 
134         ---C++: inline
135         returns Real from Standard;
136         
137
138
139     Value(myclass; S   : TheSurface;
140                    u,v : Real from Standard)
141         ---C++: inline
142         returns Pnt from gp;
143
144     D0(myclass; S   : TheSurface; 
145                 u,v : Real from Standard;
146                 P   : out Pnt from gp);
147         ---C++: inline 
148
149     D1(myclass; S      : TheSurface; 
150                 u,v    : Real from Standard; 
151                 P      : out Pnt from gp;
152                 D1u,D1v: out Vec from gp); 
153         ---C++: inline 
154         
155     D2(myclass; S      : TheSurface; 
156                 u,v    : Real from Standard; 
157                 P      : out Pnt from gp;
158                 D1U,D1V,D2U,D2V,D2UV: out Vec from gp); 
159         ---C++: inline 
160         
161     D3(myclass; S      : TheSurface; 
162                 u,v    : Real from Standard; 
163                 P      : out Pnt from gp;
164                 D1U, D1V, D2U, D2V, D2UV, D3U, D3V, D3UUV, D3UVV: out Vec from gp); 
165         ---C++: inline 
166         
167     DN(myclass; S      : TheSurface; 
168                 u,v    : Real from Standard; 
169                 Nu,Nv  : Integer from Standard)
170         ---C++: inline 
171     returns Vec from gp;
172         
173
174
175     UResolution(myclass; S:TheSurface; R3d: Real from Standard) 
176         ---C++: inline
177         returns Real from Standard;
178
179     VResolution(myclass; S:TheSurface; R3d: Real from Standard)
180         ---C++: inline
181         returns Real from Standard;
182
183     GetType(myclass; S: TheSurface)
184         ---C++: inline
185         returns SurfaceType from GeomAbs;
186
187
188     Plane(myclass; S: TheSurface) 
189         ---C++: inline
190         returns Pln from gp;
191         
192     Cylinder(myclass; S : TheSurface) returns Cylinder from gp
193       raises NoSuchObject from Standard;
194         ---C++: inline
195
196     
197     Cone(myclass; S : TheSurface) returns Cone from gp
198       raises NoSuchObject from Standard;
199         ---C++: inline
200
201     Torus(myclass; S : TheSurface) returns Torus from gp    
202       raises NoSuchObject from Standard;
203         ---C++: inline
204
205
206     Sphere(myclass; S : TheSurface) returns Sphere from gp
207       raises NoSuchObject from Standard;
208         ---C++: inline
209
210     Bezier(myclass; S : TheSurface) returns BezierSurface from  Geom
211       raises NoSuchObject from Standard;
212         ---C++: inline
213
214     BSpline(myclass; S : TheSurface) returns BSplineSurface  from  Geom
215       raises NoSuchObject from Standard;
216         ---C++: inline
217     
218     AxeOfRevolution(myclass; S: TheSurface) returns Ax1 from  gp 
219       raises NoSuchObject from Standard;
220         ---C++: inline
221
222     Direction(myclass; S: TheSurface) returns Dir from gp
223       raises NoSuchObject from Standard;
224         ---C++: inline
225
226     BasisCurve(myclass; S:TheSurface) returns HCurve from Adaptor3d 
227       raises NoSuchObject from Standard;
228         ---C++: inline
229   
230
231 --------------------------------------------------------------------------------
232
233
234     NbSamplesU(myclass; S : TheSurface) returns Integer from Standard; 
235
236        
237     NbSamplesV(myclass; S : TheSurface) returns Integer from Standard;    
238
239
240     NbSamplesU(myclass; S : TheSurface; u1,u2: Real from Standard) returns Integer from Standard; 
241
242        
243     NbSamplesV(myclass; S : TheSurface; v1,v2: Real from Standard) returns Integer from Standard;    
244
245
246
247 end SurfaceToolGen from BRepApprox ;