Ignore:
Timestamp:
Dec 16, 2010, 5:32:22 PM (14 years ago)
Author:
Frederik Heber <heber@…>
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, 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:
c42e60
Parents:
73916f
git-author:
Frederik Heber <heber@…> (12/11/10 16:30:38)
git-committer:
Frederik Heber <heber@…> (12/16/10 17:32:22)
Message:

Molecule's SaveAction saves selected molecules, World's OutputAction saves World.

  • we make use of the extended FormatParserStorage::save...() functions.
  • OutputAction now has a single parameter, the file name. Before it was quite useless anyway as the World is stored on program exit anyway, overwriting anything that would have been stored by the Action in between.

Testchanges:

  • SimpleConfiguration/2 are now called "--output" and not "-s" due to other Action being called.
Location:
src/Actions/WorldAction
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified src/Actions/WorldAction/OutputAction.cpp

    r73916f rfc5c3a  
    2020#include "Helpers/MemDebug.hpp"
    2121
    22 #include "Parser/ChangeTracker.hpp"
     22#include "Parser/FormatParserStorage.hpp"
    2323#include "Helpers/Log.hpp"
    2424#include "Helpers/Verbose.hpp"
     
    2727#include <iostream>
    2828#include <string>
     29
     30#include <boost/filesystem/fstream.hpp>
    2931
    3032using namespace std;
     
    4042  getParametersfromValueStorage();
    4143
    42   DoLog(0) && (Log() << Verbose(0) << "Saving world to files." << endl);
    43   ChangeTracker::getInstance().saveStatus();
     44  DoLog(1) && (Log() << Verbose(1) << "Storing world to file " << params.filename << "." << endl);
     45
     46  // extract suffix
     47  std::string FilenameSuffix;
     48  std::string FilenamePrefix;
     49  if (params.filename.has_filename()) {
     50    // get suffix
     51    FilenameSuffix = params.filename.extension().substr(1); // remove the prefixed "."
     52    FilenamePrefix = params.filename.stem();
     53  } else {
     54    DoeLog(1) && (eLog() << Verbose(1) << "Output file does not have a suffix, cannot recognize format." << endl);
     55    return Action::failure;
     56  }
     57
     58  // store file
     59  // parse the file
     60  boost::filesystem::ofstream output;
     61  output.open(params.filename);
     62  if (!output.fail()) {
     63    FormatParserStorage::getInstance().saveWorld(output, FilenameSuffix);
     64  } else {
     65    DoeLog(1) && (eLog() << Verbose(1) << "Could not open file " << params.filename << "." << endl);
     66  }
     67  output.close();
     68
    4469  return Action::success;
    4570}
  • TabularUnified src/Actions/WorldAction/OutputAction.def

    r73916f rfc5c3a  
    77
    88// all includes and forward declarations necessary for non-integral types below
    9 
     9#
    1010
    1111// i.e. there is an integer with variable name Z that can be found in
    1212// ValueStorage by the token "Z" -> first column: int, Z, "Z"
    1313// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
    14 #undef paramtypes
    15 #undef paramtokens
    16 #undef paramdescriptions
     14#define paramtypes (boost::filesystem::path)
     15#define paramtokens ("output")
     16#define paramdescriptions ("filename to write to")
    1717#undef paramdefaults
    18 #undef paramreferences
     18#define paramreferences (filename)
    1919
    2020#undef statetypes
     
    3030
    3131// finally the information stored in the ActionTrait specialization
    32 #define DESCRIPTION "write output files"
     32#define DESCRIPTION "write all atoms to given file"
    3333#undef SHORTFORM
Note: See TracChangeset for help on using the changeset viewer.