Open CASCADE Technology 7.8.0
|
It calculates all the distances between a point and an elementary curve. These distances can be minimum or maximum. More...
#include <Extrema_ExtPElC.hxx>
Public Member Functions | |
Extrema_ExtPElC () | |
Extrema_ExtPElC (const gp_Pnt &P, const gp_Lin &C, const Standard_Real Tol, const Standard_Real Uinf, const Standard_Real Usup) | |
Calculates the extremum distance between the point P and the segment [Uinf,Usup] of the line C. | |
void | Perform (const gp_Pnt &P, const gp_Lin &C, const Standard_Real Tol, const Standard_Real Uinf, const Standard_Real Usup) |
Extrema_ExtPElC (const gp_Pnt &P, const gp_Circ &C, const Standard_Real Tol, const Standard_Real Uinf, const Standard_Real Usup) | |
Calculates the 2 extremum distances between the point P and the segment [Uinf,Usup] of the circle C. Tol is used to determine if P is on the axis of the circle or if an extremum is on an endpoint of the segment. If P is on the axis of the circle, there are infinite solution then IsDone(me)=False. The conditions on the Uinf and Usup are: 0. <= Uinf <= 2.*PI and Usup > Uinf. If Usup > Uinf + 2.*PI, then only the solutions in the range [Uinf,Uinf+2.*PI[ are computed. | |
void | Perform (const gp_Pnt &P, const gp_Circ &C, const Standard_Real Tol, const Standard_Real Uinf, const Standard_Real Usup) |
Extrema_ExtPElC (const gp_Pnt &P, const gp_Elips &C, const Standard_Real Tol, const Standard_Real Uinf, const Standard_Real Usup) | |
Calculates the 4 extremum distances between the point P and the segment [Uinf,Usup] of the ellipse C. Tol is used to determine if the point is on the axis of the ellipse and if the major radius is equal to the minor radius or if an extremum is on an endpoint of the segment. If P is on the axis of the ellipse, there are infinite solution then IsDone(me)=False. The conditions on the Uinf and Usup are: 0. <= Uinf <= 2.*PI and Usup > Uinf. If Usup > Uinf + 2.*PI, then only the solutions in the range [Uinf,Uinf+2.*PI[ are computed. | |
void | Perform (const gp_Pnt &P, const gp_Elips &C, const Standard_Real Tol, const Standard_Real Uinf, const Standard_Real Usup) |
Extrema_ExtPElC (const gp_Pnt &P, const gp_Hypr &C, const Standard_Real Tol, const Standard_Real Uinf, const Standard_Real Usup) | |
Calculates the extremum distances between the point P and the segment [Uinf,Usup] of the hyperbola C. Tol is used to determine if two solutions u and v are identical; the condition is: dist(C(u),C(v)) < Tol. | |
void | Perform (const gp_Pnt &P, const gp_Hypr &C, const Standard_Real Tol, const Standard_Real Uinf, const Standard_Real Usup) |
Extrema_ExtPElC (const gp_Pnt &P, const gp_Parab &C, const Standard_Real Tol, const Standard_Real Uinf, const Standard_Real Usup) | |
Calculates the 4 extremum distances between the point P and the segment [Uinf,Usup] of the parabola C. Tol is used to determine if two solutions u and v are identical; the condition is: dist(C(u),C(v)) < Tol. | |
void | Perform (const gp_Pnt &P, const gp_Parab &C, const Standard_Real Tol, const Standard_Real Uinf, const Standard_Real Usup) |
Standard_Boolean | IsDone () const |
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 extremum square distance. | |
Standard_Boolean | IsMin (const Standard_Integer N) const |
Returns True if the Nth extremum distance is a minimum. | |
const Extrema_POnCurv & | Point (const Standard_Integer N) const |
Returns the point of the Nth extremum distance. | |
It calculates all the distances between a point and an elementary curve. These distances can be minimum or maximum.
Extrema_ExtPElC::Extrema_ExtPElC | ( | ) |
Extrema_ExtPElC::Extrema_ExtPElC | ( | const gp_Pnt & | P, |
const gp_Lin & | C, | ||
const Standard_Real | Tol, | ||
const Standard_Real | Uinf, | ||
const Standard_Real | Usup | ||
) |
Calculates the extremum distance between the point P and the segment [Uinf,Usup] of the line C.
Extrema_ExtPElC::Extrema_ExtPElC | ( | const gp_Pnt & | P, |
const gp_Circ & | C, | ||
const Standard_Real | Tol, | ||
const Standard_Real | Uinf, | ||
const Standard_Real | Usup | ||
) |
Calculates the 2 extremum distances between the point P and the segment [Uinf,Usup] of the circle C. Tol is used to determine if P is on the axis of the circle or if an extremum is on an endpoint of the segment. If P is on the axis of the circle, there are infinite solution then IsDone(me)=False. The conditions on the Uinf and Usup are: 0. <= Uinf <= 2.*PI and Usup > Uinf. If Usup > Uinf + 2.*PI, then only the solutions in the range [Uinf,Uinf+2.*PI[ are computed.
Extrema_ExtPElC::Extrema_ExtPElC | ( | const gp_Pnt & | P, |
const gp_Elips & | C, | ||
const Standard_Real | Tol, | ||
const Standard_Real | Uinf, | ||
const Standard_Real | Usup | ||
) |
Calculates the 4 extremum distances between the point P and the segment [Uinf,Usup] of the ellipse C. Tol is used to determine if the point is on the axis of the ellipse and if the major radius is equal to the minor radius or if an extremum is on an endpoint of the segment. If P is on the axis of the ellipse, there are infinite solution then IsDone(me)=False. The conditions on the Uinf and Usup are: 0. <= Uinf <= 2.*PI and Usup > Uinf. If Usup > Uinf + 2.*PI, then only the solutions in the range [Uinf,Uinf+2.*PI[ are computed.
Extrema_ExtPElC::Extrema_ExtPElC | ( | const gp_Pnt & | P, |
const gp_Hypr & | C, | ||
const Standard_Real | Tol, | ||
const Standard_Real | Uinf, | ||
const Standard_Real | Usup | ||
) |
Calculates the extremum distances between the point P and the segment [Uinf,Usup] of the hyperbola C. Tol is used to determine if two solutions u and v are identical; the condition is: dist(C(u),C(v)) < Tol.
Extrema_ExtPElC::Extrema_ExtPElC | ( | const gp_Pnt & | P, |
const gp_Parab & | C, | ||
const Standard_Real | Tol, | ||
const Standard_Real | Uinf, | ||
const Standard_Real | Usup | ||
) |
Calculates the 4 extremum distances between the point P and the segment [Uinf,Usup] of the parabola C. Tol is used to determine if two solutions u and v are identical; the condition is: dist(C(u),C(v)) < Tol.
Standard_Boolean Extrema_ExtPElC::IsDone | ( | ) | const |
True if the distances are found.
Standard_Boolean Extrema_ExtPElC::IsMin | ( | const Standard_Integer | N | ) | const |
Returns True if the Nth extremum distance is a minimum.
Standard_Integer Extrema_ExtPElC::NbExt | ( | ) | const |
Returns the number of extremum distances.
void Extrema_ExtPElC::Perform | ( | const gp_Pnt & | P, |
const gp_Circ & | C, | ||
const Standard_Real | Tol, | ||
const Standard_Real | Uinf, | ||
const Standard_Real | Usup | ||
) |
void Extrema_ExtPElC::Perform | ( | const gp_Pnt & | P, |
const gp_Elips & | C, | ||
const Standard_Real | Tol, | ||
const Standard_Real | Uinf, | ||
const Standard_Real | Usup | ||
) |
void Extrema_ExtPElC::Perform | ( | const gp_Pnt & | P, |
const gp_Hypr & | C, | ||
const Standard_Real | Tol, | ||
const Standard_Real | Uinf, | ||
const Standard_Real | Usup | ||
) |
void Extrema_ExtPElC::Perform | ( | const gp_Pnt & | P, |
const gp_Lin & | C, | ||
const Standard_Real | Tol, | ||
const Standard_Real | Uinf, | ||
const Standard_Real | Usup | ||
) |
void Extrema_ExtPElC::Perform | ( | const gp_Pnt & | P, |
const gp_Parab & | C, | ||
const Standard_Real | Tol, | ||
const Standard_Real | Uinf, | ||
const Standard_Real | Usup | ||
) |
const Extrema_POnCurv & Extrema_ExtPElC::Point | ( | const Standard_Integer | N | ) | const |
Returns the point of the Nth extremum distance.
Standard_Real Extrema_ExtPElC::SquareDistance | ( | const Standard_Integer | N | ) | const |
Returns the value of the Nth extremum square distance.