Open CASCADE Technology 7.8.2.dev
|
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_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 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_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. | |
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...
Approx_SweepApproximation::Approx_SweepApproximation | ( | const Handle< Approx_SweepFunction > & | Func | ) |
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 surface 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 surface 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 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.
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 |