Changeset dc1d9e for src/Parser


Ignore:
Timestamp:
Aug 28, 2010, 12:58:44 AM (15 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:
74a444
Parents:
1a7fd2
git-author:
Frederik Heber <heber@…> (08/27/10 22:17:27)
git-committer:
Frederik Heber <heber@…> (08/28/10 00:58:44)
Message:

Several bugfixes for TremoloParser.

  • overloaded readAtomDataLine to also accept molecule*.
  • BUGFIX: TremoloParser::writeNeighbors() and TremoloParser::saveLine() write ...->getId()+1.
  • BUGFIX: TremoloParser::writeNeighbors() forgot to increase currentBond iterator.
Location:
src/Parser
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/TremoloParser.cpp

    r1a7fd2 rdc1d9e  
    2626#include "World.hpp"
    2727#include "atom.hpp"
     28#include "bond.hpp"
    2829#include "element.hpp"
    29 #include "bond.hpp"
     30#include "molecule.hpp"
    3031#include "periodentafel.hpp"
    3132#include "Descriptors/AtomIdDescriptor.hpp"
     
    8889
    8990  usedFields.clear();
     91  molecule *newmol = World::getInstance().createMolecule();
    9092  while (file->good()) {
    9193    std::getline(*file, line, '\n');
     
    9799    }
    98100    if (line.length() > 0 && line.at(0) != '#') {
    99       readAtomDataLine(line);
     101      readAtomDataLine(line, newmol);
    100102    }
    101103  }
     
    169171        break;
    170172      case TremoloKey::Id :
    171         *file << currentAtom->getId() << "\t";
     173        *file << currentAtom->getId()+1 << "\t";
    172174        break;
    173175      case TremoloKey::neighbors :
     
    197199  for (int i = 0; i < numberOfNeighbors; i++) {
    198200    *file << (currentBond != currentAtom->ListOfBonds.end()
    199         ? (*currentBond)->GetOtherAtom(currentAtom)->getId() : 0) << "\t";
     201        ? (*currentBond)->GetOtherAtom(currentAtom)->getId()+1 : 0) << "\t";
     202    if (currentBond != currentAtom->ListOfBonds.end())
     203      currentBond++;
    200204  }
    201205}
     
    229233 *
    230234 * \param line to parse as an atom
    231  */
    232 void TremoloParser::readAtomDataLine(string line) {
     235 * \param *newmol molecule to add atom to
     236 */
     237void TremoloParser::readAtomDataLine(string line, molecule *newmol = NULL) {
    233238  vector<string>::iterator it;
    234239  stringstream lineStream;
     
    279284    }
    280285  }
     286  if (newmol != NULL)
     287    newmol->AddAtom(newAtom);
    281288}
    282289
  • src/Parser/TremoloParser.hpp

    r1a7fd2 rdc1d9e  
    1111#include <string>
    1212#include "Parser/FormatParser.hpp"
     13
     14class molecule;
    1315
    1416/**
     
    8587private:
    8688  void readAtomDataLine(string line);
     89  void readAtomDataLine(string line, molecule *newmol);
    8790  void parseAtomDataKeysLine(string line, int offset);
    8891  void readNeighbors(std::stringstream* line, int numberOfNeighbors, int atomId);
Note: See TracChangeset for help on using the changeset viewer.