7 #define CACHE_DATA_HPP 1 9 #include "../../misc/cached_lazy_list.hpp" 10 #include "../../tessellation/tessellation.hpp" 17 class CMCalculator :
public LazyList<Vector2D>
24 size_t size(
void)
const;
26 Vector2D operator[](
const size_t i)
const;
33 class VolumeCalculator:
public LazyList<double>
40 size_t size(
void)
const;
42 double operator[](
const size_t i)
const;
49 class AreaCalculator:
public LazyList<double>
56 size_t size(
void)
const;
58 double operator[](
const size_t i)
const;
65 const VolumeCalculator volume_func_;
66 const AreaCalculator area_func_;
67 const CMCalculator cm_func_;
78 void reset(
void)
const;
90 #endif // CACHE_DATA_HPP CacheData(const Tessellation &tess, const PhysicalGeometry &pg)
Class constructor.
void reset(void) const
Marks all items for recalculation.
Abstract class for tessellation.
const CachedLazyList< Vector2D > CMs
List of center of masses of the cells.
const CachedLazyList< double > areas
List of areas of interfaces.
Ordered list whose terms are evaluated lazily.
const CachedLazyList< double > volumes
List of cell volumes.
Container for cache data.
Physical geometry of the grid.
Base class for physical geometry.