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_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC > Class Template Reference

    Template class for function used to find extremal distance between two curves. This class inherits from math_FunctionSetWithDerivatives and is used by the algorithm math_FunctionSetRoot. More...

    #include <Extrema_GFuncExtCC.hxx>

    Inheritance diagram for Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >:

    Public Member Functions

     Extrema_GFuncExtCC (const double theTol=1.0e-10)
     Default constructor with tolerance.
     Extrema_GFuncExtCC (const TheCurve1 &theC1, const TheCurve2 &theC2, const double theTol=1.0e-10)
     Constructor with curves.
    void SetCurve (const int theRank, const TheCurve1 &theC)
     Sets the curve for the specified rank (1 or 2).
    void SetTolerance (const double theTol)
     Sets the tolerance.
    int NbVariables () const override
     Returns the number of variables (2).
    int NbEquations () const override
     Returns the number of equations (2).
    bool Value (const math_Vector &theUV, math_Vector &theF) override
     Calculate Fi(U,V).
    bool Derivatives (const math_Vector &theUV, math_Matrix &theDF) override
     Calculate Fi'(U,V).
    bool Values (const math_Vector &theUV, math_Vector &theF, math_Matrix &theDF) override
     Calculate Fi(U,V) and Fi'(U,V).
    int GetStateNumber () override
     Save the found extremum.
    int NbExt () const
     Return the number of found extrema.
    double SquareDistance (const int theN) const
     Return the value of the Nth distance.
    void Points (const int theN, ThePOnC &theP1, ThePOnC &theP2) const
     Return the points of the Nth extreme distance.
    void * CurvePtr (const int theRank) const
     Returns a pointer to the curve specified in the constructor or in SetCurve() method.
    double Tolerance () const
     Returns a tolerance specified in the constructor or in SetTolerance() method.
    void SubIntervalInitialize (const math_Vector &theUfirst, const math_Vector &theUlast)
     Determines boundaries of subinterval for find of root.
    double SearchOfTolerance (void *const theC)
     Computes a Tol value. If 1st derivative of curve |D1|<Tol, it is considered D1=0.
    Public Member Functions inherited from math_FunctionSet
    virtual ~math_FunctionSet ()

    Detailed Description

    template<typename TheCurve1, typename TheCurveTool1, typename TheCurve2, typename TheCurveTool2, typename ThePOnC, typename ThePoint, typename TheVector, typename TheSequenceOfPOnC>
    class Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >

    Template class for function used to find extremal distance between two curves. This class inherits from math_FunctionSetWithDerivatives and is used by the algorithm math_FunctionSetRoot.

    Template Parameters
    TheCurve1Type of the first curve (e.g., Adaptor3d_Curve)
    TheCurveTool1Tool class for the first curve
    TheCurve2Type of the second curve
    TheCurveTool2Tool class for the second curve
    ThePOnCPoint on curve type (e.g., Extrema_POnCurv)
    ThePointPoint type (e.g., gp_Pnt)
    TheVectorVector type (e.g., gp_Vec)
    TheSequenceOfPOnCSequence of points on curve

    Constructor & Destructor Documentation

    ◆ Extrema_GFuncExtCC() [1/2]

    template<typename TheCurve1, typename TheCurveTool1, typename TheCurve2, typename TheCurveTool2, typename ThePOnC, typename ThePoint, typename TheVector, typename TheSequenceOfPOnC>
    Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::Extrema_GFuncExtCC ( const double theTol = 1.0e-10)

    Default constructor with tolerance.

    ◆ Extrema_GFuncExtCC() [2/2]

    template<typename TheCurve1, typename TheCurveTool1, typename TheCurve2, typename TheCurveTool2, typename ThePOnC, typename ThePoint, typename TheVector, typename TheSequenceOfPOnC>
    Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::Extrema_GFuncExtCC ( const TheCurve1 & theC1,
    const TheCurve2 & theC2,
    const double theTol = 1.0e-10 )

    Constructor with curves.

    Member Function Documentation

    ◆ CurvePtr()

    template<typename TheCurve1, typename TheCurveTool1, typename TheCurve2, typename TheCurveTool2, typename ThePOnC, typename ThePoint, typename TheVector, typename TheSequenceOfPOnC>
    void * Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::CurvePtr ( const int theRank) const
    inline

    Returns a pointer to the curve specified in the constructor or in SetCurve() method.

    ◆ Derivatives()

    template<typename TheCurve1, typename TheCurveTool1, typename TheCurve2, typename TheCurveTool2, typename ThePOnC, typename ThePoint, typename TheVector, typename TheSequenceOfPOnC>
    bool Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::Derivatives ( const math_Vector & theUV,
    math_Matrix & theDF )
    overridevirtual

    Calculate Fi'(U,V).

    Implements math_FunctionSetWithDerivatives.

    ◆ GetStateNumber()

    template<typename TheCurve1, typename TheCurveTool1, typename TheCurve2, typename TheCurveTool2, typename ThePOnC, typename ThePoint, typename TheVector, typename TheSequenceOfPOnC>
    int Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::GetStateNumber ( )
    overridevirtual

    Save the found extremum.

    Reimplemented from math_FunctionSet.

    ◆ NbEquations()

    template<typename TheCurve1, typename TheCurveTool1, typename TheCurve2, typename TheCurveTool2, typename ThePOnC, typename ThePoint, typename TheVector, typename TheSequenceOfPOnC>
    int Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::NbEquations ( ) const
    inlineoverridevirtual

    Returns the number of equations (2).

    Implements math_FunctionSetWithDerivatives.

    ◆ NbExt()

    template<typename TheCurve1, typename TheCurveTool1, typename TheCurve2, typename TheCurveTool2, typename ThePOnC, typename ThePoint, typename TheVector, typename TheSequenceOfPOnC>
    int Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::NbExt ( ) const
    inline

    Return the number of found extrema.

    ◆ NbVariables()

    template<typename TheCurve1, typename TheCurveTool1, typename TheCurve2, typename TheCurveTool2, typename ThePOnC, typename ThePoint, typename TheVector, typename TheSequenceOfPOnC>
    int Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::NbVariables ( ) const
    inlineoverridevirtual

    Returns the number of variables (2).

    Implements math_FunctionSetWithDerivatives.

    ◆ Points()

    template<typename TheCurve1, typename TheCurveTool1, typename TheCurve2, typename TheCurveTool2, typename ThePOnC, typename ThePoint, typename TheVector, typename TheSequenceOfPOnC>
    void Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::Points ( const int theN,
    ThePOnC & theP1,
    ThePOnC & theP2 ) const

    Return the points of the Nth extreme distance.

    ◆ SearchOfTolerance()

    template<typename TheCurve1, typename TheCurveTool1, typename TheCurve2, typename TheCurveTool2, typename ThePOnC, typename ThePoint, typename TheVector, typename TheSequenceOfPOnC>
    double Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::SearchOfTolerance ( void *const theC)

    Computes a Tol value. If 1st derivative of curve |D1|<Tol, it is considered D1=0.

    ◆ SetCurve()

    template<typename TheCurve1, typename TheCurveTool1, typename TheCurve2, typename TheCurveTool2, typename ThePOnC, typename ThePoint, typename TheVector, typename TheSequenceOfPOnC>
    void Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::SetCurve ( const int theRank,
    const TheCurve1 & theC )

    Sets the curve for the specified rank (1 or 2).

    ◆ SetTolerance()

    template<typename TheCurve1, typename TheCurveTool1, typename TheCurve2, typename TheCurveTool2, typename ThePOnC, typename ThePoint, typename TheVector, typename TheSequenceOfPOnC>
    void Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::SetTolerance ( const double theTol)
    inline

    Sets the tolerance.

    ◆ SquareDistance()

    template<typename TheCurve1, typename TheCurveTool1, typename TheCurve2, typename TheCurveTool2, typename ThePOnC, typename ThePoint, typename TheVector, typename TheSequenceOfPOnC>
    double Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::SquareDistance ( const int theN) const
    inline

    Return the value of the Nth distance.

    ◆ SubIntervalInitialize()

    template<typename TheCurve1, typename TheCurveTool1, typename TheCurve2, typename TheCurveTool2, typename ThePOnC, typename ThePoint, typename TheVector, typename TheSequenceOfPOnC>
    void Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::SubIntervalInitialize ( const math_Vector & theUfirst,
    const math_Vector & theUlast )

    Determines boundaries of subinterval for find of root.

    ◆ Tolerance()

    template<typename TheCurve1, typename TheCurveTool1, typename TheCurve2, typename TheCurveTool2, typename ThePOnC, typename ThePoint, typename TheVector, typename TheSequenceOfPOnC>
    double Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::Tolerance ( ) const
    inline

    Returns a tolerance specified in the constructor or in SetTolerance() method.

    ◆ Value()

    template<typename TheCurve1, typename TheCurveTool1, typename TheCurve2, typename TheCurveTool2, typename ThePOnC, typename ThePoint, typename TheVector, typename TheSequenceOfPOnC>
    bool Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::Value ( const math_Vector & theUV,
    math_Vector & theF )
    overridevirtual

    Calculate Fi(U,V).

    Implements math_FunctionSetWithDerivatives.

    ◆ Values()

    template<typename TheCurve1, typename TheCurveTool1, typename TheCurve2, typename TheCurveTool2, typename ThePOnC, typename ThePoint, typename TheVector, typename TheSequenceOfPOnC>
    bool Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::Values ( const math_Vector & theUV,
    math_Vector & theF,
    math_Matrix & theDF )
    overridevirtual

    Calculate Fi(U,V) and Fi'(U,V).

    Implements math_FunctionSetWithDerivatives.


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