OCC Main Page | ModelingData | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

ModelingData
TKGeomBase
AdvApp2Var


AdvApp2Var_ApproxAFunc2Var Class Reference

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)
Standard_EXPORT 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)
Standard_EXPORT 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
Standard_EXPORT Handle_TColStd_HArray1OfReal MaxError (const Standard_Integer Dimension) const
 returns the errors max

Standard_EXPORT Handle_TColStd_HArray1OfReal AverageError (const Standard_Integer Dimension) const
 returns the average errors

Standard_EXPORT Handle_TColStd_HArray1OfReal UFrontError (const Standard_Integer Dimension) const
 returns the errors max on UFrontiers
Warning:
Dimension must be equal to 3.

Standard_EXPORT Handle_TColStd_HArray1OfReal VFrontError (const Standard_Integer Dimension) const
 returns the errors max on VFrontiers
Warning:
Dimension must be equal to 3.

Standard_EXPORT Standard_Real MaxError (const Standard_Integer Dimension, const Standard_Integer Index) const
 returns the error max of the BSplineSurface of range Index

Standard_EXPORT Standard_Real AverageError (const Standard_Integer Dimension, const Standard_Integer Index) const
 returns the average error of the BSplineSurface of range Index

Standard_EXPORT 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_EXPORT 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_EXPORT Standard_Real CritError (const Standard_Integer Dimension, const Standard_Integer Index) const
Standard_EXPORT void Dump (Standard_OStream &o) const
 Prints on the stream o informations on the current state
of the object.

.

Private Member Functions

Standard_EXPORT void Init ()
 Initialisation of the approximation ; used by Create
.
Standard_EXPORT void InitGrid (const Standard_Integer NbInt)
 Initialisation of the approximation with a grid of regular cuttings ;
used by Init and Perform
.
Standard_EXPORT void Perform (const AdvApprox_Cutting &UChoice, const AdvApprox_Cutting &VChoice, const AdvApp2Var_EvaluatorFunc2Var &Func)
 Computation of the approximation result ; used by Create
.
Standard_EXPORT void Perform (const AdvApprox_Cutting &UChoice, const AdvApprox_Cutting &VChoice, const AdvApp2Var_EvaluatorFunc2Var &Func, const AdvApp2Var_Criterion &Crit)
 Computation of the approximation result ; used by Create
.
Standard_EXPORT void ComputePatches (const AdvApprox_Cutting &UChoice, const AdvApprox_Cutting &VChoice, const AdvApp2Var_EvaluatorFunc2Var &Func)
 Computation of the polynomial approximations ; used by Perform
.
Standard_EXPORT void ComputePatches (const AdvApprox_Cutting &UChoice, const AdvApprox_Cutting &VChoice, const AdvApp2Var_EvaluatorFunc2Var &Func, const AdvApp2Var_Criterion &Crit)
 Computation of the polynomial approximations ; used by Perform
.
Standard_EXPORT void ComputeConstraints (const AdvApprox_Cutting &UChoice, const AdvApprox_Cutting &VChoice, const AdvApp2Var_EvaluatorFunc2Var &Func)
 Approximation of the constraints ; used by ComputePatches
.
Standard_EXPORT void ComputeConstraints (const AdvApprox_Cutting &UChoice, const AdvApprox_Cutting &VChoice, const AdvApp2Var_EvaluatorFunc2Var &Func, const AdvApp2Var_Criterion &Crit)
 Approximation of the constraints ; used by ComputePatches
.
Standard_EXPORT void Compute3DErrors ()
 Computation of the 3D errors on the approximation result ; used by Perform
.
Standard_EXPORT void ComputeCritError ()
 Computation of the max value of the criterion on the approximation result ;
used by Perform
.
Standard_EXPORT void ConvertBS ()
 Conversion of the approximation result in BSpline; used by Create
.

Private Attributes

Standard_Integer myNumSubSpaces [3]
Handle_TColStd_HArray1OfReal my1DTolerances
Handle_TColStd_HArray1OfReal my2DTolerances
Handle_TColStd_HArray1OfReal my3DTolerances
Handle_TColStd_HArray2OfReal my1DTolOnFront
Handle_TColStd_HArray2OfReal my2DTolOnFront
Handle_TColStd_HArray2OfReal my3DTolOnFront
Standard_Real myFirstParInU
Standard_Real myLastParInU
Standard_Real myFirstParInV
Standard_Real myLastParInV
GeomAbs_IsoType myFavoriteIso
GeomAbs_Shape myContInU
GeomAbs_Shape myContInV
Standard_Integer myPrecisionCode
Standard_Integer myMaxDegInU
Standard_Integer myMaxDegInV
Standard_Integer myMaxPatches
AdvApp2Var_EvaluatorFunc2Var myEvaluator
AdvApp2Var_Context myConditions
AdvApp2Var_Network myResult
AdvApp2Var_Framework myConstraints
Standard_Boolean myDone
Standard_Boolean myHasResult
Handle_TColGeom_HArray1OfSurface mySurfaces
Standard_Integer myDegreeInU
Standard_Integer myDegreeInV
Handle_TColStd_HArray1OfReal my1DMaxError
Handle_TColStd_HArray1OfReal my1DAverageError
Handle_TColStd_HArray1OfReal my1DUFrontError
Handle_TColStd_HArray1OfReal my1DVFrontError
Handle_TColStd_HArray1OfReal my2DMaxError
Handle_TColStd_HArray1OfReal my2DAverageError
Handle_TColStd_HArray1OfReal my2DUFrontError
Handle_TColStd_HArray1OfReal my2DVFrontError
Handle_TColStd_HArray1OfReal my3DMaxError
Handle_TColStd_HArray1OfReal my3DAverageError
Handle_TColStd_HArray1OfReal my3DUFrontError
Handle_TColStd_HArray1OfReal my3DVFrontError
Standard_Real myCriterionError


Constructor & Destructor Documentation

Standard_EXPORT 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
 

Standard_EXPORT 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

Standard_EXPORT Standard_Real AdvApp2Var_ApproxAFunc2Var::AverageError const Standard_Integer  Dimension,
const Standard_Integer  Index
const
 

Standard_EXPORT Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::AverageError const Standard_Integer  Dimension  )  const
 

Standard_EXPORT void AdvApp2Var_ApproxAFunc2Var::Compute3DErrors  )  [private]
 

Standard_EXPORT void AdvApp2Var_ApproxAFunc2Var::ComputeConstraints const AdvApprox_Cutting UChoice,
const AdvApprox_Cutting VChoice,
const AdvApp2Var_EvaluatorFunc2Var Func,
const AdvApp2Var_Criterion Crit
[private]
 

Standard_EXPORT void AdvApp2Var_ApproxAFunc2Var::ComputeConstraints const AdvApprox_Cutting UChoice,
const AdvApprox_Cutting VChoice,
const AdvApp2Var_EvaluatorFunc2Var Func
[private]
 

Standard_EXPORT void AdvApp2Var_ApproxAFunc2Var::ComputeCritError  )  [private]
 

Standard_EXPORT void AdvApp2Var_ApproxAFunc2Var::ComputePatches const AdvApprox_Cutting UChoice,
const AdvApprox_Cutting VChoice,
const AdvApp2Var_EvaluatorFunc2Var Func,
const AdvApp2Var_Criterion Crit
[private]
 

Standard_EXPORT void AdvApp2Var_ApproxAFunc2Var::ComputePatches const AdvApprox_Cutting UChoice,
const AdvApprox_Cutting VChoice,
const AdvApp2Var_EvaluatorFunc2Var Func
[private]
 

Standard_EXPORT void AdvApp2Var_ApproxAFunc2Var::ConvertBS  )  [private]
 

Standard_EXPORT Standard_Real AdvApp2Var_ApproxAFunc2Var::CritError const Standard_Integer  Dimension,
const Standard_Integer  Index
const
 

Standard_EXPORT void AdvApp2Var_ApproxAFunc2Var::Dump Standard_OStream &  o  )  const
 

Standard_Boolean AdvApp2Var_ApproxAFunc2Var::HasResult  )  const [inline]
 

Standard_EXPORT void AdvApp2Var_ApproxAFunc2Var::Init  )  [private]
 

Standard_EXPORT void AdvApp2Var_ApproxAFunc2Var::InitGrid const Standard_Integer  NbInt  )  [private]
 

Standard_Boolean AdvApp2Var_ApproxAFunc2Var::IsDone  )  const [inline]
 

Standard_EXPORT Standard_Real AdvApp2Var_ApproxAFunc2Var::MaxError const Standard_Integer  Dimension,
const Standard_Integer  Index
const
 

Standard_EXPORT Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::MaxError const Standard_Integer  Dimension  )  const
 

Standard_Integer AdvApp2Var_ApproxAFunc2Var::NumSubSpaces const Standard_Integer  Dimension  )  const [inline]
 

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]
 

Standard_EXPORT void AdvApp2Var_ApproxAFunc2Var::Perform const AdvApprox_Cutting UChoice,
const AdvApprox_Cutting VChoice,
const AdvApp2Var_EvaluatorFunc2Var Func,
const AdvApp2Var_Criterion Crit
[private]
 

Standard_EXPORT void AdvApp2Var_ApproxAFunc2Var::Perform const AdvApprox_Cutting UChoice,
const AdvApprox_Cutting VChoice,
const AdvApp2Var_EvaluatorFunc2Var Func
[private]
 

Handle_Geom_BSplineSurface AdvApp2Var_ApproxAFunc2Var::Surface const Standard_Integer  Index  )  const
 

Standard_Integer AdvApp2Var_ApproxAFunc2Var::UDegree  )  const [inline]
 

Standard_EXPORT Standard_Real AdvApp2Var_ApproxAFunc2Var::UFrontError const Standard_Integer  Dimension,
const Standard_Integer  Index
const
 

Standard_EXPORT Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::UFrontError const Standard_Integer  Dimension  )  const
 

Standard_Integer AdvApp2Var_ApproxAFunc2Var::VDegree  )  const [inline]
 

Standard_EXPORT Standard_Real AdvApp2Var_ApproxAFunc2Var::VFrontError const Standard_Integer  Dimension,
const Standard_Integer  Index
const
 

Standard_EXPORT Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::VFrontError const Standard_Integer  Dimension  )  const
 


Field Documentation

Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::my1DAverageError [private]
 

Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::my1DMaxError [private]
 

Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::my1DTolerances [private]
 

Handle_TColStd_HArray2OfReal AdvApp2Var_ApproxAFunc2Var::my1DTolOnFront [private]
 

Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::my1DUFrontError [private]
 

Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::my1DVFrontError [private]
 

Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::my2DAverageError [private]
 

Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::my2DMaxError [private]
 

Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::my2DTolerances [private]
 

Handle_TColStd_HArray2OfReal AdvApp2Var_ApproxAFunc2Var::my2DTolOnFront [private]
 

Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::my2DUFrontError [private]
 

Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::my2DVFrontError [private]
 

Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::my3DAverageError [private]
 

Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::my3DMaxError [private]
 

Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::my3DTolerances [private]
 

Handle_TColStd_HArray2OfReal AdvApp2Var_ApproxAFunc2Var::my3DTolOnFront [private]
 

Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::my3DUFrontError [private]
 

Handle_TColStd_HArray1OfReal AdvApp2Var_ApproxAFunc2Var::my3DVFrontError [private]
 

AdvApp2Var_Context AdvApp2Var_ApproxAFunc2Var::myConditions [private]
 

AdvApp2Var_Framework AdvApp2Var_ApproxAFunc2Var::myConstraints [private]
 

GeomAbs_Shape AdvApp2Var_ApproxAFunc2Var::myContInU [private]
 

GeomAbs_Shape AdvApp2Var_ApproxAFunc2Var::myContInV [private]
 

Standard_Real AdvApp2Var_ApproxAFunc2Var::myCriterionError [private]
 

Standard_Integer AdvApp2Var_ApproxAFunc2Var::myDegreeInU [private]
 

Standard_Integer AdvApp2Var_ApproxAFunc2Var::myDegreeInV [private]
 

Standard_Boolean AdvApp2Var_ApproxAFunc2Var::myDone [private]
 

AdvApp2Var_EvaluatorFunc2Var AdvApp2Var_ApproxAFunc2Var::myEvaluator [private]
 

GeomAbs_IsoType AdvApp2Var_ApproxAFunc2Var::myFavoriteIso [private]
 

Standard_Real AdvApp2Var_ApproxAFunc2Var::myFirstParInU [private]
 

Standard_Real AdvApp2Var_ApproxAFunc2Var::myFirstParInV [private]
 

Standard_Boolean AdvApp2Var_ApproxAFunc2Var::myHasResult [private]
 

Standard_Real AdvApp2Var_ApproxAFunc2Var::myLastParInU [private]
 

Standard_Real AdvApp2Var_ApproxAFunc2Var::myLastParInV [private]
 

Standard_Integer AdvApp2Var_ApproxAFunc2Var::myMaxDegInU [private]
 

Standard_Integer AdvApp2Var_ApproxAFunc2Var::myMaxDegInV [private]
 

Standard_Integer AdvApp2Var_ApproxAFunc2Var::myMaxPatches [private]
 

Standard_Integer AdvApp2Var_ApproxAFunc2Var::myNumSubSpaces[3] [private]
 

Standard_Integer AdvApp2Var_ApproxAFunc2Var::myPrecisionCode [private]
 

AdvApp2Var_Network AdvApp2Var_ApproxAFunc2Var::myResult [private]
 

Handle_TColGeom_HArray1OfSurface AdvApp2Var_ApproxAFunc2Var::mySurfaces [private]
 


The documentation for this class was generated from the following files:
Generated on Mon Aug 25 13:22:25 2008 for OpenCASCADE by  doxygen 1.4.1