Changeset 1fd675 for src/Actions/WorldAction/RepeatBoxAction.cpp
- Timestamp:
- Aug 28, 2010, 12:57:56 AM (15 years ago)
- Branches:
- Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, Candidate_v1.7.0, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
- Children:
- 966e12
- Parents:
- 53d01c
- git-author:
- Frederik Heber <heber@…> (08/26/10 21:05:34)
- git-committer:
- Frederik Heber <heber@…> (08/28/10 00:57:56)
- File:
-
- 1 edited
-
src/Actions/WorldAction/RepeatBoxAction.cpp (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Actions/WorldAction/RepeatBoxAction.cpp
r53d01c r1fd675 20 20 #include "Helpers/MemDebug.hpp" 21 21 22 #include "Actions/WorldAction/RepeatBoxAction.hpp" 23 #include "Actions/ActionRegistry.hpp" 22 #include "Descriptors/MoleculePtrDescriptor.hpp" 24 23 #include "atom.hpp" 25 24 #include "Helpers/Log.hpp" … … 37 36 using namespace std; 38 37 39 #include "UIElements/UIFactory.hpp" 40 #include "UIElements/Dialog.hpp" 41 #include "Actions/ValueStorage.hpp" 42 #include "Descriptors/MoleculeDescriptor.hpp" 43 #include "Descriptors/MoleculePtrDescriptor.hpp" 38 #include "Actions/WorldAction/RepeatBoxAction.hpp" 44 39 45 const char WorldRepeatBoxAction::NAME[] = "repeat-box"; 46 47 WorldRepeatBoxAction::WorldRepeatBoxAction() : 48 Action(NAME) 49 {} 50 51 WorldRepeatBoxAction::~WorldRepeatBoxAction() 52 {} 53 54 void WorldRepeatBox(Vector &Repeater) { 55 ValueStorage::getInstance().setCurrentValue(WorldRepeatBoxAction::NAME, Repeater); 56 ActionRegistry::getInstance().getActionByName(WorldRepeatBoxAction::NAME)->call(Action::NonInteractive); 57 }; 58 59 void WorldRepeatBoxAction::getParametersfromValueStorage() 60 {}; 61 62 Dialog* WorldRepeatBoxAction::fillDialog(Dialog *dialog) { 63 ASSERT(dialog,"No Dialog given when filling action dialog"); 64 65 dialog->queryVector(NAME, false, ValueStorage::getInstance().getDescription(NAME)); 66 67 return dialog; 68 } 69 40 // and construct the stuff 41 #include "RepeatBoxAction.def" 42 #include "Action_impl_pre.hpp" 43 /** =========== define the function ====================== */ 70 44 Action::state_ptr WorldRepeatBoxAction::performCall() { 71 Vector Repeater;72 45 int count; 73 46 const element ** Elements; … … 77 50 MoleculeListClass *molecules = World::getInstance().getMolecules(); 78 51 79 ValueStorage::getInstance().queryCurrentValue(NAME, Repeater); 52 // obtain information 53 getParametersfromValueStorage(); 80 54 81 55 vector<molecule *> AllMolecules; … … 88 62 } 89 63 90 (cout << "Repeating box " << Repeater << " times for (x,y,z) axis." << endl);64 (cout << "Repeating box " << params.Repeater << " times for (x,y,z) axis." << endl); 91 65 Matrix M = World::getInstance().getDomain().getM(); 92 66 Matrix newM = M; … … 95 69 Matrix repMat; 96 70 for (int axis = 0; axis < NDIM; axis++) { 97 Repeater[axis] = floor(Repeater[axis]);98 if ( Repeater[axis] < 1) {71 params.Repeater[axis] = floor(params.Repeater[axis]); 72 if (params.Repeater[axis] < 1) { 99 73 DoeLog(1) && (eLog()<< Verbose(1) << "Repetition factor must be greater than 1!" << endl); 100 Repeater[axis] = 1;74 params.Repeater[axis] = 1; 101 75 } 102 repMat.at(axis,axis) = Repeater[axis];76 repMat.at(axis,axis) = params.Repeater[axis]; 103 77 } 104 78 newM *= repMat; … … 107 81 molecule *newmol = NULL; 108 82 std::vector<Vector> vectors; 109 for (n[0] = 0; n[0] < Repeater[0]; n[0]++) {83 for (n[0] = 0; n[0] < params.Repeater[0]; n[0]++) { 110 84 y[0] = n[0]; 111 for (n[1] = 0; n[1] < Repeater[1]; n[1]++) {85 for (n[1] = 0; n[1] < params.Repeater[1]; n[1]++) { 112 86 y[1] = n[1]; 113 for (n[2] = 0; n[2] < Repeater[2]; n[2]++) {87 for (n[2] = 0; n[2] < params.Repeater[2]; n[2]++) { 114 88 y[2] = n[2]; 115 89 if ((n[0] == 0) && (n[1] == 0) && (n[2] == 0)) … … 178 152 return NAME; 179 153 } 154 /** =========== end of function ====================== */
Note:
See TracChangeset
for help on using the changeset viewer.
