Open CASCADE Technology 7.8.2.dev
BlendFunc_ConstThroat Class Reference

Class for a function used to compute a symmetric chamfer with constant throat that is the height of isosceles triangle in section. More...

#include <BlendFunc_ConstThroat.hxx>

Inheritance diagram for BlendFunc_ConstThroat:

Public Member Functions

 BlendFunc_ConstThroat (const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_Surface > &S2, const Handle< Adaptor3d_Curve > &C)
 
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.
 
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.
 
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.
 
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.
 
const gp_PntPointOnS1 () const override
 Returns the point on the first surface, at parameter Sol(1),Sol(2) (Sol is the vector used in the call of IsSolution.
 
const gp_PntPointOnS2 () const override
 Returns the point on the second surface, at parameter Sol(3),Sol(4) (Sol is the vector used in the call of IsSolution.
 
Standard_Boolean IsTangencyPoint () const override
 Returns True when it is not possible to compute the tangent vectors at PointOnS1 and/or PointOnS2.
 
const gp_VecTangentOnS1 () const override
 Returns the tangent vector at PointOnS1, in 3d space.
 
const gp_Vec2dTangent2dOnS1 () const override
 Returns the tangent vector at PointOnS1, in the parametric space of the first surface.
 
const gp_VecTangentOnS2 () const override
 Returns the tangent vector at PointOnS2, in 3d space.
 
const gp_Vec2dTangent2dOnS2 () const override
 Returns the tangent vector at PointOnS2, in the parametric space of the second surface.
 
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 override
 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.
 
void Set (const Standard_Real aThroat, const Standard_Real, const Standard_Integer Choix) override
 Sets the throat and the "quadrant".
 
Standard_Real GetSectionSize () const override
 Returns the length of the maximum section.
 
- Public Member Functions inherited from BlendFunc_GenChamfer
 BlendFunc_GenChamfer (const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_Surface > &S2, const Handle< Adaptor3d_Curve > &CG)
 
Standard_Integer NbEquations () const override
 returns the number of equations of the function.
 
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.
 
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.
 
void GetTolerance (math_Vector &Tolerance, const Standard_Real 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.
 
Standard_Real GetMinimalDistance () const override
 Returns the minimal Distance between two extremities of calculated sections.
 
Standard_Boolean IsRational () const override
 Returns False.
 
void GetMinimalWeight (TColStd_Array1OfReal &Weigths) const override
 Compute the minimal value of weight for each poles of all sections.
 
Standard_Integer NbIntervals (const GeomAbs_Shape S) const override
 Returns the number of intervals for continuity . May be one if Continuity(me) >=
 
void Intervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const override
 Stores in <T> the parameters bounding the intervals of continuity .
 
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 respect BoundTol error at the Boundary AngleTol tangent error at the Boundary SurfTol error inside the surface.
 
void Knots (TColStd_Array1OfReal &TKnots) override
 
void Mults (TColStd_Array1OfInteger &TMults) override
 
void Section (const Standard_Real Param, const Standard_Real U1, const Standard_Real V1, const Standard_Real U2, const Standard_Real V2, Standard_Real &Pdeb, Standard_Real &Pfin, gp_Lin &C)
 Obsolete method.
 
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.
 
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.
 
void Section (const Blend_Point &P, TColgp_Array1OfPnt &Poles, TColgp_Array1OfPnt2d &Poles2d, TColStd_Array1OfReal &Weigths) override
 
void Resolution (const Standard_Integer IC2d, const Standard_Real Tol, Standard_Real &TolU, Standard_Real &TolV) const override
 
- Public Member Functions inherited from Blend_Function
Standard_Integer 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 seconde support.
 
virtual Standard_Boolean TwistOnS1 () const
 
virtual Standard_Boolean TwistOnS2 () const
 
- 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.
 
- Public Member Functions inherited from math_FunctionSetWithDerivatives
- 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.
 
virtual ~math_FunctionSet ()
 

Protected Attributes

gp_Pnt pts1
 
gp_Pnt pts2
 
gp_Vec d1u1
 
gp_Vec d1v1
 
gp_Vec d1u2
 
gp_Vec d1v2
 
Standard_Boolean istangent
 
gp_Vec tg1
 
gp_Vec2d tg12d
 
gp_Vec tg2
 
gp_Vec2d tg22d
 
Standard_Real param
 
Standard_Real Throat
 
gp_Pnt ptgui
 
gp_Vec nplan
 
Standard_Real normtg
 
Standard_Real theD
 
gp_Vec d1gui
 
gp_Vec d2gui
 
- Protected Attributes inherited from BlendFunc_GenChamfer
Handle< Adaptor3d_Surfacesurf1
 
Handle< Adaptor3d_Surfacesurf2
 
Handle< Adaptor3d_Curvecurv
 
Standard_Integer choix
 
Standard_Real tol
 
Standard_Real distmin
 

Detailed Description

Class for a function used to compute a symmetric chamfer with constant throat that is the height of isosceles triangle in section.

Constructor & Destructor Documentation

◆ BlendFunc_ConstThroat()

BlendFunc_ConstThroat::BlendFunc_ConstThroat ( const Handle< Adaptor3d_Surface > & S1,
const Handle< Adaptor3d_Surface > & S2,
const Handle< Adaptor3d_Curve > & C )

Member Function Documentation

◆ Derivatives()

Standard_Boolean BlendFunc_ConstThroat::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_AppFunction.

Reimplemented in BlendFunc_ConstThroatWithPenetration.

◆ GetSectionSize()

Standard_Real BlendFunc_ConstThroat::GetSectionSize ( ) const
overridevirtual

Returns the length of the maximum section.

Implements Blend_AppFunction.

Reimplemented in BlendFunc_ConstThroatWithPenetration.

◆ IsSolution()

Standard_Boolean BlendFunc_ConstThroat::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_AppFunction.

Reimplemented in BlendFunc_ConstThroatWithPenetration.

◆ IsTangencyPoint()

Standard_Boolean BlendFunc_ConstThroat::IsTangencyPoint ( ) const
overridevirtual

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

Implements Blend_Function.

◆ PointOnS1()

const gp_Pnt & BlendFunc_ConstThroat::PointOnS1 ( ) const
overridevirtual

Returns the point on the first surface, at parameter Sol(1),Sol(2) (Sol is the vector used in the call of IsSolution.

Implements Blend_Function.

◆ PointOnS2()

const gp_Pnt & BlendFunc_ConstThroat::PointOnS2 ( ) const
overridevirtual

Returns the point on the second surface, at parameter Sol(3),Sol(4) (Sol is the vector used in the call of IsSolution.

Implements Blend_Function.

◆ Set() [1/2]

void BlendFunc_ConstThroat::Set ( const Standard_Real aThroat,
const Standard_Real ,
const Standard_Integer Choix )
overridevirtual

Sets the throat and the "quadrant".

Implements BlendFunc_GenChamfer.

◆ Set() [2/2]

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

◆ Tangent()

void BlendFunc_ConstThroat::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
overridevirtual

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.

Implements Blend_Function.

◆ Tangent2dOnS1()

const gp_Vec2d & BlendFunc_ConstThroat::Tangent2dOnS1 ( ) const
overridevirtual

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

Implements Blend_Function.

Reimplemented in BlendFunc_ConstThroatWithPenetration.

◆ Tangent2dOnS2()

const gp_Vec2d & BlendFunc_ConstThroat::Tangent2dOnS2 ( ) const
overridevirtual

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

Implements Blend_Function.

Reimplemented in BlendFunc_ConstThroatWithPenetration.

◆ TangentOnS1()

const gp_Vec & BlendFunc_ConstThroat::TangentOnS1 ( ) const
overridevirtual

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

Implements Blend_Function.

Reimplemented in BlendFunc_ConstThroatWithPenetration.

◆ TangentOnS2()

const gp_Vec & BlendFunc_ConstThroat::TangentOnS2 ( ) const
overridevirtual

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

Implements Blend_Function.

Reimplemented in BlendFunc_ConstThroatWithPenetration.

◆ Value()

Standard_Boolean BlendFunc_ConstThroat::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_AppFunction.

Reimplemented in BlendFunc_ConstThroatWithPenetration.

Field Documentation

◆ d1gui

gp_Vec BlendFunc_ConstThroat::d1gui
protected

◆ d1u1

gp_Vec BlendFunc_ConstThroat::d1u1
protected

◆ d1u2

gp_Vec BlendFunc_ConstThroat::d1u2
protected

◆ d1v1

gp_Vec BlendFunc_ConstThroat::d1v1
protected

◆ d1v2

gp_Vec BlendFunc_ConstThroat::d1v2
protected

◆ d2gui

gp_Vec BlendFunc_ConstThroat::d2gui
protected

◆ istangent

Standard_Boolean BlendFunc_ConstThroat::istangent
protected

◆ normtg

Standard_Real BlendFunc_ConstThroat::normtg
protected

◆ nplan

gp_Vec BlendFunc_ConstThroat::nplan
protected

◆ param

Standard_Real BlendFunc_ConstThroat::param
protected

◆ ptgui

gp_Pnt BlendFunc_ConstThroat::ptgui
protected

◆ pts1

gp_Pnt BlendFunc_ConstThroat::pts1
protected

◆ pts2

gp_Pnt BlendFunc_ConstThroat::pts2
protected

◆ tg1

gp_Vec BlendFunc_ConstThroat::tg1
protected

◆ tg12d

gp_Vec2d BlendFunc_ConstThroat::tg12d
protected

◆ tg2

gp_Vec BlendFunc_ConstThroat::tg2
protected

◆ tg22d

gp_Vec2d BlendFunc_ConstThroat::tg22d
protected

◆ theD

Standard_Real BlendFunc_ConstThroat::theD
protected

◆ Throat

Standard_Real BlendFunc_ConstThroat::Throat
protected

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