Open CASCADE Technology  6.9.0
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 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 Normaly 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 beetween tangents on the section law and tangent of iso-v on approximed surface Continuity : The continuity in v waiting on the surface Degmax : The maximum degree in v requiered on the surface Segmax : The maximum number of span in v requiered on the surface Warning : The continuity ci can be obtained only if Ft is Ci. More...
 
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;. More...
 
Standard_Boolean IsDone () const
 returns if we have an result More...
 
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 suface approximation. More...
 
Standard_Real AverageErrorOnSurf () const
 returns the average error in the suface approximation. More...
 
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. More...
 
Standard_Real Average2dError (const Standard_Integer Index) const
 returns the average error of the <Index> 2d curve approximation. More...
 
Standard_Real TolCurveOnSurf (const Standard_Integer Index) const
 returns the maximum 3d error of the <Index> 2d curve approximation on the Surface. More...
 
void Dump (Standard_OStream &o) const
 display information on approximation. More...
 

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 ( const Handle< Approx_SweepFunction > &  Func)

Member Function Documentation

Standard_Real Approx_SweepApproximation::Average2dError ( const Standard_Integer  Index) const

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

Standard_Real Approx_SweepApproximation::AverageErrorOnSurf ( ) const

returns the average error in the suface approximation.

void Approx_SweepApproximation::Curve2d ( const Standard_Integer  Index,
TColgp_Array1OfPnt2d TPoles,
TColStd_Array1OfReal TKnots,
TColStd_Array1OfInteger TMults 
) const
const TColgp_Array1OfPnt2d& Approx_SweepApproximation::Curve2dPoles ( const Standard_Integer  Index) const
Standard_Integer Approx_SweepApproximation::Curves2dDegree ( ) const
const TColStd_Array1OfReal& Approx_SweepApproximation::Curves2dKnots ( ) const
const TColStd_Array1OfInteger& Approx_SweepApproximation::Curves2dMults ( ) const
void Approx_SweepApproximation::Curves2dShape ( Standard_Integer Degree,
Standard_Integer NbPoles,
Standard_Integer NbKnots 
) const
void Approx_SweepApproximation::Dump ( Standard_OStream o) const

display information on approximation.

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;.

Standard_Boolean Approx_SweepApproximation::IsDone ( ) const

returns if we have an result

Standard_Real Approx_SweepApproximation::Max2dError ( const Standard_Integer  Index) const

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

Standard_Real Approx_SweepApproximation::MaxErrorOnSurf ( ) const

returns the maximum error in the suface approximation.

Standard_Integer Approx_SweepApproximation::NbCurves2d ( ) const
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 Normaly 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 beetween tangents on the section law and tangent of iso-v on approximed surface Continuity : The continuity in v waiting on the surface Degmax : The maximum degree in v requiered on the surface Segmax : The maximum number of span in v requiered on the surface Warning : The continuity ci can be obtained only if Ft is Ci.

void Approx_SweepApproximation::Surface ( TColgp_Array2OfPnt TPoles,
TColStd_Array2OfReal TWeights,
TColStd_Array1OfReal TUKnots,
TColStd_Array1OfReal TVKnots,
TColStd_Array1OfInteger TUMults,
TColStd_Array1OfInteger TVMults 
) const
const TColgp_Array2OfPnt& Approx_SweepApproximation::SurfPoles ( ) const
void Approx_SweepApproximation::SurfShape ( Standard_Integer UDegree,
Standard_Integer VDegree,
Standard_Integer NbUPoles,
Standard_Integer NbVPoles,
Standard_Integer NbUKnots,
Standard_Integer NbVKnots 
) const
const TColStd_Array1OfReal& Approx_SweepApproximation::SurfUKnots ( ) const
const TColStd_Array1OfInteger& Approx_SweepApproximation::SurfUMults ( ) const
const TColStd_Array1OfReal& Approx_SweepApproximation::SurfVKnots ( ) const
const TColStd_Array1OfInteger& Approx_SweepApproximation::SurfVMults ( ) const
const TColStd_Array2OfReal& Approx_SweepApproximation::SurfWeights ( ) const
Standard_Real Approx_SweepApproximation::TolCurveOnSurf ( const Standard_Integer  Index) const

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

Standard_Integer Approx_SweepApproximation::UDegree ( ) const
Standard_Integer Approx_SweepApproximation::VDegree ( ) const

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