Open CASCADE Technology
6.5.4
|
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_Function.hxx>
Public Member Functions | |
DEFINE_STANDARD_ALLOC Standard_Integer | NbVariables () const |
Returns 4. | |
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. | |
const gp_Pnt & | Pnt1 () const |
Returns the point on the first support. | |
const gp_Pnt & | Pnt2 () const |
Returns the point on the seconde support. | |
virtual const gp_Pnt & | PointOnS1 () 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. | |
virtual const gp_Pnt & | PointOnS2 () 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. | |
virtual Standard_Boolean | IsTangencyPoint () const =0 |
Returns True when it is not possible to compute the tangent vectors at PointOnS1 and/or PointOnS2. | |
virtual const gp_Vec & | TangentOnS1 () const =0 |
Returns the tangent vector at PointOnS1, in 3d space. | |
virtual const gp_Vec2d & | Tangent2dOnS1 () const =0 |
Returns the tangent vector at PointOnS1, in the parametric space of the first surface. | |
virtual const gp_Vec & | TangentOnS2 () const =0 |
Returns the tangent vector at PointOnS2, in 3d space. | |
virtual const gp_Vec2d & | Tangent2dOnS2 () const =0 |
Returns the tangent vector at PointOnS2, in the parametric space of the second surface. | |
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. | |
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)=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) |
Used for the first and last section The method returns Standard_True if the derivatives are computed, otherwise it returns Standard_False |
virtual Standard_Boolean Blend_Function::Derivatives | ( | const math_Vector & | X, |
math_Matrix & | D | ||
) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BlendFunc_ChAsym, BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_Ruled, and BlendFunc_Chamfer.
virtual void Blend_Function::GetBounds | ( | math_Vector & | InfBound, |
math_Vector & | SupBound | ||
) | const [pure virtual] |
Implements Blend_AppFunction.
Implemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual void Blend_Function::GetShape | ( | Standard_Integer & | NbPoles, |
Standard_Integer & | NbKnots, | ||
Standard_Integer & | Degree, | ||
Standard_Integer & | NbPoles2d | ||
) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_ChAsym, BlendFunc_Ruled, and BlendFunc_Chamfer.
virtual void Blend_Function::GetTolerance | ( | math_Vector & | Tolerance, |
const Standard_Real | Tol | ||
) | const [pure virtual] |
Implements Blend_AppFunction.
Implemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual void Blend_Function::GetTolerance | ( | const Standard_Real | BoundTol, |
const Standard_Real | SurfTol, | ||
const Standard_Real | AngleTol, | ||
math_Vector & | Tol3d, | ||
math_Vector & | Tol1D | ||
) | const [pure virtual] |
Implements Blend_AppFunction.
Implemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_ChAsym, BlendFunc_Ruled, and BlendFunc_Chamfer.
virtual Standard_Boolean Blend_Function::IsSolution | ( | const math_Vector & | Sol, |
const Standard_Real | Tol | ||
) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual Standard_Boolean Blend_Function::IsTangencyPoint | ( | ) | const [pure virtual] |
Implemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_ChAsym, BlendFunc_Ruled, and BlendFunc_Chamfer.
virtual void Blend_Function::Knots | ( | TColStd_Array1OfReal & | TKnots | ) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_ChAsym, BlendFunc_Ruled, and BlendFunc_Chamfer.
virtual void Blend_Function::Mults | ( | TColStd_Array1OfInteger & | TMults | ) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_ChAsym, BlendFunc_Ruled, and BlendFunc_Chamfer.
virtual Standard_Integer Blend_Function::NbEquations | ( | ) | const [pure virtual] |
Implements Blend_AppFunction.
Implemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_ChAsym, BlendFunc_Ruled, and BlendFunc_Chamfer.
DEFINE_STANDARD_ALLOC Standard_Integer Blend_Function::NbVariables | ( | ) | const [virtual] |
Implements Blend_AppFunction.
const gp_Pnt& Blend_Function::Pnt1 | ( | ) | const [virtual] |
Implements Blend_AppFunction.
const gp_Pnt& Blend_Function::Pnt2 | ( | ) | const [virtual] |
Implements Blend_AppFunction.
virtual const gp_Pnt& Blend_Function::PointOnS1 | ( | ) | const [pure virtual] |
Implemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_ChAsym, BlendFunc_Ruled, and BlendFunc_Chamfer.
virtual const gp_Pnt& Blend_Function::PointOnS2 | ( | ) | const [pure virtual] |
Implemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_ChAsym, BlendFunc_Ruled, and BlendFunc_Chamfer.
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 | ||
) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_ChAsym, BlendFunc_Ruled, and BlendFunc_Chamfer.
virtual void Blend_Function::Section | ( | const Blend_Point & | P, |
TColgp_Array1OfPnt & | Poles, | ||
TColgp_Array1OfPnt2d & | Poles2d, | ||
TColStd_Array1OfReal & | Weigths | ||
) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_ChAsym, BlendFunc_Ruled, and BlendFunc_Chamfer.
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 | ||
) | [virtual] |
Implements Blend_AppFunction.
Reimplemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_ChAsym, BlendFunc_Ruled, and BlendFunc_Chamfer.
virtual void Blend_Function::Set | ( | const Standard_Real | Param | ) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_Chamfer, and BlendFunc_ChAsym.
virtual void Blend_Function::Set | ( | const Standard_Real | First, |
const Standard_Real | Last | ||
) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_Ruled, BlendFunc_Chamfer, and BlendFunc_ChAsym.
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] |
Implemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_ChAsym, BlendFunc_Ruled, and BlendFunc_Chamfer.
virtual const gp_Vec2d& Blend_Function::Tangent2dOnS1 | ( | ) | const [pure virtual] |
Implemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_ChAsym, BlendFunc_Ruled, and BlendFunc_Chamfer.
virtual const gp_Vec2d& Blend_Function::Tangent2dOnS2 | ( | ) | const [pure virtual] |
Implemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_ChAsym, BlendFunc_Ruled, and BlendFunc_Chamfer.
virtual const gp_Vec& Blend_Function::TangentOnS1 | ( | ) | const [pure virtual] |
Implemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_ChAsym, BlendFunc_Ruled, and BlendFunc_Chamfer.
virtual const gp_Vec& Blend_Function::TangentOnS2 | ( | ) | const [pure virtual] |
Implemented in BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_ChAsym, BlendFunc_Ruled, and BlendFunc_Chamfer.
virtual Standard_Boolean Blend_Function::TwistOnS1 | ( | ) | const [virtual] |
Reimplemented in BlendFunc_EvolRad, BlendFunc_ConstRad, and BlendFunc_ChAsym.
virtual Standard_Boolean Blend_Function::TwistOnS2 | ( | ) | const [virtual] |
Reimplemented in BlendFunc_EvolRad, BlendFunc_ConstRad, and BlendFunc_ChAsym.
virtual Standard_Boolean Blend_Function::Value | ( | const math_Vector & | X, |
math_Vector & | F | ||
) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BlendFunc_ChAsym, BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_Ruled, and BlendFunc_Chamfer.
virtual Standard_Boolean Blend_Function::Values | ( | const math_Vector & | X, |
math_Vector & | F, | ||
math_Matrix & | D | ||
) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BlendFunc_ChAsym, BlendFunc_EvolRad, BlendFunc_ConstRad, BlendFunc_Ruled, and BlendFunc_Chamfer.