| 44 |  | #include "utils/simError.h" | 
| 45 |  | namespace oopse { | 
| 46 |  |  | 
| 47 | < | SimSnapshotManager::SimSnapshotManager(SimInfo* info) : info_(info){ | 
| 47 | > | SimSnapshotManager::SimSnapshotManager(SimInfo* info, int storageLayout) | 
| 48 | > | : SnapshotManager(storageLayout), info_(info){ | 
| 49 | > |  | 
| 50 |  | int nAtoms = info_->getNAtoms(); | 
| 51 |  | int nRigidBodies = info_->getNRigidBodies(); | 
| 52 |  |  | 
| 53 |  | //allocate memory for snapshots | 
| 54 | < | previousSnapshot_ = new Snapshot(nAtoms, nRigidBodies); | 
| 55 | < | currentSnapshot_ = new Snapshot(nAtoms, nRigidBodies); | 
| 54 | > | previousSnapshot_ = new Snapshot(nAtoms, nRigidBodies, storageLayout); | 
| 55 | > | currentSnapshot_ = new Snapshot(nAtoms, nRigidBodies, storageLayout); | 
| 56 |  | } | 
| 57 |  |  | 
| 58 | + | SimSnapshotManager::~SimSnapshotManager(){ | 
| 59 | + | delete previousSnapshot_; | 
| 60 | + | delete currentSnapshot_; | 
| 61 | + | previousSnapshot_ = NULL; | 
| 62 | + | currentSnapshot_ = NULL; | 
| 63 | + | } | 
| 64 |  | bool SimSnapshotManager::advance() { | 
| 65 |  |  | 
| 66 |  | *previousSnapshot_ = *currentSnapshot_; |