TFulcrumGridFunctionBase.h
Go to the documentation of this file.
1 #ifndef imath_TFulcrumGridFunctionBase_included
2 #define imath_TFulcrumGridFunctionBase_included
3 
4 
5 // ACF includes
7 #include <imath/TFulcrumGrid.h>
8 #include <imath/TIMathFunction.h>
9 
10 
11 namespace imath
12 {
13 
14 
27 template <class Argument, class Result, class Fulcrums>
29  public TFulcrumGrid<Argument, Fulcrums>,
30  public istd::TCachedUpdateManagerWrap<iser::ISerializable>,
31  public TIMathFunction<Argument, Result>
32 {
33 public:
37 
39 
40 protected:
41  // reimplemented (istd::TCachedUpdateManagerWrap)
42  virtual bool CalculateCache(const ChangeSet& changeSet);
43 };
44 
45 
46 
47 // reimplemented (istd::TCachedUpdateManagerWrap)
48 
49 template <class Argument, class Result, class Fulcrums>
51 {
52  bool retVal = BaseClass2::CalculateCache(changeSet);
53 
54  if (changeSet.Contains(CF_SORT_LAYERS)){
55  SortFulcrums();
56  }
57 
58  return retVal;
59 }
60 
61 
62 } // namespace imath
63 
64 
65 #endif // !imath_TFulcrumGridFunctionBase_included
66 
67 
virtual bool CalculateCache(const ChangeSet &changeSet)
Calculate cache.
Base class for interpolated functions based on fulcrums in multi-dimesional grid. ...
istd::TCachedUpdateManagerWrap< iser::ISerializable > BaseClass2
TFulcrumGrid< Argument, Fulcrums > BaseClass
TIMathFunction< Argument, Result > BaseClass3
TIMathFunction< Argument, Result >::ArgumentType ArgumentType
Help wrapper class supporting of cached parts.
Template interface for any mathematical function.
bool Contains(int changeId) const
Check if there is specific change flag in the set.
Set of change flags (its IDs).
Definition: IChangeable.h:30
Representation of fulcrums in multi-dimesional regular grid.
Definition: TFulcrumGrid.h:33

© 2007-2017 Witold Gantzke and Kirill Lepskiy