Open CASCADE Technology 6.6.0
Public Member Functions
GeomAPI_ExtremaCurveCurve Class Reference

Describes functions for computing all the extrema
between two 3D curves.
An ExtremaCurveCurve algorithm minimizes or
maximizes the distance between a point on the first
curve and a point on the second curve. Thus, it
computes start and end points of perpendiculars
common to the two curves (an intersection point is
not an extremum unless the two curves 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 ExtremaCurveCurve object provides a framework for:
More...

#include <GeomAPI_ExtremaCurveCurve.hxx>

Public Member Functions

 GeomAPI_ExtremaCurveCurve ()
 Constructs an empty algorithm for computing
extrema between two curves. Use an Init function
to define the curves on which it is going to work.

 GeomAPI_ExtremaCurveCurve (const Handle< Geom_Curve > &C1, const Handle< Geom_Curve > &C2)
 Computes the extrema between the curves C1 and C2.

 GeomAPI_ExtremaCurveCurve (const Handle< Geom_Curve > &C1, const Handle< Geom_Curve > &C2, const Quantity_Parameter U1min, const Quantity_Parameter U1max, const Quantity_Parameter U2min, const Quantity_Parameter U2max)
 Computes the portion of the curve C1 limited by the two
points of parameter (U1min,U1max), and

void Init (const Handle< Geom_Curve > &C1, const Handle< Geom_Curve > &C2)
 Initializes this algorithm with the given arguments
and computes the extrema between the curves C1 and C2

void Init (const Handle< Geom_Curve > &C1, const Handle< Geom_Curve > &C2, const Quantity_Parameter U1min, const Quantity_Parameter U1max, const Quantity_Parameter U2min, const Quantity_Parameter U2max)
 Initializes this algorithm with the given arguments
and computes the extrema between :

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

 operator Standard_Integer () const
void Points (const Standard_Integer Index, gp_Pnt &P1, gp_Pnt &P2) const
 Returns the points P1 on the first curve and P2 on
the second curve, 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 Parameters (const Standard_Integer Index, Quantity_Parameter &U1, Quantity_Parameter &U2) const
 Returns the parameters U1 of the point on the first
curve and U2 of the point on the second curve, 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.

Quantity_Length 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.

void NearestPoints (gp_Pnt &P1, gp_Pnt &P2) const
 Returns the points P1 on the first curve and P2 on
the second curve, which are the ends of the shortest
extremum computed by this algorithm.
Exceptions StdFail_NotDone if this algorithm fails.

void LowerDistanceParameters (Quantity_Parameter &U1, Quantity_Parameter &U2) const
 Returns the parameters U1 of the point on the first
curve and U2 of the point on the second curve, which
are the ends of the shortest extremum computed by this algorithm.
Exceptions StdFail_NotDone if this algorithm fails.

Quantity_Length LowerDistance () const
 Computes the distance between the end points of the
shortest extremum computed by this algorithm.
Exceptions StdFail_NotDone if this algorithm fails.

 operator Standard_Real () const
const Extrema_ExtCCExtrema () const
 return the algorithmic object from Extrema

Standard_Boolean TotalNearestPoints (gp_Pnt &P1, gp_Pnt &P2)
 set in <P1> and <P2> the couple solution points
such a the distance [P1,P2] is the minimum. taking in account
extremity points of curves.

Standard_Boolean TotalLowerDistanceParameters (Quantity_Parameter &U1, Quantity_Parameter &U2)
 set in <U1> and <U2> the parameters of the couple
solution points which represents the total nearest
solution.

Quantity_Length TotalLowerDistance ()
 return the distance of the total nearest couple solution
point.
//! if <myExtCC> is not done


Detailed Description


Constructor & Destructor Documentation

GeomAPI_ExtremaCurveCurve::GeomAPI_ExtremaCurveCurve ( )
GeomAPI_ExtremaCurveCurve::GeomAPI_ExtremaCurveCurve ( const Handle< Geom_Curve > &  C1,
const Handle< Geom_Curve > &  C2 
)
GeomAPI_ExtremaCurveCurve::GeomAPI_ExtremaCurveCurve ( const Handle< Geom_Curve > &  C1,
const Handle< Geom_Curve > &  C2,
const Quantity_Parameter  U1min,
const Quantity_Parameter  U1max,
const Quantity_Parameter  U2min,
const Quantity_Parameter  U2max 
)
  • the portion of the curve C2 limited by the two
    points of parameter (U2min,U2max).
    Warning
    Use the function NbExtrema to obtain the number
    of solutions. If this algorithm fails, NbExtrema returns 0.

Member Function Documentation

Quantity_Length GeomAPI_ExtremaCurveCurve::Distance ( const Standard_Integer  Index) const
const Extrema_ExtCC& GeomAPI_ExtremaCurveCurve::Extrema ( ) const
void GeomAPI_ExtremaCurveCurve::Init ( const Handle< Geom_Curve > &  C1,
const Handle< Geom_Curve > &  C2,
const Quantity_Parameter  U1min,
const Quantity_Parameter  U1max,
const Quantity_Parameter  U2min,
const Quantity_Parameter  U2max 
)
  • the portion of the curve C1 limited by the two
    points of parameter (U1min,U1max), and
  • the portion of the curve C2 limited by the two
    points of parameter (U2min,U2max).
    Warning
    Use the function NbExtrema to obtain the number
    of solutions. If this algorithm fails, NbExtrema returns 0.
void GeomAPI_ExtremaCurveCurve::Init ( const Handle< Geom_Curve > &  C1,
const Handle< Geom_Curve > &  C2 
)
Quantity_Length GeomAPI_ExtremaCurveCurve::LowerDistance ( ) const
void GeomAPI_ExtremaCurveCurve::LowerDistanceParameters ( Quantity_Parameter U1,
Quantity_Parameter U2 
) const
Standard_Integer GeomAPI_ExtremaCurveCurve::NbExtrema ( ) const
void GeomAPI_ExtremaCurveCurve::NearestPoints ( gp_Pnt P1,
gp_Pnt P2 
) const
GeomAPI_ExtremaCurveCurve::operator Standard_Integer ( ) const
GeomAPI_ExtremaCurveCurve::operator Standard_Real ( ) const
void GeomAPI_ExtremaCurveCurve::Parameters ( const Standard_Integer  Index,
Quantity_Parameter U1,
Quantity_Parameter U2 
) const
void GeomAPI_ExtremaCurveCurve::Points ( const Standard_Integer  Index,
gp_Pnt P1,
gp_Pnt P2 
) const
Quantity_Length GeomAPI_ExtremaCurveCurve::TotalLowerDistance ( )
Standard_Boolean GeomAPI_ExtremaCurveCurve::TotalLowerDistanceParameters ( Quantity_Parameter U1,
Quantity_Parameter U2 
)
Standard_Boolean GeomAPI_ExtremaCurveCurve::TotalNearestPoints ( gp_Pnt P1,
gp_Pnt P2 
)

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines