| 70 |
|
namespace oopse { |
| 71 |
|
|
| 72 |
|
DumpReader::DumpReader(SimInfo* info, const std::string& filename) |
| 73 |
< |
: info_(info), filename_(filename), isScanned_(false), nframes_(0) { |
| 73 |
> |
: info_(info), filename_(filename), isScanned_(false), nframes_(0), needCOMprops_(false) { |
| 74 |
|
|
| 75 |
|
#ifdef IS_MPI |
| 76 |
|
|
| 240 |
|
} |
| 241 |
|
|
| 242 |
|
readSet(whichFrame); |
| 243 |
+ |
|
| 244 |
+ |
if (needCOMprops_) { |
| 245 |
+ |
Snapshot* s = info_->getSnapshotManager()->getCurrentSnapshot(); |
| 246 |
+ |
Vector3d com; |
| 247 |
+ |
Vector3d comvel; |
| 248 |
+ |
Vector3d comw; |
| 249 |
+ |
if (needPos_ && needVel_){ |
| 250 |
+ |
info_->getComAll(com, comvel); |
| 251 |
+ |
comw = info_->getAngularMomentum(); |
| 252 |
+ |
}else{ |
| 253 |
+ |
com = info_->getCom(); |
| 254 |
+ |
comvel = 0.0; |
| 255 |
+ |
comw = 0.0; |
| 256 |
+ |
} |
| 257 |
+ |
s->setCOMprops(com, comvel, comw); |
| 258 |
+ |
} |
| 259 |
+ |
|
| 260 |
|
} |
| 261 |
|
|
| 262 |
|
void DumpReader::readSet(int whichFrame) { |
| 355 |
|
} |
| 356 |
|
std::string type = tokenizer.nextToken(); |
| 357 |
|
int size = type.size(); |
| 358 |
+ |
|
| 359 |
|
for(int i = 0; i < size; ++i) { |
| 360 |
|
switch(type[i]) { |
| 361 |
|
|
| 416 |
|
integrableObject->setJ(ji); |
| 417 |
|
} |
| 418 |
|
} |
| 419 |
+ |
break; |
| 420 |
|
} |
| 421 |
|
case 'f': { |
| 422 |
|
|