Changeset 4919f0 for src/Actions


Ignore:
Timestamp:
Aug 3, 2017, 10:46:48 AM (8 years ago)
Author:
Frederik Heber <frederik.heber@…>
Branches:
ForceAnnealing_with_BondGraph_continued
Children:
cee565
Parents:
fcc860
Message:

atom::removeStep() extended to removing interval of steps.

  • AtomInfo::removeTrajectorySteps() and BondedParticle::removeTrajectorySteps() changed and all calls adapted.
Location:
src/Actions
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/Actions/MoleculeAction/VerletIntegrationAction.cpp

    rfcc860 r4919f0  
    134134
    135135  // remove current step for all modified atoms
    136   removeLastStep(getIdsFromAtomicInfo(state->UndoInfo), CurrentStep+1);
     136  removeSteps(getIdsFromAtomicInfo(state->UndoInfo), CurrentStep+1, CurrentStep+1);
    137137
    138138  // and set back the old step (forces have been changed)
  • src/Actions/UndoRedoHelpers.cpp

    rfcc860 r4919f0  
    219219}
    220220
    221 void MoleCuilder::removeLastStep(const std::vector<atomId_t> &_atoms, const unsigned int _step)
    222 {
    223   for (size_t i=0; i<_atoms.size(); ++i) {
    224     atom * const _atom = World::getInstance().getAtom(AtomById(_atoms[i]));
    225     _atom->removeStep(_step);
     221void MoleCuilder::removeSteps(
     222    const std::vector<atomId_t> &movedatoms,
     223    const unsigned int _firststep,
     224    const unsigned int _laststep)
     225{
     226  for (std::vector<atomId_t>::const_iterator iter = movedatoms.begin();
     227      iter != movedatoms.end(); ++iter) {
     228    atom * const _atom = World::getInstance().getAtom(AtomById(*iter));
     229    _atom->removeSteps(_firststep, _laststep);
    226230  }
    227231}
  • src/Actions/UndoRedoHelpers.hpp

    rfcc860 r4919f0  
    111111  void RemoveMoleculesWithAtomsByIds(const std::vector<moleculeId_t> &ids);
    112112
    113   /** Removes the last time step for all \a movedatoms
     113  /** Removes the time steps in given interval for all \a movedatoms.
    114114   *
    115    * @param movedatoms atoms whose last step in time to remove
    116    * @param _step which trajectory to remove
     115   * @param movedatoms atoms whose steps in [\a _firststep, \a _laststep] in time to remove
     116   * @param _firststep first step in interval to be removed
     117   * @param _laststep last step in interval to be removed
    117118   */
    118   void removeLastStep(const std::vector<atomId_t> &movedatoms, const unsigned int _step);
     119  void removeSteps(
     120      const std::vector<atomId_t> &movedatoms,
     121      const unsigned int _firststep,
     122      const unsigned int _laststep);
    119123
    120124  /** Adds another time step to all \a movedatoms.
Note: See TracChangeset for help on using the changeset viewer.