22 #ifndef _nmrMultiVariablePowerBasis_h
23 #define _nmrMultiVariablePowerBasis_h
52 Initialize(numVariables, maxPower);
62 void Initialize(VariableIndexType numVariables, PowerType maxPower);
66 return BasisContainer.rows();
71 return BasisContainer.cols() - 1;
76 return BasisContainer.Element(variableIndex, 1);
83 varsVector.
Assign(BasisContainer.Column(1));
89 return BasisContainer.Column(1).SumOfElements();
95 return BasisContainer.Element(var, power);
99 virtual void SetVariable(VariableIndexType varIndex, VariableType value) = 0;
106 virtual void SetVariables(
const VariableType vars[]) = 0;
111 virtual bool CanSetVariable(VariableIndexType varIndex)
const = 0;
122 ValueType EvaluatePowerProduct(
const PowerType powers[])
const;
126 void PrivateSetVariable(VariableIndexType varIndex, VariableType value);
134 class StandardPowerBasis;
139 class BarycentricBasis;
188 ImplicitVarIndex = newIndex;
193 return ( (0 <= varIndex) &&
198 virtual void SetVariable(VariableIndexType varIndex, VariableType value);
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
virtual void SetVariables(const VariableType vars[])=0
Declaration of vctDynamicMatrix.
#define CMN_ASSERT(expr)
Definition: cmnAssert.h:90
StandardPowerBasis(VariableIndexType numVariables, PowerType maxPower)
Definition: nmrMultiVariablePowerBasis.h:146
ThisType & Assign(const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &other)
Definition: vctDynamicVectorBase.h:242
VariableIndexType GetNumVariables() const
Definition: nmrMultiVariablePowerBasis.h:64
Dynamic vector referencing existing memory.
Definition: vctDynamicVectorRef.h:77
nmrPolynomialTermPowerIndex::VariableIndexType VariableIndexType
Definition: nmrMultiVariablePowerBasis.h:42
int VariableIndexType
Definition: nmrPolynomialTermPowerIndex.h:95
nmrPolynomialTermPowerIndex::PowerType PowerType
Definition: nmrMultiVariablePowerBasis.h:41
void GetVariables(VariableType vars[]) const
Definition: nmrMultiVariablePowerBasis.h:80
virtual bool CanSetVariable(VariableIndexType varIndex) const
Definition: nmrMultiVariablePowerBasis.h:150
nmrMultiVariablePowerBasis(VariableIndexType numVariables, PowerType maxPower)
Definition: nmrMultiVariablePowerBasis.h:50
int PowerType
Definition: nmrPolynomialTermPowerIndex.h:98
BarycentricBasis(VariableIndexType numVariables, PowerType maxPower, VariableIndexType implicitVarIndex=-1)
vctDynamicMatrix< VariableType > BasisContainerType
Definition: nmrMultiVariablePowerBasis.h:46
nmrMultiVariablePowerBasis BaseType
Definition: nmrMultiVariablePowerBasis.h:145
VariableType GetVariable(VariableIndexType variableIndex) const
Definition: nmrMultiVariablePowerBasis.h:74
VariableIndexType ImplicitVarIndex
Definition: nmrMultiVariablePowerBasis.h:166
VariableType GetVariablePower(VariableIndexType var, PowerType power) const
Definition: nmrMultiVariablePowerBasis.h:93
double VariableType
Definition: nmrMultiVariablePowerBasis.h:40
virtual void SetVariable(VariableIndexType varIndex, VariableType value)=0
Definition: nmrMultiVariablePowerBasis.h:37
Declare class nmrPolynomialTermPowerIndex to represent the power index of a single term in a multi-va...
virtual void SetVariable(VariableIndexType varIndex, VariableType value)
Definition: nmrMultiVariablePowerBasis.h:153
void SetImplicitVarIndex(VariableIndexType newIndex)
Definition: nmrMultiVariablePowerBasis.h:185
VariableType GetImplicitVariable() const
Definition: nmrMultiVariablePowerBasis.h:173
PowerType GetMaxDegree() const
Definition: nmrMultiVariablePowerBasis.h:69
VariableIndexType GetImplicitVarIndex() const
Definition: nmrMultiVariablePowerBasis.h:179
VariableType GetSumOfVariables() const
Definition: nmrMultiVariablePowerBasis.h:87
virtual bool CanSetVariable(VariableIndexType varIndex) const =0
BasisContainerType BasisContainer
Definition: nmrMultiVariablePowerBasis.h:47
void PrivateSetVariable(VariableIndexType varIndex, VariableType value)
VariableType ValueType
Definition: nmrMultiVariablePowerBasis.h:43
virtual ~nmrMultiVariablePowerBasis()
Definition: nmrMultiVariablePowerBasis.h:55