Open CASCADE Technology 7.8.2.dev
Extrema_ExtPElC Class Reference

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:

  1. <= 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:

  1. <= 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_POnCurvPoint (const Standard_Integer N) const
 Returns the point of the Nth extremum distance.
 

Detailed Description

It calculates all the distances between a point and an elementary curve. These distances can be minimum or maximum.

Constructor & Destructor Documentation

◆ Extrema_ExtPElC() [1/6]

Extrema_ExtPElC::Extrema_ExtPElC ( )

◆ Extrema_ExtPElC() [2/6]

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() [3/6]

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:

  1. <= 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() [4/6]

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:

  1. <= 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() [5/6]

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() [6/6]

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.

Member Function Documentation

◆ IsDone()

Standard_Boolean Extrema_ExtPElC::IsDone ( ) const

True if the distances are found.

◆ IsMin()

Standard_Boolean Extrema_ExtPElC::IsMin ( const Standard_Integer N) const

Returns True if the Nth extremum distance is a minimum.

◆ NbExt()

Standard_Integer Extrema_ExtPElC::NbExt ( ) const

Returns the number of extremum distances.

◆ Perform() [1/5]

void Extrema_ExtPElC::Perform ( const gp_Pnt & P,
const gp_Circ & C,
const Standard_Real Tol,
const Standard_Real Uinf,
const Standard_Real Usup )

◆ Perform() [2/5]

void Extrema_ExtPElC::Perform ( const gp_Pnt & P,
const gp_Elips & C,
const Standard_Real Tol,
const Standard_Real Uinf,
const Standard_Real Usup )

◆ Perform() [3/5]

void Extrema_ExtPElC::Perform ( const gp_Pnt & P,
const gp_Hypr & C,
const Standard_Real Tol,
const Standard_Real Uinf,
const Standard_Real Usup )

◆ Perform() [4/5]

void Extrema_ExtPElC::Perform ( const gp_Pnt & P,
const gp_Lin & C,
const Standard_Real Tol,
const Standard_Real Uinf,
const Standard_Real Usup )

◆ Perform() [5/5]

void Extrema_ExtPElC::Perform ( const gp_Pnt & P,
const gp_Parab & C,
const Standard_Real Tol,
const Standard_Real Uinf,
const Standard_Real Usup )

◆ Point()

const Extrema_POnCurv & Extrema_ExtPElC::Point ( const Standard_Integer N) const

Returns the point of the Nth extremum distance.

◆ SquareDistance()

Standard_Real Extrema_ExtPElC::SquareDistance ( const Standard_Integer N) const

Returns the value of the Nth extremum square distance.


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