Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
imath::TMultidimensionalPolynomial< Dimensions, Element > Class Template Reference

Multidimensional polynomial function. More...

#include <TMultidimensionalPolynomial.h>

Inheritance diagram for imath::TMultidimensionalPolynomial< Dimensions, Element >:
imath::TIMathFunction< TVector< Dimensions >, Element > istd::IPolymorphic

Public Types

typedef imath::TIMathFunction
< TVector< Dimensions >
, Element > 
BaseClass
 
typedef istd::TArray< Element,
Dimensions > 
Coefficients
 
- Public Types inherited from imath::TIMathFunction< TVector< Dimensions >, Element >
typedef TVector< Dimensions > ArgumentType
 
typedef Element ResultType
 

Public Member Functions

 TMultidimensionalPolynomial ()
 
 TMultidimensionalPolynomial (const Coefficients &coefficients)
 
const CoefficientsGetCoefficients () const
 
void SetCoefficients (const Coefficients &coefficients)
 
virtual bool GetValueAt (const ArgumentType &argument, ResultType &result) const
 Get function value for specified argument value. More...
 
virtual ResultType GetValueAt (const ArgumentType &argument) const
 Get function value for specified argument value. More...
 
- Public Member Functions inherited from istd::IPolymorphic
virtual ~IPolymorphic ()
 

Static Public Member Functions

static double GetBaseFunctionValue (const ArgumentType &argument, const istd::TIndex< Dimensions > &coeffIndex)
 Get value of base function for single coefficient. More...
 

Protected Member Functions

void CumulateRecursiveValueAt (const ArgumentType &argument, int dimension, typename istd::TIndex< Dimensions > &index, ResultType &result) const
 Cumulate interpolated value or derivative at specified recursion level. More...
 

Detailed Description

template<int Dimensions, class Element = double>
class imath::TMultidimensionalPolynomial< Dimensions, Element >

Multidimensional polynomial function.

Parameters
Dimensionsnumber of dimensions.
Elementtype of result value.

Definition at line 22 of file TMultidimensionalPolynomial.h.

Member Typedef Documentation

template<int Dimensions, class Element = double>
typedef imath::TIMathFunction<TVector<Dimensions>, Element> imath::TMultidimensionalPolynomial< Dimensions, Element >::BaseClass

Definition at line 25 of file TMultidimensionalPolynomial.h.

template<int Dimensions, class Element = double>
typedef istd::TArray<Element, Dimensions> imath::TMultidimensionalPolynomial< Dimensions, Element >::Coefficients

Definition at line 26 of file TMultidimensionalPolynomial.h.

Constructor & Destructor Documentation

template<int Dimensions, class Element >
imath::TMultidimensionalPolynomial< Dimensions, Element >::TMultidimensionalPolynomial ( )

Definition at line 67 of file TMultidimensionalPolynomial.h.

template<int Dimensions, class Element >
imath::TMultidimensionalPolynomial< Dimensions, Element >::TMultidimensionalPolynomial ( const Coefficients coefficients)
explicit

Definition at line 73 of file TMultidimensionalPolynomial.h.

Member Function Documentation

template<int Dimensions, class Element >
void imath::TMultidimensionalPolynomial< Dimensions, Element >::CumulateRecursiveValueAt ( const ArgumentType argument,
int  dimension,
typename istd::TIndex< Dimensions > &  index,
ResultType result 
) const
protected

Cumulate interpolated value or derivative at specified recursion level.

Parameters
argumentposition, where interpolation should be calculated.
dimensionworking dimension and recursion level.
indexmultidimensional index pointing at coefficient. For the sake of performance it is internal modified.
resultoutput value.

Definition at line 134 of file TMultidimensionalPolynomial.h.

template<int Dimensions, class Element >
double imath::TMultidimensionalPolynomial< Dimensions, Element >::GetBaseFunctionValue ( const ArgumentType argument,
const istd::TIndex< Dimensions > &  coeffIndex 
)
static

Get value of base function for single coefficient.

Definition at line 119 of file TMultidimensionalPolynomial.h.

References istd::TIndex< Dimensions >::GetAt(), and imath::TVector< Size, Element >::GetElement().

template<int Dimensions, class Element >
const TMultidimensionalPolynomial< Dimensions, Element >::Coefficients & imath::TMultidimensionalPolynomial< Dimensions, Element >::GetCoefficients ( ) const

Definition at line 80 of file TMultidimensionalPolynomial.h.

template<int Dimensions, class Element >
bool imath::TMultidimensionalPolynomial< Dimensions, Element >::GetValueAt ( const ArgumentType argument,
ResultType result 
) const
virtual

Get function value for specified argument value.

Parameters
argumentfunction argument.
resultfunction value for specified argument.
Returns
true if result was correctly calculated.

Implements imath::TIMathFunction< TVector< Dimensions >, Element >.

Definition at line 96 of file TMultidimensionalPolynomial.h.

template<int Dimensions, class Element >
TMultidimensionalPolynomial< Dimensions, Element >::ResultType imath::TMultidimensionalPolynomial< Dimensions, Element >::GetValueAt ( const ArgumentType argument) const
virtual

Get function value for specified argument value.

This overloaded menthod is provided only for convinence.

Parameters
argumentfunction argument.
Returns
function value for specified argument.

Implements imath::TIMathFunction< TVector< Dimensions >, Element >.

Definition at line 106 of file TMultidimensionalPolynomial.h.

template<int Dimensions, class Element >
void imath::TMultidimensionalPolynomial< Dimensions, Element >::SetCoefficients ( const Coefficients coefficients)

Definition at line 87 of file TMultidimensionalPolynomial.h.


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

© 2007-2017 Witold Gantzke and Kirill Lepskiy