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
#include <AdvApp2Var_ApproxAFunc2Var.hxx>
Public Member Functions |
| void * | operator new (size_t, void *anAddress) |
| void * | operator new (size_t size) |
| void | operator delete (void *anAddress) |
| | AdvApp2Var_ApproxAFunc2Var (const Standard_Integer Num1DSS, const Standard_Integer Num2DSS, const Standard_Integer Num3DSS, const Handle< TColStd_HArray1OfReal > &OneDTol, const Handle< TColStd_HArray1OfReal > &TwoDTol, const Handle< TColStd_HArray1OfReal > &ThreeDTol, const Handle< TColStd_HArray2OfReal > &OneDTolFr, const Handle< TColStd_HArray2OfReal > &TwoDTolFr, const Handle< TColStd_HArray2OfReal > &ThreeDTolFr, const Standard_Real FirstInU, const Standard_Real LastInU, const Standard_Real FirstInV, const Standard_Real LastInV, const GeomAbs_IsoType FavorIso, const GeomAbs_Shape ContInU, const GeomAbs_Shape ContInV, const Standard_Integer PrecisCode, const Standard_Integer MaxDegInU, const Standard_Integer MaxDegInV, const Standard_Integer MaxPatch, const AdvApp2Var_EvaluatorFunc2Var &Func, AdvApprox_Cutting &UChoice, AdvApprox_Cutting &VChoice) |
| | AdvApp2Var_ApproxAFunc2Var (const Standard_Integer Num1DSS, const Standard_Integer Num2DSS, const Standard_Integer Num3DSS, const Handle< TColStd_HArray1OfReal > &OneDTol, const Handle< TColStd_HArray1OfReal > &TwoDTol, const Handle< TColStd_HArray1OfReal > &ThreeDTol, const Handle< TColStd_HArray2OfReal > &OneDTolFr, const Handle< TColStd_HArray2OfReal > &TwoDTolFr, const Handle< TColStd_HArray2OfReal > &ThreeDTolFr, const Standard_Real FirstInU, const Standard_Real LastInU, const Standard_Real FirstInV, const Standard_Real LastInV, const GeomAbs_IsoType FavorIso, const GeomAbs_Shape ContInU, const GeomAbs_Shape ContInV, const Standard_Integer PrecisCode, const Standard_Integer MaxDegInU, const Standard_Integer MaxDegInV, const Standard_Integer MaxPatch, const AdvApp2Var_EvaluatorFunc2Var &Func, const AdvApp2Var_Criterion &Crit, AdvApprox_Cutting &UChoice, AdvApprox_Cutting &VChoice) |
| Standard_Boolean | IsDone () const |
| | True if the approximation succeeded within the imposed
tolerances and the wished continuities
|
| Standard_Boolean | HasResult () const |
| | True if the approximation did come out with a result that
is not NECESSARELY within the required tolerance or a result
that is not recognized with the wished continuities
|
| Handle_Geom_BSplineSurface | Surface (const Standard_Integer Index) const |
| | returns the BSplineSurface of range Index
|
| Standard_Integer | UDegree () const |
| Standard_Integer | VDegree () const |
| Standard_Integer | NumSubSpaces (const Standard_Integer Dimension) const |
| Handle_TColStd_HArray1OfReal | MaxError (const Standard_Integer Dimension) const |
| | returns the errors max
|
| Handle_TColStd_HArray1OfReal | AverageError (const Standard_Integer Dimension) const |
| | returns the average errors
|
| Handle_TColStd_HArray1OfReal | UFrontError (const Standard_Integer Dimension) const |
| | returns the errors max on UFrontiers
Warning:
Dimension must be equal to 3.
|
| Handle_TColStd_HArray1OfReal | VFrontError (const Standard_Integer Dimension) const |
| | returns the errors max on VFrontiers
Warning:
Dimension must be equal to 3.
|
| Standard_Real | MaxError (const Standard_Integer Dimension, const Standard_Integer Index) const |
| | returns the error max of the BSplineSurface of range Index
|
| Standard_Real | AverageError (const Standard_Integer Dimension, const Standard_Integer Index) const |
| | returns the average error of the BSplineSurface of range Index
|
| Standard_Real | UFrontError (const Standard_Integer Dimension, const Standard_Integer Index) const |
| | returns the error max of the BSplineSurface of range Index on a UFrontier
|
| Standard_Real | VFrontError (const Standard_Integer Dimension, const Standard_Integer Index) const |
| | returns the error max of the BSplineSurface of range Index on a VFrontier
|
| Standard_Real | CritError (const Standard_Integer Dimension, const Standard_Integer Index) const |
| void | Dump (Standard_OStream &o) const |
| | Prints on the stream o informations on the current state
of the object.
|
Constructor & Destructor Documentation
| AdvApp2Var_ApproxAFunc2Var::AdvApp2Var_ApproxAFunc2Var |
( |
const Standard_Integer |
Num1DSS, |
|
|
const Standard_Integer |
Num2DSS, |
|
|
const Standard_Integer |
Num3DSS, |
|
|
const Handle< TColStd_HArray1OfReal > & |
OneDTol, |
|
|
const Handle< TColStd_HArray1OfReal > & |
TwoDTol, |
|
|
const Handle< TColStd_HArray1OfReal > & |
ThreeDTol, |
|
|
const Handle< TColStd_HArray2OfReal > & |
OneDTolFr, |
|
|
const Handle< TColStd_HArray2OfReal > & |
TwoDTolFr, |
|
|
const Handle< TColStd_HArray2OfReal > & |
ThreeDTolFr, |
|
|
const Standard_Real |
FirstInU, |
|
|
const Standard_Real |
LastInU, |
|
|
const Standard_Real |
FirstInV, |
|
|
const Standard_Real |
LastInV, |
|
|
const GeomAbs_IsoType |
FavorIso, |
|
|
const GeomAbs_Shape |
ContInU, |
|
|
const GeomAbs_Shape |
ContInV, |
|
|
const Standard_Integer |
PrecisCode, |
|
|
const Standard_Integer |
MaxDegInU, |
|
|
const Standard_Integer |
MaxDegInV, |
|
|
const Standard_Integer |
MaxPatch, |
|
|
const AdvApp2Var_EvaluatorFunc2Var & |
Func, |
|
|
AdvApprox_Cutting & |
UChoice, |
|
|
AdvApprox_Cutting & |
VChoice |
|
) |
| |
| AdvApp2Var_ApproxAFunc2Var::AdvApp2Var_ApproxAFunc2Var |
( |
const Standard_Integer |
Num1DSS, |
|
|
const Standard_Integer |
Num2DSS, |
|
|
const Standard_Integer |
Num3DSS, |
|
|
const Handle< TColStd_HArray1OfReal > & |
OneDTol, |
|
|
const Handle< TColStd_HArray1OfReal > & |
TwoDTol, |
|
|
const Handle< TColStd_HArray1OfReal > & |
ThreeDTol, |
|
|
const Handle< TColStd_HArray2OfReal > & |
OneDTolFr, |
|
|
const Handle< TColStd_HArray2OfReal > & |
TwoDTolFr, |
|
|
const Handle< TColStd_HArray2OfReal > & |
ThreeDTolFr, |
|
|
const Standard_Real |
FirstInU, |
|
|
const Standard_Real |
LastInU, |
|
|
const Standard_Real |
FirstInV, |
|
|
const Standard_Real |
LastInV, |
|
|
const GeomAbs_IsoType |
FavorIso, |
|
|
const GeomAbs_Shape |
ContInU, |
|
|
const GeomAbs_Shape |
ContInV, |
|
|
const Standard_Integer |
PrecisCode, |
|
|
const Standard_Integer |
MaxDegInU, |
|
|
const Standard_Integer |
MaxDegInV, |
|
|
const Standard_Integer |
MaxPatch, |
|
|
const AdvApp2Var_EvaluatorFunc2Var & |
Func, |
|
|
const AdvApp2Var_Criterion & |
Crit, |
|
|
AdvApprox_Cutting & |
UChoice, |
|
|
AdvApprox_Cutting & |
VChoice |
|
) |
| |
Member Function Documentation
| Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::AverageError |
( |
const Standard_Integer |
Dimension | ) |
const |
| Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::MaxError |
( |
const Standard_Integer |
Dimension | ) |
const |
| void AdvApp2Var_ApproxAFunc2Var::operator delete |
( |
void * |
anAddress | ) |
[inline] |
| void* AdvApp2Var_ApproxAFunc2Var::operator new |
( |
size_t |
size | ) |
[inline] |
| void* AdvApp2Var_ApproxAFunc2Var::operator new |
( |
size_t |
, |
|
|
void * |
anAddress |
|
) |
| [inline] |
| Handle_Geom_BSplineSurface AdvApp2Var_ApproxAFunc2Var::Surface |
( |
const Standard_Integer |
Index | ) |
const |
| Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::UFrontError |
( |
const Standard_Integer |
Dimension | ) |
const |
| Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::VFrontError |
( |
const Standard_Integer |
Dimension | ) |
const |
The documentation for this class was generated from the following file: