Open CASCADE Technology
6.5.4
|
defined the function used by SweepApproximation to
perform sweeping application.
#include <Approx_SweepFunction.hxx>
Public Member Functions | |
virtual Standard_Boolean | D0 (const Standard_Real Param, const Standard_Real First, const Standard_Real Last, TColgp_Array1OfPnt &Poles, TColgp_Array1OfPnt2d &Poles2d, TColStd_Array1OfReal &Weigths)=0 |
compute the section for v = param | |
virtual Standard_Boolean | D1 (const Standard_Real Param, const Standard_Real First, const Standard_Real Last, TColgp_Array1OfPnt &Poles, TColgp_Array1OfVec &DPoles, TColgp_Array1OfPnt2d &Poles2d, TColgp_Array1OfVec2d &DPoles2d, TColStd_Array1OfReal &Weigths, TColStd_Array1OfReal &DWeigths) |
compute the first derivative in v direction of the section for v = param Warning : It used only for C1 or C2 aproximation | |
virtual Standard_Boolean | D2 (const Standard_Real Param, const Standard_Real First, const Standard_Real Last, TColgp_Array1OfPnt &Poles, TColgp_Array1OfVec &DPoles, TColgp_Array1OfVec &D2Poles, TColgp_Array1OfPnt2d &Poles2d, TColgp_Array1OfVec2d &DPoles2d, TColgp_Array1OfVec2d &D2Poles2d, TColStd_Array1OfReal &Weigths, TColStd_Array1OfReal &DWeigths, TColStd_Array1OfReal &D2Weigths) |
compute the second derivative in v direction of the section for v = param Warning : It used only for C2 aproximation | |
virtual Standard_Integer | Nb2dCurves () const =0 |
get the number of 2d curves to approximate. | |
virtual void | SectionShape (Standard_Integer &NbPoles, Standard_Integer &NbKnots, Standard_Integer &Degree) const =0 |
get the format of an section | |
virtual void | Knots (TColStd_Array1OfReal &TKnots) const =0 |
get the Knots of the section | |
virtual void | Mults (TColStd_Array1OfInteger &TMults) const =0 |
get the Multplicities of the section | |
virtual Standard_Boolean | IsRational () const =0 |
Returns if the sections are rationnal or not | |
virtual Standard_Integer | NbIntervals (const GeomAbs_Shape S) const =0 |
Returns the number of intervals for continuity <S>. May be one if Continuity(me) >= <S> | |
virtual void | Intervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const =0 |
Stores in <T> the parameters bounding the intervals of continuity <S>. The array must provide enough room to accomodate for the parameters. i.e. T.Length() > NbIntervals() | |
virtual void | SetInterval (const Standard_Real First, const Standard_Real Last)=0 |
Sets the bounds of the parametric interval on the fonction This determines the derivatives in these values if the function is not Cn. | |
virtual void | Resolution (const Standard_Integer Index, const Standard_Real Tol, Standard_Real &TolU, Standard_Real &TolV) const |
Returns the resolutions in the sub-space 2d <Index> This information is usfull to find an good tolerance in 2d approximation. | |
virtual void | GetTolerance (const Standard_Real BoundTol, const Standard_Real SurfTol, const Standard_Real AngleTol, TColStd_Array1OfReal &Tol3d) const =0 |
Returns the tolerance to reach in approximation to satisfy. BoundTol error at the Boundary AngleTol tangent error at the Boundary (in radian) SurfTol error inside the surface. | |
virtual void | SetTolerance (const Standard_Real Tol3d, const Standard_Real Tol2d)=0 |
Is usefull, if (me) have to run numerical algorithm to perform D0, D1 or D2 | |
virtual gp_Pnt | BarycentreOfSurf () const |
Get the barycentre of Surface. An very poor estimation is sufficent. This information is usefull to perform well conditioned rational approximation. Warning: Used only if <me> IsRational | |
virtual Standard_Real | MaximalSection () const |
Returns the length of the greater section. This information is usefull to G1's control. Warning: With an little value, approximation can be slower. | |
virtual void | GetMinimalWeight (TColStd_Array1OfReal &Weigths) const |
Compute the minimal value of weight for each poles in all sections. This information is usefull to control error in rational approximation. Warning: Used only if <me> IsRational |
virtual gp_Pnt Approx_SweepFunction::BarycentreOfSurf | ( | ) | const [virtual] |
Reimplemented in GeomFill_SweepFunction, BRepBlend_AppFuncRoot, and GeomFill_CircularBlendFunc.
virtual Standard_Boolean Approx_SweepFunction::D0 | ( | const Standard_Real | Param, |
const Standard_Real | First, | ||
const Standard_Real | Last, | ||
TColgp_Array1OfPnt & | Poles, | ||
TColgp_Array1OfPnt2d & | Poles2d, | ||
TColStd_Array1OfReal & | Weigths | ||
) | [pure virtual] |
Implemented in GeomFill_CircularBlendFunc, BRepBlend_AppFuncRoot, and GeomFill_SweepFunction.
virtual Standard_Boolean Approx_SweepFunction::D1 | ( | const Standard_Real | Param, |
const Standard_Real | First, | ||
const Standard_Real | Last, | ||
TColgp_Array1OfPnt & | Poles, | ||
TColgp_Array1OfVec & | DPoles, | ||
TColgp_Array1OfPnt2d & | Poles2d, | ||
TColgp_Array1OfVec2d & | DPoles2d, | ||
TColStd_Array1OfReal & | Weigths, | ||
TColStd_Array1OfReal & | DWeigths | ||
) | [virtual] |
Reimplemented in GeomFill_CircularBlendFunc, BRepBlend_AppFuncRoot, and GeomFill_SweepFunction.
virtual Standard_Boolean Approx_SweepFunction::D2 | ( | const Standard_Real | Param, |
const Standard_Real | First, | ||
const Standard_Real | Last, | ||
TColgp_Array1OfPnt & | Poles, | ||
TColgp_Array1OfVec & | DPoles, | ||
TColgp_Array1OfVec & | D2Poles, | ||
TColgp_Array1OfPnt2d & | Poles2d, | ||
TColgp_Array1OfVec2d & | DPoles2d, | ||
TColgp_Array1OfVec2d & | D2Poles2d, | ||
TColStd_Array1OfReal & | Weigths, | ||
TColStd_Array1OfReal & | DWeigths, | ||
TColStd_Array1OfReal & | D2Weigths | ||
) | [virtual] |
Reimplemented in GeomFill_CircularBlendFunc, BRepBlend_AppFuncRoot, and GeomFill_SweepFunction.
virtual void Approx_SweepFunction::GetMinimalWeight | ( | TColStd_Array1OfReal & | Weigths | ) | const [virtual] |
Reimplemented in GeomFill_SweepFunction, BRepBlend_AppFuncRoot, and GeomFill_CircularBlendFunc.
virtual void Approx_SweepFunction::GetTolerance | ( | const Standard_Real | BoundTol, |
const Standard_Real | SurfTol, | ||
const Standard_Real | AngleTol, | ||
TColStd_Array1OfReal & | Tol3d | ||
) | const [pure virtual] |
Implemented in BRepBlend_AppFuncRoot, GeomFill_SweepFunction, and GeomFill_CircularBlendFunc.
virtual void Approx_SweepFunction::Intervals | ( | TColStd_Array1OfReal & | T, |
const GeomAbs_Shape | S | ||
) | const [pure virtual] |
Implemented in GeomFill_CircularBlendFunc, BRepBlend_AppFuncRoot, and GeomFill_SweepFunction.
virtual Standard_Boolean Approx_SweepFunction::IsRational | ( | ) | const [pure virtual] |
Implemented in GeomFill_CircularBlendFunc, BRepBlend_AppFuncRoot, and GeomFill_SweepFunction.
virtual void Approx_SweepFunction::Knots | ( | TColStd_Array1OfReal & | TKnots | ) | const [pure virtual] |
Implemented in GeomFill_CircularBlendFunc, BRepBlend_AppFuncRoot, and GeomFill_SweepFunction.
virtual Standard_Real Approx_SweepFunction::MaximalSection | ( | ) | const [virtual] |
Reimplemented in GeomFill_SweepFunction, BRepBlend_AppFuncRoot, and GeomFill_CircularBlendFunc.
virtual void Approx_SweepFunction::Mults | ( | TColStd_Array1OfInteger & | TMults | ) | const [pure virtual] |
Implemented in GeomFill_CircularBlendFunc, BRepBlend_AppFuncRoot, and GeomFill_SweepFunction.
virtual Standard_Integer Approx_SweepFunction::Nb2dCurves | ( | ) | const [pure virtual] |
Implemented in GeomFill_CircularBlendFunc, BRepBlend_AppFuncRoot, and GeomFill_SweepFunction.
virtual Standard_Integer Approx_SweepFunction::NbIntervals | ( | const GeomAbs_Shape | S | ) | const [pure virtual] |
Implemented in GeomFill_CircularBlendFunc, BRepBlend_AppFuncRoot, and GeomFill_SweepFunction.
virtual void Approx_SweepFunction::Resolution | ( | const Standard_Integer | Index, |
const Standard_Real | Tol, | ||
Standard_Real & | TolU, | ||
Standard_Real & | TolV | ||
) | const [virtual] |
Reimplemented in BRepBlend_AppFuncRoot, and GeomFill_SweepFunction.
virtual void Approx_SweepFunction::SectionShape | ( | Standard_Integer & | NbPoles, |
Standard_Integer & | NbKnots, | ||
Standard_Integer & | Degree | ||
) | const [pure virtual] |
Implemented in GeomFill_CircularBlendFunc, BRepBlend_AppFuncRoot, and GeomFill_SweepFunction.
virtual void Approx_SweepFunction::SetInterval | ( | const Standard_Real | First, |
const Standard_Real | Last | ||
) | [pure virtual] |
Implemented in GeomFill_CircularBlendFunc, BRepBlend_AppFuncRoot, and GeomFill_SweepFunction.
virtual void Approx_SweepFunction::SetTolerance | ( | const Standard_Real | Tol3d, |
const Standard_Real | Tol2d | ||
) | [pure virtual] |
Implemented in BRepBlend_AppFuncRoot, GeomFill_SweepFunction, and GeomFill_CircularBlendFunc.