Open CASCADE Technology 6.5.2
Data Structures
AdvApp2Var_ApproxAFunc2Var.hxx File Reference
#include <Standard.hxx>
#include <Standard_Macro.hxx>
#include <Standard_Integer.hxx>
#include <Handle_TColStd_HArray1OfReal.hxx>
#include <Handle_TColStd_HArray2OfReal.hxx>
#include <Standard_Real.hxx>
#include <GeomAbs_IsoType.hxx>
#include <GeomAbs_Shape.hxx>
#include <AdvApp2Var_EvaluatorFunc2Var.hxx>
#include <AdvApp2Var_Context.hxx>
#include <AdvApp2Var_Network.hxx>
#include <AdvApp2Var_Framework.hxx>
#include <Standard_Boolean.hxx>
#include <Handle_TColGeom_HArray1OfSurface.hxx>
#include <Handle_Geom_BSplineSurface.hxx>
#include <Standard_OStream.hxx>
#include <AdvApp2Var_ApproxAFunc2Var.lxx>

Data Structures

class  AdvApp2Var_ApproxAFunc2Var
 Perform the approximation of <Func> F(U,V)
Arguments are :
Num1DSS, Num2DSS, Num3DSS :The numbers of 1,2,3 dimensional subspaces
OneDTol, TwoDTol, ThreeDTol: The tolerance of approximation in each
subspaces
OneDTolFr, TwoDTolFr, ThreeDTolFr: The tolerance of approximation on
the boundarys in each subspaces
[FirstInU, LastInU]: The Bounds in U of the Approximation
[FirstInV, LastInV]: The Bounds in V of the Approximation
FavorIso : Give preference to extract u-iso or v-iso on F(U,V)
This can be usefull to optimize the <Func> methode
ContInU, ContInV : Continuity waiting in u and v
PrecisCode : Precision on approximation's error mesurement
1 : Fast computation and average precision
2 : Average computation and good precision
3 : Slow computation and very good precision
MaxDegInU : Maximum u-degree waiting in U
MaxDegInV : Maximum u-degree waiting in V
Warning:
MaxDegInU (resp. MaxDegInV) must be >= 2*iu (resp. iv) + 1,
where iu (resp. iv) = 0 if ContInU (resp. ContInV) = GeomAbs_C0,
= 1 if = GeomAbs_C1,
= 2 if = GeomAbs_C2.
MaxPatch : Maximun number of Patch waiting
number of Patch is number of u span * number of v span
Func : The external method to evaluate F(U,V)
Crit : To (re)defined condition of convergence
UChoice, VChoice : To define the way in U (or V) Knot insertion
Warning:
for the moment, the result is a 3D Surface
so Num1DSS and Num2DSS must be equals to 0
and Num3DSS must be equal to 1.
Warning:
the Function of type EvaluatorFunc2Var from Approx
must be an extern "C" function

The evaluator Function has the following type :
typedef void (* AdvApp2Var_EvaluatorFunc2Var)
(Standard_Integer *, // Total Dimension
Standard_Real *, // StartEndInU[2]
Standard_Real *, // StartEndInV[2]
Standard_Integer *, // 1 for U = cte
// 2 for V = cte
Standard_Real *, // Value of cte
Standard_Integer *, // Number N of parameters
Standard_Real *, // Tab[N] of parameters at
// which evaluation
// should take place
Standard_Integer *, // U-Derivative Request
Standard_Integer *, // V-Derivative Request
Standard_Real *, // Result[Dimension,N]
Standard_Integer * // Error Code
) ;

the result should be formatted in the following way :
<--Num1DSS--> <--2 * Num2DSS--> <--3 * Num3DSS-->
R[0,0] .... R[Num1DSS,0]..... R[Dimension-1,0] for the 1st parameter
R[0,i] .... R[Num1DSS,i]..... R[Dimension-1,i] for the ith parameter
R[0,N-1] .... R[Num1DSS,N-1].... R[Dimension-1,N-1] for the Nth parameter
More...
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines