![]() |
ICF 3.0.5.47
Technical documentation of ICF Libraries
|
Base class for interpolated functions based on fulcrums in multi-dimesional grid. More...
#include <TFulcrumGridFunctionBase.h>
Public Types | |
typedef TFulcrumGrid< Argument, Fulcrums > | BaseClass |
typedef istd::TCachedUpdateManagerWrap< iser::ISerializable > | BaseClass2 |
typedef TIMathFunction< Argument, Result > | BaseClass3 |
typedef TIMathFunction< Argument, Result >::ArgumentType | ArgumentType |
![]() | |
enum | ChangeFlags |
Data model change notification flags. More... | |
typedef Fulcrums::ElementType | FulcrumType |
typedef Fulcrums::IndexType | FulcrumIndex |
typedef Fulcrums::SizesType | FulcrumSizes |
typedef Argument | PositionType |
![]() | |
enum | ChangeFlags { CF_ICF_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 , SO_CHANGE_LOCK = 1 << 5 } |
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 iser::ISerializable | BaseClass |
![]() | |
typedef Argument | ArgumentType |
typedef Result | ResultType |
Protected Member Functions | |
virtual bool | CalculateCache (const ChangeSet &changeSet) |
Calculate cache. | |
![]() | |
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. | |
![]() | |
virtual void | OnBeginChanges () |
Callback function for begin change event. | |
virtual void | OnEndChanges (const ChangeSet &changeSet) |
Callback function for end change event. | |
![]() | |
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 | |
![]() | |
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) |
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 |
![]() | |
virtual quint32 | GetMinimalVersion (int versionId) const |
Get minimal needed version to correct storing of this data. | |
![]() | |
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 std::unique_ptr< 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 QMutex * | GetChangesLock () const |
Get mutex beeing locked during changes, if available. | |
virtual void | BeginChangeGroup (const ChangeSet &changeSet) |
Starts group of changes. | |
virtual void | EndChangeGroup (const ChangeSet &changeSet) |
Ends group of changes. | |
![]() | |
TCachedUpdateManagerWrap () | |
virtual void | BeginChanges (const IChangeable::ChangeSet &changeSet) |
virtual void | EndChanges (const IChangeable::ChangeSet &changeSet) |
![]() | |
virtual bool | GetValueAt (const Argument &argument, Result &result) const =0 |
Get function value for specified argument value. | |
virtual Result | GetValueAt (const Argument &argument) const =0 |
Get function value for specified argument value. | |
![]() | |
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 const ChangeSet | s_fulcrumPositionChange |
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.
Argument | function argument type. |
Result | function result type. |
Fulcrums | array type used to stored fulcrums. It muss define following public typedefs
|
Definition at line 33 of file TFulcrumGridFunctionBase.h.
TIMathFunction<Argument,Result>::ArgumentType imath::TFulcrumGridFunctionBase< Argument, Result, Fulcrums >::ArgumentType |
Definition at line 43 of file TFulcrumGridFunctionBase.h.
TFulcrumGrid<Argument, Fulcrums> imath::TFulcrumGridFunctionBase< Argument, Result, Fulcrums >::BaseClass |
Definition at line 39 of file TFulcrumGridFunctionBase.h.
istd::TCachedUpdateManagerWrap<iser::ISerializable> imath::TFulcrumGridFunctionBase< Argument, Result, Fulcrums >::BaseClass2 |
Definition at line 40 of file TFulcrumGridFunctionBase.h.
TIMathFunction<Argument, Result> imath::TFulcrumGridFunctionBase< Argument, Result, Fulcrums >::BaseClass3 |
Definition at line 41 of file TFulcrumGridFunctionBase.h.
|
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 55 of file TFulcrumGridFunctionBase.h.
References istd::IChangeable::ChangeSet::Contains().
© Witold Gantzke and Kirill Lepskiy