Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes
BlendFunc_GenChamfer Class Referenceabstract

Deferred class for a function used to compute a general chamfer. More...

#include <BlendFunc_GenChamfer.hxx>

Inheritance diagram for BlendFunc_GenChamfer:
Inheritance graph
[legend]

Public Member Functions

 BlendFunc_GenChamfer (const occ::handle< Adaptor3d_Surface > &S1, const occ::handle< Adaptor3d_Surface > &S2, const occ::handle< Adaptor3d_Curve > &CG)
 
int NbEquations () const override
 returns the number of equations of the function.
 
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 double Param) override=0
 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 of the 4 variables; 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 of the 4 variables. Returns in the vector SupBound the greatest values allowed for each of the 4 variables.
 
double GetMinimalDistance () const override
 Returns the minimal Distance between two extremities of calculated sections.
 
virtual void Set (const double Dist1, const double Dist2, const int Choix)=0
 Sets the distances and the "quadrant".
 
bool IsRational () const override
 Returns False.
 
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 .
 
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
 
void Section (const double Param, const double U1, const double V1, const double U2, const double V2, double &Pdeb, double &Pfin, gp_Lin &C)
 Obsolete method.
 
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.
 
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.
 
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_Function
int NbVariables () const override
 Returns 4.
 
const gp_PntPnt1 () const override
 Returns the point on the first support.
 
const gp_PntPnt2 () const override
 Returns the point on the second support.
 
virtual const gp_PntPointOnS1 () 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_PntPointOnS2 () 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 bool IsTangencyPoint () const =0
 Returns True when it is not possible to compute the tangent vectors at PointOnS1 and/or PointOnS2.
 
virtual const gp_VecTangentOnS1 () const =0
 Returns the tangent vector at PointOnS1, in 3d space.
 
virtual const gp_Vec2dTangent2dOnS1 () const =0
 Returns the tangent vector at PointOnS1, in the parametric space of the first surface.
 
virtual const gp_VecTangentOnS2 () const =0
 Returns the tangent vector at PointOnS2, in 3d space.
 
virtual const gp_Vec2dTangent2dOnS2 () const =0
 Returns the tangent vector at PointOnS2, in the parametric space of the second surface.
 
virtual void Tangent (const double U1, const double V1, const double U2, const double 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 bool TwistOnS1 () const
 
virtual bool TwistOnS2 () const
 
- Public Member Functions inherited from Blend_AppFunction
bool Value (const math_Vector &X, math_Vector &F) override=0
 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=0
 returns the values <D> of the derivatives for the variable <X>. Returns True if the computation was done successfully, False otherwise.
 
virtual bool IsSolution (const math_Vector &Sol, const double Tol)=0
 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.
 
virtual double GetSectionSize () const =0
 Returns the length of the maximum section.
 
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 ()
 

Protected Attributes

occ::handle< Adaptor3d_Surfacesurf1
 
occ::handle< Adaptor3d_Surfacesurf2
 
occ::handle< Adaptor3d_Curvecurv
 
int choix
 
double tol
 
double distmin
 

Detailed Description

Deferred class for a function used to compute a general chamfer.

Constructor & Destructor Documentation

◆ BlendFunc_GenChamfer()

BlendFunc_GenChamfer::BlendFunc_GenChamfer ( const occ::handle< Adaptor3d_Surface > & S1,
const occ::handle< Adaptor3d_Surface > & S2,
const occ::handle< Adaptor3d_Curve > & CG )

Member Function Documentation

◆ GetBounds()

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

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.

Implements Blend_AppFunction.

◆ GetMinimalDistance()

double BlendFunc_GenChamfer::GetMinimalDistance ( ) const
overridevirtual

Returns the minimal Distance between two extremities of calculated sections.

Implements Blend_AppFunction.

◆ GetMinimalWeight()

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

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

Implements Blend_AppFunction.

◆ GetShape()

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

Implements Blend_AppFunction.

◆ GetTolerance() [1/2]

void BlendFunc_GenChamfer::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_AppFunction.

◆ GetTolerance() [2/2]

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

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

Implements Blend_AppFunction.

◆ Intervals()

void BlendFunc_GenChamfer::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() raises OutOfRange from Standard

Implements Blend_AppFunction.

◆ IsRational()

bool BlendFunc_GenChamfer::IsRational ( ) const
overridevirtual

Returns False.

Implements Blend_AppFunction.

◆ Knots()

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

Implements Blend_AppFunction.

◆ Mults()

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

Implements Blend_AppFunction.

◆ NbEquations()

int BlendFunc_GenChamfer::NbEquations ( ) const
overridevirtual

returns the number of equations of the function.

Implements Blend_AppFunction.

◆ NbIntervals()

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

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

Implements Blend_AppFunction.

◆ Resolution()

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

Implements Blend_AppFunction.

◆ Section() [1/4]

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

Implements Blend_Function.

◆ Section() [2/4]

bool BlendFunc_GenChamfer::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_AppFunction.

◆ Section() [3/4]

bool BlendFunc_GenChamfer::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.

Reimplemented from Blend_Function.

◆ Section() [4/4]

void BlendFunc_GenChamfer::Section ( const double Param,
const double U1,
const double V1,
const double U2,
const double V2,
double & Pdeb,
double & Pfin,
gp_Lin & C )

Obsolete method.

◆ Set() [1/3]

virtual void BlendFunc_GenChamfer::Set ( const double Dist1,
const double Dist2,
const int Choix )
pure virtual

Sets the distances and the "quadrant".

Implemented in BlendFunc_ConstThroat, and BlendFunc_Chamfer.

◆ Set() [2/3]

void BlendFunc_GenChamfer::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_AppFunction.

◆ Set() [3/3]

void BlendFunc_GenChamfer::Set ( const double Param)
overridepure virtual

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

Implements Blend_AppFunction.

Implemented in BlendFunc_Chamfer, and BlendFunc_ConstThroat.

◆ Values()

bool BlendFunc_GenChamfer::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_AppFunction.

Field Documentation

◆ choix

int BlendFunc_GenChamfer::choix
protected

◆ curv

occ::handle<Adaptor3d_Curve> BlendFunc_GenChamfer::curv
protected

◆ distmin

double BlendFunc_GenChamfer::distmin
protected

◆ surf1

occ::handle<Adaptor3d_Surface> BlendFunc_GenChamfer::surf1
protected

◆ surf2

occ::handle<Adaptor3d_Surface> BlendFunc_GenChamfer::surf2
protected

◆ tol

double BlendFunc_GenChamfer::tol
protected

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