Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions
Blend_RstRstFunction Class Referenceabstract

Deferred class for a function used to compute a blending
surface between a surface and a pcurve on an other Surface,
using a guide line.
The vector <X> used in Value, Values and Derivatives methods
may be the vector of the parametric coordinates U,V,
W of the extremities of a section on the surface and
the curve.
More...

#include <Blend_RstRstFunction.hxx>

Inheritance diagram for Blend_RstRstFunction:
Inheritance graph
[legend]

Public Member Functions

virtual Standard_Integer NbVariables () const =0
 Returns 2 (default value). Can be redefined.
More...
 
virtual Standard_Integer NbEquations () const =0
 returns the number of equations of the function.
More...
 
virtual Standard_Boolean Value (const math_Vector &X, math_Vector &F)=0
 computes the values <F> of the Functions for the
variable <X>.
Returns True if the computation was done successfully,
False otherwise.
More...
 
virtual Standard_Boolean Derivatives (const math_Vector &X, math_Matrix &D)=0
 returns the values <D> of the derivatives for the
variable <X>.
Returns True if the computation was done successfully,
False otherwise.
More...
 
virtual Standard_Boolean Values (const math_Vector &X, math_Vector &F, math_Matrix &D)=0
 returns the values <F> of the functions and the derivatives
<D> for the variable <X>.
Returns True if the computation was done successfully,
False otherwise.
More...
 
virtual void Set (const Standard_Real Param)=0
 Sets the value of the parameter along the guide line.
This determines the plane in which the solution has
to be found.
More...
 
virtual void Set (const Standard_Real First, const Standard_Real Last)=0
 Sets the bounds of the parametric interval on
the guide line.
This determines the derivatives in these values if the
function is not Cn.
More...
 
virtual void GetTolerance (math_Vector &Tolerance, const Standard_Real Tol) const =0
 Returns in the vector Tolerance the parametric tolerance
for each variable;
Tol is the tolerance used in 3d space.
More...
 
virtual void GetBounds (math_Vector &InfBound, math_Vector &SupBound) const =0
 Returns in the vector InfBound the lowest values allowed
for each variables.
Returns in the vector SupBound the greatest values allowed
for each of the 3 variables.
More...
 
virtual Standard_Boolean IsSolution (const math_Vector &Sol, const Standard_Real Tol)=0
 Returns Standard_True if Sol is a zero of the function.
Tol is the tolerance used in 3d space.
The computation is made at the current value of
the parameter on the guide line.
More...
 
Standard_Real GetMinimalDistance () const
 Returns the minimal Distance beetween two
extremitys of calculed sections.
More...
 
const gp_PntPnt1 () const
 Returns the point on the first support.
More...
 
const gp_PntPnt2 () const
 Returns the point on the seconde support.
More...
 
virtual const gp_PntPointOnRst1 () const =0
 Returns the point on the surface.
More...
 
virtual const gp_PntPointOnRst2 () const =0
 Returns the point on the curve.
More...
 
virtual const gp_Pnt2dPnt2dOnRst1 () const =0
 Returns U,V coordinates of the point on the surface.
More...
 
virtual const gp_Pnt2dPnt2dOnRst2 () const =0
 Returns U,V coordinates of the point on the curve on
surface.
More...
 
virtual Standard_Real ParameterOnRst1 () const =0
 Returns parameter of the point on the curve.
More...
 
virtual Standard_Real ParameterOnRst2 () const =0
 Returns parameter of the point on the curve.
More...
 
virtual Standard_Boolean IsTangencyPoint () const =0
 Returns True when it is not possible to compute
the tangent vectors at PointOnS and/or PointOnRst.
More...
 
virtual const gp_VecTangentOnRst1 () const =0
 Returns the tangent vector at PointOnS, in 3d space.
More...
 
virtual const gp_Vec2dTangent2dOnRst1 () const =0
 Returns the tangent vector at PointOnS, in the
parametric space of the first surface.
More...
 
virtual const gp_VecTangentOnRst2 () const =0
 Returns the tangent vector at PointOnC, in 3d space.
More...
 
virtual const gp_Vec2dTangent2dOnRst2 () const =0
 Returns the tangent vector at PointOnRst, in the
parametric space of the second surface.
More...
 
virtual Blend_DecrochStatus Decroch (const math_Vector &Sol, gp_Vec &NRst1, gp_Vec &TgRst1, gp_Vec &NRst2, gp_Vec &TgRst2) const =0
 
Enables to implement a  criterion  of  decrochage <br>
    specific to the function. <br>

Warning: Can be called without previous call of issolution
but the values calculated can be senseless.
More...

 
virtual Standard_Boolean IsRational () const =0
 Returns if the section is rationnal
More...
 
virtual Standard_Real GetSectionSize () const =0
 Returns the length of the maximum section
More...
 
virtual void GetMinimalWeight (TColStd_Array1OfReal &Weigths) const =0
 Compute the minimal value of weight for each poles
of all sections.
More...
 
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>
More...
 
virtual void Intervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const =0
 
 Stores in <T> the  parameters bounding the intervals <br>
     of continuity <S>. <br>


The array must provide enough room to accomodate
for the parameters. i.e. T.Length() > NbIntervals()
More...

 
virtual void GetShape (Standard_Integer &NbPoles, Standard_Integer &NbKnots, Standard_Integer &Degree, Standard_Integer &NbPoles2d)=0
 
virtual void GetTolerance (const Standard_Real BoundTol, const Standard_Real SurfTol, const Standard_Real AngleTol, math_Vector &Tol3d, math_Vector &Tol1D) const =0
 Returns the tolerance to reach in approximation
to respecte
BoundTol error at the Boundary
AngleTol tangent error at the Boundary
SurfTol error inside the surface.
More...
 
virtual void Knots (TColStd_Array1OfReal &TKnots)=0
 
virtual void Mults (TColStd_Array1OfInteger &TMults)=0
 
virtual void Section (const Blend_Point &P, TColgp_Array1OfPnt &Poles, TColgp_Array1OfPnt2d &Poles2d, TColStd_Array1OfReal &Weigths)=0
 
virtual Standard_Boolean Section (const Blend_Point &P, TColgp_Array1OfPnt &Poles, TColgp_Array1OfVec &DPoles, TColgp_Array1OfPnt2d &Poles2d, TColgp_Array1OfVec2d &DPoles2d, TColStd_Array1OfReal &Weigths, TColStd_Array1OfReal &DWeigths)=0
 Used for the first and last section
The method returns Standard_True if the derivatives
are computed, otherwise it returns Standard_False.
More...
 
virtual Standard_Boolean Section (const Blend_Point &P, 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)=0
 Used for the first and last section
The method returns Standard_True if the derivatives
are computed, otherwise it returns Standard_False.
More...
 
- Public Member Functions inherited from Blend_AppFunction
virtual void Resolution (const Standard_Integer IC2d, const Standard_Real Tol, Standard_Real &TolU, Standard_Real &TolV) const =0
 
Standard_Real Parameter (const Blend_Point &P) const
 Returns the parameter of the point P. Used to
impose the parameters in the approximation.
More...
 
- Public Member Functions inherited from math_FunctionSet
virtual void Delete ()
 
virtual ~math_FunctionSet ()
 
virtual Standard_Integer GetStateNumber ()
 Returns the state of the function corresponding to the
latestcall of any methods associated with the function.
This function is called by each of the algorithms
described later which define the function Integer
Algorithm::StateNumber(). The algorithm has the
responsibility to call this function when it has found
a solution (i.e. a root or a minimum) and has to maintain
the association between the solution found and this
StateNumber.
Byu default, this method returns 0 (which means for the
algorithm: no state has been saved). It is the
responsibility of the programmer to decide if he needs
to save the current state of the function and to return
an Integer that allows retrieval of the state.
More...
 

Detailed Description

Deferred class for a function used to compute a blending
surface between a surface and a pcurve on an other Surface,
using a guide line.
The vector <X> used in Value, Values and Derivatives methods
may be the vector of the parametric coordinates U,V,
W of the extremities of a section on the surface and
the curve.

Member Function Documentation

virtual Blend_DecrochStatus Blend_RstRstFunction::Decroch ( const math_Vector Sol,
gp_Vec NRst1,
gp_Vec TgRst1,
gp_Vec NRst2,
gp_Vec TgRst2 
) const
pure virtual

Enables to implement a  criterion  of  decrochage <br>
    specific to the function. <br>

Warning: Can be called without previous call of issolution
but the values calculated can be senseless.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual Standard_Boolean Blend_RstRstFunction::Derivatives ( const math_Vector X,
math_Matrix D 
)
pure virtual

returns the values <D> of the derivatives for the
variable <X>.
Returns True if the computation was done successfully,
False otherwise.

Implements Blend_AppFunction.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual void Blend_RstRstFunction::GetBounds ( math_Vector InfBound,
math_Vector SupBound 
) const
pure virtual

Returns in the vector InfBound the lowest values allowed
for each variables.
Returns in the vector SupBound the greatest values allowed
for each of the 3 variables.

Implements Blend_AppFunction.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

Standard_Real Blend_RstRstFunction::GetMinimalDistance ( ) const
virtual

Returns the minimal Distance beetween two
extremitys of calculed sections.

Implements Blend_AppFunction.

virtual void Blend_RstRstFunction::GetMinimalWeight ( TColStd_Array1OfReal Weigths) const
pure virtual

Compute the minimal value of weight for each poles
of all sections.

Implements Blend_AppFunction.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual Standard_Real Blend_RstRstFunction::GetSectionSize ( ) const
pure virtual

Returns the length of the maximum section

Implements Blend_AppFunction.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual void Blend_RstRstFunction::GetShape ( Standard_Integer NbPoles,
Standard_Integer NbKnots,
Standard_Integer Degree,
Standard_Integer NbPoles2d 
)
pure virtual
virtual void Blend_RstRstFunction::GetTolerance ( math_Vector Tolerance,
const Standard_Real  Tol 
) const
pure virtual

Returns in the vector Tolerance the parametric tolerance
for each variable;
Tol is the tolerance used in 3d space.

Implements Blend_AppFunction.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual void Blend_RstRstFunction::GetTolerance ( const Standard_Real  BoundTol,
const Standard_Real  SurfTol,
const Standard_Real  AngleTol,
math_Vector Tol3d,
math_Vector Tol1D 
) const
pure virtual

Returns the tolerance to reach in approximation
to respecte
BoundTol error at the Boundary
AngleTol tangent error at the Boundary
SurfTol error inside the surface.

Implements Blend_AppFunction.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual void Blend_RstRstFunction::Intervals ( TColStd_Array1OfReal T,
const GeomAbs_Shape  S 
) const
pure virtual

 Stores in <T> the  parameters bounding the intervals <br>
     of continuity <S>. <br>


The array must provide enough room to accomodate
for the parameters. i.e. T.Length() > NbIntervals()

Implements Blend_AppFunction.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual Standard_Boolean Blend_RstRstFunction::IsRational ( ) const
pure virtual

Returns if the section is rationnal

Implements Blend_AppFunction.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual Standard_Boolean Blend_RstRstFunction::IsSolution ( const math_Vector Sol,
const Standard_Real  Tol 
)
pure virtual

Returns Standard_True if Sol is a zero of the function.
Tol is the tolerance used in 3d space.
The computation is made at the current value of
the parameter on the guide line.

Implements Blend_AppFunction.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual Standard_Boolean Blend_RstRstFunction::IsTangencyPoint ( ) const
pure virtual

Returns True when it is not possible to compute
the tangent vectors at PointOnS and/or PointOnRst.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual void Blend_RstRstFunction::Knots ( TColStd_Array1OfReal TKnots)
pure virtual
virtual void Blend_RstRstFunction::Mults ( TColStd_Array1OfInteger TMults)
pure virtual
virtual Standard_Integer Blend_RstRstFunction::NbEquations ( ) const
pure virtual

returns the number of equations of the function.

Implements Blend_AppFunction.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual Standard_Integer Blend_RstRstFunction::NbIntervals ( const GeomAbs_Shape  S) const
pure virtual

Returns the number of intervals for continuity
<S>. May be one if Continuity(me) >= <S>

Implements Blend_AppFunction.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual Standard_Integer Blend_RstRstFunction::NbVariables ( ) const
pure virtual

Returns 2 (default value). Can be redefined.

Implements Blend_AppFunction.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual Standard_Real Blend_RstRstFunction::ParameterOnRst1 ( ) const
pure virtual

Returns parameter of the point on the curve.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual Standard_Real Blend_RstRstFunction::ParameterOnRst2 ( ) const
pure virtual

Returns parameter of the point on the curve.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

const gp_Pnt& Blend_RstRstFunction::Pnt1 ( ) const
virtual

Returns the point on the first support.

Implements Blend_AppFunction.

const gp_Pnt& Blend_RstRstFunction::Pnt2 ( ) const
virtual

Returns the point on the seconde support.

Implements Blend_AppFunction.

virtual const gp_Pnt2d& Blend_RstRstFunction::Pnt2dOnRst1 ( ) const
pure virtual

Returns U,V coordinates of the point on the surface.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual const gp_Pnt2d& Blend_RstRstFunction::Pnt2dOnRst2 ( ) const
pure virtual

Returns U,V coordinates of the point on the curve on
surface.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual const gp_Pnt& Blend_RstRstFunction::PointOnRst1 ( ) const
pure virtual

Returns the point on the surface.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual const gp_Pnt& Blend_RstRstFunction::PointOnRst2 ( ) const
pure virtual

Returns the point on the curve.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual void Blend_RstRstFunction::Section ( const Blend_Point P,
TColgp_Array1OfPnt Poles,
TColgp_Array1OfPnt2d Poles2d,
TColStd_Array1OfReal Weigths 
)
pure virtual
virtual Standard_Boolean Blend_RstRstFunction::Section ( const Blend_Point P,
TColgp_Array1OfPnt Poles,
TColgp_Array1OfVec DPoles,
TColgp_Array1OfPnt2d Poles2d,
TColgp_Array1OfVec2d DPoles2d,
TColStd_Array1OfReal Weigths,
TColStd_Array1OfReal DWeigths 
)
pure virtual

Used for the first and last section
The method returns Standard_True if the derivatives
are computed, otherwise it returns Standard_False.

Implements Blend_AppFunction.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual Standard_Boolean Blend_RstRstFunction::Section ( const Blend_Point P,
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 
)
pure virtual

Used for the first and last section
The method returns Standard_True if the derivatives
are computed, otherwise it returns Standard_False.

Implements Blend_AppFunction.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual void Blend_RstRstFunction::Set ( const Standard_Real  Param)
pure virtual

Sets the value of the parameter along the guide line.
This determines the plane in which the solution has
to be found.

Implements Blend_AppFunction.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual void Blend_RstRstFunction::Set ( const Standard_Real  First,
const Standard_Real  Last 
)
pure virtual

Sets the bounds of the parametric interval on
the guide line.
This determines the derivatives in these values if the
function is not Cn.

Implements Blend_AppFunction.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual const gp_Vec2d& Blend_RstRstFunction::Tangent2dOnRst1 ( ) const
pure virtual

Returns the tangent vector at PointOnS, in the
parametric space of the first surface.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual const gp_Vec2d& Blend_RstRstFunction::Tangent2dOnRst2 ( ) const
pure virtual

Returns the tangent vector at PointOnRst, in the
parametric space of the second surface.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual const gp_Vec& Blend_RstRstFunction::TangentOnRst1 ( ) const
pure virtual

Returns the tangent vector at PointOnS, in 3d space.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual const gp_Vec& Blend_RstRstFunction::TangentOnRst2 ( ) const
pure virtual

Returns the tangent vector at PointOnC, in 3d space.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual Standard_Boolean Blend_RstRstFunction::Value ( const math_Vector X,
math_Vector F 
)
pure virtual

computes the values <F> of the Functions for the
variable <X>.
Returns True if the computation was done successfully,
False otherwise.

Implements Blend_AppFunction.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.

virtual Standard_Boolean Blend_RstRstFunction::Values ( const math_Vector X,
math_Vector F,
math_Matrix D 
)
pure virtual

returns the values <F> of the functions and the derivatives
<D> for the variable <X>.
Returns True if the computation was done successfully,
False otherwise.

Implements Blend_AppFunction.

Implemented in BRepBlend_RstRstEvolRad, and BRepBlend_RstRstConstRad.


The documentation for this class was generated from the following file: