Open CASCADE Technology 6.6.0
Public Member Functions
GeomFill_LocationLaw Class Reference

To define location law in Sweeping location is --
defined by an Matrix M and an Vector V, and
transform an point P in MP+V.

#include <GeomFill_LocationLaw.hxx>

Inheritance diagram for GeomFill_LocationLaw:
Inheritance graph
[legend]

Public Member Functions

virtual void SetCurve (const Handle< Adaptor3d_HCurve > &C)=0
virtual const
Handle_Adaptor3d_HCurve & 
GetCurve () const =0
virtual void SetTrsf (const gp_Mat &Transfo)=0
 Set a transformation Matrix like the law M(t) become
Mat * M(t)

virtual Handle_GeomFill_LocationLaw Copy () const =0
virtual Standard_Boolean D0 (const Standard_Real Param, gp_Mat &M, gp_Vec &V)=0
 compute Location

virtual Standard_Boolean D0 (const Standard_Real Param, gp_Mat &M, gp_Vec &V, TColgp_Array1OfPnt2d &Poles2d)=0
 compute Location and 2d points

virtual Standard_Boolean D1 (const Standard_Real Param, gp_Mat &M, gp_Vec &V, gp_Mat &DM, gp_Vec &DV, TColgp_Array1OfPnt2d &Poles2d, TColgp_Array1OfVec2d &DPoles2d)
 compute location 2d points and associated
first derivatives.
Warning : It used only for C1 or C2 aproximation

virtual Standard_Boolean D2 (const Standard_Real Param, gp_Mat &M, gp_Vec &V, gp_Mat &DM, gp_Vec &DV, gp_Mat &D2M, gp_Vec &D2V, TColgp_Array1OfPnt2d &Poles2d, TColgp_Array1OfVec2d &DPoles2d, TColgp_Array1OfVec2d &D2Poles2d)
 compute location 2d points and associated
first and seconde derivatives.
Warning : It used only for C2 aproximation

Standard_Integer Nb2dCurves () const
 get the number of 2d curves (Restrictions + Traces)
to approximate.

virtual Standard_Boolean HasFirstRestriction () const
 Say if the first restriction is defined in this class.
If it is true the first element of poles array in
D0,D1,D2... Correspond to this restriction.
Returns Standard_False (default implementation)

virtual Standard_Boolean HasLastRestriction () const
 Say if the last restriction is defined in this class.
If it is true the last element of poles array in
D0,D1,D2... Correspond to this restriction.
Returns Standard_False (default implementation)

virtual Standard_Integer TraceNumber () const
 Give the number of trace (Curves 2d wich are not restriction)
Returns 0 (default implementation)

virtual GeomFill_PipeError ErrorStatus () const
 Give a status to the Law
Returns PipeOk (default implementation)

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 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 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 Standard_Real GetMaximalNorm ()=0
 Get the maximum Norm of the matrix-location part. It
is usful to find an good Tolerance to approx M(t).

virtual void GetAverageLaw (gp_Mat &AM, gp_Vec &AV)=0
 Get average value of M(t) and V(t) it is usfull to
make fast approximation of rational surfaces.

virtual Standard_Boolean IsTranslation (Standard_Real &Error) const
 Say if the Location Law, is an translation of Location
The default implementation is " returns False ".

virtual Standard_Boolean IsRotation (Standard_Real &Error) const
 Say if the Location Law, is a rotation of Location
The default implementation is " returns False ".

virtual void Rotation (gp_Pnt &Center) const

Member Function Documentation

virtual Handle_GeomFill_LocationLaw GeomFill_LocationLaw::Copy ( ) const [pure virtual]
virtual Standard_Boolean GeomFill_LocationLaw::D0 ( const Standard_Real  Param,
gp_Mat M,
gp_Vec V 
) [pure virtual]
virtual Standard_Boolean GeomFill_LocationLaw::D0 ( const Standard_Real  Param,
gp_Mat M,
gp_Vec V,
TColgp_Array1OfPnt2d Poles2d 
) [pure virtual]
virtual Standard_Boolean GeomFill_LocationLaw::D1 ( const Standard_Real  Param,
gp_Mat M,
gp_Vec V,
gp_Mat DM,
gp_Vec DV,
TColgp_Array1OfPnt2d Poles2d,
TColgp_Array1OfVec2d DPoles2d 
) [virtual]
virtual Standard_Boolean GeomFill_LocationLaw::D2 ( const Standard_Real  Param,
gp_Mat M,
gp_Vec V,
gp_Mat DM,
gp_Vec DV,
gp_Mat D2M,
gp_Vec D2V,
TColgp_Array1OfPnt2d Poles2d,
TColgp_Array1OfVec2d DPoles2d,
TColgp_Array1OfVec2d D2Poles2d 
) [virtual]
virtual GeomFill_PipeError GeomFill_LocationLaw::ErrorStatus ( ) const [virtual]

Reimplemented in GeomFill_LocationGuide.

virtual void GeomFill_LocationLaw::GetAverageLaw ( gp_Mat AM,
gp_Vec AV 
) [pure virtual]
virtual const Handle_Adaptor3d_HCurve& GeomFill_LocationLaw::GetCurve ( ) const [pure virtual]
virtual void GeomFill_LocationLaw::GetDomain ( Standard_Real First,
Standard_Real Last 
) const [pure virtual]
virtual void GeomFill_LocationLaw::GetInterval ( Standard_Real First,
Standard_Real Last 
) const [pure virtual]
virtual Standard_Real GeomFill_LocationLaw::GetMaximalNorm ( ) [pure virtual]
virtual Standard_Boolean GeomFill_LocationLaw::HasFirstRestriction ( ) const [virtual]
virtual Standard_Boolean GeomFill_LocationLaw::HasLastRestriction ( ) const [virtual]
virtual void GeomFill_LocationLaw::Intervals ( TColStd_Array1OfReal T,
const GeomAbs_Shape  S 
) const [pure virtual]
virtual Standard_Boolean GeomFill_LocationLaw::IsRotation ( Standard_Real Error) const [virtual]
virtual Standard_Boolean GeomFill_LocationLaw::IsTranslation ( Standard_Real Error) const [virtual]
Standard_Integer GeomFill_LocationLaw::Nb2dCurves ( ) const
virtual Standard_Integer GeomFill_LocationLaw::NbIntervals ( const GeomAbs_Shape  S) const [pure virtual]
virtual void GeomFill_LocationLaw::Resolution ( const Standard_Integer  Index,
const Standard_Real  Tol,
Standard_Real TolU,
Standard_Real TolV 
) const [virtual]
virtual void GeomFill_LocationLaw::Rotation ( gp_Pnt Center) const [virtual]
virtual void GeomFill_LocationLaw::SetCurve ( const Handle< Adaptor3d_HCurve > &  C) [pure virtual]
virtual void GeomFill_LocationLaw::SetInterval ( const Standard_Real  First,
const Standard_Real  Last 
) [pure virtual]
virtual void GeomFill_LocationLaw::SetTolerance ( const Standard_Real  Tol3d,
const Standard_Real  Tol2d 
) [virtual]

Reimplemented in GeomFill_LocationGuide.

virtual void GeomFill_LocationLaw::SetTrsf ( const gp_Mat Transfo) [pure virtual]
virtual Standard_Integer GeomFill_LocationLaw::TraceNumber ( ) const [virtual]

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