Open CASCADE Technology 6.5.2
Public Member Functions
Approx_SweepApproximation Class Reference

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

#include <Approx_SweepApproximation.hxx>

Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
 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

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_Array2OfPnt & SurfPoles () const
const TColStd_Array2OfReal & SurfWeights () const
const TColStd_Array1OfReal & SurfUKnots () const
const TColStd_Array1OfReal & SurfVKnots () const
const TColStd_Array1OfInteger & SurfUMults () const
const TColStd_Array1OfInteger & SurfVMults () const
Standard_Real MaxErrorOnSurf () const
 returns the maximum error in the suface approximation.

Standard_Real AverageErrorOnSurf () const
 returns the average error in the suface 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_Array1OfPnt2d & Curve2dPoles (const Standard_Integer Index) const
const TColStd_Array1OfReal & Curves2dKnots () const
const TColStd_Array1OfInteger & Curves2dMults () 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.


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
Standard_Real Approx_SweepApproximation::AverageErrorOnSurf ( ) const
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
Standard_Integer Approx_SweepApproximation::Eval ( const Standard_Real  Parameter,
const Standard_Integer  DerivativeRequest,
const Standard_Real  First,
const Standard_Real  Last,
Standard_Real &  Result 
)
Standard_Boolean Approx_SweepApproximation::IsDone ( ) const
Standard_Real Approx_SweepApproximation::Max2dError ( const Standard_Integer  Index) const
Standard_Real Approx_SweepApproximation::MaxErrorOnSurf ( ) const
Standard_Integer Approx_SweepApproximation::NbCurves2d ( ) const
void Approx_SweepApproximation::operator delete ( void *  anAddress) [inline]
void* Approx_SweepApproximation::operator new ( size_t  size) [inline]
void* Approx_SweepApproximation::operator new ( size_t  ,
void *  anAddress 
) [inline]
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 
)
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
Standard_Integer Approx_SweepApproximation::UDegree ( ) const
Standard_Integer Approx_SweepApproximation::VDegree ( ) const

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines