Open CASCADE Technology  7.4.0
Public Member Functions | Protected Member Functions
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 searchs 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 searchs 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)
 

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 searchs 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 searchs 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: