ICF 3.0.5.47
Technical documentation of ICF Libraries
TFulcrumGridFunctionBase.h
Go to the documentation of this file.
1/********************************************************************************
2** This file is part of the ICF Framework. Copyright (C) Witold Gantzke & Kirill Lepskiy
3** ICF Framework may be used under the terms of the LGPL License v. 2.1 by the Free Software Foundation.
4********************************************************************************/
5
6#ifndef imath_TFulcrumGridFunctionBase_included
7#define imath_TFulcrumGridFunctionBase_included
8
9
10// ICF includes
12#include <imath/TFulcrumGrid.h>
14
15
16namespace imath
17{
18
19
32template <class Argument, class Result, class Fulcrums>
34 public TFulcrumGrid<Argument, Fulcrums>,
35 public istd::TCachedUpdateManagerWrap<iser::ISerializable>,
36 public TIMathFunction<Argument, Result>
37{
38public:
42
44
45protected:
46 // reimplemented (istd::TCachedUpdateManagerWrap)
47 virtual bool CalculateCache(const ChangeSet& changeSet);
48};
49
50
51
52// reimplemented (istd::TCachedUpdateManagerWrap)
53
54template <class Argument, class Result, class Fulcrums>
56{
57 bool retVal = BaseClass2::CalculateCache(changeSet);
58
59 if (changeSet.Contains(CF_SORT_LAYERS)){
60 SortFulcrums();
61 }
62
63 return retVal;
64}
65
66
67} // namespace imath
68
69
70#endif // !imath_TFulcrumGridFunctionBase_included
71
72
Base class for interpolated functions based on fulcrums in multi-dimesional grid.
istd::TCachedUpdateManagerWrap< iser::ISerializable > BaseClass2
TFulcrumGrid< Argument, Fulcrums > BaseClass
virtual bool CalculateCache(const ChangeSet &changeSet)
Calculate cache.
TIMathFunction< Argument, Result > BaseClass3
TIMathFunction< Argument, Result >::ArgumentType ArgumentType
Representation of fulcrums in multi-dimesional regular grid.
Template interface for any mathematical function.
Set of change flags (its IDs).
Definition IChangeable.h:38
bool Contains(int changeId) const
Check if there is specific change flag in the set.
Help wrapper class supporting of cached parts.
Package with mathematical functions and algebraical primitives.

© Witold Gantzke and Kirill Lepskiy