|
ACF $AcfVersion:0$
|
Multidimensional polynomial function. More...
#include <TMultidimensionalPolynomial.h>
Public Types | |
| typedef imath::TIMathFunction< TVector< Dimensions >, Element > | BaseClass |
| typedef istd::TArray< Element, Dimensions > | Coefficients |
| typedef Coefficients::SizesType | CoeffGridSize |
Public Types inherited from imath::TIMathFunction< Argument, Result > | |
| typedef Argument | ArgumentType |
| typedef Result | ResultType |
Public Types inherited from istd::IChangeable | |
| enum | ChangeFlags { CF_ACF_INTERNAL = 0 , CF_ALL_DATA , CF_ANY , CF_DESTROYING , CF_DELEGATED , CF_NO_UNDO } |
| Data model change notification flags. More... | |
| enum | SupportedOperations { SO_NONE = 0 , SO_OBSERVE = 1 << 0 , SO_COPY = 1 << 1 , SO_CLONE = 1 << 2 , SO_COMPARE = 1 << 3 , SO_RESET = 1 << 4 } |
| Flags for supported operations. More... | |
| enum | CompatibilityMode { CM_STRICT , CM_WITHOUT_REFS , CM_WITH_REFS , CM_CONVERT } |
| Control how relationship betweeen objects are interpreted. More... | |
| typedef QMultiMap< QByteArray, QVariant > | ChangeInfoMap |
Public Member Functions | |
| TMultidimensionalPolynomial () | |
| TMultidimensionalPolynomial (const Coefficients &coefficients) | |
| const Coefficients & | GetCoefficients () const |
| void | SetCoefficients (const Coefficients &coefficients) |
| bool | ApproximateCoefficientsFromFulcrums (const CoeffGridSize &coeffGridSize, const ArgumentType *arguments, const ResultType *destValues, int count) |
| virtual bool | GetValueAt (const ArgumentType &argument, ResultType &result) const override |
| Get function value for specified argument value. | |
| virtual ResultType | GetValueAt (const ArgumentType &argument) const override |
| Get function value for specified argument value. | |
| virtual bool | Serialize (iser::IArchive &archive) override |
| Load or store state of this object as a archive stream. | |
| TMultidimensionalPolynomial< 1, double >::ResultType | GetValueAt (const ArgumentType &argument) const |
| Get function value for specified argument value. | |
| TMultidimensionalPolynomial< 2, double >::ResultType | GetValueAt (const ArgumentType &argument) const |
| Get function value for specified argument value. | |
| TMultidimensionalPolynomial< 3, double >::ResultType | GetValueAt (const ArgumentType &argument) const |
| Get function value for specified argument value. | |
Public Member Functions inherited from istd::IPolymorphic | |
| virtual | ~IPolymorphic () |
Public Member Functions inherited from iser::ISerializable | |
| virtual quint32 | GetMinimalVersion (int versionId) const |
| Get minimal needed version to correct storing of this data. | |
Public Member Functions inherited from istd::IChangeable | |
| virtual int | GetSupportedOperations () const |
| Get set of flags for supported operations. | |
| virtual bool | CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) |
| Copy this object from another one. | |
| virtual bool | IsEqual (const IChangeable &object) const |
| Compare this object with another object. | |
| virtual istd::TUniqueInterfacePtr< istd::IChangeable > | CloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const |
| Make a copy of this object. | |
| virtual bool | ResetData (CompatibilityMode mode=CM_WITHOUT_REFS) |
| Reset data to its default state. | |
| virtual void | BeginChanges (const ChangeSet &changeSet) |
| Starts the change transaction. | |
| virtual void | EndChanges (const ChangeSet &changeSet) |
| Ends the change transaction. | |
| virtual void | BeginChangeGroup (const ChangeSet &changeSet) |
| Starts group of changes. | |
| virtual void | EndChangeGroup (const ChangeSet &changeSet) |
| Ends group of changes. | |
Static Public Member Functions | |
| static double | GetBaseFunctionValue (const ArgumentType &argument, const istd::TIndex< Dimensions > &coeffIndex) |
| Get value of base function for single coefficient. | |
Static Public Member Functions inherited from istd::IChangeable | |
| static const ChangeSet & | GetNoChanges () |
| Get empty set of changes. | |
| static const ChangeSet & | GetAnyChange () |
| Get anonymous change set. | |
| static const ChangeSet & | GetAllChanges () |
| Get anonymous change set. | |
| static const ChangeSet & | GetDelegatedChanges () |
| Get delegated change set. | |
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. | |
Protected Member Functions inherited from istd::IChangeable | |
| virtual void | OnBeginChanges () |
| Callback function for begin change event. | |
| virtual void | OnEndChanges (const ChangeSet &changeSet) |
| Callback function for end change event. | |
Multidimensional polynomial function.
| Dimensions | number of dimensions. |
| Element | type of result value. |
Definition at line 23 of file TMultidimensionalPolynomial.h.
| typedef imath::TIMathFunction<TVector<Dimensions>, Element> imath::TMultidimensionalPolynomial< Dimensions, Element >::BaseClass |
Definition at line 28 of file TMultidimensionalPolynomial.h.
| typedef Coefficients::SizesType imath::TMultidimensionalPolynomial< Dimensions, Element >::CoeffGridSize |
Definition at line 30 of file TMultidimensionalPolynomial.h.
| typedef istd::TArray<Element, Dimensions> imath::TMultidimensionalPolynomial< Dimensions, Element >::Coefficients |
Definition at line 29 of file TMultidimensionalPolynomial.h.
| imath::TMultidimensionalPolynomial< Dimensions, Element >::TMultidimensionalPolynomial | ( | ) |
Definition at line 81 of file TMultidimensionalPolynomial.h.
|
explicit |
Definition at line 87 of file TMultidimensionalPolynomial.h.
| bool imath::TMultidimensionalPolynomial< Dimensions, Element >::ApproximateCoefficientsFromFulcrums | ( | const CoeffGridSize & | coeffGridSize, |
| const ArgumentType * | arguments, | ||
| const ResultType * | destValues, | ||
| int | count | ||
| ) |
Definition at line 108 of file TMultidimensionalPolynomial.h.
References istd::TArray< Element, Dimensions >::GetAt(), istd::TIndex< Dimensions >::GetProductVolume(), istd::TArray< Element, Dimensions >::GetSizes(), imath::CVarMatrix::GetSolvedLSP(), istd::TIndex< Dimensions >::Increase(), istd::TIndex< Dimensions >::IsSizeEmpty(), istd::TArray< Element, Dimensions >::SetAt(), and istd::TArray< Element, Dimensions >::SetSizes().
|
protected |
Cumulate interpolated value or derivative at specified recursion level.
| argument | position, where interpolation should be calculated. |
| dimension | working dimension and recursion level. |
| index | multidimensional index pointing at coefficient. For the sake of performance it is internal modified. |
| result | output value. |
Definition at line 356 of file TMultidimensionalPolynomial.h.
References istd::TIndex< Dimensions >::GetAt().
|
static |
Get value of base function for single coefficient.
Definition at line 341 of file TMultidimensionalPolynomial.h.
References istd::TIndex< Dimensions >::GetAt().
| const TMultidimensionalPolynomial< Dimensions, Element >::Coefficients & imath::TMultidimensionalPolynomial< Dimensions, Element >::GetCoefficients | ( | ) | const |
Definition at line 94 of file TMultidimensionalPolynomial.h.
|
inlinevirtual |
Get function value for specified argument value.
This overloaded menthod is provided only for convinence.
| argument | function argument. |
Implements imath::TIMathFunction< Argument, Result >.
Definition at line 184 of file TMultidimensionalPolynomial.h.
References istd::TIndex< Dimensions >::GetAt().
|
inlinevirtual |
Get function value for specified argument value.
This overloaded menthod is provided only for convinence.
| argument | function argument. |
Implements imath::TIMathFunction< Argument, Result >.
Definition at line 202 of file TMultidimensionalPolynomial.h.
References istd::TIndex< Dimensions >::GetAt().
|
inlinevirtual |
Get function value for specified argument value.
This overloaded menthod is provided only for convinence.
| argument | function argument. |
Implements imath::TIMathFunction< Argument, Result >.
Definition at line 240 of file TMultidimensionalPolynomial.h.
References istd::TIndex< Dimensions >::GetAt().
|
overridevirtual |
Get function value for specified argument value.
This overloaded menthod is provided only for convinence.
| argument | function argument. |
Implements imath::TIMathFunction< Argument, Result >.
Definition at line 172 of file TMultidimensionalPolynomial.h.
|
overridevirtual |
Get function value for specified argument value.
| argument | function argument. |
| result | function value for specified argument. |
Implements imath::TIMathFunction< Argument, Result >.
Definition at line 163 of file TMultidimensionalPolynomial.h.
References imath::TMultidimensionalPolynomial< Dimensions, Element >::GetValueAt().
Referenced by imath::TMultidimensionalPolynomial< Dimensions, Element >::GetValueAt().
|
overridevirtual |
Load or store state of this object as a archive stream.
Type of operation is depending on archive type.
Implements iser::ISerializable.
Definition at line 293 of file TMultidimensionalPolynomial.h.
References istd::TIndex< Dimensions >::Begin(), iser::IArchive::BeginTag(), iser::IArchive::EndTag(), iser::IArchive::IsStoring(), NULL, iser::IArchive::Process(), and iser::CArchiveTag::TT_GROUP.
| void imath::TMultidimensionalPolynomial< Dimensions, Element >::SetCoefficients | ( | const Coefficients & | coefficients | ) |
Definition at line 101 of file TMultidimensionalPolynomial.h.