Open CASCADE Technology
7.5.0

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...  
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_ExtCS &  Extrema () const 
Returns the algorithmic object from Extrema. More...  
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:
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::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::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.
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.
const Extrema_ExtCS& GeomAPI_ExtremaCurveSurface::Extrema  (  )  const 
Returns the algorithmic object from Extrema.
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>.
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.
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.
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.
Standard_Integer GeomAPI_ExtremaCurveSurface::NbExtrema  (  )  const 
Returns the number of extrema computed by this algorithm. Note: if this algorithm fails, NbExtrema returns 0.
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.
GeomAPI_ExtremaCurveSurface::operator Standard_Integer  (  )  const 
GeomAPI_ExtremaCurveSurface::operator Standard_Real  (  )  const 
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.
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.