--- trunk/src/io/DumpReader.cpp 2013/06/16 15:15:42 1879 +++ trunk/src/io/DumpReader.cpp 2013/10/31 15:32:17 1938 @@ -43,6 +43,10 @@ #define _LARGEFILE_SOURCE64 #define _FILE_OFFSET_BITS 64 +#ifdef IS_MPI +#include +#endif + #include #include @@ -60,11 +64,7 @@ #include "utils/StringTokenizer.hpp" #include "brains/Thermo.hpp" -#ifdef IS_MPI -#include -#endif - namespace OpenMD { DumpReader::DumpReader(SimInfo* info, const std::string& filename) @@ -560,8 +560,11 @@ namespace OpenMD { if (i >> siteIndex) { // chew up this token and parse as an int: siteIndex = tokenizer.nextTokenAsInt(); - RigidBody* rb = static_cast(sd); - sd = rb->getAtoms()[siteIndex]; + + if (sd->isRigidBody()) { + RigidBody* rb = static_cast(sd); + sd = rb->getAtoms()[siteIndex]; + } } /**