Open CASCADE Technology
7.4.0
|
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. More... | |
GeomAPI_ExtremaCurveCurve (const Handle< Geom_Curve > &C1, const Handle< Geom_Curve > &C2) | |
Computes the extrema between the curves C1 and C2. More... | |
GeomAPI_ExtremaCurveCurve (const Handle< Geom_Curve > &C1, const Handle< Geom_Curve > &C2, const Standard_Real U1min, const Standard_Real U1max, const Standard_Real U2min, const Standard_Real U2max) | |
Computes the portion of the curve C1 limited by the two points of parameter (U1min,U1max), and. More... | |
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. More... | |
void | Init (const Handle< Geom_Curve > &C1, const Handle< Geom_Curve > &C2, const Standard_Real U1min, const Standard_Real U1max, const Standard_Real U2min, const Standard_Real U2max) |
Initializes this algorithm with the given arguments and computes the extrema between : 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 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. More... | |
void | Parameters (const Standard_Integer Index, Standard_Real &U1, Standard_Real &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. 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 &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. More... | |
void | LowerDistanceParameters (Standard_Real &U1, Standard_Real &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. 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_ExtCC & | Extrema () const |
return the algorithmic object from Extrema More... | |
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. More... | |
Standard_Boolean | TotalLowerDistanceParameters (Standard_Real &U1, Standard_Real &U2) |
set in <U1> and <U2> the parameters of the couple solution points which represents the total nearest solution. More... | |
Standard_Real | TotalLowerDistance () |
return the distance of the total nearest couple solution point. if <myExtCC> is not done More... | |
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:
GeomAPI_ExtremaCurveCurve::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::GeomAPI_ExtremaCurveCurve | ( | const Handle< Geom_Curve > & | C1, |
const Handle< Geom_Curve > & | C2 | ||
) |
Computes the extrema between the curves C1 and C2.
GeomAPI_ExtremaCurveCurve::GeomAPI_ExtremaCurveCurve | ( | const Handle< Geom_Curve > & | C1, |
const Handle< Geom_Curve > & | C2, | ||
const Standard_Real | U1min, | ||
const Standard_Real | U1max, | ||
const Standard_Real | U2min, | ||
const Standard_Real | U2max | ||
) |
Computes the portion of the curve C1 limited by the two points of parameter (U1min,U1max), and.
Standard_Real GeomAPI_ExtremaCurveCurve::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_ExtCC& GeomAPI_ExtremaCurveCurve::Extrema | ( | ) | const |
return the algorithmic object from Extrema
void GeomAPI_ExtremaCurveCurve::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 GeomAPI_ExtremaCurveCurve::Init | ( | const Handle< Geom_Curve > & | C1, |
const Handle< Geom_Curve > & | C2, | ||
const Standard_Real | U1min, | ||
const Standard_Real | U1max, | ||
const Standard_Real | U2min, | ||
const Standard_Real | U2max | ||
) |
Initializes this algorithm with the given arguments and computes the extrema between :
Standard_Real GeomAPI_ExtremaCurveCurve::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_ExtremaCurveCurve::LowerDistanceParameters | ( | Standard_Real & | U1, |
Standard_Real & | 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.
Standard_Integer GeomAPI_ExtremaCurveCurve::NbExtrema | ( | ) | const |
Returns the number of extrema computed by this algorithm. Note: if this algorithm fails, NbExtrema returns 0.
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.
GeomAPI_ExtremaCurveCurve::operator Standard_Integer | ( | ) | const |
GeomAPI_ExtremaCurveCurve::operator Standard_Real | ( | ) | const |
void GeomAPI_ExtremaCurveCurve::Parameters | ( | const Standard_Integer | Index, |
Standard_Real & | U1, | ||
Standard_Real & | 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.
void GeomAPI_ExtremaCurveCurve::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.
Standard_Real GeomAPI_ExtremaCurveCurve::TotalLowerDistance | ( | ) |
return the distance of the total nearest couple solution point. if <myExtCC> is not done
Standard_Boolean GeomAPI_ExtremaCurveCurve::TotalLowerDistanceParameters | ( | Standard_Real & | U1, |
Standard_Real & | U2 | ||
) |
set in <U1> and <U2> the parameters of the couple solution points which represents the total nearest solution.
Standard_Boolean GeomAPI_ExtremaCurveCurve::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.