1 -- Created on: 1996-03-05
2 -- Created by: Joelle CHAUVET
3 -- Copyright (c) 1996-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 -- Modified: Wed Jan 15 09:45:42 1997
19 -- G1135 : Approximation with criterion
20 -- class Criterion and enumeration CriterionType
21 -- G1134 : Approximation with regular cuttings
22 -- enumeration CriterionRepartition
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
49 enumeration CriterionType is
50 ---Purpose: influency of the criterion on cutting process
52 ---Purpose: cutting when criterion is not satisfied
53 -- desactivation of the compute of the error max
55 ---Purpose: cutting when error max is not good or if error
56 -- max is good and criterion is not satisfied
61 enumeration CriterionRepartition is
62 ---Purpose: way of cutting process
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
69 ---Purpose: add one new cutting point at each step
72 end CriterionRepartition;
79 class ApproxAFunc2Var from AdvApp2Var ;
81 -- this class approximates a given function of 2 variables
83 imported EvaluatorFunc2Var ;
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
99 deferred class Criterion from AdvApp2Var ;
101 -- this class contains a given criterion to be satisfied
106 -- private classes for Data
111 class Context from AdvApp2Var;
113 -- contains all the parameters for approximation
114 -- ( tolerancy, computing option, ...)
117 class Node from AdvApp2Var;
119 -- used to store constraints on a (Ui,Vj) point
122 class Iso from AdvApp2Var;
124 -- used to store constraints on a line U = Ui or V = Vj
127 class Patch from AdvApp2Var;
129 -- used to store results on a domain [Ui,Ui+1]x[Vj,Vj+1]
132 class Strip from AdvApp2Var instantiates
133 Sequence from TCollection (Iso from AdvApp2Var);
135 -- set of constraints along a same type of Iso on the same level
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);
152 class Network from AdvApp2Var;
153 -- contains all the result patches and the associated parameters U and V
156 class Framework from AdvApp2Var;
157 -- contains all the constraints (Nodes and Isos)