Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
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 int NbU, const int NbV, const double TolU, const double 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 int NbU, const int NbV, const double Umin, const double Usup, const double Vmin, const double Vsup, const double TolU, const double 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 int NbU, const int NbV, const double TolU, const double TolV)
 
void Initialize (const Adaptor3d_Surface &S, const int NbU, const int NbV, const double Umin, const double Usup, const double Vmin, const double Vsup, const double TolU, const double 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)
 
bool IsDone () const
 Returns True if the distances are found.
 
int NbExt () const
 Returns the number of extremum distances.
 
double SquareDistance (const int N) const
 Returns the value of the Nth resulting square distance.
 
const Extrema_POnSurfPoint (const int 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 int NbU,
const int NbV,
const double TolU,
const double 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 int NbU,
const int NbV,
const double Umin,
const double Usup,
const double Vmin,
const double Vsup,
const double TolU,
const double 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 int NbU,
const int NbV,
const double TolU,
const double TolV )

◆ Initialize() [2/2]

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

◆ IsDone()

bool Extrema_GenExtPS::IsDone ( ) const

Returns True if the distances are found.

◆ NbExt()

int 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 int 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()

double Extrema_GenExtPS::SquareDistance ( const int N) const

Returns the value of the Nth resulting square distance.


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