22 #ifndef _nmrStandardPolynomial_h
23 #define _nmrStandardPolynomial_h
63 :
BaseType(numVariables, minDegree, maxDegree)
65 , PowerBasis(numVariables, maxDegree)
69 #if INCLUDE_DEPRECATED_POLYNOMIAL_CODE
70 #ifdef CISST_COMPILER_IS_MSVC
72 #pragma warning(disable:4996)
73 #endif // ifdef CISST_COMPILER_IS_MSVC
74 VariablePowers = &PowerBasis;
75 #ifdef CISST_COMPILER_IS_MSVC
77 #endif // ifdef CISST_COMPILER_IS_MSVC
78 #endif // INCLUDE_DEPRECATED_POLYNOMIAL_CODE
84 #if INCLUDE_DEPRECATED_POLYNOMIAL_CODE
85 #ifdef CISST_COMPILER_IS_MSVC
87 #pragma warning(disable:4996)
88 #endif // ifdef CISST_COMPILER_IS_MSVC
89 virtual void CISST_DEPRECATED SetVariable(VariableIndexType varIndex, VariableType value);
93 virtual bool CISST_DEPRECATED CanSetVariable(VariableIndexType varIndex)
const
97 #ifdef CISST_COMPILER_IS_MSVC
99 #endif // ifdef CISST_COMPILER_IS_MSVC
100 #endif // INCLUDE_DEPRECATED_POLYNOMIAL_CODE
107 DereferenceIterator(where) = coefficient;
118 ? DereferenceConstIterator(it)
124 return DereferenceConstIterator(where);
129 return DereferenceConstIterator(where);
137 virtual void RemoveTerm(TermIteratorType & where);
143 virtual void Clear();
169 virtual void SerializeTermInfo(std::ostream & output,
const TermConstIteratorType & termIterator)
const;
181 virtual void AddConstant(CoefficientType shiftAmount);
189 CoefficientType shiftAmount)
const;
205 #if INCLUDE_DEPRECATED_POLYNOMIAL_CODE
207 #endif // INCLUDE_DEPRECATED_POLYNOMIAL_CODE
212 #endif // _nmrStandardPolynomial_h
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
TermContainerType::iterator TermIteratorType
Definition: nmrPolynomialContainer.h:74
virtual void AddConstant(CoefficientType shiftAmount)=0
#define CISST_DEPRECATED
Definition: cmnPortability.h:310
VariableIndexType GetNumVariables() const
Definition: nmrPolynomialBase.h:69
virtual InsertStatus SetCoefficient(TermIteratorType &where, CoefficientType coefficient)
Definition: nmrStandardPolynomial.h:105
StandardPowerBasis(VariableIndexType numVariables, PowerType maxPower)
Definition: nmrMultiVariablePowerBasis.h:146
virtual void SerializeTermInfo(std::ostream &output, const TermConstIteratorType &termIterator) const =0
double ValueType
Definition: nmrPolynomialBase.h:54
VariableIndexType GetNumVariables() const
Definition: nmrMultiVariablePowerBasis.h:64
CoefficientType DereferenceIterator(const TermIteratorType &it) const
Definition: nmrStandardPolynomial.h:199
virtual void DeserializeTermInfo(std::istream &input, TermIteratorType &termIterator)=0
nmrPolynomialTermPowerIndex::PowerType PowerType
Definition: nmrPolynomialBase.h:58
TermContainerType::const_iterator TermConstIteratorType
Definition: nmrPolynomialContainer.h:75
virtual void AddConstantToCoefficients(CoefficientType coefficients[], CoefficientType shiftAmount) const =0
virtual ~nmrStandardPolynomial()
Definition: nmrStandardPolynomial.h:81
Definition: nmrStandardPolynomial.h:55
VariableIndexType GetNumVariables() const
Definition: nmrPolynomialTermPowerIndex.h:166
virtual CoefficientType GetCoefficient(const TermConstIteratorType &where) const
Definition: nmrStandardPolynomial.h:122
virtual ValueType EvaluateBasis(const TermConstIteratorType &where, const nmrMultiVariablePowerBasis &variables) const =0
virtual InsertStatus SetCoefficient(const nmrPolynomialTermPowerIndex &where, CoefficientType coefficient)=0
ValueType EvaluatePowerProduct(const PowerType powers[]) const
Definition: nmrPolynomialBase.h:61
int GetDegree() const
Definition: nmrPolynomialTermPowerIndex.h:121
Definition: nmrDynAllocPolynomialContainer.h:28
CoefficientType & DereferenceIterator(const TermIteratorType &it)
Definition: nmrStandardPolynomial.h:193
TermIteratorType FindTerm(const nmrPolynomialTermPowerIndex &target)
Definition: nmrPolynomialContainer.h:256
double CoefficientType
Definition: nmrPolynomialBase.h:56
nmrPolynomialTermPowerIndex::VariableIndexType VariableIndexType
Definition: nmrPolynomialBase.h:57
const PowerType * GetPowers() const
Definition: nmrPolynomialTermPowerIndex.h:181
virtual ValueType EvaluateBasis(const TermConstIteratorType &where, const nmrMultiVariablePowerBasis &variables) const
Definition: nmrStandardPolynomial.h:153
nmrStandardPolynomial(VariableIndexType numVariables, PowerType minDegree, PowerType maxDegree)
Definition: nmrStandardPolynomial.h:62
virtual void Clear()
Definition: nmrPolynomialContainer.h:291
virtual ValueType EvaluateBasis(const TermIteratorType &where, const nmrMultiVariablePowerBasis &variables) const
Definition: nmrStandardPolynomial.h:159
nmrDynAllocPolynomialContainer BaseType
Definition: nmrStandardPolynomial.h:58
Definition: nmrMultiVariablePowerBasis.h:37
PowerType GetMaxDegree() const
Definition: nmrMultiVariablePowerBasis.h:69
virtual CoefficientType GetCoefficient(const TermIteratorType &where) const
Definition: nmrStandardPolynomial.h:127
virtual ValueType EvaluateBasis(const nmrPolynomialTermPowerIndex &where, const nmrMultiVariablePowerBasis &variables) const
Definition: nmrStandardPolynomial.h:145
virtual void RemoveTerm(const nmrPolynomialTermPowerIndex &where)
Definition: nmrPolynomialContainer.h:276
Represents the power index of a single term in a multi-variable polynomial.
Definition: nmrPolynomialTermPowerIndex.h:89
virtual CoefficientType GetCoefficient(const nmrPolynomialTermPowerIndex &where) const
Definition: nmrStandardPolynomial.h:113
CoefficientType DereferenceConstIterator(const TermConstIteratorType &it) const
Definition: nmrStandardPolynomial.h:202
TermIteratorType EndTermIterator()
Definition: nmrPolynomialContainer.h:249
#define INCLUDE_DEPRECATED_POLYNOMIAL_CODE
Definition: nmrPolynomialBase.h:37
InsertStatus
Definition: nmrPolynomialBase.h:61