|
ACF $AcfVersion:0$
|
Spline interpolation function using polynomial 3 degree segments. More...
#include <TSplineGridFunctionBase.h>
Public Types | |
| typedef TFulcrumGridFunctionBase< Argument, Result, Fulcrums > | BaseClass |
| typedef Degree | DerivativeDegreeType |
Public Types inherited from imath::TFulcrumGridFunctionBase< Argument, Result, Fulcrums > | |
| typedef TFulcrumGrid< Argument, Fulcrums > | BaseClass |
| typedef istd::TCachedUpdateManagerWrap< iser::ISerializable > | BaseClass2 |
| typedef TIMathFunction< Argument, Result > | BaseClass3 |
| typedef TIMathFunction< Argument, Result >::ArgumentType | ArgumentType |
Public Types inherited from imath::TFulcrumGrid< Argument, Fulcrums > | |
| enum | ChangeFlags |
| Data model change notification flags. More... | |
| typedef Fulcrums::ElementType | FulcrumType |
| typedef Fulcrums::IndexType | FulcrumIndex |
| typedef Fulcrums::SizesType | FulcrumSizes |
| typedef Argument | PositionType |
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 Types inherited from istd::TCachedUpdateManagerWrap< iser::ISerializable > | |
| typedef iser::ISerializable | BaseClass |
Public Types inherited from imath::TIMathFunction< Argument, Result > | |
| typedef Argument | ArgumentType |
| typedef Result | ResultType |
Public Member Functions | |
| virtual bool | GetValueAt (const Argument &argument, Result &result) const override |
| Get function value for specified argument value. | |
| virtual Result | GetValueAt (const Argument &argument) const override |
| Get function value for specified argument value. | |
Public Member Functions inherited from imath::TFulcrumGrid< Argument, Fulcrums > | |
| TFulcrumGrid () | |
| void | Reset () |
| Removes all fulcrum points. | |
| FulcrumSizes | GetGridSize () const |
| Return complete grid size. | |
| int | GetDimensionsCount () const |
| Get number of dimensions. | |
| virtual bool | SetDimensionsCount (int count) |
| Set number of dimensions. | |
| int | GetLayersCount (int dimension) const |
| Get number of fulcrum points used in this function. | |
| virtual void | SetLayersCount (int dimension, int count) |
| Set number of fulcrum layers at specified dimension. | |
| double | GetLayerPosition (int dimension, int layerIndex) const |
| Get position of specified layer of fulcrums. | |
| virtual void | SetLayerPosition (int dimension, int layerIndex, double position) |
| Set position of specified layer of fulcrums. | |
| void | GetFulcrumPosition (const FulcrumIndex &index, PositionType &result) const |
| Get position of node at specified grid index. | |
| const FulcrumType & | GetFulcrumAtIndex (const FulcrumIndex &index) const |
| Get value at specified index. | |
| virtual void | SetFulcrumAtIndex (const FulcrumIndex &index, const FulcrumType &value) |
| Set single fulcrum point. | |
| int | InsertLayer (int dimension, double position) |
| Inserts single fulcrum layer. | |
| virtual void | RemoveLayer (int dimension, int layerIndex) |
| Remove fulcrums at spacified layer. | |
| virtual bool | Serialize (iser::IArchive &archive) override |
| Load or store state of this object as a archive stream. | |
| bool | operator== (const TFulcrumGrid< Argument, Fulcrums > &value) const |
| bool | operator!= (const TFulcrumGrid< Argument, Fulcrums > &value) const |
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 | BeginChangeGroup (const ChangeSet &changeSet) |
| Starts group of changes. | |
| virtual void | EndChangeGroup (const ChangeSet &changeSet) |
| Ends group of changes. | |
Public Member Functions inherited from istd::IPolymorphic | |
| virtual | ~IPolymorphic () |
Public Member Functions inherited from istd::TCachedUpdateManagerWrap< iser::ISerializable > | |
| TCachedUpdateManagerWrap () | |
| virtual void | BeginChanges (const IChangeable::ChangeSet &changeSet) override |
| virtual void | EndChanges (const IChangeable::ChangeSet &changeSet) override |
Protected Member Functions | |
| void | CumulateRecursiveValueAt (const Argument &argument, int dimension, const typename BaseClass::FulcrumSizes &sizes, typename BaseClass::FulcrumIndex &index, DerivativeDegreeType °ree, double cumulationFactor, Result &result) const |
| Cumulate interpolated value or derivative at specified recursion level. | |
| virtual const BaseClass::ResultType & | GetFulcrumDerivativeAtIndex (const typename BaseClass::FulcrumIndex &index, const DerivativeDegreeType °ree) const =0 |
| Get derivative of specified degree at specified index position. | |
| virtual bool | IsDerivativeDegreeSupported (const DerivativeDegreeType °ree) const =0 |
| Check, if this or higher degree derrivatives are supported. | |
Protected Member Functions inherited from imath::TFulcrumGridFunctionBase< Argument, Result, Fulcrums > | |
| virtual bool | CalculateCache (const ChangeSet &changeSet) override |
| Calculate cache. | |
Protected Member Functions inherited from imath::TFulcrumGrid< Argument, Fulcrums > | |
| virtual void | SortFulcrums () |
| Sort fulcrums in this collection. | |
| int | FindLayerIndex (int dimension, double value) const |
| Find layer index of specified value for specified dimension. | |
| Fulcrums::IndexType | FindIndices (const PositionType &argument) const |
| Find indices of cuboid containing specified argument value. | |
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. | |
Protected Member Functions inherited from istd::TCachedUpdateManagerWrap< iser::ISerializable > | |
| bool | EnsureCacheValid () const |
| Ensures cache is valid. | |
| void | InvalidateCache (const IChangeable::ChangeSet &changeSet) |
| Make cache invalid. | |
| void | SetCacheValid () |
| Say that cache is valid. | |
Additional Inherited Members | |
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. | |
Static Protected Attributes inherited from imath::TFulcrumGrid< Argument, Fulcrums > | |
| static const ChangeSet | s_fulcrumPositionChange |
Spline interpolation function using polynomial 3 degree segments.
To reduce number of coefficients only precalculated derrivative values for each fulcrum will be stored.
| Argument | function argument type. |
| Result | function result type. |
| Fulcrums | array type used to stored fulcrums. |
| Degree | type of object storing index of derivative degree. It should implement operator[] to access drivative degree for specified dimension. |
Definition at line 26 of file TSplineGridFunctionBase.h.
| typedef TFulcrumGridFunctionBase<Argument, Result, Fulcrums> imath::TSplineGridFunctionBase< Argument, Result, Fulcrums, Degree >::BaseClass |
Definition at line 29 of file TSplineGridFunctionBase.h.
| typedef Degree imath::TSplineGridFunctionBase< Argument, Result, Fulcrums, Degree >::DerivativeDegreeType |
Definition at line 31 of file TSplineGridFunctionBase.h.
|
protected |
Cumulate interpolated value or derivative at specified recursion level.
| argument | position, where interpolation should be calculated. The elements with index less of equal dimension indicate non grid components (hard to explain). The other components should be taken from index. |
| sizes | size fulcrum grid. |
| dimension | working dimension and recursion level. |
| index | multidimensional index pointing at cuboid element in fulcrum grid. The elements with index greater dimension indicate asked subspace in grid (hard to explain). For the sake of performance it is internal modified, but original state is reverted before this method returns. |
| degree | derivative degree will be taken. For the sake of performance it is internal modified, but original state is reverted before this method returns. |
| cumulationFactor | scaled factor for cumulation. |
| result | object where values are cumulated. |
Definition at line 122 of file TSplineGridFunctionBase.h.
References imath::CSplineSegmentFunction::GetDerivativeKernelAt(), imath::CSplineSegmentFunction::GetValueKernelAt(), and I_BIG_EPSILON.
|
protectedpure virtual |
Get derivative of specified degree at specified index position.
|
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 109 of file TSplineGridFunctionBase.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 84 of file TSplineGridFunctionBase.h.
|
protectedpure virtual |
Check, if this or higher degree derrivatives are supported.