Open CASCADE Technology  7.7.0
Public Member Functions
GeomAPI_ExtremaCurveSurface Class Reference

Describes functions for computing all the extrema between a curve and a surface. An ExtremaCurveSurface algorithm minimizes or maximizes the distance between a point on the curve and a point on the surface. Thus, it computes start and end points of perpendiculars common to the curve and the surface (an intersection point is not an extremum except where the curve and the surface are tangential at this point). Solutions consist of pairs of points, and an extremum is considered to be a segment joining the two points of a solution. An ExtremaCurveSurface object provides a framework for: More...

#include <GeomAPI_ExtremaCurveSurface.hxx>

Public Member Functions

 GeomAPI_ExtremaCurveSurface ()
 Constructs an empty algorithm for computing extrema between a curve and a surface. Use an Init function to define the curve and the surface on which it is going to work. More...
 
 GeomAPI_ExtremaCurveSurface (const Handle< Geom_Curve > &Curve, const Handle< Geom_Surface > &Surface)
 Computes the extrema distances between the curve and the surface <S>. More...
 
 GeomAPI_ExtremaCurveSurface (const Handle< Geom_Curve > &Curve, const Handle< Geom_Surface > &Surface, const Standard_Real Wmin, const Standard_Real Wmax, const Standard_Real Umin, const Standard_Real Umax, const Standard_Real Vmin, const Standard_Real Vmax)
 Computes the extrema distances between the curve and the surface <S>. The solution point are computed in the domain [Wmin,Wmax] of the curve and in the domain [Umin,Umax] [Vmin,Vmax] of the surface. Warning Use the function NbExtrema to obtain the number of solutions. If this algorithm fails, NbExtrema returns 0. More...
 
void Init (const Handle< Geom_Curve > &Curve, const Handle< Geom_Surface > &Surface)
 Computes the extrema distances between the curve and the surface <S>. More...
 
void Init (const Handle< Geom_Curve > &Curve, const Handle< Geom_Surface > &Surface, const Standard_Real Wmin, const Standard_Real Wmax, const Standard_Real Umin, const Standard_Real Umax, const Standard_Real Vmin, const Standard_Real Vmax)
 Computes the extrema distances between the curve and the surface <S>. The solution point are computed in the domain [Wmin,Wmax] of the curve and in the domain [Umin,Umax] [Vmin,Vmax] of the surface. Warning Use the function NbExtrema to obtain the number of solutions. If this algorithm fails, NbExtrema returns 0. More...
 
Standard_Integer NbExtrema () const
 Returns the number of extrema computed by this algorithm. Note: if this algorithm fails, NbExtrema returns 0. More...
 
 operator Standard_Integer () const
 
void Points (const Standard_Integer Index, gp_Pnt &P1, gp_Pnt &P2) const
 Returns the points P1 on the curve and P2 on the surface, which are the ends of the extremum of index Index computed by this algorithm. Exceptions Standard_OutOfRange if Index is not in the range [ 1,NbExtrema ], where NbExtrema is the number of extrema computed by this algorithm. More...
 
void Parameters (const Standard_Integer Index, Standard_Real &W, Standard_Real &U, Standard_Real &V) const
 Returns the parameters W of the point on the curve, and (U,V) of the point on the surface, which are the ends of the extremum of index Index computed by this algorithm. Exceptions Standard_OutOfRange if Index is not in the range [ 1,NbExtrema ], where NbExtrema is the number of extrema computed by this algorithm. More...
 
Standard_Real Distance (const Standard_Integer Index) const
 Computes the distance between the end points of the extremum of index Index computed by this algorithm. Exceptions Standard_OutOfRange if index is not in the range [ 1,NbExtrema ], where NbExtrema is the number of extrema computed by this algorithm. More...
 
Standard_Boolean IsParallel () const
 Returns True if the curve is on a parallel surface. More...
 
void NearestPoints (gp_Pnt &PC, gp_Pnt &PS) const
 Returns the points PC on the curve and PS on the surface, which are the ends of the shortest extremum computed by this algorithm. Exceptions - StdFail_NotDone if this algorithm fails. More...
 
void LowerDistanceParameters (Standard_Real &W, Standard_Real &U, Standard_Real &V) const
 Returns the parameters W of the point on the curve and (U,V) of the point on the surface, which are the ends of the shortest extremum computed by this algorithm. Exceptions - StdFail_NotDone if this algorithm fails. More...
 
Standard_Real LowerDistance () const
 Computes the distance between the end points of the shortest extremum computed by this algorithm. Exceptions - StdFail_NotDone if this algorithm fails. More...
 
 operator Standard_Real () const
 
const Extrema_ExtCSExtrema () const
 Returns the algorithmic object from Extrema. More...
 

Detailed Description

Describes functions for computing all the extrema between a curve and a surface. An ExtremaCurveSurface algorithm minimizes or maximizes the distance between a point on the curve and a point on the surface. Thus, it computes start and end points of perpendiculars common to the curve and the surface (an intersection point is not an extremum except where the curve and the surface are tangential at this point). Solutions consist of pairs of points, and an extremum is considered to be a segment joining the two points of a solution. An ExtremaCurveSurface object provides a framework for:

Constructor & Destructor Documentation

◆ GeomAPI_ExtremaCurveSurface() [1/3]

GeomAPI_ExtremaCurveSurface::GeomAPI_ExtremaCurveSurface ( )

Constructs an empty algorithm for computing extrema between a curve and a surface. Use an Init function to define the curve and the surface on which it is going to work.

◆ GeomAPI_ExtremaCurveSurface() [2/3]

GeomAPI_ExtremaCurveSurface::GeomAPI_ExtremaCurveSurface ( const Handle< Geom_Curve > &  Curve,
const Handle< Geom_Surface > &  Surface 
)

Computes the extrema distances between the curve and the surface <S>.

◆ GeomAPI_ExtremaCurveSurface() [3/3]

GeomAPI_ExtremaCurveSurface::GeomAPI_ExtremaCurveSurface ( const Handle< Geom_Curve > &  Curve,
const Handle< Geom_Surface > &  Surface,
const Standard_Real  Wmin,
const Standard_Real  Wmax,
const Standard_Real  Umin,
const Standard_Real  Umax,
const Standard_Real  Vmin,
const Standard_Real  Vmax 
)

Computes the extrema distances between the curve and the surface <S>. The solution point are computed in the domain [Wmin,Wmax] of the curve and in the domain [Umin,Umax] [Vmin,Vmax] of the surface. Warning Use the function NbExtrema to obtain the number of solutions. If this algorithm fails, NbExtrema returns 0.

Member Function Documentation

◆ Distance()

Standard_Real GeomAPI_ExtremaCurveSurface::Distance ( const Standard_Integer  Index) const

Computes the distance between the end points of the extremum of index Index computed by this algorithm. Exceptions Standard_OutOfRange if index is not in the range [ 1,NbExtrema ], where NbExtrema is the number of extrema computed by this algorithm.

◆ Extrema()

const Extrema_ExtCS& GeomAPI_ExtremaCurveSurface::Extrema ( ) const

Returns the algorithmic object from Extrema.

◆ Init() [1/2]

void GeomAPI_ExtremaCurveSurface::Init ( const Handle< Geom_Curve > &  Curve,
const Handle< Geom_Surface > &  Surface 
)

Computes the extrema distances between the curve and the surface <S>.

◆ Init() [2/2]

void GeomAPI_ExtremaCurveSurface::Init ( const Handle< Geom_Curve > &  Curve,
const Handle< Geom_Surface > &  Surface,
const Standard_Real  Wmin,
const Standard_Real  Wmax,
const Standard_Real  Umin,
const Standard_Real  Umax,
const Standard_Real  Vmin,
const Standard_Real  Vmax 
)

Computes the extrema distances between the curve and the surface <S>. The solution point are computed in the domain [Wmin,Wmax] of the curve and in the domain [Umin,Umax] [Vmin,Vmax] of the surface. Warning Use the function NbExtrema to obtain the number of solutions. If this algorithm fails, NbExtrema returns 0.

◆ IsParallel()

Standard_Boolean GeomAPI_ExtremaCurveSurface::IsParallel ( ) const
inline

Returns True if the curve is on a parallel surface.

◆ LowerDistance()

Standard_Real GeomAPI_ExtremaCurveSurface::LowerDistance ( ) const

Computes the distance between the end points of the shortest extremum computed by this algorithm. Exceptions - StdFail_NotDone if this algorithm fails.

◆ LowerDistanceParameters()

void GeomAPI_ExtremaCurveSurface::LowerDistanceParameters ( Standard_Real W,
Standard_Real U,
Standard_Real V 
) const

Returns the parameters W of the point on the curve and (U,V) of the point on the surface, which are the ends of the shortest extremum computed by this algorithm. Exceptions - StdFail_NotDone if this algorithm fails.

◆ NbExtrema()

Standard_Integer GeomAPI_ExtremaCurveSurface::NbExtrema ( ) const

Returns the number of extrema computed by this algorithm. Note: if this algorithm fails, NbExtrema returns 0.

◆ NearestPoints()

void GeomAPI_ExtremaCurveSurface::NearestPoints ( gp_Pnt PC,
gp_Pnt PS 
) const

Returns the points PC on the curve and PS on the surface, which are the ends of the shortest extremum computed by this algorithm. Exceptions - StdFail_NotDone if this algorithm fails.

◆ operator Standard_Integer()

GeomAPI_ExtremaCurveSurface::operator Standard_Integer ( ) const

◆ operator Standard_Real()

GeomAPI_ExtremaCurveSurface::operator Standard_Real ( ) const

◆ Parameters()

void GeomAPI_ExtremaCurveSurface::Parameters ( const Standard_Integer  Index,
Standard_Real W,
Standard_Real U,
Standard_Real V 
) const

Returns the parameters W of the point on the curve, and (U,V) of the point on the surface, which are the ends of the extremum of index Index computed by this algorithm. Exceptions Standard_OutOfRange if Index is not in the range [ 1,NbExtrema ], where NbExtrema is the number of extrema computed by this algorithm.

◆ Points()

void GeomAPI_ExtremaCurveSurface::Points ( const Standard_Integer  Index,
gp_Pnt P1,
gp_Pnt P2 
) const

Returns the points P1 on the curve and P2 on the surface, which are the ends of the extremum of index Index computed by this algorithm. Exceptions Standard_OutOfRange if Index is not in the range [ 1,NbExtrema ], where NbExtrema is the number of extrema computed by this algorithm.


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