0024428: Implementation of LGPL license
[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-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and / or modify it
9 -- under the terms of the GNU Lesser General Public version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 generic class SurfaceToolGen from BRepApprox 
18     (TheSurface as any)
19                                  
20                                  
21 uses 
22    
23    Shape        from GeomAbs,
24    SurfaceType  from GeomAbs,
25    Pln          from gp,
26    Cone         from gp,
27    Cylinder     from gp,
28    Sphere       from gp,
29    Torus        from gp, 
30    Pnt          from gp,
31    Vec          from gp,
32    Array1OfReal from TColStd,
33    BezierSurface   from Geom,
34    BSplineSurface  from Geom,
35    HSurface     from Adaptor3d,
36    HCurve       from Adaptor3d,
37    Ax1          from gp,
38    Dir          from gp
39
40 raises 
41
42    NoSuchObject from Standard,
43    OutOfRange   from Standard
44
45 is 
46   
47     FirstUParameter(myclass; S: TheSurface)
48         ---C++: inline
49         returns Real from Standard;
50         
51     FirstVParameter(myclass; S: TheSurface)
52         ---C++: inline
53         returns Real from Standard;
54
55     LastUParameter(myclass; S: TheSurface)
56         ---C++: inline
57         returns Real from Standard;
58
59     LastVParameter(myclass; S: TheSurface)
60         ---C++: inline
61         returns Real from Standard;
62
63
64
65     NbUIntervals(myclass; S: TheSurface;
66                           Sh : Shape from GeomAbs)
67         ---C++: inline
68         returns Integer from Standard;
69
70     NbVIntervals(myclass; S: TheSurface;
71                           Sh : Shape from GeomAbs) 
72         ---C++: inline 
73         returns Integer from Standard;
74
75
76
77     UIntervals(myclass; S  : TheSurface;
78                         T  : in out Array1OfReal from TColStd; 
79                         Sh : Shape from GeomAbs);
80         ---C++: inline
81
82     VIntervals(myclass; S  : TheSurface;
83                         T  : in out Array1OfReal from TColStd; 
84                         Sh : Shape from GeomAbs) ;
85         ---C++: inline 
86
87
88    UTrim(myclass; S : TheSurface;
89                   First, Last, Tol : Real) 
90         ---C++: inline
91     returns HSurface from Adaptor3d
92     raises
93         OutOfRange from Standard;
94         ---Purpose: If <First> >= <Last> 
95     
96    VTrim(myclass; S : TheSurface;
97                   First, Last, Tol : Real) 
98         ---C++: inline
99     returns HSurface from Adaptor3d
100     raises
101         OutOfRange from Standard;
102         ---Purpose: If <First> >= <Last> 
103     
104
105     IsUClosed(myclass; S: TheSurface) 
106         ---C++: inline
107         returns Boolean from Standard;
108
109     IsVClosed(myclass; S: TheSurface) 
110         ---C++: inline
111         returns Boolean from Standard;
112     
113
114     IsUPeriodic(myclass; S: TheSurface) 
115         ---C++: inline
116         returns Boolean from Standard;
117
118     UPeriod(myclass; S: TheSurface) 
119         ---C++: inline
120         returns Real from Standard;
121         
122     IsVPeriodic(myclass; S: TheSurface) 
123         ---C++: inline
124         returns Boolean from Standard;
125     
126     VPeriod(myclass; S: TheSurface) 
127         ---C++: inline
128         returns Real from Standard;
129         
130
131
132     Value(myclass; S   : TheSurface;
133                    u,v : Real from Standard)
134         ---C++: inline
135         returns Pnt from gp;
136
137     D0(myclass; S   : TheSurface; 
138                 u,v : Real from Standard;
139                 P   : out Pnt from gp);
140         ---C++: inline 
141
142     D1(myclass; S      : TheSurface; 
143                 u,v    : Real from Standard; 
144                 P      : out Pnt from gp;
145                 D1u,D1v: out Vec from gp); 
146         ---C++: inline 
147         
148     D2(myclass; S      : TheSurface; 
149                 u,v    : Real from Standard; 
150                 P      : out Pnt from gp;
151                 D1U,D1V,D2U,D2V,D2UV: out Vec from gp); 
152         ---C++: inline 
153         
154     D3(myclass; S      : TheSurface; 
155                 u,v    : Real from Standard; 
156                 P      : out Pnt from gp;
157                 D1U, D1V, D2U, D2V, D2UV, D3U, D3V, D3UUV, D3UVV: out Vec from gp); 
158         ---C++: inline 
159         
160     DN(myclass; S      : TheSurface; 
161                 u,v    : Real from Standard; 
162                 Nu,Nv  : Integer from Standard)
163         ---C++: inline 
164     returns Vec from gp;
165         
166
167
168     UResolution(myclass; S:TheSurface; R3d: Real from Standard) 
169         ---C++: inline
170         returns Real from Standard;
171
172     VResolution(myclass; S:TheSurface; R3d: Real from Standard)
173         ---C++: inline
174         returns Real from Standard;
175
176     GetType(myclass; S: TheSurface)
177         ---C++: inline
178         returns SurfaceType from GeomAbs;
179
180
181     Plane(myclass; S: TheSurface) 
182         ---C++: inline
183         returns Pln from gp;
184         
185     Cylinder(myclass; S : TheSurface) returns Cylinder from gp
186       raises NoSuchObject from Standard;
187         ---C++: inline
188
189     
190     Cone(myclass; S : TheSurface) returns Cone from gp
191       raises NoSuchObject from Standard;
192         ---C++: inline
193
194     Torus(myclass; S : TheSurface) returns Torus from gp    
195       raises NoSuchObject from Standard;
196         ---C++: inline
197
198
199     Sphere(myclass; S : TheSurface) returns Sphere from gp
200       raises NoSuchObject from Standard;
201         ---C++: inline
202
203     Bezier(myclass; S : TheSurface) returns BezierSurface from  Geom
204       raises NoSuchObject from Standard;
205         ---C++: inline
206
207     BSpline(myclass; S : TheSurface) returns BSplineSurface  from  Geom
208       raises NoSuchObject from Standard;
209         ---C++: inline
210     
211     AxeOfRevolution(myclass; S: TheSurface) returns Ax1 from  gp 
212       raises NoSuchObject from Standard;
213         ---C++: inline
214
215     Direction(myclass; S: TheSurface) returns Dir from gp
216       raises NoSuchObject from Standard;
217         ---C++: inline
218
219     BasisCurve(myclass; S:TheSurface) returns HCurve from Adaptor3d 
220       raises NoSuchObject from Standard;
221         ---C++: inline
222   
223
224 --------------------------------------------------------------------------------
225
226
227     NbSamplesU(myclass; S : TheSurface) returns Integer from Standard; 
228
229        
230     NbSamplesV(myclass; S : TheSurface) returns Integer from Standard;    
231
232
233     NbSamplesU(myclass; S : TheSurface; u1,u2: Real from Standard) returns Integer from Standard; 
234
235        
236     NbSamplesV(myclass; S : TheSurface; v1,v2: Real from Standard) returns Integer from Standard;    
237
238
239
240 end SurfaceToolGen from BRepApprox ;