0024530: TKMesh - remove unused package IntPoly
[occt.git] / src / AdvApp2Var / AdvApp2Var.cdl
CommitLineData
b311480e 1-- Created on: 1996-03-05
2-- Created by: Joelle CHAUVET
3-- Copyright (c) 1996-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
973c2be1 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.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
b311480e 16
7fd59977 17-- Modified: Wed Jan 15 09:45:42 1997
18-- by: Joelle CHAUVET
19-- G1135 : Approximation with criterion
20-- class Criterion and enumeration CriterionType
21-- G1134 : Approximation with regular cuttings
22-- enumeration CriterionRepartition
7fd59977 23
24
25
26package AdvApp2Var
27
28 ---Purpose: This package provides algorithms to approximate a
29 -- function of 2 variables that can be multidimensional;
30 -- the result is a BSpline function with the required continuity
31 -- Warning: only one 3D BSpline for the moment
32 --
33
34
35
36uses
37 gp,
38 Geom,
39 GeomAbs,
40 TColStd,
41 TColgp,
42 TColGeom,
43 TCollection,
44 AdvApprox,
45 Standard
46
47is
48
49 enumeration CriterionType is
50 ---Purpose: influency of the criterion on cutting process
51 Absolute,
52 ---Purpose: cutting when criterion is not satisfied
53 -- desactivation of the compute of the error max
54 Relative
55 ---Purpose: cutting when error max is not good or if error
56 -- max is good and criterion is not satisfied
57
58 end CriterionType;
59
60
61 enumeration CriterionRepartition is
62 ---Purpose: way of cutting process
63 Regular,
64 ---Purpose: all new cutting points at each step of cutting
65 -- process : (a+i(b-a)/N)i at step N,
66 -- (a+i(b-a)/(N+1))i at step N+1,...
67 -- where (a,b) is the global interval
68 Incremental
69 ---Purpose: add one new cutting point at each step
70 -- of cutting process
71
72 end CriterionRepartition;
73 --
74 --
75 -- public classes
76 --
77 --
78
79 class ApproxAFunc2Var from AdvApp2Var ;
80 ---Purpose:
81 -- this class approximates a given function of 2 variables
82
83 imported EvaluatorFunc2Var ;
84 ---Purpose:
85 -- typedef void (*EvaluatorFunc2Var) (
86 -- Standard_Integer * -- dimension
87 -- Standard_Real * -- first and last parameters in U
88 -- Standard_Real * -- first and last parameters in V
89 -- Standard_Integer * -- choice of constante, 1 for U, 2 for V
90 -- Standard_Real * -- value of constant parameter
91 -- Standard_Integer * -- number of parameters
92 -- Standard_Real * -- values of parameters
93 -- Standard_Integer * -- order of derivation in U
94 -- Standard_Integer * -- order of derivation in V
95 -- Standard_Real * -- evaluation
96 -- Standard_Integer * -- error code
97 -- ) ;
98
99 deferred class Criterion from AdvApp2Var ;
100 ---Purpose:
101 -- this class contains a given criterion to be satisfied
102
103
104 --
105 --
106 -- private classes for Data
107 --
108 --
109 -- Basic Data
110
111 class Context from AdvApp2Var;
112 ---Purpose :
113 -- contains all the parameters for approximation
114 -- ( tolerancy, computing option, ...)
115 --
116
117 class Node from AdvApp2Var;
118 ---Purpose :
119 -- used to store constraints on a (Ui,Vj) point
120 --
121
122 class Iso from AdvApp2Var;
123 ---Purpose :
124 -- used to store constraints on a line U = Ui or V = Vj
125 --
126
127 class Patch from AdvApp2Var;
128 ---Purpose :
129 -- used to store results on a domain [Ui,Ui+1]x[Vj,Vj+1]
130 --
131
132 class Strip from AdvApp2Var instantiates
133 Sequence from TCollection (Iso from AdvApp2Var);
134 ---Purpose :
135 -- set of constraints along a same type of Iso on the same level
136
137 --
138 --
139 -- Structured Data
140
141 class SequenceOfNode from AdvApp2Var instantiates
142 Sequence from TCollection (Node from AdvApp2Var);
143 class SequenceOfPatch from AdvApp2Var instantiates
144 Sequence from TCollection (Patch from AdvApp2Var);
145 class SequenceOfStrip from AdvApp2Var instantiates
146 Sequence from TCollection (Strip from AdvApp2Var);
147
148 --
149 --
150 -- Final Data
151
152 class Network from AdvApp2Var;
153 -- contains all the result patches and the associated parameters U and V
154 --
155
156 class Framework from AdvApp2Var;
157 -- contains all the constraints (Nodes and Isos)
158 --
159
160
161end AdvApp2Var;
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222