Open CASCADE Technology 7.8.2.dev
Extrema_ExtPC Class Reference

#include <Extrema_ExtPC.hxx>

Public Member Functions

 Extrema_ExtPC ()
 
 Extrema_ExtPC (const gp_Pnt &P, const Adaptor3d_Curve &C, const Standard_Real Uinf, const Standard_Real Usup, const Standard_Real TolF=1.0e-10)
 It calculates all the distances. The function F(u)=distance(P,C(u)) has an extremum when g(u)=dF/du=0. The algorithm searches all the zeros inside the definition range of the curve. Zeros are searched between uinf and usup. Tol is used to decide to stop the iterations according to the following condition: if n is the number of iterations, the algorithm stops when abs(F(Un)-F(Un-1)) < Tol.
 
 Extrema_ExtPC (const gp_Pnt &P, const Adaptor3d_Curve &C, const Standard_Real TolF=1.0e-10)
 It calculates all the distances. The function F(u)=distance(P,C(u)) has an extremum when g(u)=dF/du=0. The algorithm searches all the zeros inside the definition range of the curve. Tol is used to decide to stop the iterations according to the following condition: if n is the number of iterations, the algorithm stops when abs(F(Un)-F(Un-1)) < Tol.
 
void Initialize (const Adaptor3d_Curve &C, const Standard_Real Uinf, const Standard_Real Usup, const Standard_Real TolF=1.0e-10)
 initializes the fields of the algorithm.
 
void Perform (const gp_Pnt &P)
 An exception is raised if the fields have not been initialized.
 
Standard_Boolean IsDone () const
 True if the distances are found.
 
Standard_Real SquareDistance (const Standard_Integer N) const
 Returns the value of the <N>th extremum square distance.
 
Standard_Integer NbExt () const
 Returns the number of extremum distances.
 
Standard_Boolean IsMin (const Standard_Integer N) const
 Returns True if the <N>th extremum distance is a minimum.
 
const Extrema_POnCurvPoint (const Standard_Integer N) const
 Returns the point of the <N>th extremum distance.
 
void TrimmedSquareDistances (Standard_Real &dist1, Standard_Real &dist2, gp_Pnt &P1, gp_Pnt &P2) const
 if the curve is a trimmed curve, dist1 is a square distance between
 

Protected Member Functions

void IntervalPerform (const gp_Pnt &P)
 
void AddSol (const Standard_Real theU, const gp_Pnt &theP, const Standard_Real theSqDist, const Standard_Boolean isMin)
 

Constructor & Destructor Documentation

◆ Extrema_ExtPC() [1/3]

Extrema_ExtPC::Extrema_ExtPC ( )

◆ Extrema_ExtPC() [2/3]

Extrema_ExtPC::Extrema_ExtPC ( const gp_Pnt & P,
const Adaptor3d_Curve & C,
const Standard_Real Uinf,
const Standard_Real Usup,
const Standard_Real TolF = 1.0e-10 )

It calculates all the distances. The function F(u)=distance(P,C(u)) has an extremum when g(u)=dF/du=0. The algorithm searches all the zeros inside the definition range of the curve. Zeros are searched between uinf and usup. Tol is used to decide to stop the iterations according to the following condition: if n is the number of iterations, the algorithm stops when abs(F(Un)-F(Un-1)) < Tol.

◆ Extrema_ExtPC() [3/3]

Extrema_ExtPC::Extrema_ExtPC ( const gp_Pnt & P,
const Adaptor3d_Curve & C,
const Standard_Real TolF = 1.0e-10 )

It calculates all the distances. The function F(u)=distance(P,C(u)) has an extremum when g(u)=dF/du=0. The algorithm searches all the zeros inside the definition range of the curve. Tol is used to decide to stop the iterations according to the following condition: if n is the number of iterations, the algorithm stops when abs(F(Un)-F(Un-1)) < Tol.

Member Function Documentation

◆ AddSol()

void Extrema_ExtPC::AddSol ( const Standard_Real theU,
const gp_Pnt & theP,
const Standard_Real theSqDist,
const Standard_Boolean isMin )
protected

◆ Initialize()

void Extrema_ExtPC::Initialize ( const Adaptor3d_Curve & C,
const Standard_Real Uinf,
const Standard_Real Usup,
const Standard_Real TolF = 1.0e-10 )

initializes the fields of the algorithm.

◆ IntervalPerform()

void Extrema_ExtPC::IntervalPerform ( const gp_Pnt & P)
protected

◆ IsDone()

Standard_Boolean Extrema_ExtPC::IsDone ( ) const

True if the distances are found.

◆ IsMin()

Standard_Boolean Extrema_ExtPC::IsMin ( const Standard_Integer N) const

Returns True if the <N>th extremum distance is a minimum.

◆ NbExt()

Standard_Integer Extrema_ExtPC::NbExt ( ) const

Returns the number of extremum distances.

◆ Perform()

void Extrema_ExtPC::Perform ( const gp_Pnt & P)

An exception is raised if the fields have not been initialized.

◆ Point()

const Extrema_POnCurv & Extrema_ExtPC::Point ( const Standard_Integer N) const

Returns the point of the <N>th extremum distance.

◆ SquareDistance()

Standard_Real Extrema_ExtPC::SquareDistance ( const Standard_Integer N) const

Returns the value of the <N>th extremum square distance.

◆ TrimmedSquareDistances()

void Extrema_ExtPC::TrimmedSquareDistances ( Standard_Real & dist1,
Standard_Real & dist2,
gp_Pnt & P1,
gp_Pnt & P2 ) const

if the curve is a trimmed curve, dist1 is a square distance between

and the point of parameter FirstParameter <P1> and dist2 is a square distance between

and the point of parameter LastParameter <P2>.


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