Changeset 6aad6f


Ignore:
Timestamp:
Apr 6, 2012, 11:43:11 AM (13 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:
244f81, 4a4f3d
Parents:
57f743
git-author:
Frederik Heber <heber@…> (04/05/12 11:29:26)
git-committer:
Frederik Heber <heber@…> (04/06/12 11:43:11)
Message:

FIX: molecule::containsAtom() is now const and has const param, added AtomIdSet::contains().

  • AtomIdSet::contains() is predicate to whether id is contained, added unit test function.
  • also added molecule::containsAtom() on atomic id only.
Location:
src
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • src/AtomIdSet.cpp

    r57f743 r6aad6f  
    115115}
    116116
     117/** Predicate whether given atomic id is contained.
     118 *
     119 * @param id id to check
     120 * @return true - is contained, false - is not
     121 */
     122bool AtomIdSet::contains(const atomId_t &id) const
     123{
     124  return (atoms.find(id) != atoms.end());
     125}
     126
     127/** Predicate whether given atom is contained.
     128 *
     129 * @param key atom to check
     130 * @return true - is contained, false - is not
     131 */
     132bool AtomIdSet::contains(const atom * const key) const
     133{
     134  return contains(key->getId());
     135}
     136
    117137/** Returns the iterator to the atom \a *key.
    118138 *
     
    122142AtomIdSet::const_iterator AtomIdSet::find(const atom * const key) const
    123143{
    124   return const_iterator(atoms.find(key->getId()), FromIdToAtom());
     144  return find(key->getId());
    125145}
    126146
  • src/AtomIdSet.hpp

    r57f743 r6aad6f  
    5252  bool empty() const;
    5353  size_t size() const;
     54  bool contains(const atom * const key) const;
     55  bool contains(const atomId_t &id) const;
    5456  const_iterator find(const atom * const key) const;
    5557  const_iterator find(const atomId_t &id) const;
  • src/molecule.cpp

    r57f743 r6aad6f  
    215215  sstr << _atom->getType()->getSymbol() << _atom->getNr();
    216216  _atom->setName(sstr.str());
    217 }
    218 
    219 
    220 bool molecule::containsAtom(atom* key){
    221   return (find(key) != end());
    222217}
    223218
  • src/molecule.hpp

    r57f743 r6aad6f  
    153153  std::pair<iterator, bool> insert(atom * const key);
    154154
    155   bool containsAtom(atom* key);
     155  /** Predicate whether given \a key is contained in this molecule.
     156   *
     157   * @param key atom to check
     158   * @return true - is contained, false - else
     159   */
     160  bool containsAtom(const atom* key) const
     161  {
     162    return atomIds.contains(key);
     163  }
     164
     165  /** Predicate whether given \a id is contained in this molecule.
     166   *
     167   * @param id atomic id to check
     168   * @return true - is contained, false - else
     169   */
     170  bool containsAtom(const atomId_t id) const
     171  {
     172    return atomIds.contains(id);
     173  }
    156174
    157175private:
  • src/unittests/AtomIdSetUnitTest.cpp

    r57f743 r6aad6f  
    103103}
    104104
     105void AtomIdSetUnittest::containsTest()
     106{
     107  // search for atom
     108  atoms.insert(atomVector[0]);
     109  CPPUNIT_ASSERT( atoms.contains(atomVector[0]) );
     110  atoms.erase(atomVector[0]);
     111  CPPUNIT_ASSERT( !atoms.contains(atomVector[0]) );
     112
     113  // search for key
     114  atoms.insert(atomVector[0]->getId());
     115  CPPUNIT_ASSERT( atoms.contains(atomVector[0]->getId()) );
     116  atoms.erase(atomVector[0]->getId());
     117  CPPUNIT_ASSERT( !atoms.contains(atomVector[0]->getId()) );
     118}
     119
    105120void AtomIdSetUnittest::findTest()
    106121{
  • src/unittests/AtomIdSetUnitTest.hpp

    r57f743 r6aad6f  
    2929  CPPUNIT_TEST ( positionTest );
    3030  CPPUNIT_TEST ( findTest );
     31  CPPUNIT_TEST ( containsTest );
    3132  CPPUNIT_TEST ( emptyTest );
    3233  CPPUNIT_TEST ( sizeTest );
     
    4041  void positionTest();
    4142  void findTest();
     43  void containsTest();
    4244  void emptyTest();
    4345  void sizeTest();
Note: See TracChangeset for help on using the changeset viewer.