60 |
|
nObjects_.push_back(info_->getNGlobalBends()); |
61 |
|
nObjects_.push_back(info_->getNGlobalTorsions()); |
62 |
|
nObjects_.push_back(info_->getNGlobalInversions()); |
63 |
+ |
nObjects_.push_back(info_->getNGlobalMolecules()); |
64 |
+ |
|
65 |
|
loadNames(); |
66 |
|
} |
67 |
|
|
95 |
|
|
96 |
|
std::string molName = mol->getMoleculeName(); |
97 |
|
TreeNode* molNode = createNode(root_, molName); |
98 |
+ |
molNode->bs.bitsets_[MOLECULE].setBitOn(mol->getGlobalIndex()); |
99 |
|
|
100 |
|
for(atom = mol->beginAtom(ai); atom != NULL; atom = mol->nextAtom(ai)) { |
101 |
|
std::string atomName = atom->getType(); |
113 |
|
molNode->bs.bitsets_[STUNTDOUBLE].setBitOn(rb->getGlobalIndex()); |
114 |
|
rbNode->bs.bitsets_[STUNTDOUBLE].setBitOn(rb->getGlobalIndex()); |
115 |
|
|
116 |
< |
//create nodes for atoms belong to this rigidbody |
117 |
< |
for(atom = rb->beginAtom(ai); atom != NULL; atom = rb->nextAtom(ai)) { |
118 |
< |
std::string rbAtomName = atom->getType(); |
119 |
< |
TreeNode* rbAtomNode = createNode(rbNode, rbAtomName); |
116 |
> |
// COMMENTED OUT because rigid bodies are IntegrableObjects |
117 |
> |
// (e.g. they are independently mobile, so selecting their |
118 |
> |
// member atoms will give some odd results if we are computing |
119 |
> |
// degrees of freedom elsewhere. |
120 |
|
|
121 |
< |
rbAtomNode->bs.bitsets_[STUNTDOUBLE].setBitOn(atom->getGlobalIndex()); |
122 |
< |
} |
121 |
> |
// //create nodes for atoms belong to this rigidbody |
122 |
> |
// for(atom = rb->beginAtom(ai); atom != NULL; atom = rb->nextAtom(ai)) { |
123 |
> |
// std::string rbAtomName = atom->getType(); |
124 |
> |
// TreeNode* rbAtomNode = createNode(rbNode, rbAtomName); |
125 |
> |
|
126 |
> |
// rbAtomNode->bs.bitsets_[STUNTDOUBLE].setBitOn(atom->getGlobalIndex()); |
127 |
> |
// } |
128 |
|
} |
129 |
|
|
130 |
|
for (bond = mol->beginBond(bondIter); bond != NULL; |