Open CASCADE Technology 7.8.2.dev
Blend_AppFunction 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_AppFunction.hxx>

Inheritance diagram for Blend_AppFunction:

Public Member Functions

virtual Standard_Integer NbVariables () const =0
 returns the number of variables of the function.
 
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.
 
virtual Standard_Real GetMinimalDistance () const =0
 Returns the minimal Distance between two extremities of calculated sections.
 
virtual const gp_PntPnt1 () const =0
 Returns the point on the first support.
 
virtual const gp_PntPnt2 () const =0
 Returns the point on the first support.
 
virtual Standard_Boolean IsRational () const =0
 Returns if the section is rational.
 
virtual Standard_Real GetSectionSize () const =0
 Returns the length of the maximum section.
 
virtual void GetMinimalWeight (TColStd_Array1OfReal &Weigths) const =0
 Compute the minimal value of weight for each poles of all sections.
 
virtual Standard_Integer NbIntervals (const GeomAbs_Shape S) const =0
 Returns the number of intervals for continuity . May be one if Continuity(me) >=
 
virtual void Intervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const =0
 Stores in <T> the parameters bounding the intervals of continuity .
 
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 respect 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)=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 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.
 
- Public Member Functions inherited from math_FunctionSetWithDerivatives
- 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.
 
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_AppFunction::Derivatives ( const math_Vector & X,
math_Matrix & D )
pure virtual

◆ GetBounds()

virtual void Blend_AppFunction::GetBounds ( math_Vector & InfBound,
math_Vector & SupBound ) const
pure 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.

Implemented in Blend_CSFunction, Blend_RstRstFunction, Blend_SurfRstFunction, BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, and BRepBlend_SurfRstEvolRad.

◆ GetMinimalDistance()

virtual Standard_Real Blend_AppFunction::GetMinimalDistance ( ) const
pure virtual

◆ GetMinimalWeight()

virtual void Blend_AppFunction::GetMinimalWeight ( TColStd_Array1OfReal & Weigths) const
pure virtual

◆ GetSectionSize()

◆ GetShape()

◆ GetTolerance() [1/2]

virtual void Blend_AppFunction::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 respect BoundTol error at the Boundary AngleTol tangent error at the Boundary SurfTol error inside the surface.

Implemented in Blend_CSFunction, Blend_RstRstFunction, Blend_SurfRstFunction, BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, and BRepBlend_SurfRstEvolRad.

◆ GetTolerance() [2/2]

virtual void Blend_AppFunction::GetTolerance ( math_Vector & Tolerance,
const Standard_Real Tol ) const
pure virtual

◆ Intervals()

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

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

The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals() raises OutOfRange from Standard

Implemented in Blend_RstRstFunction, Blend_SurfRstFunction, BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, and BRepBlend_SurfRstEvolRad.

◆ IsRational()

◆ IsSolution()

virtual Standard_Boolean Blend_AppFunction::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.

Implemented in Blend_CSFunction, Blend_RstRstFunction, Blend_SurfRstFunction, BlendFunc_Chamfer, BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_ConstThroat, BlendFunc_ConstThroatWithPenetration, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, and BRepBlend_SurfRstEvolRad.

◆ Knots()

◆ Mults()

◆ NbEquations()

◆ NbIntervals()

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

◆ NbVariables()

virtual Standard_Integer Blend_AppFunction::NbVariables ( ) const
pure virtual

◆ Parameter()

Standard_Real Blend_AppFunction::Parameter ( const Blend_Point & P) const

Returns the parameter of the point P. Used to impose the parameters in the approximation.

◆ Pnt1()

virtual const gp_Pnt & Blend_AppFunction::Pnt1 ( ) const
pure virtual

Returns the point on the first support.

Implemented in Blend_CSFunction, Blend_Function, Blend_RstRstFunction, and Blend_SurfRstFunction.

◆ Pnt2()

virtual const gp_Pnt & Blend_AppFunction::Pnt2 ( ) const
pure virtual

Returns the point on the first support.

Implemented in Blend_CSFunction, Blend_Function, Blend_RstRstFunction, and Blend_SurfRstFunction.

◆ Resolution()

◆ Section() [1/3]

◆ Section() [2/3]

virtual Standard_Boolean Blend_AppFunction::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.

Implemented in Blend_CSFunction, Blend_RstRstFunction, Blend_SurfRstFunction, BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, and BRepBlend_SurfRstEvolRad.

◆ Section() [3/3]

virtual Standard_Boolean Blend_AppFunction::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

◆ Set() [1/2]

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

◆ Set() [2/2]

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

◆ Value()

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

◆ Values()

virtual Standard_Boolean Blend_AppFunction::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 math_FunctionSetWithDerivatives.

Implemented in Blend_CSFunction, Blend_RstRstFunction, Blend_SurfRstFunction, BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, and BRepBlend_SurfRstEvolRad.


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