Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
BRepBlend_SurfRstEvolRad Class Reference

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

#include <BRepBlend_SurfRstEvolRad.hxx>

Inheritance diagram for BRepBlend_SurfRstEvolRad:
Inheritance graph
[legend]

Public Member Functions

 BRepBlend_SurfRstEvolRad (const occ::handle< Adaptor3d_Surface > &Surf, const occ::handle< Adaptor3d_Surface > &SurfRst, const occ::handle< Adaptor2d_Curve2d > &Rst, const occ::handle< Adaptor3d_Curve > &CGuide, const occ::handle< Law_Function > &Evol)
 
int NbVariables () const override
 Returns 3.
 
int NbEquations () const override
 Returns 3.
 
bool 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.
 
bool 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.
 
bool 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.
 
void Set (const occ::handle< Adaptor3d_Surface > &SurfRef, const occ::handle< Adaptor2d_Curve2d > &RstRef)
 
void Set (const double Param) override
 Sets the value of the parameter along the guide line. This determines the plane in which the solution has to be found.
 
void Set (const double First, const double 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.
 
void GetTolerance (math_Vector &Tolerance, const double Tol) const override
 Returns in the vector Tolerance the parametric tolerance for each variable. Tol is the tolerance used in 3d space.
 
void GetBounds (math_Vector &InfBound, math_Vector &SupBound) const override
 Returns in the vector InfBound the lowest values allowed for each variable. Returns in the vector SupBound the greatest values allowed for each of the 3 variables.
 
bool IsSolution (const math_Vector &Sol, const double Tol) override
 Returns 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.
 
double GetMinimalDistance () const override
 Returns the minimal Distance between two extremities of calculated sections.
 
const gp_PntPointOnS () const override
 Returns the point on the surface.
 
const gp_PntPointOnRst () const override
 Returns the point on the curve.
 
const gp_Pnt2dPnt2dOnS () const override
 Returns U,V coordinates of the point on the surface.
 
const gp_Pnt2dPnt2dOnRst () const override
 Returns U,V coordinates of the point on the curve on surface.
 
double ParameterOnRst () const override
 Returns parameter of the point on the curve.
 
bool IsTangencyPoint () const override
 Returns True when it is not possible to compute the tangent vectors at PointOnS and/or PointOnRst.
 
const gp_VecTangentOnS () const override
 Returns the tangent vector at PointOnS, in 3d space.
 
const gp_Vec2dTangent2dOnS () const override
 Returns the tangent vector at PointOnS, in the parametric space of the first surface.
 
const gp_VecTangentOnRst () const override
 Returns the tangent vector at PointOnC, in 3d space.
 
const gp_Vec2dTangent2dOnRst () const override
 Returns the tangent vector at PointOnRst, in the parametric space of the second surface.
 
bool Decroch (const math_Vector &Sol, gp_Vec &NS, gp_Vec &TgS) const override
 Permet d'implementer un critere de decrochage specifique a la fonction.
 
void Set (const int Choix)
 
void Set (const BlendFunc_SectionShape TypeSection)
 Sets the type of section generation for the approximations.
 
void Section (const double Param, const double U, const double V, const double W, double &Pdeb, double &Pfin, gp_Circ &C)
 
bool IsRational () const override
 Returns if the section is rational.
 
double GetSectionSize () const override
 Returns the length of the maximum section.
 
void GetMinimalWeight (NCollection_Array1< double > &Weigths) const override
 Compute the minimal value of weight for each poles of all sections.
 
int NbIntervals (const GeomAbs_Shape S) const override
 Returns the number of intervals for continuity . May be one if Continuity(me) >=
 
void Intervals (NCollection_Array1< double > &T, const GeomAbs_Shape S) const override
 Stores in <T> the parameters bounding the intervals of continuity . The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()
 
void GetShape (int &NbPoles, int &NbKnots, int &Degree, int &NbPoles2d) override
 
void GetTolerance (const double BoundTol, const double SurfTol, const double AngleTol, math_Vector &Tol3d, math_Vector &Tol1D) const override
 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.
 
void Knots (NCollection_Array1< double > &TKnots) override
 
void Mults (NCollection_Array1< int > &TMults) override
 
bool Section (const Blend_Point &P, NCollection_Array1< gp_Pnt > &Poles, NCollection_Array1< gp_Vec > &DPoles, NCollection_Array1< gp_Pnt2d > &Poles2d, NCollection_Array1< gp_Vec2d > &DPoles2d, NCollection_Array1< double > &Weigths, NCollection_Array1< double > &DWeigths) override
 Used for the first and last section.
 
bool Section (const Blend_Point &P, NCollection_Array1< gp_Pnt > &Poles, NCollection_Array1< gp_Vec > &DPoles, NCollection_Array1< gp_Vec > &D2Poles, NCollection_Array1< gp_Pnt2d > &Poles2d, NCollection_Array1< gp_Vec2d > &DPoles2d, NCollection_Array1< gp_Vec2d > &D2Poles2d, NCollection_Array1< double > &Weigths, NCollection_Array1< double > &DWeigths, NCollection_Array1< double > &D2Weigths) override
 Used for the first and last section The method returns true if the derivatives are computed, otherwise it returns false.
 
void Section (const Blend_Point &P, NCollection_Array1< gp_Pnt > &Poles, NCollection_Array1< gp_Pnt2d > &Poles2d, NCollection_Array1< double > &Weigths) override
 
void Resolution (const int IC2d, const double Tol, double &TolU, double &TolV) const override
 
- Public Member Functions inherited from Blend_SurfRstFunction
const gp_PntPnt1 () const override
 Returns the point on the first support.
 
const gp_PntPnt2 () const override
 Returns the point on the second support.
 
- Public Member Functions inherited from Blend_AppFunction
double 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_FunctionSet
virtual int 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 ()
 

Detailed Description

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

Constructor & Destructor Documentation

◆ BRepBlend_SurfRstEvolRad()

BRepBlend_SurfRstEvolRad::BRepBlend_SurfRstEvolRad ( const occ::handle< Adaptor3d_Surface > & Surf,
const occ::handle< Adaptor3d_Surface > & SurfRst,
const occ::handle< Adaptor2d_Curve2d > & Rst,
const occ::handle< Adaptor3d_Curve > & CGuide,
const occ::handle< Law_Function > & Evol )

Member Function Documentation

◆ Decroch()

bool BRepBlend_SurfRstEvolRad::Decroch ( const math_Vector & Sol,
gp_Vec & NS,
gp_Vec & TgS ) const
overridevirtual

Permet d'implementer un critere de decrochage specifique a la fonction.

Implements Blend_SurfRstFunction.

◆ Derivatives()

bool BRepBlend_SurfRstEvolRad::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_SurfRstFunction.

◆ GetBounds()

void BRepBlend_SurfRstEvolRad::GetBounds ( math_Vector & InfBound,
math_Vector & SupBound ) const
overridevirtual

Returns in the vector InfBound the lowest values allowed for each variable. Returns in the vector SupBound the greatest values allowed for each of the 3 variables.

Implements Blend_SurfRstFunction.

◆ GetMinimalDistance()

double BRepBlend_SurfRstEvolRad::GetMinimalDistance ( ) const
overridevirtual

Returns the minimal Distance between two extremities of calculated sections.

Reimplemented from Blend_SurfRstFunction.

◆ GetMinimalWeight()

void BRepBlend_SurfRstEvolRad::GetMinimalWeight ( NCollection_Array1< double > & Weigths) const
overridevirtual

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

Implements Blend_SurfRstFunction.

◆ GetSectionSize()

double BRepBlend_SurfRstEvolRad::GetSectionSize ( ) const
overridevirtual

Returns the length of the maximum section.

Implements Blend_SurfRstFunction.

◆ GetShape()

void BRepBlend_SurfRstEvolRad::GetShape ( int & NbPoles,
int & NbKnots,
int & Degree,
int & NbPoles2d )
overridevirtual

Implements Blend_SurfRstFunction.

◆ GetTolerance() [1/2]

void BRepBlend_SurfRstEvolRad::GetTolerance ( const double BoundTol,
const double SurfTol,
const double AngleTol,
math_Vector & Tol3d,
math_Vector & Tol1D ) const
overridevirtual

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

◆ GetTolerance() [2/2]

void BRepBlend_SurfRstEvolRad::GetTolerance ( math_Vector & Tolerance,
const double Tol ) const
overridevirtual

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

Implements Blend_SurfRstFunction.

◆ Intervals()

void BRepBlend_SurfRstEvolRad::Intervals ( NCollection_Array1< double > & T,
const GeomAbs_Shape S ) const
overridevirtual

Stores in <T> the parameters bounding the intervals of continuity . The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

Implements Blend_SurfRstFunction.

◆ IsRational()

bool BRepBlend_SurfRstEvolRad::IsRational ( ) const
overridevirtual

Returns if the section is rational.

Implements Blend_SurfRstFunction.

◆ IsSolution()

bool BRepBlend_SurfRstEvolRad::IsSolution ( const math_Vector & Sol,
const double Tol )
overridevirtual

Returns 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_SurfRstFunction.

◆ IsTangencyPoint()

bool BRepBlend_SurfRstEvolRad::IsTangencyPoint ( ) const
overridevirtual

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

Implements Blend_SurfRstFunction.

◆ Knots()

void BRepBlend_SurfRstEvolRad::Knots ( NCollection_Array1< double > & TKnots)
overridevirtual

Implements Blend_SurfRstFunction.

◆ Mults()

void BRepBlend_SurfRstEvolRad::Mults ( NCollection_Array1< int > & TMults)
overridevirtual

Implements Blend_SurfRstFunction.

◆ NbEquations()

int BRepBlend_SurfRstEvolRad::NbEquations ( ) const
overridevirtual

Returns 3.

Implements Blend_SurfRstFunction.

◆ NbIntervals()

int BRepBlend_SurfRstEvolRad::NbIntervals ( const GeomAbs_Shape S) const
overridevirtual

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

Implements Blend_SurfRstFunction.

◆ NbVariables()

int BRepBlend_SurfRstEvolRad::NbVariables ( ) const
overridevirtual

Returns 3.

Implements Blend_SurfRstFunction.

◆ ParameterOnRst()

double BRepBlend_SurfRstEvolRad::ParameterOnRst ( ) const
overridevirtual

Returns parameter of the point on the curve.

Implements Blend_SurfRstFunction.

◆ Pnt2dOnRst()

const gp_Pnt2d & BRepBlend_SurfRstEvolRad::Pnt2dOnRst ( ) const
overridevirtual

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

Implements Blend_SurfRstFunction.

◆ Pnt2dOnS()

const gp_Pnt2d & BRepBlend_SurfRstEvolRad::Pnt2dOnS ( ) const
overridevirtual

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

Implements Blend_SurfRstFunction.

◆ PointOnRst()

const gp_Pnt & BRepBlend_SurfRstEvolRad::PointOnRst ( ) const
overridevirtual

Returns the point on the curve.

Implements Blend_SurfRstFunction.

◆ PointOnS()

const gp_Pnt & BRepBlend_SurfRstEvolRad::PointOnS ( ) const
overridevirtual

Returns the point on the surface.

Implements Blend_SurfRstFunction.

◆ Resolution()

void BRepBlend_SurfRstEvolRad::Resolution ( const int IC2d,
const double Tol,
double & TolU,
double & TolV ) const
overridevirtual

Implements Blend_AppFunction.

◆ Section() [1/4]

void BRepBlend_SurfRstEvolRad::Section ( const Blend_Point & P,
NCollection_Array1< gp_Pnt > & Poles,
NCollection_Array1< gp_Pnt2d > & Poles2d,
NCollection_Array1< double > & Weigths )
overridevirtual

Implements Blend_SurfRstFunction.

◆ Section() [2/4]

bool BRepBlend_SurfRstEvolRad::Section ( const Blend_Point & P,
NCollection_Array1< gp_Pnt > & Poles,
NCollection_Array1< gp_Vec > & DPoles,
NCollection_Array1< gp_Pnt2d > & Poles2d,
NCollection_Array1< gp_Vec2d > & DPoles2d,
NCollection_Array1< double > & Weigths,
NCollection_Array1< double > & DWeigths )
overridevirtual

Used for the first and last section.

Implements Blend_SurfRstFunction.

◆ Section() [3/4]

bool BRepBlend_SurfRstEvolRad::Section ( const Blend_Point & P,
NCollection_Array1< gp_Pnt > & Poles,
NCollection_Array1< gp_Vec > & DPoles,
NCollection_Array1< gp_Vec > & D2Poles,
NCollection_Array1< gp_Pnt2d > & Poles2d,
NCollection_Array1< gp_Vec2d > & DPoles2d,
NCollection_Array1< gp_Vec2d > & D2Poles2d,
NCollection_Array1< double > & Weigths,
NCollection_Array1< double > & DWeigths,
NCollection_Array1< double > & D2Weigths )
overridevirtual

Used for the first and last section The method returns true if the derivatives are computed, otherwise it returns false.

Implements Blend_SurfRstFunction.

◆ Section() [4/4]

void BRepBlend_SurfRstEvolRad::Section ( const double Param,
const double U,
const double V,
const double W,
double & Pdeb,
double & Pfin,
gp_Circ & C )

◆ Set() [1/5]

void BRepBlend_SurfRstEvolRad::Set ( const BlendFunc_SectionShape TypeSection)

Sets the type of section generation for the approximations.

◆ Set() [2/5]

void BRepBlend_SurfRstEvolRad::Set ( const double First,
const double 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_SurfRstFunction.

◆ Set() [3/5]

void BRepBlend_SurfRstEvolRad::Set ( const double 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_SurfRstFunction.

◆ Set() [4/5]

void BRepBlend_SurfRstEvolRad::Set ( const int Choix)

◆ Set() [5/5]

void BRepBlend_SurfRstEvolRad::Set ( const occ::handle< Adaptor3d_Surface > & SurfRef,
const occ::handle< Adaptor2d_Curve2d > & RstRef )

◆ Tangent2dOnRst()

const gp_Vec2d & BRepBlend_SurfRstEvolRad::Tangent2dOnRst ( ) const
overridevirtual

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

Implements Blend_SurfRstFunction.

◆ Tangent2dOnS()

const gp_Vec2d & BRepBlend_SurfRstEvolRad::Tangent2dOnS ( ) const
overridevirtual

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

Implements Blend_SurfRstFunction.

◆ TangentOnRst()

const gp_Vec & BRepBlend_SurfRstEvolRad::TangentOnRst ( ) const
overridevirtual

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

Implements Blend_SurfRstFunction.

◆ TangentOnS()

const gp_Vec & BRepBlend_SurfRstEvolRad::TangentOnS ( ) const
overridevirtual

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

Implements Blend_SurfRstFunction.

◆ Value()

bool BRepBlend_SurfRstEvolRad::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_SurfRstFunction.

◆ Values()

bool BRepBlend_SurfRstEvolRad::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_SurfRstFunction.


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