Open CASCADE Technology
6.5.4
|
To define section law in sweeping
#include <GeomFill_SectionLaw.hxx>
Public Member Functions | |
virtual Standard_Boolean | D0 (const Standard_Real Param, TColgp_Array1OfPnt &Poles, TColStd_Array1OfReal &Weigths)=0 |
compute the section for v = param | |
virtual Standard_Boolean | D1 (const Standard_Real Param, TColgp_Array1OfPnt &Poles, TColgp_Array1OfVec &DPoles, 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, TColgp_Array1OfPnt &Poles, TColgp_Array1OfVec &DPoles, TColgp_Array1OfVec &D2Poles, 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 Handle_Geom_BSplineSurface | BSplineSurface () const |
give if possible an bspline Surface, like iso-v are the section. If it is not possible this methode have to get an Null Surface. It is the default implementation. | |
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_Boolean | IsUPeriodic () const =0 |
Returns if the sections are periodic or not | |
virtual Standard_Boolean | IsVPeriodic () const =0 |
Returns if law is periodic 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 function This determines the derivatives in these values if the function is not Cn. | |
virtual void | GetInterval (Standard_Real &First, Standard_Real &Last) const =0 |
Gets the bounds of the parametric interval on the function | |
virtual void | GetDomain (Standard_Real &First, Standard_Real &Last) const =0 |
Gets the bounds of the function parametric domain. Warning: This domain it is not modified by the SetValue method | |
virtual void | GetTolerance (const Standard_Real BoundTol, const Standard_Real SurfTol, const Standard_Real AngleTol, TColStd_Array1OfReal &Tol3d) const =0 |
Returns the tolerances associated at each poles 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) |
Is usefull, if (me) have to run numerical algorithm to perform D0, D1 or D2 The default implementation make nothing. | |
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 =0 |
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 Standard_Boolean | IsConstant (Standard_Real &Error) const |
Say if all sections are equals | |
virtual Handle_Geom_Curve | ConstantSection () const |
Return a copy of the constant Section, if me IsConstant | |
virtual Standard_Boolean | IsConicalLaw (Standard_Real &Error) const |
Returns True if all section are circle, with same plane,same center and linear radius evolution Return False by Default. | |
virtual Handle_Geom_Curve | CirclSection (const Standard_Real Param) const |
Return the circle section at parameter , if <me> a IsConicalLaw |
virtual gp_Pnt GeomFill_SectionLaw::BarycentreOfSurf | ( | ) | const [virtual] |
Reimplemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual Handle_Geom_BSplineSurface GeomFill_SectionLaw::BSplineSurface | ( | ) | const [virtual] |
Reimplemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual Handle_Geom_Curve GeomFill_SectionLaw::CirclSection | ( | const Standard_Real | Param | ) | const [virtual] |
Reimplemented in GeomFill_NSections.
virtual Handle_Geom_Curve GeomFill_SectionLaw::ConstantSection | ( | ) | const [virtual] |
Reimplemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual Standard_Boolean GeomFill_SectionLaw::D0 | ( | const Standard_Real | Param, |
TColgp_Array1OfPnt & | Poles, | ||
TColStd_Array1OfReal & | Weigths | ||
) | [pure virtual] |
Implemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual Standard_Boolean GeomFill_SectionLaw::D1 | ( | const Standard_Real | Param, |
TColgp_Array1OfPnt & | Poles, | ||
TColgp_Array1OfVec & | DPoles, | ||
TColStd_Array1OfReal & | Weigths, | ||
TColStd_Array1OfReal & | DWeigths | ||
) | [virtual] |
Reimplemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual Standard_Boolean GeomFill_SectionLaw::D2 | ( | const Standard_Real | Param, |
TColgp_Array1OfPnt & | Poles, | ||
TColgp_Array1OfVec & | DPoles, | ||
TColgp_Array1OfVec & | D2Poles, | ||
TColStd_Array1OfReal & | Weigths, | ||
TColStd_Array1OfReal & | DWeigths, | ||
TColStd_Array1OfReal & | D2Weigths | ||
) | [virtual] |
Reimplemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual void GeomFill_SectionLaw::GetDomain | ( | Standard_Real & | First, |
Standard_Real & | Last | ||
) | const [pure virtual] |
Implemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual void GeomFill_SectionLaw::GetInterval | ( | Standard_Real & | First, |
Standard_Real & | Last | ||
) | const [pure virtual] |
Implemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual void GeomFill_SectionLaw::GetMinimalWeight | ( | TColStd_Array1OfReal & | Weigths | ) | const [virtual] |
Reimplemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual void GeomFill_SectionLaw::GetTolerance | ( | const Standard_Real | BoundTol, |
const Standard_Real | SurfTol, | ||
const Standard_Real | AngleTol, | ||
TColStd_Array1OfReal & | Tol3d | ||
) | const [pure virtual] |
Implemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual void GeomFill_SectionLaw::Intervals | ( | TColStd_Array1OfReal & | T, |
const GeomAbs_Shape | S | ||
) | const [pure virtual] |
Implemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual Standard_Boolean GeomFill_SectionLaw::IsConicalLaw | ( | Standard_Real & | Error | ) | const [virtual] |
Reimplemented in GeomFill_NSections.
virtual Standard_Boolean GeomFill_SectionLaw::IsConstant | ( | Standard_Real & | Error | ) | const [virtual] |
Reimplemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual Standard_Boolean GeomFill_SectionLaw::IsRational | ( | ) | const [pure virtual] |
Implemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual Standard_Boolean GeomFill_SectionLaw::IsUPeriodic | ( | ) | const [pure virtual] |
Implemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual Standard_Boolean GeomFill_SectionLaw::IsVPeriodic | ( | ) | const [pure virtual] |
Implemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual void GeomFill_SectionLaw::Knots | ( | TColStd_Array1OfReal & | TKnots | ) | const [pure virtual] |
Implemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual Standard_Real GeomFill_SectionLaw::MaximalSection | ( | ) | const [pure virtual] |
Implemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual void GeomFill_SectionLaw::Mults | ( | TColStd_Array1OfInteger & | TMults | ) | const [pure virtual] |
Implemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual Standard_Integer GeomFill_SectionLaw::NbIntervals | ( | const GeomAbs_Shape | S | ) | const [pure virtual] |
Implemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual void GeomFill_SectionLaw::SectionShape | ( | Standard_Integer & | NbPoles, |
Standard_Integer & | NbKnots, | ||
Standard_Integer & | Degree | ||
) | const [pure virtual] |
Implemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual void GeomFill_SectionLaw::SetInterval | ( | const Standard_Real | First, |
const Standard_Real | Last | ||
) | [pure virtual] |
Implemented in GeomFill_NSections, GeomFill_EvolvedSection, and GeomFill_UniformSection.
virtual void GeomFill_SectionLaw::SetTolerance | ( | const Standard_Real | Tol3d, |
const Standard_Real | Tol2d | ||
) | [virtual] |