--- trunk/src/brains/BlockSnapshotManager.hpp 2005/02/13 19:10:25 324 +++ trunk/src/brains/BlockSnapshotManager.hpp 2005/02/15 19:36:07 351 @@ -73,8 +73,11 @@ class BlockSnapshotManager : public SnapshotManager{ int getNActiveBlocks(); - bool isBlockActive(int block); - + + bool isBlockActive(int block) { + return findActiveBlock(block) != activeBlocks_.end() ? true : false; + } + bool loadBlock(int block); bool unloadBlock(int block); @@ -89,6 +92,16 @@ class BlockSnapshotManager : public SnapshotManager{ private: + std::vector::iterator findActiveBlock(int block) { + return std::find(activeBlocks_.begin(), activeBlocks_.end(), block); + } + + bool hasZeroRefBlock(); + + int getFirstZeroRefBlock(); + + void internalLoad(int block); + void internalUnload(int block); Snapshot* loadFrame(int frame); SimInfo* info_; @@ -97,6 +110,7 @@ class BlockSnapshotManager : public SnapshotManager{ std::vector snapshots_; std::vector blocks_; std::vector activeBlocks_; + std::vector activeRefCount_; int nAtoms_; int nRigidBodies_;