Open CASCADE Technology  7.3.0
Public Member Functions

Blend_Function Class Referenceabstract

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. More...

#include <Blend_Function.hxx>

Inheritance diagram for Blend_Function:
Inheritance graph
[legend]

Public Member Functions

Standard_Integer NbVariables () const override
 Returns 4. More...
 
virtual Standard_Integer NbEquations () const override=0
 returns the number of equations of the function. More...
 
virtual Standard_Boolean Value (const math_Vector &X, math_Vector &F) override=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) override=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) override=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) override=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) override=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 override=0
 Returns in the vector Tolerance the parametric tolerance for each of the 4 variables; Tol is the tolerance used in 3d space. More...
 
virtual void GetBounds (math_Vector &InfBound, math_Vector &SupBound) const override=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. More...
 
virtual Standard_Boolean IsSolution (const math_Vector &Sol, const Standard_Real Tol) override=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...
 
const gp_PntPnt1 () const override
 Returns the point on the first support. More...
 
const gp_PntPnt2 () const override
 Returns the point on the seconde support. More...
 
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. More...
 
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. More...
 
virtual Standard_Boolean IsTangencyPoint () const =0
 Returns True when it is not possible to compute the tangent vectors at PointOnS1 and/or PointOnS2. More...
 
virtual const gp_VecTangentOnS1 () const =0
 Returns the tangent vector at PointOnS1, in 3d space. More...
 
virtual const gp_Vec2dTangent2dOnS1 () const =0
 Returns the tangent vector at PointOnS1, in the parametric space of the first surface. More...
 
virtual const gp_VecTangentOnS2 () const =0
 Returns the tangent vector at PointOnS2, in 3d space. More...
 
virtual const gp_Vec2dTangent2dOnS2 () const =0
 Returns the tangent vector at PointOnS2, in the parametric space of the second surface. More...
 
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. More...
 
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) override=0
 
virtual void GetTolerance (const Standard_Real BoundTol, const Standard_Real SurfTol, const Standard_Real AngleTol, math_Vector &Tol3d, math_Vector &Tol1D) const override=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) override=0
 
virtual void Mults (TColStd_Array1OfInteger &TMults) override=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) override=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 void Section (const Blend_Point &P, TColgp_Array1OfPnt &Poles, TColgp_Array1OfPnt2d &Poles2d, TColStd_Array1OfReal &Weigths) override=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) override
 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 Standard_Real GetMinimalDistance () const =0
 Returns the minimal Distance beetween two extremitys of calculed sections. 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 of continuity <S>. More...
 
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 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...
 
virtual ~math_FunctionSet ()
 

Detailed Description

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.

Member Function Documentation

◆ Derivatives()

virtual Standard_Boolean Blend_Function::Derivatives ( const math_Vector X,
math_Matrix D 
)
overridepure 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 BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, and BlendFunc_Chamfer.

◆ GetBounds()

virtual void Blend_Function::GetBounds ( math_Vector InfBound,
math_Vector SupBound 
) const
overridepure virtual

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.

Implements Blend_AppFunction.

Implemented in BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, BlendFunc_Chamfer, and BlendFunc_ChAsym.

◆ GetShape()

virtual void Blend_Function::GetShape ( Standard_Integer NbPoles,
Standard_Integer NbKnots,
Standard_Integer Degree,
Standard_Integer NbPoles2d 
)
overridepure virtual

◆ GetTolerance() [1/2]

virtual void Blend_Function::GetTolerance ( math_Vector Tolerance,
const Standard_Real  Tol 
) const
overridepure virtual

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

Implements Blend_AppFunction.

Implemented in BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, BlendFunc_Chamfer, and BlendFunc_ChAsym.

◆ GetTolerance() [2/2]

virtual void Blend_Function::GetTolerance ( const Standard_Real  BoundTol,
const Standard_Real  SurfTol,
const Standard_Real  AngleTol,
math_Vector Tol3d,
math_Vector Tol1D 
) const
overridepure 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 BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_ChAsym, BlendFunc_Ruled, and BlendFunc_Chamfer.

◆ IsSolution()

virtual Standard_Boolean Blend_Function::IsSolution ( const math_Vector Sol,
const Standard_Real  Tol 
)
overridepure 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 BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, BlendFunc_Chamfer, and BlendFunc_ChAsym.

◆ IsTangencyPoint()

virtual Standard_Boolean Blend_Function::IsTangencyPoint ( ) const
pure virtual

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

Implemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, and BlendFunc_Chamfer.

◆ Knots()

virtual void Blend_Function::Knots ( TColStd_Array1OfReal TKnots)
overridepure virtual

◆ Mults()

virtual void Blend_Function::Mults ( TColStd_Array1OfInteger TMults)
overridepure virtual

◆ NbEquations()

virtual Standard_Integer Blend_Function::NbEquations ( ) const
overridepure virtual

returns the number of equations of the function.

Implements Blend_AppFunction.

Implemented in BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_ChAsym, BlendFunc_Ruled, and BlendFunc_Chamfer.

◆ NbVariables()

Standard_Integer Blend_Function::NbVariables ( ) const
overridevirtual

Returns 4.

Implements Blend_AppFunction.

◆ Pnt1()

const gp_Pnt& Blend_Function::Pnt1 ( ) const
overridevirtual

Returns the point on the first support.

Implements Blend_AppFunction.

◆ Pnt2()

const gp_Pnt& Blend_Function::Pnt2 ( ) const
overridevirtual

Returns the point on the seconde support.

Implements Blend_AppFunction.

◆ PointOnS1()

virtual const gp_Pnt& Blend_Function::PointOnS1 ( ) const
pure virtual

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

Implemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, and BlendFunc_Chamfer.

◆ PointOnS2()

virtual const gp_Pnt& Blend_Function::PointOnS2 ( ) const
pure virtual

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

Implemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, and BlendFunc_Chamfer.

◆ Section() [1/3]

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 
)
overridepure 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 BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_ChAsym, BlendFunc_Chamfer, and BlendFunc_Ruled.

◆ Section() [2/3]

virtual void Blend_Function::Section ( const Blend_Point P,
TColgp_Array1OfPnt Poles,
TColgp_Array1OfPnt2d Poles2d,
TColStd_Array1OfReal Weigths 
)
overridepure virtual

◆ Section() [3/3]

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 
)
overridevirtual

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.

Reimplemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_Chamfer, and BlendFunc_Ruled.

◆ Set() [1/2]

virtual void Blend_Function::Set ( const Standard_Real  Param)
overridepure 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 BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, BlendFunc_Chamfer, and BlendFunc_ChAsym.

◆ Set() [2/2]

virtual void Blend_Function::Set ( const Standard_Real  First,
const Standard_Real  Last 
)
overridepure 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 BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, BlendFunc_Chamfer, and BlendFunc_ChAsym.

◆ Tangent()

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

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.

Implemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, and BlendFunc_Chamfer.

◆ Tangent2dOnS1()

virtual const gp_Vec2d& Blend_Function::Tangent2dOnS1 ( ) const
pure virtual

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

Implemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, and BlendFunc_Chamfer.

◆ Tangent2dOnS2()

virtual const gp_Vec2d& Blend_Function::Tangent2dOnS2 ( ) const
pure virtual

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

Implemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, and BlendFunc_Chamfer.

◆ TangentOnS1()

virtual const gp_Vec& Blend_Function::TangentOnS1 ( ) const
pure virtual

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

Implemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, and BlendFunc_Chamfer.

◆ TangentOnS2()

virtual const gp_Vec& Blend_Function::TangentOnS2 ( ) const
pure virtual

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

Implemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, and BlendFunc_Chamfer.

◆ TwistOnS1()

virtual Standard_Boolean Blend_Function::TwistOnS1 ( ) const
virtual

◆ TwistOnS2()

virtual Standard_Boolean Blend_Function::TwistOnS2 ( ) const
virtual

◆ Value()

virtual Standard_Boolean Blend_Function::Value ( const math_Vector X,
math_Vector F 
)
overridepure 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 BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, and BlendFunc_Chamfer.

◆ Values()

virtual Standard_Boolean Blend_Function::Values ( const math_Vector X,
math_Vector F,
math_Matrix D 
)
overridepure 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 BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, and BlendFunc_Chamfer.


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