Open CASCADE Technology 6.6.0
Public Member Functions
PLib_HermitJacobi Class Reference

This class provides method to work with Jacobi Polynomials
relativly to an order of constraint
q = myWorkDegree-2*(myNivConstr+1)
Jk(t) for k=0,q compose the Jacobi Polynomial base relativly to the weigth 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)+...
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

#include <PLib_HermitJacobi.hxx>

Inheritance diagram for PLib_HermitJacobi:
Inheritance graph
[legend]

Public Member Functions

 PLib_HermitJacobi (const Standard_Integer WorkDegree, const GeomAbs_Shape ConstraintOrder)
 Initialize the polynomial class
Degree has to be <= 30
ConstraintOrder has to be GeomAbs_C0
GeomAbs_C1
GeomAbs_C2

Standard_Real MaxError (const Standard_Integer Dimension, Standard_Real &HermJacCoeff, const Standard_Integer 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 Standard_Integer Dimension, const Standard_Integer MaxDegree, const Standard_Real Tol, Standard_Real &HermJacCoeff, Standard_Integer &NewDegree, Standard_Real &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


Standard_Real AverageError (const Standard_Integer Dimension, Standard_Real &HermJacCoeff, const Standard_Integer NewDegree) const
void ToCoefficients (const Standard_Integer Dimension, const Standard_Integer Degree, const TColStd_Array1OfReal &HermJacCoeff, TColStd_Array1OfReal &Coefficients) const
 Convert the polynomial P(t) = H(t) + W(t) Q(t) in the canonical base.


void D0 (const Standard_Real U, TColStd_Array1OfReal &BasisValue)
 Compute the values of the basis functions in u


void D1 (const Standard_Real U, TColStd_Array1OfReal &BasisValue, TColStd_Array1OfReal &BasisD1)
 Compute the values and the derivatives values of
the basis functions in u

void D2 (const Standard_Real U, TColStd_Array1OfReal &BasisValue, TColStd_Array1OfReal &BasisD1, TColStd_Array1OfReal &BasisD2)
 Compute the values and the derivatives values of
the basis functions in u

void D3 (const Standard_Real U, TColStd_Array1OfReal &BasisValue, TColStd_Array1OfReal &BasisD1, TColStd_Array1OfReal &BasisD2, TColStd_Array1OfReal &BasisD3)
 Compute the values and the derivatives values of
the basis functions in u

Standard_Integer WorkDegree () const
 returns WorkDegree

Standard_Integer NivConstr () const
 returns NivConstr


Constructor & Destructor Documentation

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

Member Function Documentation

Standard_Real PLib_HermitJacobi::AverageError ( const Standard_Integer  Dimension,
Standard_Real HermJacCoeff,
const Standard_Integer  NewDegree 
) const
void PLib_HermitJacobi::D0 ( const Standard_Real  U,
TColStd_Array1OfReal BasisValue 
) [virtual]

Implements PLib_Base.

void PLib_HermitJacobi::D1 ( const Standard_Real  U,
TColStd_Array1OfReal BasisValue,
TColStd_Array1OfReal BasisD1 
) [virtual]

Implements PLib_Base.

void PLib_HermitJacobi::D2 ( const Standard_Real  U,
TColStd_Array1OfReal BasisValue,
TColStd_Array1OfReal BasisD1,
TColStd_Array1OfReal BasisD2 
) [virtual]

Implements PLib_Base.

void PLib_HermitJacobi::D3 ( const Standard_Real  U,
TColStd_Array1OfReal BasisValue,
TColStd_Array1OfReal BasisD1,
TColStd_Array1OfReal BasisD2,
TColStd_Array1OfReal BasisD3 
) [virtual]

Implements PLib_Base.

Standard_Real PLib_HermitJacobi::MaxError ( const Standard_Integer  Dimension,
Standard_Real HermJacCoeff,
const Standard_Integer  NewDegree 
) const
Standard_Integer PLib_HermitJacobi::NivConstr ( ) const
void PLib_HermitJacobi::ReduceDegree ( const Standard_Integer  Dimension,
const Standard_Integer  MaxDegree,
const Standard_Real  Tol,
Standard_Real HermJacCoeff,
Standard_Integer NewDegree,
Standard_Real MaxError 
) const [virtual]

Implements PLib_Base.

void PLib_HermitJacobi::ToCoefficients ( const Standard_Integer  Dimension,
const Standard_Integer  Degree,
const TColStd_Array1OfReal HermJacCoeff,
TColStd_Array1OfReal Coefficients 
) const [virtual]

Implements PLib_Base.

Standard_Integer PLib_HermitJacobi::WorkDegree ( ) const [virtual]

Implements PLib_Base.


The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines