![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
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_POnSurf & | Point (const int N) const |
| Returns the point of the Nth resulting distance. | |
It calculates all the extremum distances between a point and a surface. These distances can be minimum or maximum.
| Extrema_GenExtPS::Extrema_GenExtPS | ( | ) |
Empty constructor.
| Extrema_GenExtPS::~Extrema_GenExtPS | ( | ) |
Destructor.
| 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::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 Extrema_GenExtPS::Initialize | ( | const Adaptor3d_Surface & | S, |
| const int | NbU, | ||
| const int | NbV, | ||
| const double | TolU, | ||
| const double | TolV ) |
| 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 ) |
| bool Extrema_GenExtPS::IsDone | ( | ) | const |
Returns True if the distances are found.
| int Extrema_GenExtPS::NbExt | ( | ) | const |
Returns the number of extremum distances.
the algorithm is done with the point P. An exception is raised if the fields have not been initialized.
| const Extrema_POnSurf & Extrema_GenExtPS::Point | ( | const int | N | ) | const |
Returns the point of the Nth resulting distance.
| void Extrema_GenExtPS::SetAlgo | ( | const Extrema_ExtAlgo | A | ) |
| void Extrema_GenExtPS::SetFlag | ( | const Extrema_ExtFlag | F | ) |
Returns the value of the Nth resulting square distance.