Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
Blend_Function Class Reference

Deferred class for a function used to compute a blending
surface between two surfaces, using a guide line.
The vector <X> used in Value, Values and Derivatives methods
has to be the vector of the parametric coordinates U1,V1,
U2,V2, of the extremities of a section on the first and
second surface.

#include <Blend_Function.hxx>

Inheritance diagram for Blend_Function:
Inheritance graph
[legend]

Public Member Functions

DEFINE_STANDARD_ALLOC
Standard_Integer 
NbVariables () const
 Returns 4.

virtual Standard_Integer NbEquations () const =0
 returns the number of equations of the function.

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.

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.

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.

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.

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.

virtual void GetTolerance (math_Vector &Tolerance, const Standard_Real Tol) const =0
 Returns in the vector Tolerance the parametric tolerance
for each of the 4 variables;
Tol is the tolerance used in 3d space.

virtual void GetBounds (math_Vector &InfBound, math_Vector &SupBound) const =0
 Returns in the vector InfBound the lowest values allowed
for each of the 4 variables.
Returns in the vector SupBound the greatest values allowed
for each of the 4 variables.

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.

const gp_PntPnt1 () const
 Returns the point on the first support.

const gp_PntPnt2 () const
 Returns the point on the seconde support.

virtual const gp_PntPointOnS1 () const =0
 Returns the point on the first surface, at parameter
Sol(1),Sol(2) (Sol is the vector used in the call of
IsSolution.

virtual const gp_PntPointOnS2 () const =0
 Returns the point on the second surface, at parameter
Sol(3),Sol(4) (Sol is the vector used in the call of
IsSolution.

virtual Standard_Boolean IsTangencyPoint () const =0
 Returns True when it is not possible to compute
the tangent vectors at PointOnS1 and/or PointOnS2.

virtual const gp_VecTangentOnS1 () const =0
 Returns the tangent vector at PointOnS1, in 3d space.

virtual const gp_Vec2dTangent2dOnS1 () const =0
 Returns the tangent vector at PointOnS1, in the
parametric space of the first surface.

virtual const gp_VecTangentOnS2 () const =0
 Returns the tangent vector at PointOnS2, in 3d space.

virtual const gp_Vec2dTangent2dOnS2 () const =0
 Returns the tangent vector at PointOnS2, in the
parametric space of the second surface.

virtual void Tangent (const Standard_Real U1, const Standard_Real V1, const Standard_Real U2, const Standard_Real V2, gp_Vec &TgFirst, gp_Vec &TgLast, gp_Vec &NormFirst, gp_Vec &NormLast) const =0
 Returns the tangent vector at the section,
at the beginning and the end of the section, and
returns the normal (of the surfaces) at
these points.

virtual Standard_Boolean TwistOnS1 () const
virtual Standard_Boolean TwistOnS2 () const
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.

virtual void Knots (TColStd_Array1OfReal &TKnots)=0
virtual void Mults (TColStd_Array1OfInteger &TMults)=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.

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_Array1OfVec &D2Poles, TColgp_Array1OfPnt2d &Poles2d, TColgp_Array1OfVec2d &DPoles2d, TColgp_Array1OfVec2d &D2Poles2d, TColStd_Array1OfReal &Weigths, TColStd_Array1OfReal &DWeigths, TColStd_Array1OfReal &D2Weigths)
 Used for the first and last section
The method returns Standard_True if the derivatives
are computed, otherwise it returns Standard_False


Member Function Documentation

virtual Standard_Boolean Blend_Function::Derivatives ( const math_Vector X,
math_Matrix D 
) [pure virtual]
virtual void Blend_Function::GetBounds ( math_Vector InfBound,
math_Vector SupBound 
) const [pure virtual]
virtual void Blend_Function::GetShape ( Standard_Integer NbPoles,
Standard_Integer NbKnots,
Standard_Integer Degree,
Standard_Integer NbPoles2d 
) [pure virtual]
virtual void Blend_Function::GetTolerance ( math_Vector Tolerance,
const Standard_Real  Tol 
) const [pure virtual]
virtual void Blend_Function::GetTolerance ( const Standard_Real  BoundTol,
const Standard_Real  SurfTol,
const Standard_Real  AngleTol,
math_Vector Tol3d,
math_Vector Tol1D 
) const [pure virtual]
virtual Standard_Boolean Blend_Function::IsSolution ( const math_Vector Sol,
const Standard_Real  Tol 
) [pure virtual]
virtual Standard_Boolean Blend_Function::IsTangencyPoint ( ) const [pure virtual]
virtual void Blend_Function::Knots ( TColStd_Array1OfReal TKnots) [pure virtual]
virtual void Blend_Function::Mults ( TColStd_Array1OfInteger TMults) [pure virtual]
virtual Standard_Integer Blend_Function::NbEquations ( ) const [pure virtual]

Implements Blend_AppFunction.

const gp_Pnt& Blend_Function::Pnt1 ( ) const [virtual]

Implements Blend_AppFunction.

const gp_Pnt& Blend_Function::Pnt2 ( ) const [virtual]

Implements Blend_AppFunction.

virtual const gp_Pnt& Blend_Function::PointOnS1 ( ) const [pure virtual]
virtual const gp_Pnt& Blend_Function::PointOnS2 ( ) const [pure virtual]
virtual Standard_Boolean Blend_Function::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]
virtual void Blend_Function::Section ( const Blend_Point P,
TColgp_Array1OfPnt Poles,
TColgp_Array1OfPnt2d Poles2d,
TColStd_Array1OfReal Weigths 
) [pure virtual]
virtual Standard_Boolean Blend_Function::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 
) [virtual]
virtual void Blend_Function::Set ( const Standard_Real  Param) [pure virtual]
virtual void Blend_Function::Set ( const Standard_Real  First,
const Standard_Real  Last 
) [pure virtual]
virtual void Blend_Function::Tangent ( const Standard_Real  U1,
const Standard_Real  V1,
const Standard_Real  U2,
const Standard_Real  V2,
gp_Vec TgFirst,
gp_Vec TgLast,
gp_Vec NormFirst,
gp_Vec NormLast 
) const [pure virtual]
virtual const gp_Vec2d& Blend_Function::Tangent2dOnS1 ( ) const [pure virtual]
virtual const gp_Vec2d& Blend_Function::Tangent2dOnS2 ( ) const [pure virtual]
virtual const gp_Vec& Blend_Function::TangentOnS1 ( ) const [pure virtual]
virtual const gp_Vec& Blend_Function::TangentOnS2 ( ) const [pure virtual]
virtual Standard_Boolean Blend_Function::TwistOnS1 ( ) const [virtual]
virtual Standard_Boolean Blend_Function::TwistOnS2 ( ) const [virtual]
virtual Standard_Boolean Blend_Function::Value ( const math_Vector X,
math_Vector F 
) [pure virtual]
virtual Standard_Boolean Blend_Function::Values ( const math_Vector X,
math_Vector F,
math_Matrix D 
) [pure virtual]

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