91 |
|
for (vector<Component*>::iterator i = components.begin(); |
92 |
|
i !=components.end(); ++i) { |
93 |
|
molStamp = (*i)->getMoleculeStamp(); |
94 |
+ |
if ( (*i)->haveRegion() ) { |
95 |
+ |
molStamp->setRegion( (*i)->getRegion() ); |
96 |
+ |
} else { |
97 |
+ |
// set the region to a disallowed value: |
98 |
+ |
molStamp->setRegion( -1 ); |
99 |
+ |
} |
100 |
+ |
|
101 |
|
nMolWithSameStamp = (*i)->getNMol(); |
102 |
|
|
103 |
|
addMoleculeStamp(molStamp, nMolWithSameStamp); |
372 |
|
|
373 |
|
void SimInfo::addInteractionPairs(Molecule* mol) { |
374 |
|
ForceFieldOptions& options_ = forceField_->getForceFieldOptions(); |
375 |
+ |
vector<Atom*>::iterator atomIter; |
376 |
|
vector<Bond*>::iterator bondIter; |
377 |
|
vector<Bend*>::iterator bendIter; |
378 |
|
vector<Torsion*>::iterator torsionIter; |
379 |
|
vector<Inversion*>::iterator inversionIter; |
380 |
+ |
Atom* atom; |
381 |
|
Bond* bond; |
382 |
|
Bend* bend; |
383 |
|
Torsion* torsion; |
420 |
|
atomGroups.insert(map<int, set<int> >::value_type(sd->getGlobalIndex(), oneAtomSet)); |
421 |
|
} |
422 |
|
} |
423 |
+ |
|
424 |
|
|
425 |
|
for (bond= mol->beginBond(bondIter); bond != NULL; |
426 |
|
bond = mol->nextBond(bondIter)) { |
941 |
|
} |
942 |
|
} |
943 |
|
|
944 |
< |
// Build the identArray_ |
944 |
> |
// Build the identArray_ and regions_ |
945 |
|
|
946 |
|
identArray_.clear(); |
947 |
< |
identArray_.reserve(getNAtoms()); |
948 |
< |
for(mol = beginMolecule(mi); mol != NULL; mol = nextMolecule(mi)) { |
947 |
> |
identArray_.reserve(getNAtoms()); |
948 |
> |
regions_.clear(); |
949 |
> |
regions_.reserve(getNAtoms()); |
950 |
> |
|
951 |
> |
for(mol = beginMolecule(mi); mol != NULL; mol = nextMolecule(mi)) { |
952 |
> |
int reg = mol->getRegion(); |
953 |
|
for(atom = mol->beginAtom(ai); atom != NULL; atom = mol->nextAtom(ai)) { |
954 |
|
identArray_.push_back(atom->getIdent()); |
955 |
+ |
regions_.push_back(reg); |
956 |
|
} |
957 |
|
} |
958 |
< |
|
958 |
> |
|
959 |
|
topologyDone_ = true; |
960 |
|
} |
961 |
|
|