| 159 |
|
case Token::expressionEnd: |
| 160 |
|
break; |
| 161 |
|
case Token::all: |
| 162 |
< |
bs = OpenMDBitSet(nStuntDouble); |
| 163 |
< |
bs.setAll(); |
| 162 |
> |
bs = allInstruction(); |
| 163 |
|
stack.push(bs); |
| 164 |
|
break; |
| 165 |
|
case Token::none: |
| 445 |
|
|
| 446 |
|
return bs; |
| 447 |
|
} |
| 448 |
+ |
|
| 449 |
+ |
OpenMDBitSet SelectionEvaluator::allInstruction() { |
| 450 |
+ |
OpenMDBitSet bs(nStuntDouble); |
| 451 |
+ |
|
| 452 |
+ |
SimInfo::MoleculeIterator mi; |
| 453 |
+ |
Molecule* mol; |
| 454 |
+ |
Molecule::AtomIterator ai; |
| 455 |
+ |
Atom* atom; |
| 456 |
+ |
Molecule::RigidBodyIterator rbIter; |
| 457 |
+ |
RigidBody* rb; |
| 458 |
+ |
|
| 459 |
+ |
// Doing the loop insures that we're actually on this processor. |
| 460 |
+ |
|
| 461 |
+ |
for (mol = info->beginMolecule(mi); mol != NULL; |
| 462 |
+ |
mol = info->nextMolecule(mi)) { |
| 463 |
|
|
| 464 |
+ |
for(atom = mol->beginAtom(ai); atom != NULL; atom = mol->nextAtom(ai)) { |
| 465 |
+ |
bs.setBitOn(atom->getGlobalIndex()); |
| 466 |
+ |
} |
| 467 |
+ |
|
| 468 |
+ |
for (rb = mol->beginRigidBody(rbIter); rb != NULL; |
| 469 |
+ |
rb = mol->nextRigidBody(rbIter)) { |
| 470 |
+ |
bs.setBitOn(rb->getGlobalIndex()); |
| 471 |
+ |
} |
| 472 |
+ |
} |
| 473 |
|
|
| 474 |
+ |
return bs; |
| 475 |
+ |
} |
| 476 |
+ |
|
| 477 |
|
OpenMDBitSet SelectionEvaluator::hull() { |
| 478 |
|
OpenMDBitSet bs(nStuntDouble); |
| 479 |
|
|
| 482 |
|
return bs; |
| 483 |
|
} |
| 484 |
|
|
| 459 |
– |
|
| 460 |
– |
|
| 485 |
|
RealType SelectionEvaluator::getCharge(Atom* atom) { |
| 486 |
|
RealType charge =0.0; |
| 487 |
|
AtomType* atomType = atom->getAtomType(); |