Open CASCADE Technology
6.5.4
|
Deferred class for a function used to compute a blending
surface between a surface and a pcurve on an other Surface,
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.
#include <Blend_SurfRstFunction.hxx>
Public Member Functions | |
virtual DEFINE_STANDARD_ALLOC Standard_Integer | NbVariables () const =0 |
Returns 3 (default value). Can be redefined. | |
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 variable; 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 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)=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. | |
Standard_Real | GetMinimalDistance () const |
Returns the minimal Distance beetween two extremitys of calculed sections. | |
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 & | PointOnS () const =0 |
Returns the point on the surface. | |
virtual const gp_Pnt & | PointOnRst () const =0 |
Returns the point on the curve. | |
virtual const gp_Pnt2d & | Pnt2dOnS () const =0 |
Returns U,V coordinates of the point on the surface. | |
virtual const gp_Pnt2d & | Pnt2dOnRst () const =0 |
Returns U,V coordinates of the point on the curve on surface. | |
virtual Standard_Real | ParameterOnRst () 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 PointOnRst. | |
virtual const gp_Vec & | TangentOnS () const =0 |
Returns the tangent vector at PointOnS, in 3d space. | |
virtual const gp_Vec2d & | Tangent2dOnS () const =0 |
Returns the tangent vector at PointOnS, in the parametric space of the first surface. | |
virtual const gp_Vec & | TangentOnRst () const =0 |
Returns the tangent vector at PointOnC, in 3d space. | |
virtual const gp_Vec2d & | Tangent2dOnRst () const =0 |
Returns the tangent vector at PointOnRst, in the parametric space of the second surface. | |
virtual Standard_Boolean | Decroch (const math_Vector &Sol, gp_Vec &NS, gp_Vec &TgS) const =0 |
Enables implementation of a criterion of decrochage specific to the function. | |
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() | |
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 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 | Section (const Blend_Point &P, TColgp_Array1OfPnt &Poles, TColgp_Array1OfPnt2d &Poles2d, TColStd_Array1OfReal &Weigths)=0 |
virtual Standard_Boolean Blend_SurfRstFunction::Decroch | ( | const math_Vector & | Sol, |
gp_Vec & | NS, | ||
gp_Vec & | TgS | ||
) | const [pure virtual] |
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual Standard_Boolean Blend_SurfRstFunction::Derivatives | ( | const math_Vector & | X, |
math_Matrix & | D | ||
) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual void Blend_SurfRstFunction::GetBounds | ( | math_Vector & | InfBound, |
math_Vector & | SupBound | ||
) | const [pure virtual] |
Implements Blend_AppFunction.
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
Standard_Real Blend_SurfRstFunction::GetMinimalDistance | ( | ) | const [virtual] |
Implements Blend_AppFunction.
Reimplemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual void Blend_SurfRstFunction::GetMinimalWeight | ( | TColStd_Array1OfReal & | Weigths | ) | const [pure virtual] |
Implements Blend_AppFunction.
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual Standard_Real Blend_SurfRstFunction::GetSectionSize | ( | ) | const [pure virtual] |
Implements Blend_AppFunction.
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual void Blend_SurfRstFunction::GetShape | ( | Standard_Integer & | NbPoles, |
Standard_Integer & | NbKnots, | ||
Standard_Integer & | Degree, | ||
Standard_Integer & | NbPoles2d | ||
) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual void Blend_SurfRstFunction::GetTolerance | ( | math_Vector & | Tolerance, |
const Standard_Real | Tol | ||
) | const [pure virtual] |
Implements Blend_AppFunction.
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual void Blend_SurfRstFunction::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 BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual void Blend_SurfRstFunction::Intervals | ( | TColStd_Array1OfReal & | T, |
const GeomAbs_Shape | S | ||
) | const [pure virtual] |
Implements Blend_AppFunction.
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual Standard_Boolean Blend_SurfRstFunction::IsRational | ( | ) | const [pure virtual] |
Implements Blend_AppFunction.
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual Standard_Boolean Blend_SurfRstFunction::IsSolution | ( | const math_Vector & | Sol, |
const Standard_Real | Tol | ||
) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual Standard_Boolean Blend_SurfRstFunction::IsTangencyPoint | ( | ) | const [pure virtual] |
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual void Blend_SurfRstFunction::Knots | ( | TColStd_Array1OfReal & | TKnots | ) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual void Blend_SurfRstFunction::Mults | ( | TColStd_Array1OfInteger & | TMults | ) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual Standard_Integer Blend_SurfRstFunction::NbEquations | ( | ) | const [pure virtual] |
Implements Blend_AppFunction.
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual Standard_Integer Blend_SurfRstFunction::NbIntervals | ( | const GeomAbs_Shape | S | ) | const [pure virtual] |
Implements Blend_AppFunction.
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual DEFINE_STANDARD_ALLOC Standard_Integer Blend_SurfRstFunction::NbVariables | ( | ) | const [pure virtual] |
Implements Blend_AppFunction.
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual Standard_Real Blend_SurfRstFunction::ParameterOnRst | ( | ) | const [pure virtual] |
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
const gp_Pnt& Blend_SurfRstFunction::Pnt1 | ( | ) | const [virtual] |
Implements Blend_AppFunction.
const gp_Pnt& Blend_SurfRstFunction::Pnt2 | ( | ) | const [virtual] |
Implements Blend_AppFunction.
virtual const gp_Pnt2d& Blend_SurfRstFunction::Pnt2dOnRst | ( | ) | const [pure virtual] |
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual const gp_Pnt2d& Blend_SurfRstFunction::Pnt2dOnS | ( | ) | const [pure virtual] |
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual const gp_Pnt& Blend_SurfRstFunction::PointOnRst | ( | ) | const [pure virtual] |
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual const gp_Pnt& Blend_SurfRstFunction::PointOnS | ( | ) | const [pure virtual] |
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual Standard_Boolean Blend_SurfRstFunction::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 BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual Standard_Boolean Blend_SurfRstFunction::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] |
Implements Blend_AppFunction.
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual void Blend_SurfRstFunction::Section | ( | const Blend_Point & | P, |
TColgp_Array1OfPnt & | Poles, | ||
TColgp_Array1OfPnt2d & | Poles2d, | ||
TColStd_Array1OfReal & | Weigths | ||
) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual void Blend_SurfRstFunction::Set | ( | const Standard_Real | Param | ) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual void Blend_SurfRstFunction::Set | ( | const Standard_Real | First, |
const Standard_Real | Last | ||
) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual const gp_Vec2d& Blend_SurfRstFunction::Tangent2dOnRst | ( | ) | const [pure virtual] |
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual const gp_Vec2d& Blend_SurfRstFunction::Tangent2dOnS | ( | ) | const [pure virtual] |
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual const gp_Vec& Blend_SurfRstFunction::TangentOnRst | ( | ) | const [pure virtual] |
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual const gp_Vec& Blend_SurfRstFunction::TangentOnS | ( | ) | const [pure virtual] |
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual Standard_Boolean Blend_SurfRstFunction::Value | ( | const math_Vector & | X, |
math_Vector & | F | ||
) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.
virtual Standard_Boolean Blend_SurfRstFunction::Values | ( | const math_Vector & | X, |
math_Vector & | F, | ||
math_Matrix & | D | ||
) | [pure virtual] |
Implements Blend_AppFunction.
Implemented in BRepBlend_SurfRstEvolRad, and BRepBlend_SurfRstConstRad.