OCCT3D OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    Extrema_ExtCC Class Reference

    It calculates all the distance between two curves. These distances can be maximum or minimum. More...

    #include <Extrema_ExtCC.hxx>

    Public Member Functions

     Extrema_ExtCC (const double TolC1=1.0e-10, const double TolC2=1.0e-10)
     Extrema_ExtCC (const Adaptor3d_Curve &C1, const Adaptor3d_Curve &C2, const double TolC1=1.0e-10, const double TolC2=1.0e-10)
     It calculates all the distances.
     Extrema_ExtCC (const Adaptor3d_Curve &C1, const Adaptor3d_Curve &C2, const double U1, const double U2, const double V1, const double V2, const double TolC1=1.0e-10, const double TolC2=1.0e-10)
     It calculates all the distances.
    void Initialize (const Adaptor3d_Curve &C1, const Adaptor3d_Curve &C2, const double TolC1=1.0e-10, const double TolC2=1.0e-10)
     Initializes but does not perform algorithm.
    void Initialize (const Adaptor3d_Curve &C1, const Adaptor3d_Curve &C2, const double U1, const double U2, const double V1, const double V2, const double TolC1=1.0e-10, const double TolC2=1.0e-10)
     Initializes but does not perform algorithm.
    void SetCurve (const int theRank, const Adaptor3d_Curve &C)
    void SetCurve (const int theRank, const Adaptor3d_Curve &C, const double Uinf, const double Usup)
    void SetRange (const int theRank, const double Uinf, const double Usup)
    void SetTolerance (const int theRank, const double Tol)
    void Perform ()
    bool IsDone () const
     Returns True if the distances are found.
    int NbExt () const
     Returns the number of extremum distances.
    bool IsParallel () const
     Returns True if the two curves are parallel.
    double SquareDistance (const int N=1) const
     Returns the value of the Nth extremum square distance.
    void Points (const int N, Extrema_POnCurv &P1, Extrema_POnCurv &P2) const
     Returns the points of the Nth extremum distance. P1 is on the first curve, P2 on the second one.
    void TrimmedSquareDistances (double &dist11, double &distP12, double &distP21, double &distP22, gp_Pnt &P11, gp_Pnt &P12, gp_Pnt &P21, gp_Pnt &P22) const
     if the curve is a trimmed curve, dist11 is a square distance between the point on C1 of parameter FirstParameter and the point of parameter FirstParameter on C2.
    void SetSingleSolutionFlag (const bool theSingleSolutionFlag)
     Set flag for single extrema computation. Works on parametric solver only.
    bool GetSingleSolutionFlag () const
     Get flag for single extrema computation. Works on parametric solver only.

    Protected Member Functions

    void PrepareResults (const Extrema_ExtElC &AlgExt, const bool theIsInverse, const double Ut11, const double Ut12, const double Ut21, const double Ut22)
     Prepares the extrema result(s) for analytical cases (line, circle, ellipsis etc.).
    void PrepareResults (const Extrema_ECC &AlgExt, const double Ut11, const double Ut12, const double Ut21, const double Ut22)
     Prepares the extrema result(s) for general cases (e.g. with B-spline curves).
    void PrepareParallelResult (const double theUt11, const double theUt12, const double theUt21, const double theUt22, const double theSqDist)
     Prepares the extrema result(s) in case when the given curves are parallel.
    void ClearSolutions ()

    Detailed Description

    It calculates all the distance between two curves. These distances can be maximum or minimum.

    Constructor & Destructor Documentation

    ◆ Extrema_ExtCC() [1/3]

    Extrema_ExtCC::Extrema_ExtCC ( const double TolC1 = 1.0e-10,
    const double TolC2 = 1.0e-10 )

    ◆ Extrema_ExtCC() [2/3]

    Extrema_ExtCC::Extrema_ExtCC ( const Adaptor3d_Curve & C1,
    const Adaptor3d_Curve & C2,
    const double TolC1 = 1.0e-10,
    const double TolC2 = 1.0e-10 )

    It calculates all the distances.

    ◆ Extrema_ExtCC() [3/3]

    Extrema_ExtCC::Extrema_ExtCC ( const Adaptor3d_Curve & C1,
    const Adaptor3d_Curve & C2,
    const double U1,
    const double U2,
    const double V1,
    const double V2,
    const double TolC1 = 1.0e-10,
    const double TolC2 = 1.0e-10 )

    It calculates all the distances.

    Member Function Documentation

    ◆ ClearSolutions()

    void Extrema_ExtCC::ClearSolutions ( )
    inlineprotected

    ◆ GetSingleSolutionFlag()

    bool Extrema_ExtCC::GetSingleSolutionFlag ( ) const

    Get flag for single extrema computation. Works on parametric solver only.

    ◆ Initialize() [1/2]

    void Extrema_ExtCC::Initialize ( const Adaptor3d_Curve & C1,
    const Adaptor3d_Curve & C2,
    const double TolC1 = 1.0e-10,
    const double TolC2 = 1.0e-10 )

    Initializes but does not perform algorithm.

    ◆ Initialize() [2/2]

    void Extrema_ExtCC::Initialize ( const Adaptor3d_Curve & C1,
    const Adaptor3d_Curve & C2,
    const double U1,
    const double U2,
    const double V1,
    const double V2,
    const double TolC1 = 1.0e-10,
    const double TolC2 = 1.0e-10 )

    Initializes but does not perform algorithm.

    ◆ IsDone()

    bool Extrema_ExtCC::IsDone ( ) const

    Returns True if the distances are found.

    ◆ IsParallel()

    bool Extrema_ExtCC::IsParallel ( ) const

    Returns True if the two curves are parallel.

    ◆ NbExt()

    int Extrema_ExtCC::NbExt ( ) const

    Returns the number of extremum distances.

    ◆ Perform()

    void Extrema_ExtCC::Perform ( )

    ◆ Points()

    void Extrema_ExtCC::Points ( const int N,
    Extrema_POnCurv & P1,
    Extrema_POnCurv & P2 ) const

    Returns the points of the Nth extremum distance. P1 is on the first curve, P2 on the second one.

    ◆ PrepareParallelResult()

    void Extrema_ExtCC::PrepareParallelResult ( const double theUt11,
    const double theUt12,
    const double theUt21,
    const double theUt22,
    const double theSqDist )
    protected

    Prepares the extrema result(s) in case when the given curves are parallel.

    ◆ PrepareResults() [1/2]

    void Extrema_ExtCC::PrepareResults ( const Extrema_ECC & AlgExt,
    const double Ut11,
    const double Ut12,
    const double Ut21,
    const double Ut22 )
    protected

    Prepares the extrema result(s) for general cases (e.g. with B-spline curves).

    ◆ PrepareResults() [2/2]

    void Extrema_ExtCC::PrepareResults ( const Extrema_ExtElC & AlgExt,
    const bool theIsInverse,
    const double Ut11,
    const double Ut12,
    const double Ut21,
    const double Ut22 )
    protected

    Prepares the extrema result(s) for analytical cases (line, circle, ellipsis etc.).

    ◆ SetCurve() [1/2]

    void Extrema_ExtCC::SetCurve ( const int theRank,
    const Adaptor3d_Curve & C )

    ◆ SetCurve() [2/2]

    void Extrema_ExtCC::SetCurve ( const int theRank,
    const Adaptor3d_Curve & C,
    const double Uinf,
    const double Usup )

    ◆ SetRange()

    void Extrema_ExtCC::SetRange ( const int theRank,
    const double Uinf,
    const double Usup )

    ◆ SetSingleSolutionFlag()

    void Extrema_ExtCC::SetSingleSolutionFlag ( const bool theSingleSolutionFlag)

    Set flag for single extrema computation. Works on parametric solver only.

    ◆ SetTolerance()

    void Extrema_ExtCC::SetTolerance ( const int theRank,
    const double Tol )

    ◆ SquareDistance()

    double Extrema_ExtCC::SquareDistance ( const int N = 1) const

    Returns the value of the Nth extremum square distance.

    ◆ TrimmedSquareDistances()

    void Extrema_ExtCC::TrimmedSquareDistances ( double & dist11,
    double & distP12,
    double & distP21,
    double & distP22,
    gp_Pnt & P11,
    gp_Pnt & P12,
    gp_Pnt & P21,
    gp_Pnt & P22 ) const

    if the curve is a trimmed curve, dist11 is a square distance between the point on C1 of parameter FirstParameter and the point of parameter FirstParameter on C2.


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