0024428: Implementation of LGPL license
[occt.git] / src / BRepBlend / BRepBlend_AppSurface.cdl
1 -- Created on: 1996-11-25
2 -- Created by: Philippe MANGIN
3 -- Copyright (c) 1996-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 class AppSurface from BRepBlend inherits Approx from AppBlend
18
19         ---Purpose:Used to Approximate the blending surfaces.
20
21 uses Array2OfReal            from TColStd,
22      HArray2OfReal           from TColStd,
23      Array1OfReal            from TColStd,
24      HArray1OfReal           from TColStd,
25      Array1OfInteger         from TColStd,
26      HArray1OfInteger        from TColStd,     
27      Array1OfPnt2d           from TColgp,
28      Array2OfPnt             from TColgp,
29      HArray2OfPnt            from TColgp,
30
31      Shape                   from GeomAbs,
32      SweepFunction           from Approx, 
33      SweepApproximation      from Approx
34
35
36 raises NotDone     from StdFail,
37        DomainError,
38        OutOfRange
39
40 is
41     Create(Funct : in  out SweepFunction from Approx;
42            First,  Last  :  Real;
43            Tol3d,  Tol2d, TolAngular : Real;
44            Continuity : Shape = GeomAbs_C0;
45            Degmax     : Integer = 11;
46            Segmax     : Integer = 50)
47            ---Purpose: Approximation     of   the   new  Surface  (and
48            --          eventually the  2d    Curves   on the   support
49            --          surfaces).     
50            --          Normaly     the  2d    curve are
51            --          approximated  with an  tolerance   given  by   the
52            --          resolution on   support surfaces,  but  if this
53            --          tolerance is too large Tol2d  is used.
54         returns AppSurface from BRepBlend;
55          
56                  
57     IsDone(me)
58         returns Boolean from Standard
59         ---C++: inline  
60         is static;
61
62
63     SurfShape(me; UDegree,VDegree  : out Integer from Standard;
64                   NbUPoles,NbVPoles: out Integer from Standard;
65                   NbUKnots,NbVKnots: out Integer from Standard)
66         raises NotDone from StdFail
67         is static;
68
69
70     Surface(me; TPoles          : out Array2OfPnt from TColgp;
71                 TWeights        : out Array2OfReal from TColStd;
72                 TUKnots,TVKnots : out Array1OfReal from TColStd;
73                 TUMults,TVMults : out Array1OfInteger from TColStd)
74         raises NotDone from StdFail
75         is static;
76
77
78     UDegree(me)
79     
80         returns Integer from Standard
81         ---C++: inline
82
83         raises NotDone from StdFail
84         is static;
85
86
87     VDegree(me)
88     
89         returns Integer from Standard
90         ---C++: inline
91
92         raises NotDone from StdFail
93         is static;
94
95
96     SurfPoles(me)
97     
98         returns Array2OfPnt from TColgp
99         ---C++: inline
100         ---C++: return const&
101
102         raises NotDone from StdFail
103         is static;
104
105
106     SurfWeights(me)
107     
108         returns Array2OfReal from TColStd
109         ---C++: inline
110         ---C++: return const&
111
112         raises NotDone from StdFail
113         is static;
114
115
116     SurfUKnots(me)
117     
118         returns Array1OfReal from TColStd
119         ---C++: inline
120         ---C++: return const&
121
122         raises NotDone from StdFail
123         is static;
124
125
126     SurfVKnots(me)
127     
128         returns Array1OfReal from TColStd
129         ---C++: inline
130         ---C++: return const&
131
132         raises NotDone from StdFail
133         is static;
134
135
136     SurfUMults(me)
137     
138         returns Array1OfInteger from TColStd
139         ---C++: inline
140         ---C++: return const&
141
142         raises NotDone from StdFail
143         is static;
144
145
146     SurfVMults(me)
147     
148         returns Array1OfInteger from TColStd
149         ---C++: inline
150         ---C++: return const&
151
152         raises NotDone from StdFail
153         is static;
154         
155     MaxErrorOnSurf (me) 
156     ---Purpose: returns the maximum error in the suface approximation.
157     returns Real; 
158
159     NbCurves2d(me)
160     
161         returns Integer from Standard
162         ---C++: inline
163         
164         raises NotDone from StdFail
165         is static;
166
167
168     Curves2dShape(me; Degree,NbPoles,NbKnots: out Integer from Standard)
169     
170         raises NotDone from StdFail,
171                DomainError from Standard
172
173         is static;
174         
175         
176     Curve2d(me; Index: Integer from Standard;
177                 TPoles   : out Array1OfPnt2d from TColgp;
178                 TKnots   : out Array1OfReal from TColStd;
179                 TMults   : out Array1OfInteger from TColStd)
180                 
181         raises NotDone     from StdFail,
182                OutOfRange  from Standard,
183                DomainError from Standard
184
185         is static;     
186
187
188     Curves2dDegree(me)
189     
190         returns Integer from Standard
191         ---C++: inline
192         
193         raises NotDone from StdFail,
194                DomainError from Standard
195         is static;
196         
197         
198     Curve2dPoles(me; Index: Integer from Standard)
199     
200         returns Array1OfPnt2d from TColgp
201         ---C++: inline
202         ---C++: return const&
203         
204         raises NotDone     from StdFail,
205                OutOfRange  from Standard,
206                DomainError from Standard
207         is static;
208         
209
210     Curves2dKnots(me)
211     
212         returns Array1OfReal from TColStd
213         ---C++: inline
214         ---C++: return const&
215
216         raises NotDone from StdFail,
217                DomainError from Standard
218         is static;
219
220
221     Curves2dMults(me)    
222         returns Array1OfInteger from TColStd
223         ---C++: inline
224         ---C++: return const&
225         raises NotDone from StdFail,
226                DomainError from Standard
227         is static;
228         
229     
230     TolReached(me; Tol3d, Tol2d : out Real from Standard)
231         raises NotDone from StdFail 
232         is static;
233         
234     Max2dError (me; Index : Integer) 
235         ---Purpose: returns the maximum error in the <Index> 2d curve approximation.
236         returns Real   
237         raises NotDone from StdFail  
238         is  static; 
239
240     TolCurveOnSurf(me; Index  :  Integer  from Standard) 
241         returns  Real from Standard  
242         raises NotDone from StdFail
243         is static;      
244     
245     Dump(me; o: in out OStream);
246     ---Purpose: diplay information on approximation.
247
248 fields
249     approx    : SweepApproximation from Approx; 
250 end AppSurface;