Open CASCADE Technology 6.6.0
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.

#include <Extrema_GenExtPS.hxx>

Public Member Functions

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

Extrema_POnSurf Point (const Standard_Integer N) const
 Returns the point of the Nth resulting distance.


Constructor & Destructor Documentation

Extrema_GenExtPS::Extrema_GenExtPS ( )
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 
)
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 
)

Member Function Documentation

void Extrema_GenExtPS::Initialize ( const Adaptor3d_Surface S,
const Standard_Integer  NbU,
const Standard_Integer  NbV,
const Standard_Real  TolU,
const Standard_Real  TolV 
)
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 
)
Standard_Boolean Extrema_GenExtPS::IsDone ( ) const
Standard_Integer Extrema_GenExtPS::NbExt ( ) const
void Extrema_GenExtPS::Perform ( const gp_Pnt P)
Extrema_POnSurf Extrema_GenExtPS::Point ( const Standard_Integer  N) const
void Extrema_GenExtPS::SetAlgo ( const Extrema_ExtAlgo  A)
void Extrema_GenExtPS::SetFlag ( const Extrema_ExtFlag  F)
Standard_Real Extrema_GenExtPS::SquareDistance ( const Standard_Integer  N) const

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines