- File:
-
- 1 edited
-
src/Actions/WorldAction/RepeatBoxAction.cpp (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Actions/WorldAction/RepeatBoxAction.cpp
r952f38 rd74077 11 11 #include "Actions/ActionRegistry.hpp" 12 12 #include "atom.hpp" 13 #include " Helpers/Log.hpp"13 #include "log.hpp" 14 14 #include "molecule.hpp" 15 #include " LinearAlgebra/Vector.hpp"16 #include " LinearAlgebra/Matrix.hpp"17 #include " Helpers/Verbose.hpp"15 #include "vector.hpp" 16 #include "Matrix.hpp" 17 #include "verbose.hpp" 18 18 #include "World.hpp" 19 19 #include "Box.hpp" … … 21 21 #include <iostream> 22 22 #include <string> 23 #include <vector> 23 24 24 25 using namespace std; … … 26 27 #include "UIElements/UIFactory.hpp" 27 28 #include "UIElements/Dialog.hpp" 28 #include " Actions/ValueStorage.hpp"29 #include "UIElements/ValueStorage.hpp" 29 30 #include "Descriptors/MoleculeDescriptor.hpp" 30 31 #include "Descriptors/MoleculePtrDescriptor.hpp" … … 44 45 }; 45 46 46 Dialog * WorldRepeatBoxAction:: fillDialog(Dialog *dialog) {47 ASSERT(dialog,"No Dialog given when filling action dialog");47 Dialog * WorldRepeatBoxAction::createDialog() { 48 Dialog *dialog = UIFactory::getInstance().makeDialog(); 48 49 49 50 dialog->queryVector(NAME, false, ValueStorage::getInstance().getDescription(NAME)); … … 90 91 91 92 molecule *newmol = NULL; 92 Vector ** vectors = NULL;93 std::vector<Vector> vectors; 93 94 for (n[0] = 0; n[0] < Repeater[0]; n[0]++) { 94 95 y[0] = n[0]; … … 105 106 if (count != 0) { // if there is more than none 106 107 Elements = new const element *[count]; 107 vectors = new Vector *[count];108 vectors.resize(count); 108 109 j = 0; 109 110 for(molecule::iterator AtomRunner = mol->begin(); AtomRunner != mol->end(); ++AtomRunner) { 110 Elements[j] = (*AtomRunner)-> type;111 vectors[j] = &(*AtomRunner)->x;111 Elements[j] = (*AtomRunner)->getType(); 112 vectors[j] = (*AtomRunner)->getPosition(); 112 113 j++; 113 114 } … … 120 121 for (int k=count;k--;) { // go through every atom of the original cell 121 122 Walker = World::getInstance().createAtom(); // create a new body 122 Walker-> x = (*vectors[k]) + x;123 Walker-> type = Elements[k]; // insert original element123 Walker->setPosition((vectors[k]) + x); 124 Walker->setType(Elements[k]); // insert original element 124 125 cout << "new atom is " << *Walker << endl; 125 126 newmol->AddAtom(Walker); // and add to the molecule (which increments ElementsInMolecule, AtomCount, ...) … … 127 128 // free memory 128 129 delete[](Elements); 129 delete[](vectors);130 130 } else { 131 131 DoLog(1) && (Log() << Verbose(1) << "\t ... is empty." << endl);
Note:
See TracChangeset
for help on using the changeset viewer.
