Open CASCADE Technology  7.4.0
Public Member Functions

BRepBlend_RstRstEvolRad Class Reference

Function to approximate by AppSurface for Edge/Edge and evolutif radius. More...

#include <BRepBlend_RstRstEvolRad.hxx>

Inheritance diagram for BRepBlend_RstRstEvolRad:
Inheritance graph
[legend]

Public Member Functions

 BRepBlend_RstRstEvolRad (const Handle< Adaptor3d_HSurface > &Surf1, const Handle< Adaptor2d_HCurve2d > &Rst1, const Handle< Adaptor3d_HSurface > &Surf2, const Handle< Adaptor2d_HCurve2d > &Rst2, const Handle< Adaptor3d_HCurve > &CGuide, const Handle< Law_Function > &Evol)
 
Standard_Integer NbVariables () const override
 Returns 2. More...
 
Standard_Integer NbEquations () const override
 Returns 2. More...
 
Standard_Boolean Value (const math_Vector &X, math_Vector &F) override
 computes the values <F> of the Functions for the variable <X>. Returns True if the computation was done successfully, False otherwise. More...
 
Standard_Boolean Derivatives (const math_Vector &X, math_Matrix &D) override
 returns the values <D> of the derivatives for the variable <X>. Returns True if the computation was done successfully, False otherwise. More...
 
Standard_Boolean Values (const math_Vector &X, math_Vector &F, math_Matrix &D) override
 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. More...
 
void Set (const Handle< Adaptor3d_HSurface > &SurfRef1, const Handle< Adaptor2d_HCurve2d > &RstRef1, const Handle< Adaptor3d_HSurface > &SurfRef2, const Handle< Adaptor2d_HCurve2d > &RstRef2)
 
void Set (const Standard_Real Param) override
 Sets the value of the parameter along the guide line. This determines the plane in which the solution has to be found. More...
 
void Set (const Standard_Real First, const Standard_Real Last) override
 Sets the bounds of the parametric interval on the guide line. This determines the derivatives in these values if the function is not Cn. More...
 
void GetTolerance (math_Vector &Tolerance, const Standard_Real Tol) const override
 Returns in the vector Tolerance the parametric tolerance for each variable; Tol is the tolerance used in 3d space. More...
 
void GetBounds (math_Vector &InfBound, math_Vector &SupBound) const override
 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. More...
 
Standard_Boolean IsSolution (const math_Vector &Sol, const Standard_Real Tol) override
 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. More...
 
virtual Standard_Real GetMinimalDistance () const override
 Returns the minimal Distance beetween two extremitys of calculed sections. More...
 
const gp_PntPointOnRst1 () const override
 Returns the point on the surface. More...
 
const gp_PntPointOnRst2 () const override
 Returns the point on the curve. More...
 
const gp_Pnt2dPnt2dOnRst1 () const override
 Returns U,V coordinates of the point on the surface. More...
 
const gp_Pnt2dPnt2dOnRst2 () const override
 Returns U,V coordinates of the point on the curve on surface. More...
 
Standard_Real ParameterOnRst1 () const override
 Returns parameter of the point on the curve. More...
 
Standard_Real ParameterOnRst2 () const override
 Returns parameter of the point on the curve. More...
 
Standard_Boolean IsTangencyPoint () const override
 Returns True when it is not possible to compute the tangent vectors at PointOnS and/or PointOnRst. More...
 
const gp_VecTangentOnRst1 () const override
 Returns the tangent vector at PointOnS, in 3d space. More...
 
const gp_Vec2dTangent2dOnRst1 () const override
 Returns the tangent vector at PointOnS, in the parametric space of the first surface. More...
 
const gp_VecTangentOnRst2 () const override
 Returns the tangent vector at PointOnC, in 3d space. More...
 
const gp_Vec2dTangent2dOnRst2 () const override
 Returns the tangent vector at PointOnRst, in the parametric space of the second surface. More...
 
Blend_DecrochStatus Decroch (const math_Vector &Sol, gp_Vec &NRst1, gp_Vec &TgRst1, gp_Vec &NRst2, gp_Vec &TgRst2) const override
 Enables implementation of a criterion of decrochage specific to the function. More...
 
void Set (const Standard_Integer Choix)
 
void Set (const BlendFunc_SectionShape TypeSection)
 Sets the type of section generation for the approximations. More...
 
Standard_Boolean CenterCircleRst1Rst2 (const gp_Pnt &PtRst1, const gp_Pnt &PtRst2, const gp_Vec &np, gp_Pnt &Center, gp_Vec &VdMed) const
 Gives the center of circle defined by PtRst1, PtRst2 and radius ray. More...
 
void Section (const Standard_Real Param, const Standard_Real U, const Standard_Real V, Standard_Real &Pdeb, Standard_Real &Pfin, gp_Circ &C)
 
Standard_Boolean IsRational () const override
 Returns if the section is rationnal. More...
 
Standard_Real GetSectionSize () const override
 Returns the length of the maximum section. More...
 
void GetMinimalWeight (TColStd_Array1OfReal &Weigths) const override
 Compute the minimal value of weight for each poles of all sections. More...
 
Standard_Integer NbIntervals (const GeomAbs_Shape S) const override
 Returns the number of intervals for continuity <S>. May be one if Continuity(me) >= <S> More...
 
void Intervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const override
 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() More...
 
void GetShape (Standard_Integer &NbPoles, Standard_Integer &NbKnots, Standard_Integer &Degree, Standard_Integer &NbPoles2d) override
 
void GetTolerance (const Standard_Real BoundTol, const Standard_Real SurfTol, const Standard_Real AngleTol, math_Vector &Tol3d, math_Vector &Tol1D) const override
 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. More...
 
void Knots (TColStd_Array1OfReal &TKnots) override
 
void Mults (TColStd_Array1OfInteger &TMults) override
 
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
 Used for the first and last section. More...
 
void Section (const Blend_Point &P, TColgp_Array1OfPnt &Poles, TColgp_Array1OfPnt2d &Poles2d, TColStd_Array1OfReal &Weigths) override
 
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. More...
 
void Resolution (const Standard_Integer IC2d, const Standard_Real Tol, Standard_Real &TolU, Standard_Real &TolV) const override
 
- Public Member Functions inherited from Blend_RstRstFunction
const gp_PntPnt1 () const
 Returns the point on the first support. More...
 
const gp_PntPnt2 () const
 Returns the point on the seconde support. More...
 
- Public Member Functions inherited from Blend_AppFunction
Standard_Real Parameter (const Blend_Point &P) const
 Returns the parameter of the point P. Used to impose the parameters in the approximation. More...
 
- 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. More...
 
virtual ~math_FunctionSet ()
 

Detailed Description

Function to approximate by AppSurface for Edge/Edge and evolutif radius.

Constructor & Destructor Documentation

◆ BRepBlend_RstRstEvolRad()

BRepBlend_RstRstEvolRad::BRepBlend_RstRstEvolRad ( const Handle< Adaptor3d_HSurface > &  Surf1,
const Handle< Adaptor2d_HCurve2d > &  Rst1,
const Handle< Adaptor3d_HSurface > &  Surf2,
const Handle< Adaptor2d_HCurve2d > &  Rst2,
const Handle< Adaptor3d_HCurve > &  CGuide,
const Handle< Law_Function > &  Evol 
)

Member Function Documentation

◆ CenterCircleRst1Rst2()

Standard_Boolean BRepBlend_RstRstEvolRad::CenterCircleRst1Rst2 ( const gp_Pnt PtRst1,
const gp_Pnt PtRst2,
const gp_Vec np,
gp_Pnt Center,
gp_Vec VdMed 
) const

Gives the center of circle defined by PtRst1, PtRst2 and radius ray.

◆ Decroch()

Blend_DecrochStatus BRepBlend_RstRstEvolRad::Decroch ( const math_Vector Sol,
gp_Vec NRst1,
gp_Vec TgRst1,
gp_Vec NRst2,
gp_Vec TgRst2 
) const
overridevirtual

Enables implementation of a criterion of decrochage specific to the function.

Implements Blend_RstRstFunction.

◆ Derivatives()

Standard_Boolean BRepBlend_RstRstEvolRad::Derivatives ( const math_Vector X,
math_Matrix D 
)
overridevirtual

returns the values <D> of the derivatives for the variable <X>. Returns True if the computation was done successfully, False otherwise.

Implements Blend_RstRstFunction.

◆ GetBounds()

void BRepBlend_RstRstEvolRad::GetBounds ( math_Vector InfBound,
math_Vector SupBound 
) const
overridevirtual

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.

Implements Blend_RstRstFunction.

◆ GetMinimalDistance()

virtual Standard_Real BRepBlend_RstRstEvolRad::GetMinimalDistance ( ) const
overridevirtual

Returns the minimal Distance beetween two extremitys of calculed sections.

Reimplemented from Blend_RstRstFunction.

◆ GetMinimalWeight()

void BRepBlend_RstRstEvolRad::GetMinimalWeight ( TColStd_Array1OfReal Weigths) const
overridevirtual

Compute the minimal value of weight for each poles of all sections.

Implements Blend_RstRstFunction.

◆ GetSectionSize()

Standard_Real BRepBlend_RstRstEvolRad::GetSectionSize ( ) const
overridevirtual

Returns the length of the maximum section.

Implements Blend_RstRstFunction.

◆ GetShape()

void BRepBlend_RstRstEvolRad::GetShape ( Standard_Integer NbPoles,
Standard_Integer NbKnots,
Standard_Integer Degree,
Standard_Integer NbPoles2d 
)
overridevirtual

Implements Blend_RstRstFunction.

◆ GetTolerance() [1/2]

void BRepBlend_RstRstEvolRad::GetTolerance ( math_Vector Tolerance,
const Standard_Real  Tol 
) const
overridevirtual

Returns in the vector Tolerance the parametric tolerance for each variable; Tol is the tolerance used in 3d space.

Implements Blend_RstRstFunction.

◆ GetTolerance() [2/2]

void BRepBlend_RstRstEvolRad::GetTolerance ( const Standard_Real  BoundTol,
const Standard_Real  SurfTol,
const Standard_Real  AngleTol,
math_Vector Tol3d,
math_Vector Tol1D 
) const
overridevirtual

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.

Implements Blend_RstRstFunction.

◆ Intervals()

void BRepBlend_RstRstEvolRad::Intervals ( TColStd_Array1OfReal T,
const GeomAbs_Shape  S 
) const
overridevirtual

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()

Implements Blend_RstRstFunction.

◆ IsRational()

Standard_Boolean BRepBlend_RstRstEvolRad::IsRational ( ) const
overridevirtual

Returns if the section is rationnal.

Implements Blend_RstRstFunction.

◆ IsSolution()

Standard_Boolean BRepBlend_RstRstEvolRad::IsSolution ( const math_Vector Sol,
const Standard_Real  Tol 
)
overridevirtual

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_RstRstFunction.

◆ IsTangencyPoint()

Standard_Boolean BRepBlend_RstRstEvolRad::IsTangencyPoint ( ) const
overridevirtual

Returns True when it is not possible to compute the tangent vectors at PointOnS and/or PointOnRst.

Implements Blend_RstRstFunction.

◆ Knots()

void BRepBlend_RstRstEvolRad::Knots ( TColStd_Array1OfReal TKnots)
overridevirtual

Implements Blend_RstRstFunction.

◆ Mults()

void BRepBlend_RstRstEvolRad::Mults ( TColStd_Array1OfInteger TMults)
overridevirtual

Implements Blend_RstRstFunction.

◆ NbEquations()

Standard_Integer BRepBlend_RstRstEvolRad::NbEquations ( ) const
overridevirtual

Returns 2.

Implements Blend_RstRstFunction.

◆ NbIntervals()

Standard_Integer BRepBlend_RstRstEvolRad::NbIntervals ( const GeomAbs_Shape  S) const
overridevirtual

Returns the number of intervals for continuity <S>. May be one if Continuity(me) >= <S>

Implements Blend_RstRstFunction.

◆ NbVariables()

Standard_Integer BRepBlend_RstRstEvolRad::NbVariables ( ) const
overridevirtual

Returns 2.

Implements Blend_RstRstFunction.

◆ ParameterOnRst1()

Standard_Real BRepBlend_RstRstEvolRad::ParameterOnRst1 ( ) const
overridevirtual

Returns parameter of the point on the curve.

Implements Blend_RstRstFunction.

◆ ParameterOnRst2()

Standard_Real BRepBlend_RstRstEvolRad::ParameterOnRst2 ( ) const
overridevirtual

Returns parameter of the point on the curve.

Implements Blend_RstRstFunction.

◆ Pnt2dOnRst1()

const gp_Pnt2d& BRepBlend_RstRstEvolRad::Pnt2dOnRst1 ( ) const
overridevirtual

Returns U,V coordinates of the point on the surface.

Implements Blend_RstRstFunction.

◆ Pnt2dOnRst2()

const gp_Pnt2d& BRepBlend_RstRstEvolRad::Pnt2dOnRst2 ( ) const
overridevirtual

Returns U,V coordinates of the point on the curve on surface.

Implements Blend_RstRstFunction.

◆ PointOnRst1()

const gp_Pnt& BRepBlend_RstRstEvolRad::PointOnRst1 ( ) const
overridevirtual

Returns the point on the surface.

Implements Blend_RstRstFunction.

◆ PointOnRst2()

const gp_Pnt& BRepBlend_RstRstEvolRad::PointOnRst2 ( ) const
overridevirtual

Returns the point on the curve.

Implements Blend_RstRstFunction.

◆ Resolution()

void BRepBlend_RstRstEvolRad::Resolution ( const Standard_Integer  IC2d,
const Standard_Real  Tol,
Standard_Real TolU,
Standard_Real TolV 
) const
overridevirtual

Implements Blend_AppFunction.

◆ Section() [1/4]

void BRepBlend_RstRstEvolRad::Section ( const Standard_Real  Param,
const Standard_Real  U,
const Standard_Real  V,
Standard_Real Pdeb,
Standard_Real Pfin,
gp_Circ C 
)

◆ Section() [2/4]

Standard_Boolean BRepBlend_RstRstEvolRad::Section ( const Blend_Point P,
TColgp_Array1OfPnt Poles,
TColgp_Array1OfVec DPoles,
TColgp_Array1OfPnt2d Poles2d,
TColgp_Array1OfVec2d DPoles2d,
TColStd_Array1OfReal Weigths,
TColStd_Array1OfReal DWeigths 
)
overridevirtual

Used for the first and last section.

Implements Blend_RstRstFunction.

◆ Section() [3/4]

void BRepBlend_RstRstEvolRad::Section ( const Blend_Point P,
TColgp_Array1OfPnt Poles,
TColgp_Array1OfPnt2d Poles2d,
TColStd_Array1OfReal Weigths 
)
overridevirtual

Implements Blend_RstRstFunction.

◆ Section() [4/4]

Standard_Boolean BRepBlend_RstRstEvolRad::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 
)
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_RstRstFunction.

◆ Set() [1/5]

void BRepBlend_RstRstEvolRad::Set ( const Handle< Adaptor3d_HSurface > &  SurfRef1,
const Handle< Adaptor2d_HCurve2d > &  RstRef1,
const Handle< Adaptor3d_HSurface > &  SurfRef2,
const Handle< Adaptor2d_HCurve2d > &  RstRef2 
)

◆ Set() [2/5]

void BRepBlend_RstRstEvolRad::Set ( const Standard_Real  Param)
overridevirtual

Sets the value of the parameter along the guide line. This determines the plane in which the solution has to be found.

Implements Blend_RstRstFunction.

◆ Set() [3/5]

void BRepBlend_RstRstEvolRad::Set ( const Standard_Real  First,
const Standard_Real  Last 
)
overridevirtual

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_RstRstFunction.

◆ Set() [4/5]

void BRepBlend_RstRstEvolRad::Set ( const Standard_Integer  Choix)

◆ Set() [5/5]

void BRepBlend_RstRstEvolRad::Set ( const BlendFunc_SectionShape  TypeSection)

Sets the type of section generation for the approximations.

◆ Tangent2dOnRst1()

const gp_Vec2d& BRepBlend_RstRstEvolRad::Tangent2dOnRst1 ( ) const
overridevirtual

Returns the tangent vector at PointOnS, in the parametric space of the first surface.

Implements Blend_RstRstFunction.

◆ Tangent2dOnRst2()

const gp_Vec2d& BRepBlend_RstRstEvolRad::Tangent2dOnRst2 ( ) const
overridevirtual

Returns the tangent vector at PointOnRst, in the parametric space of the second surface.

Implements Blend_RstRstFunction.

◆ TangentOnRst1()

const gp_Vec& BRepBlend_RstRstEvolRad::TangentOnRst1 ( ) const
overridevirtual

Returns the tangent vector at PointOnS, in 3d space.

Implements Blend_RstRstFunction.

◆ TangentOnRst2()

const gp_Vec& BRepBlend_RstRstEvolRad::TangentOnRst2 ( ) const
overridevirtual

Returns the tangent vector at PointOnC, in 3d space.

Implements Blend_RstRstFunction.

◆ Value()

Standard_Boolean BRepBlend_RstRstEvolRad::Value ( const math_Vector X,
math_Vector F 
)
overridevirtual

computes the values <F> of the Functions for the variable <X>. Returns True if the computation was done successfully, False otherwise.

Implements Blend_RstRstFunction.

◆ Values()

Standard_Boolean BRepBlend_RstRstEvolRad::Values ( const math_Vector X,
math_Vector F,
math_Matrix D 
)
overridevirtual

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_RstRstFunction.


The documentation for this class was generated from the following file: