Open CASCADE Technology 6.6.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.
#include <Blend_AppFunction.hxx>
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 beetween two extremitys of calculed 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 Standard_Boolean | IsRational () const =0 |
Returns if the section is rationnal | |
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 <S>. May be one if Continuity(me) >= <S> | |
virtual void | Intervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const =0 |
Stores in <T> the parameters bounding the intervals of continuity <S>. The array must provide enough room to accomodate for the parameters. i.e. T.Length() > NbIntervals() raises OutOfRange from Standard | |
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)=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. |
virtual Standard_Boolean Blend_AppFunction::Derivatives | ( | const math_Vector & | X, |
math_Matrix & | D | ||
) | [pure virtual] |
Implements math_FunctionSetWithDerivatives.
Implemented in Blend_Function, Blend_CSFunction, Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual void Blend_AppFunction::GetBounds | ( | math_Vector & | InfBound, |
math_Vector & | SupBound | ||
) | const [pure virtual] |
Implemented in Blend_Function, Blend_CSFunction, Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual Standard_Real Blend_AppFunction::GetMinimalDistance | ( | ) | const [pure virtual] |
virtual void Blend_AppFunction::GetMinimalWeight | ( | TColStd_Array1OfReal & | Weigths | ) | const [pure virtual] |
Implemented in Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual Standard_Real Blend_AppFunction::GetSectionSize | ( | ) | const [pure virtual] |
Implemented in Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual void Blend_AppFunction::GetShape | ( | Standard_Integer & | NbPoles, |
Standard_Integer & | NbKnots, | ||
Standard_Integer & | Degree, | ||
Standard_Integer & | NbPoles2d | ||
) | [pure virtual] |
Implemented in Blend_Function, Blend_CSFunction, Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual void Blend_AppFunction::GetTolerance | ( | math_Vector & | Tolerance, |
const Standard_Real | Tol | ||
) | const [pure virtual] |
Implemented in Blend_Function, Blend_CSFunction, Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.
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] |
Implemented in Blend_Function, Blend_CSFunction, Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual void Blend_AppFunction::Intervals | ( | TColStd_Array1OfReal & | T, |
const GeomAbs_Shape | S | ||
) | const [pure virtual] |
Implemented in Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual Standard_Boolean Blend_AppFunction::IsRational | ( | ) | const [pure virtual] |
Implemented in Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual Standard_Boolean Blend_AppFunction::IsSolution | ( | const math_Vector & | Sol, |
const Standard_Real | Tol | ||
) | [pure virtual] |
Implemented in Blend_Function, Blend_CSFunction, Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual void Blend_AppFunction::Knots | ( | TColStd_Array1OfReal & | TKnots | ) | [pure virtual] |
Implemented in Blend_Function, Blend_CSFunction, Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual void Blend_AppFunction::Mults | ( | TColStd_Array1OfInteger & | TMults | ) | [pure virtual] |
Implemented in Blend_Function, Blend_CSFunction, Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual Standard_Integer Blend_AppFunction::NbEquations | ( | ) | const [pure virtual] |
Implements math_FunctionSetWithDerivatives.
Implemented in Blend_Function, Blend_CSFunction, Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual Standard_Integer Blend_AppFunction::NbIntervals | ( | const GeomAbs_Shape | S | ) | const [pure virtual] |
Implemented in Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual Standard_Integer Blend_AppFunction::NbVariables | ( | ) | const [pure virtual] |
Standard_Real Blend_AppFunction::Parameter | ( | const Blend_Point & | P | ) | const |
virtual const gp_Pnt& Blend_AppFunction::Pnt1 | ( | ) | const [pure virtual] |
Implemented in Blend_Function, Blend_CSFunction, Blend_SurfRstFunction, and Blend_RstRstFunction.
virtual const gp_Pnt& Blend_AppFunction::Pnt2 | ( | ) | const [pure virtual] |
Implemented in Blend_Function, Blend_CSFunction, Blend_SurfRstFunction, and Blend_RstRstFunction.
virtual void Blend_AppFunction::Resolution | ( | const Standard_Integer | IC2d, |
const Standard_Real | Tol, | ||
Standard_Real & | TolU, | ||
Standard_Real & | TolV | ||
) | const [pure virtual] |
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] |
Implemented in Blend_Function, Blend_CSFunction, Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual void Blend_AppFunction::Section | ( | const Blend_Point & | P, |
TColgp_Array1OfPnt & | Poles, | ||
TColgp_Array1OfPnt2d & | Poles2d, | ||
TColStd_Array1OfReal & | Weigths | ||
) | [pure virtual] |
Implemented in Blend_Function, Blend_CSFunction, Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.
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] |
Implemented in Blend_Function, Blend_CSFunction, Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual void Blend_AppFunction::Set | ( | const Standard_Real | First, |
const Standard_Real | Last | ||
) | [pure virtual] |
Implemented in Blend_Function, Blend_CSFunction, Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual void Blend_AppFunction::Set | ( | const Standard_Real | Param | ) | [pure virtual] |
Implemented in Blend_Function, Blend_CSFunction, Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual Standard_Boolean Blend_AppFunction::Value | ( | const math_Vector & | X, |
math_Vector & | F | ||
) | [pure virtual] |
Implements math_FunctionSetWithDerivatives.
Implemented in Blend_Function, Blend_CSFunction, Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual Standard_Boolean Blend_AppFunction::Values | ( | const math_Vector & | X, |
math_Vector & | F, | ||
math_Matrix & | D | ||
) | [pure virtual] |
Implements math_FunctionSetWithDerivatives.
Implemented in Blend_Function, Blend_CSFunction, Blend_SurfRstFunction, Blend_RstRstFunction, BRepBlend_SurfRstEvolRad, BRepBlend_SurfRstConstRad, BRepBlend_RstRstEvolRad, BRepBlend_RstRstConstRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_EvolRad, BlendFunc_CSConstRad, BlendFunc_CSCircular, BlendFunc_Chamfer, and BlendFunc_ChAsym.