Open CASCADE Technology 7.8.2.dev
|
Deferred class for a function used to compute a blending surface between a surface and a curve, 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_CSFunction.hxx>
Public Member Functions | |
virtual Standard_Integer | NbVariables () const override |
Returns 3 (default value). Can be redefined. | |
virtual Standard_Integer | NbEquations () const override=0 |
returns the number of equations of the function. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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 3 variables; Tol is the tolerance used in 3d space. | |
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 3 variables. Returns in the vector SupBound the greatest values allowed for each of the 3 variables. | |
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. | |
virtual Standard_Real | GetMinimalDistance () const override |
Returns the minimal Distance between two extremities of calculated sections. | |
const gp_Pnt & | Pnt1 () const override |
Returns the point on the first support. | |
const gp_Pnt & | Pnt2 () const override |
Returns the point on the seconde support. | |
virtual const gp_Pnt & | PointOnS () const =0 |
Returns the point on the surface. | |
virtual const gp_Pnt & | PointOnC () const =0 |
Returns the point on the curve. | |
virtual const gp_Pnt2d & | Pnt2d () const =0 |
Returns U,V coordinates of the point on the surface. | |
virtual Standard_Real | ParameterOnC () const =0 |
Returns parameter of the point on the curve. | |
virtual Standard_Boolean | IsTangencyPoint () const =0 |
Returns True when it is not possible to compute the tangent vectors at PointOnS and/or PointOnC. | |
virtual const gp_Vec & | TangentOnS () const =0 |
Returns the tangent vector at PointOnS, in 3d space. | |
virtual const gp_Vec2d & | Tangent2d () const =0 |
Returns the tangent vector at PointOnS, in the parametric space of the first surface. | |
virtual const gp_Vec & | TangentOnC () const =0 |
Returns the tangent vector at PointOnC, in 3d space. | |
virtual void | Tangent (const Standard_Real U, const Standard_Real V, gp_Vec &TgS, gp_Vec &NormS) 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 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 respect BoundTol error at the Boundary AngleTol tangent error at the Boundary SurfTol error inside the surface. | |
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. | |
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. | |
Public Member Functions inherited from Blend_AppFunction | |
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 | |
virtual void | Intervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const =0 |
Stores in <T> the parameters bounding the intervals of continuity | |
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 () |
Deferred class for a function used to compute a blending surface between a surface and a curve, 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.
|
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_CSCircular, and BlendFunc_CSConstRad.
|
overridepure virtual |
Returns in the vector InfBound the lowest values allowed for each of the 3 variables. Returns in the vector SupBound the greatest values allowed for each of the 3 variables.
Implements Blend_AppFunction.
Implemented in BlendFunc_CSCircular, and BlendFunc_CSConstRad.
|
overridevirtual |
Returns the minimal Distance between two extremities of calculated sections.
Implements Blend_AppFunction.
|
overridepure virtual |
Implements Blend_AppFunction.
Implemented in BlendFunc_CSCircular, and BlendFunc_CSConstRad.
|
overridepure 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.
Implements Blend_AppFunction.
Implemented in BlendFunc_CSCircular, and BlendFunc_CSConstRad.
|
overridepure virtual |
Returns in the vector Tolerance the parametric tolerance for each of the 3 variables; Tol is the tolerance used in 3d space.
Implements Blend_AppFunction.
Implemented in BlendFunc_CSCircular, and BlendFunc_CSConstRad.
|
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_CSCircular, and BlendFunc_CSConstRad.
|
pure virtual |
Returns True when it is not possible to compute the tangent vectors at PointOnS and/or PointOnC.
Implemented in BlendFunc_CSCircular, and BlendFunc_CSConstRad.
|
overridepure virtual |
Implements Blend_AppFunction.
Implemented in BlendFunc_CSCircular, and BlendFunc_CSConstRad.
|
overridepure virtual |
Implements Blend_AppFunction.
Implemented in BlendFunc_CSCircular, and BlendFunc_CSConstRad.
|
overridepure virtual |
returns the number of equations of the function.
Implements Blend_AppFunction.
Implemented in BlendFunc_CSCircular, and BlendFunc_CSConstRad.
|
overridevirtual |
Returns 3 (default value). Can be redefined.
Implements Blend_AppFunction.
Reimplemented in BlendFunc_CSCircular.
|
pure virtual |
Returns parameter of the point on the curve.
Implemented in BlendFunc_CSCircular, and BlendFunc_CSConstRad.
|
overridevirtual |
Returns the point on the first support.
Implements Blend_AppFunction.
|
overridevirtual |
Returns the point on the seconde support.
Implements Blend_AppFunction.
|
pure virtual |
Returns U,V coordinates of the point on the surface.
Implemented in BlendFunc_CSCircular, and BlendFunc_CSConstRad.
|
pure virtual |
Returns the point on the curve.
Implemented in BlendFunc_CSCircular, and BlendFunc_CSConstRad.
|
pure virtual |
Returns the point on the surface.
Implemented in BlendFunc_CSCircular, and BlendFunc_CSConstRad.
|
overridepure virtual |
Implements Blend_AppFunction.
Implemented in BlendFunc_CSCircular, and BlendFunc_CSConstRad.
|
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_CSCircular, and BlendFunc_CSConstRad.
|
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_CSCircular, and BlendFunc_CSConstRad.
|
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_CSCircular, and BlendFunc_CSConstRad.
|
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_CSCircular, and BlendFunc_CSConstRad.
|
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_CSCircular, and BlendFunc_CSConstRad.
|
pure virtual |
Returns the tangent vector at PointOnS, in the parametric space of the first surface.
Implemented in BlendFunc_CSCircular, and BlendFunc_CSConstRad.
|
pure virtual |
Returns the tangent vector at PointOnC, in 3d space.
Implemented in BlendFunc_CSCircular, and BlendFunc_CSConstRad.
|
pure virtual |
Returns the tangent vector at PointOnS, in 3d space.
Implemented in BlendFunc_CSCircular, and BlendFunc_CSConstRad.
|
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_CSCircular, and BlendFunc_CSConstRad.
|
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_CSCircular, and BlendFunc_CSConstRad.