Open CASCADE Technology 7.8.0
|
It calculates all the extremum distances between a point and a surface. These distances can be minimum or maximum. More...
#include <Extrema_ExtPS.hxx>
Public Member Functions | |
Extrema_ExtPS () | |
Extrema_ExtPS (const gp_Pnt &P, const Adaptor3d_Surface &S, 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. 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_ExtPS (const gp_Pnt &P, const Adaptor3d_Surface &S, const Standard_Real Uinf, const Standard_Real Usup, const Standard_Real Vinf, 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. 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_Real Uinf, const Standard_Real Usup, const Standard_Real Vinf, const Standard_Real Vsup, const Standard_Real TolU, const Standard_Real TolV) |
Initializes the fields of the algorithm. | |
void | Perform (const gp_Pnt &P) |
Computes the distances. An exception is raised if the fieds have not been initialized. | |
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_POnSurf & | Point (const Standard_Integer N) const |
Returns the point of the Nth resulting distance. | |
void | TrimmedSquareDistances (Standard_Real &dUfVf, Standard_Real &dUfVl, Standard_Real &dUlVf, Standard_Real &dUlVl, gp_Pnt &PUfVf, gp_Pnt &PUfVl, gp_Pnt &PUlVf, gp_Pnt &PUlVl) const |
if the surface is a trimmed surface, dUfVf is a square distance between | |
void | SetFlag (const Extrema_ExtFlag F) |
void | SetAlgo (const Extrema_ExtAlgo A) |
It calculates all the extremum distances between a point and a surface. These distances can be minimum or maximum.
Extrema_ExtPS::Extrema_ExtPS | ( | ) |
Extrema_ExtPS::Extrema_ExtPS | ( | const gp_Pnt & | P, |
const Adaptor3d_Surface & | S, | ||
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. 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_ExtPS::Extrema_ExtPS | ( | const gp_Pnt & | P, |
const Adaptor3d_Surface & | S, | ||
const Standard_Real | Uinf, | ||
const Standard_Real | Usup, | ||
const Standard_Real | Vinf, | ||
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. 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_ExtPS::Initialize | ( | const Adaptor3d_Surface & | S, |
const Standard_Real | Uinf, | ||
const Standard_Real | Usup, | ||
const Standard_Real | Vinf, | ||
const Standard_Real | Vsup, | ||
const Standard_Real | TolU, | ||
const Standard_Real | TolV | ||
) |
Initializes the fields of the algorithm.
Standard_Boolean Extrema_ExtPS::IsDone | ( | ) | const |
Returns True if the distances are found.
Standard_Integer Extrema_ExtPS::NbExt | ( | ) | const |
Returns the number of extremum distances.
Computes the distances. An exception is raised if the fieds have not been initialized.
const Extrema_POnSurf & Extrema_ExtPS::Point | ( | const Standard_Integer | N | ) | const |
Returns the point of the Nth resulting distance.
void Extrema_ExtPS::SetAlgo | ( | const Extrema_ExtAlgo | A | ) |
void Extrema_ExtPS::SetFlag | ( | const Extrema_ExtFlag | F | ) |
Standard_Real Extrema_ExtPS::SquareDistance | ( | const Standard_Integer | N | ) | const |
Returns the value of the Nth resulting square distance.
void Extrema_ExtPS::TrimmedSquareDistances | ( | Standard_Real & | dUfVf, |
Standard_Real & | dUfVl, | ||
Standard_Real & | dUlVf, | ||
Standard_Real & | dUlVl, | ||
gp_Pnt & | PUfVf, | ||
gp_Pnt & | PUfVl, | ||
gp_Pnt & | PUlVf, | ||
gp_Pnt & | PUlVl | ||
) | const |
if the surface is a trimmed surface, dUfVf is a square distance between
and the point of parameter FirstUParameter and FirstVParameter <PUfVf>. dUfVl is a square distance between
and the point of parameter FirstUParameter and LastVParameter <PUfVl>. dUlVf is a square distance between
and the point of parameter LastUParameter and FirstVParameter <PUlVf>. dUlVl is a square distance between
and the point of parameter LastUParameter and LastVParameter <PUlVl>.