Public Types | Protected Member Functions | List of all members
imath::TFulcrumGridFunctionBase< Argument, Result, Fulcrums > Class Template Reference

Base class for interpolated functions based on fulcrums in multi-dimesional grid. More...

#include <TFulcrumGridFunctionBase.h>

Inheritance diagram for imath::TFulcrumGridFunctionBase< Argument, Result, Fulcrums >:
imath::TFulcrumGrid< Argument, Fulcrums > istd::TCachedUpdateManagerWrap< iser::ISerializable > imath::TIMathFunction< Argument, Result > iser::ISerializable iser::ISerializable istd::IPolymorphic istd::IChangeable istd::IChangeable istd::IPolymorphic istd::IPolymorphic imath::TSplineGridFunctionBase< Argument, Result, Fulcrums, Degree >

Public Types

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...
 
- 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
 

Protected Member Functions

virtual bool CalculateCache (const ChangeSet &changeSet)
 Calculate cache. More...
 
- Protected Member Functions inherited from imath::TFulcrumGrid< Argument, Fulcrums >
virtual void SortFulcrums ()
 Sort fulcrums in this collection. More...
 
int FindLayerIndex (int dimension, double value) const
 Find layer index of specified value for specified dimension. More...
 
Fulcrums::IndexType FindIndices (const PositionType &argument) const
 Find indices of cuboid containing specified argument value. More...
 
- Protected Member Functions inherited from istd::IChangeable
virtual void OnBeginChanges ()
 Callback function for begin change event. More...
 
virtual void OnEndChanges (const ChangeSet &changeSet)
 Callback function for end change event. More...
 
- Protected Member Functions inherited from istd::TCachedUpdateManagerWrap< iser::ISerializable >
bool EnsureCacheValid () const
 Ensures cache is valid. More...
 
void InvalidateCache (const IChangeable::ChangeSet &changeSet)
 Make cache invalid. More...
 
void SetCacheValid ()
 Say that cache is valid. More...
 

Additional Inherited Members

- Public Member Functions inherited from imath::TFulcrumGrid< Argument, Fulcrums >
 TFulcrumGrid ()
 
void Reset ()
 Removes all fulcrum points. More...
 
FulcrumSizes GetGridSize () const
 Return complete grid size. More...
 
int GetDimensionsCount () const
 Get number of dimensions. More...
 
virtual bool SetDimensionsCount (int count)
 Set number of dimensions. More...
 
int GetLayersCount (int dimension) const
 Get number of fulcrum points used in this function. More...
 
virtual void SetLayersCount (int dimension, int count)
 Set number of fulcrum layers at specified dimension. More...
 
double GetLayerPosition (int dimension, int layerIndex) const
 Get position of specified layer of fulcrums. More...
 
virtual void SetLayerPosition (int dimension, int layerIndex, double position)
 Set position of specified layer of fulcrums. More...
 
void GetFulcrumPosition (const FulcrumIndex &index, PositionType &result) const
 Get position of node at specified grid index. More...
 
const FulcrumTypeGetFulcrumAtIndex (const FulcrumIndex &index) const
 Get value at specified index. More...
 
virtual void SetFulcrumAtIndex (const FulcrumIndex &index, const FulcrumType &value)
 Set single fulcrum point. More...
 
int InsertLayer (int dimension, double position)
 Inserts single fulcrum layer. More...
 
virtual void RemoveLayer (int dimension, int layerIndex)
 Remove fulcrums at spacified layer. More...
 
virtual bool Serialize (iser::IArchive &archive)
 Load or store state of this object as a archive stream. More...
 
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. More...
 
- Public Member Functions inherited from istd::IChangeable
virtual int GetSupportedOperations () const
 Get set of flags for supported operations. More...
 
virtual bool CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS)
 Copy this object from another one. More...
 
virtual bool IsEqual (const IChangeable &object) const
 Compare this object with another object. More...
 
virtual IChangeableCloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const
 Make a copy of this object. More...
 
virtual bool ResetData (CompatibilityMode mode=CM_WITHOUT_REFS)
 Reset data to its default state. More...
 
virtual void BeginChangeGroup (const ChangeSet &changeSet)
 Starts group of changes. More...
 
virtual void EndChangeGroup (const ChangeSet &changeSet)
 Ends group of changes. More...
 
- 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)
 
virtual void EndChanges (const IChangeable::ChangeSet &changeSet)
 
- Public Member Functions inherited from imath::TIMathFunction< Argument, Result >
virtual bool GetValueAt (const Argument &argument, Result &result) const =0
 Get function value for specified argument value. More...
 
virtual Result GetValueAt (const Argument &argument) const =0
 Get function value for specified argument value. More...
 
- Static Public Member Functions inherited from istd::IChangeable
static const ChangeSetGetNoChanges ()
 Get empty set of changes. More...
 
static const ChangeSetGetAnyChange ()
 Get anonymous change set. More...
 
static const ChangeSetGetAllChanges ()
 Get anonymous change set. More...
 
static const ChangeSetGetDelegatedChanges ()
 Get delegated change set. More...
 
- Static Protected Attributes inherited from imath::TFulcrumGrid< Argument, Fulcrums >
static const ChangeSet s_fulcrumPositionChange
 

Detailed Description

template<class Argument, class Result, class Fulcrums>
class imath::TFulcrumGridFunctionBase< Argument, Result, Fulcrums >

Base class for interpolated functions based on fulcrums in multi-dimesional grid.

This grid may be imagined as set of parallel layers for each dimension. Number of this layers and their position can be individually controlled. Plese note, that method SetDimensionsCount must be called manually to initialize number of input dimensions also for fixed-size arguments.

Parameters
Argumentfunction argument type.
Resultfunction result type.
Fulcrumsarray type used to stored fulcrums. It muss define following public typedefs
  • ElementType type of element stored in this array,
  • IndexType type of index used to address elements,
  • SizesType type using to represent array size. This type muss define public typedef IndexType.

Definition at line 28 of file TFulcrumGridFunctionBase.h.

Member Typedef Documentation

template<class Argument , class Result , class Fulcrums >
typedef TIMathFunction<Argument, Result>::ArgumentType imath::TFulcrumGridFunctionBase< Argument, Result, Fulcrums >::ArgumentType

Definition at line 38 of file TFulcrumGridFunctionBase.h.

template<class Argument , class Result , class Fulcrums >
typedef TFulcrumGrid<Argument, Fulcrums> imath::TFulcrumGridFunctionBase< Argument, Result, Fulcrums >::BaseClass

Definition at line 34 of file TFulcrumGridFunctionBase.h.

template<class Argument , class Result , class Fulcrums >
typedef istd::TCachedUpdateManagerWrap<iser::ISerializable> imath::TFulcrumGridFunctionBase< Argument, Result, Fulcrums >::BaseClass2

Definition at line 35 of file TFulcrumGridFunctionBase.h.

template<class Argument , class Result , class Fulcrums >
typedef TIMathFunction<Argument, Result> imath::TFulcrumGridFunctionBase< Argument, Result, Fulcrums >::BaseClass3

Definition at line 36 of file TFulcrumGridFunctionBase.h.

Member Function Documentation

template<class Argument , class Result , class Fulcrums >
bool imath::TFulcrumGridFunctionBase< Argument, Result, Fulcrums >::CalculateCache ( const ChangeSet changeSet)
protectedvirtual

Calculate cache.

It will be called, if cache was not valid and EnsureCacheValid() is called. Default implementation does nothing and is provided to ensure that base class for all derived classes implement this method.

Reimplemented from istd::TCachedUpdateManagerWrap< iser::ISerializable >.

Definition at line 50 of file TFulcrumGridFunctionBase.h.

References istd::IChangeable::ChangeSet::Contains().


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

© 2007-2017 Witold Gantzke and Kirill Lepskiy