Changeset 25d9d9 for src/Actions/MoleculeAction/BoundInBoxAction.cpp
- Timestamp:
- Jun 12, 2016, 8:48:21 AM (9 years ago)
- Branches:
- Fix_BoundInBox_CenterInBox_MoleculeActions
- Parents:
- 996ef1
- git-author:
- Frederik Heber <heber@…> (06/11/16 16:43:54)
- git-committer:
- Frederik Heber <heber@…> (06/12/16 08:48:21)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
src/Actions/MoleculeAction/BoundInBoxAction.cpp
r996ef1 r25d9d9 45 45 #include <vector> 46 46 47 #include "Actions/ WorldAction/BoundInBoxAction.hpp"47 #include "Actions/MoleculeAction/BoundInBoxAction.hpp" 48 48 49 49 using namespace MoleCuilder; … … 53 53 #include "Action_impl_pre.hpp" 54 54 /** =========== define the function ====================== */ 55 ActionState::ptr WorldBoundInBoxAction::performCall() {55 ActionState::ptr MoleculeBoundInBoxAction::performCall() { 56 56 // create undo state 57 57 std::vector< boost::shared_ptr<Vector> > OldPositions; 58 58 { 59 std::vector<const molecule*> AllMolecules = const_cast<const World &>(World::getInstance()).60 get AllMolecules();61 for (vector<const molecule*>::iterator MolRunner = AllMolecules.begin();62 MolRunner != AllMolecules.end();59 std::vector<const molecule*> SelectedMolecules = const_cast<const World &>(World::getInstance()). 60 getSelectedMolecules(); 61 for (vector<const molecule*>::iterator MolRunner = SelectedMolecules.begin(); 62 MolRunner != SelectedMolecules.end(); 63 63 ++MolRunner) { 64 64 for(molecule::const_iterator AtomRunner = (*MolRunner)->begin(); … … 73 73 } 74 74 } 75 WorldBoundInBoxState *undoState = new WorldBoundInBoxState(OldPositions, params);75 MoleculeBoundInBoxState *undoState = new MoleculeBoundInBoxState(OldPositions, params); 76 76 77 77 // center 78 std::vector<molecule*> AllMolecules = World::getInstance().getAllMolecules();79 for (std::vector<molecule*>::iterator MolRunner = AllMolecules.begin(); MolRunner != AllMolecules.end(); ++MolRunner) {78 std::vector<molecule*> SelectedMolecules = World::getInstance().getSelectedMolecules(); 79 for (std::vector<molecule*>::iterator MolRunner = SelectedMolecules.begin(); MolRunner != SelectedMolecules.end(); ++MolRunner) { 80 80 (*MolRunner)->BoundInBox(); 81 81 } … … 83 83 } 84 84 85 ActionState::ptr WorldBoundInBoxAction::performUndo(ActionState::ptr _state) {86 WorldBoundInBoxState *state = assert_cast<WorldBoundInBoxState*>(_state.get());85 ActionState::ptr MoleculeBoundInBoxAction::performUndo(ActionState::ptr _state) { 86 MoleculeBoundInBoxState *state = assert_cast<MoleculeBoundInBoxState*>(_state.get()); 87 87 88 88 // place atoms on old positions 89 89 std::vector< boost::shared_ptr<Vector> >::const_iterator OldPositionsIter = state->OldPositions.begin(); 90 std::vector<molecule*> AllMolecules = World::getInstance().getAllMolecules();91 for (std::vector<molecule*>::iterator MolRunner = AllMolecules.begin();92 MolRunner != AllMolecules.end();90 std::vector<molecule*> SelectedMolecules = World::getInstance().getSelectedMolecules(); 91 for (std::vector<molecule*>::iterator MolRunner = SelectedMolecules.begin(); 92 MolRunner != SelectedMolecules.end(); 93 93 ++MolRunner) { 94 94 for(molecule::iterator AtomRunner = (*MolRunner)->begin(); … … 96 96 ++AtomRunner) { 97 97 ASSERT(OldPositionsIter != state->OldPositions.end(), 98 " WorldBoundInBoxAction::performUndo() - too few positions stored in UndoState.");98 "MoleculeBoundInBoxAction::performUndo() - too few positions stored in UndoState."); 99 99 (*AtomRunner)->setPosition(**(OldPositionsIter++)); 100 100 } … … 104 104 } 105 105 106 ActionState::ptr WorldBoundInBoxAction::performRedo(ActionState::ptr _state){107 // WorldBoundInBoxState *state = assert_cast<WorldBoundInBoxState*>(_state.get());106 ActionState::ptr MoleculeBoundInBoxAction::performRedo(ActionState::ptr _state){ 107 // MoleculeBoundInBoxState *state = assert_cast<MoleculeBoundInBoxState*>(_state.get()); 108 108 109 109 // center 110 std::vector<molecule*> AllMolecules = World::getInstance().getAllMolecules();111 for (std::vector<molecule*>::iterator MolRunner = AllMolecules.begin();112 MolRunner != AllMolecules.end();110 std::vector<molecule*> SelectedMolecules = World::getInstance().getSelectedMolecules(); 111 for (std::vector<molecule*>::iterator MolRunner = SelectedMolecules.begin(); 112 MolRunner != SelectedMolecules.end(); 113 113 ++MolRunner) { 114 114 (*MolRunner)->BoundInBox(); … … 118 118 } 119 119 120 bool WorldBoundInBoxAction::canUndo() {120 bool MoleculeBoundInBoxAction::canUndo() { 121 121 return true; 122 122 } 123 123 124 bool WorldBoundInBoxAction::shouldUndo() {124 bool MoleculeBoundInBoxAction::shouldUndo() { 125 125 return true; 126 126 }
Note:
See TracChangeset
for help on using the changeset viewer.