![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
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>

Public Member Functions | |
| int | NbVariables () const override=0 |
| returns the number of variables of the function. | |
| int | NbEquations () const override=0 |
| returns the number of equations of the function. | |
| bool | 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. | |
| bool | 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. | |
| bool | 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. | |
| virtual void | Set (const double 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 double First, const double 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 double 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 bool | IsSolution (const math_Vector &Sol, const double Tol)=0 |
| Returns 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 double | GetMinimalDistance () const =0 |
| Returns the minimal Distance between two extremities of calculated sections. | |
| virtual const gp_Pnt & | Pnt1 () const =0 |
| Returns the point on the first support. | |
| virtual const gp_Pnt & | Pnt2 () const =0 |
| Returns the point on the first support. | |
| virtual bool | IsRational () const =0 |
| Returns if the section is rational. | |
| virtual double | GetSectionSize () const =0 |
| Returns the length of the maximum section. | |
| virtual void | GetMinimalWeight (NCollection_Array1< double > &Weigths) const =0 |
| Compute the minimal value of weight for each poles of all sections. | |
| virtual int | NbIntervals (const GeomAbs_Shape S) const =0 |
| Returns the number of intervals for continuity | |
| virtual void | Intervals (NCollection_Array1< double > &T, const GeomAbs_Shape S) const =0 |
| Stores in <T> the parameters bounding the intervals of continuity | |
| virtual void | GetShape (int &NbPoles, int &NbKnots, int &Degree, int &NbPoles2d)=0 |
| virtual void | GetTolerance (const double BoundTol, const double SurfTol, const double 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 (NCollection_Array1< double > &TKnots)=0 |
| virtual void | Mults (NCollection_Array1< int > &TMults)=0 |
| virtual bool | Section (const Blend_Point &P, NCollection_Array1< gp_Pnt > &Poles, NCollection_Array1< gp_Vec > &DPoles, NCollection_Array1< gp_Pnt2d > &Poles2d, NCollection_Array1< gp_Vec2d > &DPoles2d, NCollection_Array1< double > &Weigths, NCollection_Array1< double > &DWeigths)=0 |
| Used for the first and last section The method returns true if the derivatives are computed, otherwise it returns false. | |
| virtual void | Section (const Blend_Point &P, NCollection_Array1< gp_Pnt > &Poles, NCollection_Array1< gp_Pnt2d > &Poles2d, NCollection_Array1< double > &Weigths)=0 |
| virtual bool | Section (const Blend_Point &P, NCollection_Array1< gp_Pnt > &Poles, NCollection_Array1< gp_Vec > &DPoles, NCollection_Array1< gp_Vec > &D2Poles, NCollection_Array1< gp_Pnt2d > &Poles2d, NCollection_Array1< gp_Vec2d > &DPoles2d, NCollection_Array1< gp_Vec2d > &D2Poles2d, NCollection_Array1< double > &Weigths, NCollection_Array1< double > &DWeigths, NCollection_Array1< double > &D2Weigths)=0 |
| Used for the first and last section The method returns true if the derivatives are computed, otherwise it returns false. | |
| virtual void | Resolution (const int IC2d, const double Tol, double &TolU, double &TolV) const =0 |
| double | 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_FunctionSet | |
| virtual int | 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 () |
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.
|
overridepure virtual |
returns the values <D> of the derivatives for the variable <X>. Returns True if the computation was done successfully, False otherwise.
Implements math_FunctionSetWithDerivatives.
Implemented in BlendFunc_Chamfer, BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_ConstThroat, BlendFunc_ConstThroatWithPenetration, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_CSFunction, Blend_RstRstFunction, and Blend_SurfRstFunction.
|
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 BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_CSFunction, Blend_RstRstFunction, and Blend_SurfRstFunction.
Returns the minimal Distance between two extremities of calculated sections.
Implemented in Blend_CSFunction, Blend_RstRstFunction, Blend_SurfRstFunction, BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, and BRepBlend_SurfRstEvolRad.
|
pure virtual |
Compute the minimal value of weight for each poles of all sections.
Implemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_RstRstFunction, and Blend_SurfRstFunction.
Returns the length of the maximum section.
Implemented in BlendFunc_Chamfer, BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_ConstThroat, BlendFunc_ConstThroatWithPenetration, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_RstRstFunction, and Blend_SurfRstFunction.
|
pure virtual |
Implemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_CSFunction, Blend_RstRstFunction, and Blend_SurfRstFunction.
|
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 BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_CSFunction, Blend_RstRstFunction, and Blend_SurfRstFunction.
|
pure virtual |
Returns in the vector Tolerance the parametric tolerance for each of the 4 variables; Tol is the tolerance used in 3d space.
Implemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_CSFunction, Blend_RstRstFunction, and Blend_SurfRstFunction.
|
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 BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_RstRstFunction, and Blend_SurfRstFunction.
Returns if the section is rational.
Implemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_RstRstFunction, and Blend_SurfRstFunction.
|
pure virtual |
Returns 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 BlendFunc_Chamfer, BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_ConstThroat, BlendFunc_ConstThroatWithPenetration, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_CSFunction, Blend_RstRstFunction, and Blend_SurfRstFunction.
|
pure virtual |
Implemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_CSFunction, Blend_RstRstFunction, and Blend_SurfRstFunction.
|
pure virtual |
Implemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_CSFunction, Blend_RstRstFunction, and Blend_SurfRstFunction.
|
overridepure virtual |
returns the number of equations of the function.
Implements math_FunctionSetWithDerivatives.
Implemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_CSFunction, Blend_RstRstFunction, and Blend_SurfRstFunction.
|
pure virtual |
Returns the number of intervals for continuity . May be one if Continuity(me) >=
Implemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_RstRstFunction, and Blend_SurfRstFunction.
|
overridepure virtual |
returns the number of variables of the function.
Implements math_FunctionSetWithDerivatives.
Implemented in Blend_CSFunction, Blend_Function, BlendFunc_CSCircular, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_RstRstFunction, and Blend_SurfRstFunction.
| double Blend_AppFunction::Parameter | ( | const Blend_Point & | P | ) | const |
Returns the parameter of the point P. Used to impose the parameters in the approximation.
Returns the point on the first support.
Implemented in Blend_CSFunction, Blend_Function, Blend_RstRstFunction, and Blend_SurfRstFunction.
Returns the point on the first support.
Implemented in Blend_CSFunction, Blend_Function, Blend_RstRstFunction, and Blend_SurfRstFunction.
|
pure virtual |
Implemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_CSFunction, Blend_Function, Blend_RstRstFunction, and Blend_SurfRstFunction.
|
pure virtual |
Used for the first and last section The method returns true if the derivatives are computed, otherwise it returns false.
Implemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_CSFunction, Blend_RstRstFunction, and Blend_SurfRstFunction.
|
pure virtual |
Used for the first and last section The method returns true if the derivatives are computed, otherwise it returns false.
Implemented in Blend_CSFunction, Blend_Function, BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_RstRstFunction, and Blend_SurfRstFunction.
Sets the bounds of the parametric interval on the guide line. This determines the derivatives in these values if the function is not Cn.
Implemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_CSFunction, Blend_RstRstFunction, and Blend_SurfRstFunction.
Sets the value of the parameter along the guide line. This determines the plane in which the solution has to be found.
Implemented in BlendFunc_Chamfer, BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_ConstThroat, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_CSFunction, Blend_RstRstFunction, Blend_SurfRstFunction, and BlendFunc_GenChamfer.
|
overridepure virtual |
computes the values <F> of the Functions for the variable <X>. Returns True if the computation was done successfully, False otherwise.
Implements math_FunctionSetWithDerivatives.
Implemented in BlendFunc_Chamfer, BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_ConstThroat, BlendFunc_ConstThroatWithPenetration, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_CSFunction, Blend_RstRstFunction, and Blend_SurfRstFunction.
|
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 math_FunctionSetWithDerivatives.
Implemented in BlendFunc_ChAsym, BlendFunc_ConstRad, BlendFunc_CSCircular, BlendFunc_CSConstRad, BlendFunc_EvolRad, BlendFunc_GenChamfer, BlendFunc_Ruled, BRepBlend_RstRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_SurfRstEvolRad, Blend_CSFunction, Blend_RstRstFunction, and Blend_SurfRstFunction.