OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    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 occ::handle< Geom_Curve > &C1, const occ::handle< Geom_Curve > &C2)
     Computes the extrema between the curves C1 and C2.
     GeomAPI_ExtremaCurveCurve (const occ::handle< Geom_Curve > &C1, const occ::handle< Geom_Curve > &C2, const double U1min, const double U1max, const double U2min, const double U2max)
     Computes the portion of the curve C1 limited by the two points of parameter (U1min,U1max), and.
    void Init (const occ::handle< Geom_Curve > &C1, const occ::handle< Geom_Curve > &C2)
     Initializes this algorithm with the given arguments and computes the extrema between the curves C1 and C2.
    void Init (const occ::handle< Geom_Curve > &C1, const occ::handle< Geom_Curve > &C2, const double U1min, const double U1max, const double U2min, const double U2max)
     Initializes this algorithm with the given arguments and computes the extrema between :
    int NbExtrema () const
     Returns the number of extrema computed by this algorithm. Note: if this algorithm fails, NbExtrema returns 0.
     operator int () const
    void Points (const int 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 int Index, double &U1, double &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.
    double Distance (const int 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.
    bool IsParallel () const
     Returns True if the two curves are parallel.
    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 (double &U1, double &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.
    double 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 double () const
    const Extrema_ExtCC & Extrema () const
     return the algorithmic object from Extrema
    bool 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.
    bool TotalLowerDistanceParameters (double &U1, double &U2)
     set in <U1> and <U2> the parameters of the couple solution points which represents the total nearest solution.
    double TotalLowerDistance ()
     return the distance of the total nearest couple solution point. if <myExtCC> is not done

    Detailed Description

    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:

    • defining the construction of the extrema,
    • implementing the construction algorithm, and
    • consulting the results. Warning In some cases, the nearest points between two curves do not correspond to one of the computed extrema. Instead, they may be given by:
    • a limit point of one curve and one of the following:
    • its orthogonal projection on the other curve,
    • a limit point of the other curve; or
    • an intersection point between the two curves.

    Constructor & Destructor Documentation

    ◆ GeomAPI_ExtremaCurveCurve() [1/3]

    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() [2/3]

    GeomAPI_ExtremaCurveCurve::GeomAPI_ExtremaCurveCurve ( const occ::handle< Geom_Curve > & C1,
    const occ::handle< Geom_Curve > & C2 )

    Computes the extrema between the curves C1 and C2.

    ◆ GeomAPI_ExtremaCurveCurve() [3/3]

    GeomAPI_ExtremaCurveCurve::GeomAPI_ExtremaCurveCurve ( const occ::handle< Geom_Curve > & C1,
    const occ::handle< Geom_Curve > & C2,
    const double U1min,
    const double U1max,
    const double U2min,
    const double U2max )

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

    Member Function Documentation

    ◆ Distance()

    double GeomAPI_ExtremaCurveCurve::Distance ( const int 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_ExtCC & GeomAPI_ExtremaCurveCurve::Extrema ( ) const

    return the algorithmic object from Extrema

    ◆ Init() [1/2]

    void GeomAPI_ExtremaCurveCurve::Init ( const occ::handle< Geom_Curve > & C1,
    const occ::handle< Geom_Curve > & C2 )

    Initializes this algorithm with the given arguments and computes the extrema between the curves C1 and C2.

    ◆ Init() [2/2]

    void GeomAPI_ExtremaCurveCurve::Init ( const occ::handle< Geom_Curve > & C1,
    const occ::handle< Geom_Curve > & C2,
    const double U1min,
    const double U1max,
    const double U2min,
    const double U2max )

    Initializes this algorithm with the given arguments and computes the extrema between :

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

    ◆ IsParallel()

    bool GeomAPI_ExtremaCurveCurve::IsParallel ( ) const
    inline

    Returns True if the two curves are parallel.

    ◆ LowerDistance()

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

    ◆ LowerDistanceParameters()

    void GeomAPI_ExtremaCurveCurve::LowerDistanceParameters ( double & U1,
    double & 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.

    ◆ NbExtrema()

    int GeomAPI_ExtremaCurveCurve::NbExtrema ( ) const

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

    ◆ NearestPoints()

    void GeomAPI_ExtremaCurveCurve::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.

    ◆ operator double()

    GeomAPI_ExtremaCurveCurve::operator double ( ) const

    ◆ operator int()

    GeomAPI_ExtremaCurveCurve::operator int ( ) const

    ◆ Parameters()

    void GeomAPI_ExtremaCurveCurve::Parameters ( const int Index,
    double & U1,
    double & 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.

    ◆ Points()

    void GeomAPI_ExtremaCurveCurve::Points ( const int 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.

    ◆ TotalLowerDistance()

    double GeomAPI_ExtremaCurveCurve::TotalLowerDistance ( )

    return the distance of the total nearest couple solution point. if <myExtCC> is not done

    ◆ TotalLowerDistanceParameters()

    bool GeomAPI_ExtremaCurveCurve::TotalLowerDistanceParameters ( double & U1,
    double & U2 )

    set in <U1> and <U2> the parameters of the couple solution points which represents the total nearest solution.

    ◆ TotalNearestPoints()

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


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