![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
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. | |
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...
| Approx_SweepApproximation::Approx_SweepApproximation | ( | const occ::handle< Approx_SweepFunction > & | Func | ) |
returns the average error of the <Index> 2d curve approximation.
| double Approx_SweepApproximation::AverageErrorOnSurf | ( | ) | const |
returns the average error in the surface approximation.
| void Approx_SweepApproximation::Curve2d | ( | const int | Index, |
| NCollection_Array1< gp_Pnt2d > & | TPoles, | ||
| NCollection_Array1< double > & | TKnots, | ||
| NCollection_Array1< int > & | TMults ) const |
| const NCollection_Array1< gp_Pnt2d > & Approx_SweepApproximation::Curve2dPoles | ( | const int | Index | ) | const |
| int Approx_SweepApproximation::Curves2dDegree | ( | ) | const |
| const NCollection_Array1< double > & Approx_SweepApproximation::Curves2dKnots | ( | ) | const |
| const NCollection_Array1< int > & Approx_SweepApproximation::Curves2dMults | ( | ) | const |
| void Approx_SweepApproximation::Dump | ( | Standard_OStream & | o | ) | const |
display information on approximation.
| int Approx_SweepApproximation::Eval | ( | const double | Parameter, |
| const int | DerivativeRequest, | ||
| const double | First, | ||
| const double | Last, | ||
| double & | Result ) |
The EvaluatorFunction from AdvApprox;.
| bool Approx_SweepApproximation::IsDone | ( | ) | const |
returns if we have an result
returns the maximum error of the <Index> 2d curve approximation.
| double Approx_SweepApproximation::MaxErrorOnSurf | ( | ) | const |
returns the maximum error in the surface approximation.
| int Approx_SweepApproximation::NbCurves2d | ( | ) | const |
| 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.
| 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 |
| const NCollection_Array2< gp_Pnt > & Approx_SweepApproximation::SurfPoles | ( | ) | const |
| void Approx_SweepApproximation::SurfShape | ( | int & | UDegree, |
| int & | VDegree, | ||
| int & | NbUPoles, | ||
| int & | NbVPoles, | ||
| int & | NbUKnots, | ||
| int & | NbVKnots ) const |
| const NCollection_Array1< double > & Approx_SweepApproximation::SurfUKnots | ( | ) | const |
| const NCollection_Array1< int > & Approx_SweepApproximation::SurfUMults | ( | ) | const |
| const NCollection_Array1< double > & Approx_SweepApproximation::SurfVKnots | ( | ) | const |
| const NCollection_Array1< int > & Approx_SweepApproximation::SurfVMults | ( | ) | const |
| const NCollection_Array2< double > & Approx_SweepApproximation::SurfWeights | ( | ) | const |
returns the maximum 3d error of the <Index> 2d curve approximation on the Surface.
| int Approx_SweepApproximation::UDegree | ( | ) | const |
| int Approx_SweepApproximation::VDegree | ( | ) | const |