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
    PLib_HermitJacobi Class Reference

    This class provides method to work with Jacobi Polynomials relatively to an order of constraint q = myWorkDegree-2*(myNivConstr+1) Jk(t) for k=0,q compose the Jacobi Polynomial base relatively to the weight W(t) iorder is the integer value for the constraints: iorder = 0 <=> ConstraintOrder = GeomAbs_C0 iorder = 1 <=> ConstraintOrder = GeomAbs_C1 iorder = 2 <=> ConstraintOrder = GeomAbs_C2 P(t) = H(t) + W(t) * Q(t) Where W(t) = (1-t**2)**(2*iordre+2) the coefficients JacCoeff represents P(t) JacCoeff are stored as follow: More...

    #include <PLib_HermitJacobi.hxx>

    Public Member Functions

     PLib_HermitJacobi (const int WorkDegree, const GeomAbs_Shape ConstraintOrder)
     Initialize the polynomial class Degree has to be <= 30 ConstraintOrder has to be GeomAbs_C0 GeomAbs_C1 GeomAbs_C2.
    double MaxError (const int Dimension, double &HermJacCoeff, const int NewDegree) const
     This method computes the maximum error on the polynomial W(t) Q(t) obtained by missing the coefficients of JacCoeff from NewDegree +1 to Degree.
    void ReduceDegree (const int Dimension, const int MaxDegree, const double Tol, double &HermJacCoeff, int &NewDegree, double &MaxError) const
     Compute NewDegree <= MaxDegree so that MaxError is lower than Tol. MaxError can be greater than Tol if it is not possible to find a NewDegree <= MaxDegree. In this case NewDegree = MaxDegree.
    double AverageError (const int Dimension, double &HermJacCoeff, const int NewDegree) const
    void ToCoefficients (const int Dimension, const int Degree, const NCollection_Array1< double > &HermJacCoeff, NCollection_Array1< double > &Coefficients) const
     Convert the polynomial P(t) = H(t) + W(t) Q(t) in the canonical base.
    void D0 (const double U, NCollection_Array1< double > &BasisValue) const
     Compute the values of the basis functions in u.
    void D1 (const double U, NCollection_Array1< double > &BasisValue, NCollection_Array1< double > &BasisD1) const
     Compute the values and the derivatives values of the basis functions in u.
    void D2 (const double U, NCollection_Array1< double > &BasisValue, NCollection_Array1< double > &BasisD1, NCollection_Array1< double > &BasisD2) const
     Compute the values and the derivatives values of the basis functions in u.
    void D3 (const double U, NCollection_Array1< double > &BasisValue, NCollection_Array1< double > &BasisD1, NCollection_Array1< double > &BasisD2, NCollection_Array1< double > &BasisD3) const
     Compute the values and the derivatives values of the basis functions in u.
    int WorkDegree () const noexcept
     returns WorkDegree
    int NivConstr () const noexcept
     returns NivConstr

    Protected Member Functions

    void D0123 (const int NDerive, const double U, NCollection_Array1< double > &BasisValue, NCollection_Array1< double > &BasisD1, NCollection_Array1< double > &BasisD2, NCollection_Array1< double > &BasisD3) const
     Compute the values and the derivatives values of the basis functions in u.

    Detailed Description

    This class provides method to work with Jacobi Polynomials relatively to an order of constraint q = myWorkDegree-2*(myNivConstr+1) Jk(t) for k=0,q compose the Jacobi Polynomial base relatively to the weight W(t) iorder is the integer value for the constraints: iorder = 0 <=> ConstraintOrder = GeomAbs_C0 iorder = 1 <=> ConstraintOrder = GeomAbs_C1 iorder = 2 <=> ConstraintOrder = GeomAbs_C2 P(t) = H(t) + W(t) * Q(t) Where W(t) = (1-t**2)**(2*iordre+2) the coefficients JacCoeff represents P(t) JacCoeff are stored as follow:

    c0(1) c0(2) .... c0(Dimension)
    c1(1) c1(2) .... c1(Dimension)
    cDegree(1) cDegree(2) .... cDegree(Dimension)

    The coefficients

    c0(1) c0(2) .... c0(Dimension)
    c2*ordre+1(1) ... c2*ordre+1(dimension)

    represents the part of the polynomial in the Hermit's base: H(t)

    H(t) = c0H00(t) + c1H01(t) + ...c(iordre)H(0 ;iorder)+ c(iordre+1)H10(t)+...
    const GLubyte * c
    Definition OpenGl_glext.h:21581
    GLdouble GLdouble t
    Definition OpenGl_glext.h:330

    The following coefficients represents the part of the polynomial in the Jacobi base ie Q(t)

    Q(t) = c2*iordre+2 J0(t) + ...+ cDegree JDegree-2*iordre-2

    Constructor & Destructor Documentation

    ◆ PLib_HermitJacobi()

    PLib_HermitJacobi::PLib_HermitJacobi ( const int WorkDegree,
    const GeomAbs_Shape ConstraintOrder )

    Initialize the polynomial class Degree has to be <= 30 ConstraintOrder has to be GeomAbs_C0 GeomAbs_C1 GeomAbs_C2.

    Member Function Documentation

    ◆ AverageError()

    double PLib_HermitJacobi::AverageError ( const int Dimension,
    double & HermJacCoeff,
    const int NewDegree ) const

    ◆ D0()

    void PLib_HermitJacobi::D0 ( const double U,
    NCollection_Array1< double > & BasisValue ) const

    Compute the values of the basis functions in u.

    ◆ D0123()

    void PLib_HermitJacobi::D0123 ( const int NDerive,
    const double U,
    NCollection_Array1< double > & BasisValue,
    NCollection_Array1< double > & BasisD1,
    NCollection_Array1< double > & BasisD2,
    NCollection_Array1< double > & BasisD3 ) const
    protected

    Compute the values and the derivatives values of the basis functions in u.

    ◆ D1()

    void PLib_HermitJacobi::D1 ( const double U,
    NCollection_Array1< double > & BasisValue,
    NCollection_Array1< double > & BasisD1 ) const

    Compute the values and the derivatives values of the basis functions in u.

    ◆ D2()

    void PLib_HermitJacobi::D2 ( const double U,
    NCollection_Array1< double > & BasisValue,
    NCollection_Array1< double > & BasisD1,
    NCollection_Array1< double > & BasisD2 ) const

    Compute the values and the derivatives values of the basis functions in u.

    ◆ D3()

    void PLib_HermitJacobi::D3 ( const double U,
    NCollection_Array1< double > & BasisValue,
    NCollection_Array1< double > & BasisD1,
    NCollection_Array1< double > & BasisD2,
    NCollection_Array1< double > & BasisD3 ) const

    Compute the values and the derivatives values of the basis functions in u.

    ◆ MaxError()

    double PLib_HermitJacobi::MaxError ( const int Dimension,
    double & HermJacCoeff,
    const int NewDegree ) const

    This method computes the maximum error on the polynomial W(t) Q(t) obtained by missing the coefficients of JacCoeff from NewDegree +1 to Degree.

    ◆ NivConstr()

    int PLib_HermitJacobi::NivConstr ( ) const
    inlinenoexcept

    returns NivConstr

    ◆ ReduceDegree()

    void PLib_HermitJacobi::ReduceDegree ( const int Dimension,
    const int MaxDegree,
    const double Tol,
    double & HermJacCoeff,
    int & NewDegree,
    double & MaxError ) const

    Compute NewDegree <= MaxDegree so that MaxError is lower than Tol. MaxError can be greater than Tol if it is not possible to find a NewDegree <= MaxDegree. In this case NewDegree = MaxDegree.

    ◆ ToCoefficients()

    void PLib_HermitJacobi::ToCoefficients ( const int Dimension,
    const int Degree,
    const NCollection_Array1< double > & HermJacCoeff,
    NCollection_Array1< double > & Coefficients ) const

    Convert the polynomial P(t) = H(t) + W(t) Q(t) in the canonical base.

    ◆ WorkDegree()

    int PLib_HermitJacobi::WorkDegree ( ) const
    inlinenoexcept

    returns WorkDegree


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