| 55 |
|
nObjects_.push_back(info_->getNGlobalBends()); |
| 56 |
|
nObjects_.push_back(info_->getNGlobalTorsions()); |
| 57 |
|
nObjects_.push_back(info_->getNGlobalInversions()); |
| 58 |
+ |
nObjects_.push_back(info_->getNGlobalMolecules()); |
| 59 |
|
|
| 60 |
|
stuntdoubles_.resize(nObjects_[STUNTDOUBLE]); |
| 61 |
|
bonds_.resize(nObjects_[BOND]); |
| 62 |
|
bends_.resize(nObjects_[BEND]); |
| 63 |
|
torsions_.resize(nObjects_[TORSION]); |
| 64 |
|
inversions_.resize(nObjects_[INVERSION]); |
| 65 |
+ |
molecules_.resize(nObjects_[MOLECULE]); |
| 66 |
|
|
| 67 |
|
SimInfo::MoleculeIterator mi; |
| 68 |
|
Molecule::AtomIterator ai; |
| 82 |
|
|
| 83 |
|
for (mol = info_->beginMolecule(mi); mol != NULL; |
| 84 |
|
mol = info_->nextMolecule(mi)) { |
| 85 |
< |
|
| 85 |
> |
|
| 86 |
> |
molecules_[mol->getGlobalIndex()] = mol; |
| 87 |
> |
|
| 88 |
|
for(atom = mol->beginAtom(ai); atom != NULL; |
| 89 |
|
atom = mol->nextAtom(ai)) { |
| 90 |
|
stuntdoubles_[atom->getGlobalIndex()] = atom; |
| 166 |
|
centerPos = center->getPos(); |
| 167 |
|
#endif |
| 168 |
|
|
| 169 |
+ |
for (unsigned int j = 0; j < molecules_.size(); ++j) { |
| 170 |
+ |
Vector3d r =centerPos - molecules_[j]->getCom(); |
| 171 |
+ |
currSnapshot->wrapVector(r); |
| 172 |
+ |
if (r.length() <= distance) { |
| 173 |
+ |
bsResult.bitsets_[MOLECULE].setBitOn(j); |
| 174 |
+ |
} |
| 175 |
+ |
} |
| 176 |
|
for (unsigned int j = 0; j < stuntdoubles_.size(); ++j) { |
| 177 |
|
Vector3d r =centerPos - stuntdoubles_[j]->getPos(); |
| 178 |
|
currSnapshot->wrapVector(r); |
| 282 |
|
center = stuntdoubles_[i]; |
| 283 |
|
centerPos = center->getPos(frame); |
| 284 |
|
#endif |
| 285 |
+ |
for (unsigned int j = 0; j < molecules_.size(); ++j) { |
| 286 |
+ |
Vector3d r =centerPos - molecules_[j]->getCom(frame); |
| 287 |
+ |
currSnapshot->wrapVector(r); |
| 288 |
+ |
if (r.length() <= distance) { |
| 289 |
+ |
bsResult.bitsets_[MOLECULE].setBitOn(j); |
| 290 |
+ |
} |
| 291 |
+ |
} |
| 292 |
+ |
|
| 293 |
|
for (unsigned int j = 0; j < stuntdoubles_.size(); ++j) { |
| 294 |
|
Vector3d r =centerPos - stuntdoubles_[j]->getPos(frame); |
| 295 |
|
currSnapshot->wrapVector(r); |