Lagrangian Liquid Simulation
Master Thesis project on simulation of liquids using Lagrangian approach and SPH
|
00001 #ifndef CACHEITEM_H 00002 #define CACHEITEM_H 00003 00004 #include "ngl/Obj.h" 00005 00006 #include "vector" 00007 00009 enum CacheItemType 00010 { 00011 FLUID_CACHE, 00012 BOUNDARY_CACHE, 00013 SPHERE_CACHE, 00014 CAPSULE_CACHE 00015 }; 00016 00017 00027 00028 00029 class CacheItem 00030 { 00031 public: 00037 CacheItem 00038 ( 00039 const std::vector<std::vector<ngl::Vector> > _positionList, 00040 const std::vector<std::string> _nameList, 00041 const int _frameNumber, 00042 const CacheItemType _cacheItemType 00043 ); 00044 00047 CacheItem(const CacheItem& _cacheItem); 00048 00050 inline int getFrameNumber() const { return m_frameNumber; } 00051 00053 inline std::vector<std::vector<ngl::Vector> > getPositionList() const { return m_positionList; } 00054 00056 inline std::vector<std::string> getNameList() const { return m_nameList; } 00057 00059 inline CacheItemType getCacheItemType() const { return m_cacheItemType; } 00060 00061 private: 00063 CacheItemType m_cacheItemType; 00064 00066 std::vector<std::vector<ngl::Vector> > m_positionList; 00067 00069 std::vector<std::string> m_nameList; 00070 00072 int m_frameNumber; 00073 00074 }; 00075 00076 #endif // CACHEITEM_H