| 
    Open CASCADE Technology 7.8.2.dev
    
   | 
 
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 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: More...
#include <PLib_HermitJacobi.hxx>

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 override | 
| 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 override | 
| Convert the polynomial P(t) = H(t) + W(t) Q(t) in the canonical base.   | |
| void | D0 (const Standard_Real U, TColStd_Array1OfReal &BasisValue) override | 
| Compute the values of the basis functions in u.   | |
| void | D1 (const Standard_Real U, TColStd_Array1OfReal &BasisValue, TColStd_Array1OfReal &BasisD1) override | 
| 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) override | 
| 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) override | 
| Compute the values and the derivatives values of the basis functions in u.   | |
| Standard_Integer | WorkDegree () const override | 
| returns WorkDegree   | |
| Standard_Integer | NivConstr () const | 
| returns NivConstr   | |
  Public Member Functions inherited from Standard_Transient | |
| Standard_Transient () | |
| Empty constructor.   | |
| Standard_Transient (const Standard_Transient &) | |
| Copy constructor – does nothing.   | |
| Standard_Transient & | operator= (const Standard_Transient &) | 
| Assignment operator, needed to avoid copying reference counter.   | |
| virtual | ~Standard_Transient () | 
| Destructor must be virtual.   | |
| virtual const opencascade::handle< Standard_Type > & | DynamicType () const | 
| Returns a type descriptor about this object.   | |
| Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const | 
| Returns a true value if this is an instance of Type.   | |
| Standard_Boolean | IsInstance (const Standard_CString theTypeName) const | 
| Returns a true value if this is an instance of TypeName.   | |
| Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const | 
| Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.   | |
| Standard_Boolean | IsKind (const Standard_CString theTypeName) const | 
| Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.   | |
| Standard_Transient * | This () const | 
| Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.   | |
| Standard_Integer | GetRefCount () const noexcept | 
| Get the reference counter of this object.   | |
| void | IncrementRefCounter () noexcept | 
| Increments the reference counter of this object.   | |
| Standard_Integer | DecrementRefCounter () noexcept | 
| Decrements the reference counter of this object; returns the decremented value.   | |
| virtual void | Delete () const | 
| Memory deallocator for transient classes.   | |
Additional Inherited Members | |
  Public Types inherited from Standard_Transient | |
| typedef void | base_type | 
| Returns a type descriptor about this object.   | |
  Static Public Member Functions inherited from Standard_Transient | |
| static constexpr const char * | get_type_name () | 
| Returns a type descriptor about this object.   | |
| static const opencascade::handle< Standard_Type > & | get_type_descriptor () | 
| Returns type descriptor of Standard_Transient class.   | |
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 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:
The coefficients
represents the part of the polynomial in the Hermit's base: H(t)
The following coefficients represents the part of the polynomial in the Jacobi base ie Q(t)
| PLib_HermitJacobi::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 PLib_HermitJacobi::AverageError | ( | const Standard_Integer | Dimension, | 
| Standard_Real & | HermJacCoeff, | ||
| const Standard_Integer | NewDegree | ||
| ) | const | 
      
  | 
  overridevirtual | 
Compute the values of the basis functions in u.
Implements PLib_Base.
      
  | 
  overridevirtual | 
Compute the values and the derivatives values of the basis functions in u.
Implements PLib_Base.
      
  | 
  overridevirtual | 
Compute the values and the derivatives values of the basis functions in u.
Implements PLib_Base.
      
  | 
  overridevirtual | 
Compute the values and the derivatives values of the basis functions in u.
Implements PLib_Base.
| Standard_Real PLib_HermitJacobi::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.
| Standard_Integer PLib_HermitJacobi::NivConstr | ( | ) | const | 
returns NivConstr
      
  | 
  overridevirtual | 
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.
Implements PLib_Base.
      
  | 
  overridevirtual | 
Convert the polynomial P(t) = H(t) + W(t) Q(t) in the canonical base.
Implements PLib_Base.
      
  | 
  overridevirtual | 
returns WorkDegree
Implements PLib_Base.