Open CASCADE Technology 6.6.0
Public Member Functions
GeomFill_SectionLaw Class Reference

To define section law in sweeping

#include <GeomFill_SectionLaw.hxx>

Inheritance diagram for GeomFill_SectionLaw:
Inheritance graph
[legend]

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


Member Function Documentation

virtual gp_Pnt GeomFill_SectionLaw::BarycentreOfSurf ( ) const [virtual]
virtual Handle_Geom_BSplineSurface GeomFill_SectionLaw::BSplineSurface ( ) const [virtual]
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]
virtual Standard_Boolean GeomFill_SectionLaw::D0 ( const Standard_Real  Param,
TColgp_Array1OfPnt Poles,
TColStd_Array1OfReal Weigths 
) [pure virtual]
virtual Standard_Boolean GeomFill_SectionLaw::D1 ( const Standard_Real  Param,
TColgp_Array1OfPnt Poles,
TColgp_Array1OfVec DPoles,
TColStd_Array1OfReal Weigths,
TColStd_Array1OfReal DWeigths 
) [virtual]
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]
virtual void GeomFill_SectionLaw::GetDomain ( Standard_Real First,
Standard_Real Last 
) const [pure virtual]
virtual void GeomFill_SectionLaw::GetInterval ( Standard_Real First,
Standard_Real Last 
) const [pure virtual]
virtual void GeomFill_SectionLaw::GetMinimalWeight ( TColStd_Array1OfReal Weigths) const [virtual]
virtual void GeomFill_SectionLaw::GetTolerance ( const Standard_Real  BoundTol,
const Standard_Real  SurfTol,
const Standard_Real  AngleTol,
TColStd_Array1OfReal Tol3d 
) const [pure virtual]
virtual void GeomFill_SectionLaw::Intervals ( TColStd_Array1OfReal T,
const GeomAbs_Shape  S 
) const [pure virtual]
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]
virtual Standard_Boolean GeomFill_SectionLaw::IsRational ( ) const [pure virtual]
virtual Standard_Boolean GeomFill_SectionLaw::IsUPeriodic ( ) const [pure virtual]
virtual Standard_Boolean GeomFill_SectionLaw::IsVPeriodic ( ) const [pure virtual]
virtual void GeomFill_SectionLaw::Knots ( TColStd_Array1OfReal TKnots) const [pure virtual]
virtual Standard_Real GeomFill_SectionLaw::MaximalSection ( ) const [pure virtual]
virtual void GeomFill_SectionLaw::Mults ( TColStd_Array1OfInteger TMults) const [pure virtual]
virtual Standard_Integer GeomFill_SectionLaw::NbIntervals ( const GeomAbs_Shape  S) const [pure virtual]
virtual void GeomFill_SectionLaw::SectionShape ( Standard_Integer NbPoles,
Standard_Integer NbKnots,
Standard_Integer Degree 
) const [pure virtual]
virtual void GeomFill_SectionLaw::SetInterval ( const Standard_Real  First,
const Standard_Real  Last 
) [pure virtual]
virtual void GeomFill_SectionLaw::SetTolerance ( const Standard_Real  Tol3d,
const Standard_Real  Tol2d 
) [virtual]

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