Open CASCADE Technology 7.8.2.dev
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 Handle< Approx_SweepFunction > &Func)
 
void Perform (const Standard_Real First, const Standard_Real Last, const Standard_Real Tol3d, const Standard_Real BoundTol, const Standard_Real Tol2d, const Standard_Real TolAngular, const GeomAbs_Shape Continuity=GeomAbs_C0, const Standard_Integer Degmax=11, const Standard_Integer 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.
 
Standard_Integer Eval (const Standard_Real Parameter, const Standard_Integer DerivativeRequest, const Standard_Real First, const Standard_Real Last, Standard_Real &Result)
 The EvaluatorFunction from AdvApprox;.
 
Standard_Boolean IsDone () const
 returns if we have an result
 
void SurfShape (Standard_Integer &UDegree, Standard_Integer &VDegree, Standard_Integer &NbUPoles, Standard_Integer &NbVPoles, Standard_Integer &NbUKnots, Standard_Integer &NbVKnots) const
 
void Surface (TColgp_Array2OfPnt &TPoles, TColStd_Array2OfReal &TWeights, TColStd_Array1OfReal &TUKnots, TColStd_Array1OfReal &TVKnots, TColStd_Array1OfInteger &TUMults, TColStd_Array1OfInteger &TVMults) const
 
Standard_Integer UDegree () const
 
Standard_Integer VDegree () const
 
const TColgp_Array2OfPntSurfPoles () const
 
const TColStd_Array2OfRealSurfWeights () const
 
const TColStd_Array1OfRealSurfUKnots () const
 
const TColStd_Array1OfRealSurfVKnots () const
 
const TColStd_Array1OfIntegerSurfUMults () const
 
const TColStd_Array1OfIntegerSurfVMults () const
 
Standard_Real MaxErrorOnSurf () const
 returns the maximum error in the surface approximation.
 
Standard_Real AverageErrorOnSurf () const
 returns the average error in the surface approximation.
 
Standard_Integer NbCurves2d () const
 
void Curves2dShape (Standard_Integer &Degree, Standard_Integer &NbPoles, Standard_Integer &NbKnots) const
 
void Curve2d (const Standard_Integer Index, TColgp_Array1OfPnt2d &TPoles, TColStd_Array1OfReal &TKnots, TColStd_Array1OfInteger &TMults) const
 
Standard_Integer Curves2dDegree () const
 
const TColgp_Array1OfPnt2dCurve2dPoles (const Standard_Integer Index) const
 
const TColStd_Array1OfRealCurves2dKnots () const
 
const TColStd_Array1OfIntegerCurves2dMults () const
 
Standard_Real Max2dError (const Standard_Integer Index) const
 returns the maximum error of the <Index> 2d curve approximation.
 
Standard_Real Average2dError (const Standard_Integer Index) const
 returns the average error of the <Index> 2d curve approximation.
 
Standard_Real TolCurveOnSurf (const Standard_Integer 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 algorithme, 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 Handle< Approx_SweepFunction > & Func)

Member Function Documentation

◆ Average2dError()

Standard_Real Approx_SweepApproximation::Average2dError ( const Standard_Integer Index) const

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

◆ AverageErrorOnSurf()

Standard_Real Approx_SweepApproximation::AverageErrorOnSurf ( ) const

returns the average error in the surface approximation.

◆ Curve2d()

void Approx_SweepApproximation::Curve2d ( const Standard_Integer Index,
TColgp_Array1OfPnt2d & TPoles,
TColStd_Array1OfReal & TKnots,
TColStd_Array1OfInteger & TMults ) const

◆ Curve2dPoles()

const TColgp_Array1OfPnt2d & Approx_SweepApproximation::Curve2dPoles ( const Standard_Integer Index) const

◆ Curves2dDegree()

Standard_Integer Approx_SweepApproximation::Curves2dDegree ( ) const

◆ Curves2dKnots()

const TColStd_Array1OfReal & Approx_SweepApproximation::Curves2dKnots ( ) const

◆ Curves2dMults()

const TColStd_Array1OfInteger & Approx_SweepApproximation::Curves2dMults ( ) const

◆ Curves2dShape()

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

◆ Dump()

void Approx_SweepApproximation::Dump ( Standard_OStream & o) const

display information on approximation.

◆ Eval()

Standard_Integer Approx_SweepApproximation::Eval ( const Standard_Real Parameter,
const Standard_Integer DerivativeRequest,
const Standard_Real First,
const Standard_Real Last,
Standard_Real & Result )

The EvaluatorFunction from AdvApprox;.

◆ IsDone()

Standard_Boolean Approx_SweepApproximation::IsDone ( ) const

returns if we have an result

◆ Max2dError()

Standard_Real Approx_SweepApproximation::Max2dError ( const Standard_Integer Index) const

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

◆ MaxErrorOnSurf()

Standard_Real Approx_SweepApproximation::MaxErrorOnSurf ( ) const

returns the maximum error in the surface approximation.

◆ NbCurves2d()

Standard_Integer Approx_SweepApproximation::NbCurves2d ( ) const

◆ Perform()

void Approx_SweepApproximation::Perform ( const Standard_Real First,
const Standard_Real Last,
const Standard_Real Tol3d,
const Standard_Real BoundTol,
const Standard_Real Tol2d,
const Standard_Real TolAngular,
const GeomAbs_Shape Continuity = GeomAbs_C0,
const Standard_Integer Degmax = 11,
const Standard_Integer 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 ( TColgp_Array2OfPnt & TPoles,
TColStd_Array2OfReal & TWeights,
TColStd_Array1OfReal & TUKnots,
TColStd_Array1OfReal & TVKnots,
TColStd_Array1OfInteger & TUMults,
TColStd_Array1OfInteger & TVMults ) const

◆ SurfPoles()

const TColgp_Array2OfPnt & Approx_SweepApproximation::SurfPoles ( ) const

◆ SurfShape()

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

◆ SurfUKnots()

const TColStd_Array1OfReal & Approx_SweepApproximation::SurfUKnots ( ) const

◆ SurfUMults()

const TColStd_Array1OfInteger & Approx_SweepApproximation::SurfUMults ( ) const

◆ SurfVKnots()

const TColStd_Array1OfReal & Approx_SweepApproximation::SurfVKnots ( ) const

◆ SurfVMults()

const TColStd_Array1OfInteger & Approx_SweepApproximation::SurfVMults ( ) const

◆ SurfWeights()

const TColStd_Array2OfReal & Approx_SweepApproximation::SurfWeights ( ) const

◆ TolCurveOnSurf()

Standard_Real Approx_SweepApproximation::TolCurveOnSurf ( const Standard_Integer Index) const

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

◆ UDegree()

Standard_Integer Approx_SweepApproximation::UDegree ( ) const

◆ VDegree()

Standard_Integer Approx_SweepApproximation::VDegree ( ) const

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