Open CASCADE Technology 7.8.2.dev
Extrema_ExtPC2d Class Reference

#include <Extrema_ExtPC2d.hxx>

Public Member Functions

 Extrema_ExtPC2d ()
 
 Extrema_ExtPC2d (const gp_Pnt2d &P, const Adaptor2d_Curve2d &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_ExtPC2d (const gp_Pnt2d &P, const Adaptor2d_Curve2d &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 Adaptor2d_Curve2d &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_Pnt2d &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_POnCurv2dPoint (const Standard_Integer N) const
 Returns the point of the <N>th extremum distance.
 
void TrimmedSquareDistances (Standard_Real &dist1, Standard_Real &dist2, gp_Pnt2d &P1, gp_Pnt2d &P2) const
 if the curve is a trimmed curve, dist1 is a square distance between
 

Protected Member Functions

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

Constructor & Destructor Documentation

◆ Extrema_ExtPC2d() [1/3]

Extrema_ExtPC2d::Extrema_ExtPC2d ( )

◆ Extrema_ExtPC2d() [2/3]

Extrema_ExtPC2d::Extrema_ExtPC2d ( const gp_Pnt2d & P,
const Adaptor2d_Curve2d & 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_ExtPC2d() [3/3]

Extrema_ExtPC2d::Extrema_ExtPC2d ( const gp_Pnt2d & P,
const Adaptor2d_Curve2d & 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_ExtPC2d::AddSol ( const Standard_Real theU,
const gp_Pnt2d & theP,
const Standard_Real theSqDist,
const Standard_Boolean isMin )
protected

◆ Initialize()

void Extrema_ExtPC2d::Initialize ( const Adaptor2d_Curve2d & 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_ExtPC2d::IntervalPerform ( const gp_Pnt2d & P)
protected

◆ IsDone()

Standard_Boolean Extrema_ExtPC2d::IsDone ( ) const

True if the distances are found.

◆ IsMin()

Standard_Boolean Extrema_ExtPC2d::IsMin ( const Standard_Integer N) const

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

◆ NbExt()

Standard_Integer Extrema_ExtPC2d::NbExt ( ) const

Returns the number of extremum distances.

◆ Perform()

void Extrema_ExtPC2d::Perform ( const gp_Pnt2d & P)

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

◆ Point()

const Extrema_POnCurv2d & Extrema_ExtPC2d::Point ( const Standard_Integer N) const

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

◆ SquareDistance()

Standard_Real Extrema_ExtPC2d::SquareDistance ( const Standard_Integer N) const

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

◆ TrimmedSquareDistances()

void Extrema_ExtPC2d::TrimmedSquareDistances ( Standard_Real & dist1,
Standard_Real & dist2,
gp_Pnt2d & P1,
gp_Pnt2d & 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: