Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
Approx_SweepApproximation Class Reference

Approximation of an Surface S(u,v) (and eventually associate 2d Curves) defined by section's law. More...

#include <Approx_SweepApproximation.hxx>

Public Member Functions

 Approx_SweepApproximation (const occ::handle< Approx_SweepFunction > &Func)
 
void Perform (const double First, const double Last, const double Tol3d, const double BoundTol, const double Tol2d, const double TolAngular, const GeomAbs_Shape Continuity=GeomAbs_C0, const int Degmax=11, const int Segmax=50)
 Perform the Approximation [First, Last] : Approx_SweepApproximation.cdl Tol3d : Tolerance to surface approximation Tol2d : Tolerance used to perform curve approximation Normally the 2d curve are approximated with a tolerance given by the resolution on support surfaces, but if this tolerance is too large Tol2d is used. TolAngular : Tolerance (in radian) to control the angle between tangents on the section law and tangent of iso-v on approximated surface Continuity : The continuity in v waiting on the surface Degmax : The maximum degree in v required on the surface Segmax : The maximum number of span in v required on the surface Warning : The continuity ci can be obtained only if Ft is Ci.
 
int Eval (const double Parameter, const int DerivativeRequest, const double First, const double Last, double &Result)
 The EvaluatorFunction from AdvApprox;.
 
bool IsDone () const
 returns if we have an result
 
void SurfShape (int &UDegree, int &VDegree, int &NbUPoles, int &NbVPoles, int &NbUKnots, int &NbVKnots) const
 
void Surface (NCollection_Array2< gp_Pnt > &TPoles, NCollection_Array2< double > &TWeights, NCollection_Array1< double > &TUKnots, NCollection_Array1< double > &TVKnots, NCollection_Array1< int > &TUMults, NCollection_Array1< int > &TVMults) const
 
int UDegree () const
 
int VDegree () const
 
const NCollection_Array2< gp_Pnt > & SurfPoles () const
 
const NCollection_Array2< double > & SurfWeights () const
 
const NCollection_Array1< double > & SurfUKnots () const
 
const NCollection_Array1< double > & SurfVKnots () const
 
const NCollection_Array1< int > & SurfUMults () const
 
const NCollection_Array1< int > & SurfVMults () const
 
double MaxErrorOnSurf () const
 returns the maximum error in the surface approximation.
 
double AverageErrorOnSurf () const
 returns the average error in the surface approximation.
 
int NbCurves2d () const
 
void Curves2dShape (int &Degree, int &NbPoles, int &NbKnots) const
 
void Curve2d (const int Index, NCollection_Array1< gp_Pnt2d > &TPoles, NCollection_Array1< double > &TKnots, NCollection_Array1< int > &TMults) const
 
int Curves2dDegree () const
 
const NCollection_Array1< gp_Pnt2d > & Curve2dPoles (const int Index) const
 
const NCollection_Array1< double > & Curves2dKnots () const
 
const NCollection_Array1< int > & Curves2dMults () const
 
double Max2dError (const int Index) const
 returns the maximum error of the <Index> 2d curve approximation.
 
double Average2dError (const int Index) const
 returns the average error of the <Index> 2d curve approximation.
 
double TolCurveOnSurf (const int Index) const
 returns the maximum 3d error of the <Index> 2d curve approximation on the Surface.
 
void Dump (Standard_OStream &o) const
 display information on approximation.
 

Detailed Description

Approximation of an Surface S(u,v) (and eventually associate 2d Curves) defined by section's law.

This surface is defined by a function F(u, v) where Ft(u) = F(u, t) is a bspline curve. To use this algorithm, you have to implement Ft(u) as a derivative class of Approx_SweepFunction. This algorithm can be used by blending, sweeping...

Constructor & Destructor Documentation

◆ Approx_SweepApproximation()

Approx_SweepApproximation::Approx_SweepApproximation ( const occ::handle< Approx_SweepFunction > & Func)

Member Function Documentation

◆ Average2dError()

double Approx_SweepApproximation::Average2dError ( const int Index) const

returns the average error of the <Index> 2d curve approximation.

◆ AverageErrorOnSurf()

double Approx_SweepApproximation::AverageErrorOnSurf ( ) const

returns the average error in the surface approximation.

◆ Curve2d()

void Approx_SweepApproximation::Curve2d ( const int Index,
NCollection_Array1< gp_Pnt2d > & TPoles,
NCollection_Array1< double > & TKnots,
NCollection_Array1< int > & TMults ) const

◆ Curve2dPoles()

const NCollection_Array1< gp_Pnt2d > & Approx_SweepApproximation::Curve2dPoles ( const int Index) const

◆ Curves2dDegree()

int Approx_SweepApproximation::Curves2dDegree ( ) const

◆ Curves2dKnots()

const NCollection_Array1< double > & Approx_SweepApproximation::Curves2dKnots ( ) const

◆ Curves2dMults()

const NCollection_Array1< int > & Approx_SweepApproximation::Curves2dMults ( ) const

◆ Curves2dShape()

void Approx_SweepApproximation::Curves2dShape ( int & Degree,
int & NbPoles,
int & NbKnots ) const

◆ Dump()

void Approx_SweepApproximation::Dump ( Standard_OStream & o) const

display information on approximation.

◆ Eval()

int Approx_SweepApproximation::Eval ( const double Parameter,
const int DerivativeRequest,
const double First,
const double Last,
double & Result )

The EvaluatorFunction from AdvApprox;.

◆ IsDone()

bool Approx_SweepApproximation::IsDone ( ) const

returns if we have an result

◆ Max2dError()

double Approx_SweepApproximation::Max2dError ( const int Index) const

returns the maximum error of the <Index> 2d curve approximation.

◆ MaxErrorOnSurf()

double Approx_SweepApproximation::MaxErrorOnSurf ( ) const

returns the maximum error in the surface approximation.

◆ NbCurves2d()

int Approx_SweepApproximation::NbCurves2d ( ) const

◆ Perform()

void Approx_SweepApproximation::Perform ( const double First,
const double Last,
const double Tol3d,
const double BoundTol,
const double Tol2d,
const double TolAngular,
const GeomAbs_Shape Continuity = GeomAbs_C0,
const int Degmax = 11,
const int Segmax = 50 )

Perform the Approximation [First, Last] : Approx_SweepApproximation.cdl Tol3d : Tolerance to surface approximation Tol2d : Tolerance used to perform curve approximation Normally the 2d curve are approximated with a tolerance given by the resolution on support surfaces, but if this tolerance is too large Tol2d is used. TolAngular : Tolerance (in radian) to control the angle between tangents on the section law and tangent of iso-v on approximated surface Continuity : The continuity in v waiting on the surface Degmax : The maximum degree in v required on the surface Segmax : The maximum number of span in v required on the surface Warning : The continuity ci can be obtained only if Ft is Ci.

◆ Surface()

void Approx_SweepApproximation::Surface ( NCollection_Array2< gp_Pnt > & TPoles,
NCollection_Array2< double > & TWeights,
NCollection_Array1< double > & TUKnots,
NCollection_Array1< double > & TVKnots,
NCollection_Array1< int > & TUMults,
NCollection_Array1< int > & TVMults ) const

◆ SurfPoles()

const NCollection_Array2< gp_Pnt > & Approx_SweepApproximation::SurfPoles ( ) const

◆ SurfShape()

void Approx_SweepApproximation::SurfShape ( int & UDegree,
int & VDegree,
int & NbUPoles,
int & NbVPoles,
int & NbUKnots,
int & NbVKnots ) const

◆ SurfUKnots()

const NCollection_Array1< double > & Approx_SweepApproximation::SurfUKnots ( ) const

◆ SurfUMults()

const NCollection_Array1< int > & Approx_SweepApproximation::SurfUMults ( ) const

◆ SurfVKnots()

const NCollection_Array1< double > & Approx_SweepApproximation::SurfVKnots ( ) const

◆ SurfVMults()

const NCollection_Array1< int > & Approx_SweepApproximation::SurfVMults ( ) const

◆ SurfWeights()

const NCollection_Array2< double > & Approx_SweepApproximation::SurfWeights ( ) const

◆ TolCurveOnSurf()

double Approx_SweepApproximation::TolCurveOnSurf ( const int Index) const

returns the maximum 3d error of the <Index> 2d curve approximation on the Surface.

◆ UDegree()

int Approx_SweepApproximation::UDegree ( ) const

◆ VDegree()

int Approx_SweepApproximation::VDegree ( ) const

The documentation for this class was generated from the following file: