Open CASCADE Technology 7.8.2.dev
Extrema_GenExtPS Class Reference

It calculates all the extremum distances between a point and a surface. These distances can be minimum or maximum. More...

#include <Extrema_GenExtPS.hxx>

Public Member Functions

 Extrema_GenExtPS ()
 Empty constructor.
 
 ~Extrema_GenExtPS ()
 Destructor.
 
 Extrema_GenExtPS (const gp_Pnt &P, const Adaptor3d_Surface &S, const Standard_Integer NbU, const Standard_Integer NbV, const Standard_Real TolU, const Standard_Real TolV, const Extrema_ExtFlag F=Extrema_ExtFlag_MINMAX, const Extrema_ExtAlgo A=Extrema_ExtAlgo_Grad)
 It calculates all the distances. The function F(u,v)=distance(P,S(u,v)) has an extremum when gradient(F)=0. The algorithm searches all the zeros inside the definition ranges of the surface. NbU and NbV are used to locate the close points to find the zeros. They must be great enough such that if there is N extrema, there will be N extrema between P and the grid. TolU et TolV are used to determine the conditions to stop the iterations; at the iteration number n: (Un - Un-1) < TolU and (Vn - Vn-1) < TolV .
 
 Extrema_GenExtPS (const gp_Pnt &P, const Adaptor3d_Surface &S, const Standard_Integer NbU, const Standard_Integer NbV, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real Vmin, const Standard_Real Vsup, const Standard_Real TolU, const Standard_Real TolV, const Extrema_ExtFlag F=Extrema_ExtFlag_MINMAX, const Extrema_ExtAlgo A=Extrema_ExtAlgo_Grad)
 It calculates all the distances. The function F(u,v)=distance(P,S(u,v)) has an extremum when gradient(F)=0. The algorithm searches all the zeros inside the definition ranges of the surface. NbU and NbV are used to locate the close points to find the zeros. They must be great enough such that if there is N extrema, there will be N extrema between P and the grid. TolU et TolV are used to determine the conditions to stop the iterations; at the iteration number n: (Un - Un-1) < TolU and (Vn - Vn-1) < TolV .
 
void Initialize (const Adaptor3d_Surface &S, const Standard_Integer NbU, const Standard_Integer NbV, const Standard_Real TolU, const Standard_Real TolV)
 
void Initialize (const Adaptor3d_Surface &S, const Standard_Integer NbU, const Standard_Integer NbV, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real Vmin, const Standard_Real Vsup, const Standard_Real TolU, const Standard_Real TolV)
 
void Perform (const gp_Pnt &P)
 the algorithm is done with the point P. An exception is raised if the fields have not been initialized.
 
void SetFlag (const Extrema_ExtFlag F)
 
void SetAlgo (const Extrema_ExtAlgo A)
 
Standard_Boolean IsDone () const
 Returns True if the distances are found.
 
Standard_Integer NbExt () const
 Returns the number of extremum distances.
 
Standard_Real SquareDistance (const Standard_Integer N) const
 Returns the value of the Nth resulting square distance.
 
const Extrema_POnSurfPoint (const Standard_Integer N) const
 Returns the point of the Nth resulting distance.
 

Detailed Description

It calculates all the extremum distances between a point and a surface. These distances can be minimum or maximum.

Constructor & Destructor Documentation

◆ Extrema_GenExtPS() [1/3]

Extrema_GenExtPS::Extrema_GenExtPS ( )

Empty constructor.

◆ ~Extrema_GenExtPS()

Extrema_GenExtPS::~Extrema_GenExtPS ( )

Destructor.

◆ Extrema_GenExtPS() [2/3]

Extrema_GenExtPS::Extrema_GenExtPS ( const gp_Pnt & P,
const Adaptor3d_Surface & S,
const Standard_Integer NbU,
const Standard_Integer NbV,
const Standard_Real TolU,
const Standard_Real TolV,
const Extrema_ExtFlag F = Extrema_ExtFlag_MINMAX,
const Extrema_ExtAlgo A = Extrema_ExtAlgo_Grad )

It calculates all the distances. The function F(u,v)=distance(P,S(u,v)) has an extremum when gradient(F)=0. The algorithm searches all the zeros inside the definition ranges of the surface. NbU and NbV are used to locate the close points to find the zeros. They must be great enough such that if there is N extrema, there will be N extrema between P and the grid. TolU et TolV are used to determine the conditions to stop the iterations; at the iteration number n: (Un - Un-1) < TolU and (Vn - Vn-1) < TolV .

◆ Extrema_GenExtPS() [3/3]

Extrema_GenExtPS::Extrema_GenExtPS ( const gp_Pnt & P,
const Adaptor3d_Surface & S,
const Standard_Integer NbU,
const Standard_Integer NbV,
const Standard_Real Umin,
const Standard_Real Usup,
const Standard_Real Vmin,
const Standard_Real Vsup,
const Standard_Real TolU,
const Standard_Real TolV,
const Extrema_ExtFlag F = Extrema_ExtFlag_MINMAX,
const Extrema_ExtAlgo A = Extrema_ExtAlgo_Grad )

It calculates all the distances. The function F(u,v)=distance(P,S(u,v)) has an extremum when gradient(F)=0. The algorithm searches all the zeros inside the definition ranges of the surface. NbU and NbV are used to locate the close points to find the zeros. They must be great enough such that if there is N extrema, there will be N extrema between P and the grid. TolU et TolV are used to determine the conditions to stop the iterations; at the iteration number n: (Un - Un-1) < TolU and (Vn - Vn-1) < TolV .

Member Function Documentation

◆ Initialize() [1/2]

void Extrema_GenExtPS::Initialize ( const Adaptor3d_Surface & S,
const Standard_Integer NbU,
const Standard_Integer NbV,
const Standard_Real TolU,
const Standard_Real TolV )

◆ Initialize() [2/2]

void Extrema_GenExtPS::Initialize ( const Adaptor3d_Surface & S,
const Standard_Integer NbU,
const Standard_Integer NbV,
const Standard_Real Umin,
const Standard_Real Usup,
const Standard_Real Vmin,
const Standard_Real Vsup,
const Standard_Real TolU,
const Standard_Real TolV )

◆ IsDone()

Standard_Boolean Extrema_GenExtPS::IsDone ( ) const

Returns True if the distances are found.

◆ NbExt()

Standard_Integer Extrema_GenExtPS::NbExt ( ) const

Returns the number of extremum distances.

◆ Perform()

void Extrema_GenExtPS::Perform ( const gp_Pnt & P)

the algorithm is done with the point P. An exception is raised if the fields have not been initialized.

◆ Point()

const Extrema_POnSurf & Extrema_GenExtPS::Point ( const Standard_Integer N) const

Returns the point of the Nth resulting distance.

◆ SetAlgo()

void Extrema_GenExtPS::SetAlgo ( const Extrema_ExtAlgo A)

◆ SetFlag()

void Extrema_GenExtPS::SetFlag ( const Extrema_ExtFlag F)

◆ SquareDistance()

Standard_Real Extrema_GenExtPS::SquareDistance ( const Standard_Integer N) const

Returns the value of the Nth resulting square distance.


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