# 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. More...

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

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

void Perform (const gp_Pnt &P)
An exception is raised if the fields have not been initialized. More...

Standard_Boolean IsDone () const
True if the distances are found. More...

Standard_Real SquareDistance (const Standard_Integer N) const
Returns the value of the <N>th extremum square distance. More...

Standard_Integer NbExt () const
Returns the number of extremum distances. More...

Standard_Boolean IsMin (const Standard_Integer N) const
Returns True if the <N>th extremum distance is a minimum. More...

const Extrema_POnCurvPoint (const Standard_Integer N) const
Returns the point of the <N>th extremum distance. More...

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

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

## ◆ 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

 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: