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.