Changeset 7f185f9 for src/UIElements


Ignore:
Timestamp:
Apr 20, 2016, 11:07:47 PM (9 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:
273c8a
Parents:
f1b5ca
git-author:
Frederik Heber <heber@…> (04/12/16 11:19:05)
git-committer:
Frederik Heber <heber@…> (04/20/16 23:07:47)
Message:

QtObservedBond also offers direct access to stored QtObservedAtoms as const refs.

  • leftatom and rightatom are const throughout the lifetime of the bond. Hence, there is no need to update them and we simply store the refs directly. This will be different for the atom, where the molecule ref may change over the lifetime!
Location:
src/UIElements/Qt4/InstanceBoard
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/Qt4/InstanceBoard/QtObservedBond.cpp

    rf1b5ca r7f185f9  
    114114  leftatom(_leftatom),
    115115  rightatom(_rightatom),
    116   oldleftatomId(_id.first),
    117   oldrightatomId(_id.second),
    118   oldmoleculeId(getMolecule(_bond)->getId()),
    119116  board(_board),
    120117  BoardIsGone(false),
     
    281278  // pass thru to signals from both atoms
    282279  connect( leftatom.get(), SIGNAL(indexChanged(const atomId_t, const atomId_t)),
    283       this, SLOT(leftAtomIndexChanges(atomId_t, atomId_t)));
     280      this, SIGNAL(leftAtomIndexChanged(atomId_t, atomId_t)));
    284281  connect( leftatom.get(), SIGNAL(elementChanged()), this, SIGNAL(leftAtomElementChanged()));
    285282  connect( leftatom.get(), SIGNAL(positionChanged()), this, SIGNAL(leftAtomPositionChanged()));
    286   connect( leftatom.get(), SIGNAL(moleculeChanged()), this, SLOT(moleculeIndexChanges(moleculeId_t, moleculeId_t)));
     283  connect( leftatom.get(), SIGNAL(moleculeChanged()), this, SIGNAL(leftmoleculeChanged()));
    287284  connect( rightatom.get(), SIGNAL(indexChanged(const atomId_t, const atomId_t)),
    288       this, SLOT(rightAtomIndexChanges(atomId_t, atomId_t)));
     285      this, SIGNAL(rightAtomIndexChanged(atomId_t, atomId_t)));
    289286  connect( rightatom.get(), SIGNAL(elementChanged()), this, SIGNAL(rightAtomElementChanged()));
    290287  connect( rightatom.get(), SIGNAL(positionChanged()), this, SIGNAL(rightAtomPositionChanged()));
    291 }
    292 
    293 void QtObservedBond::leftAtomIndexChanges(atomId_t, atomId_t)
    294 {
    295   const atomId_t newid = getLeftAtomIndex();
    296   emit leftAtomIndexChanged(oldleftatomId, newid);
    297   oldleftatomId = newid;
    298 }
    299 
    300 void QtObservedBond::rightAtomIndexChanges(atomId_t, atomId_t)
    301 {
    302   const atomId_t newid = getRightAtomIndex();
    303   emit rightAtomIndexChanged(oldrightatomId, newid);
    304   oldrightatomId = newid;
    305 }
    306 
    307 void QtObservedBond::moleculeIndexChanges(moleculeId_t, moleculeId_t)
    308 {
    309   const moleculeId_t newid = getMoleculeIndex();
    310   emit moleculeIndexChanged(oldmoleculeId, newid);
    311   oldmoleculeId = newid;
     288  connect( rightatom.get(), SIGNAL(moleculeChanged()), this, SIGNAL(rightmoleculeChanged()));
    312289}
    313290
     
    409386}
    410387
     388const moleculeId_t QtObservedBond::getLeftMoleculeIndex() const
     389{
     390  return leftatom->getMoleculeIndex();
     391}
     392
    411393const atomId_t& QtObservedBond::getRightAtomIndex() const
    412394{
     
    424406}
    425407
    426 const moleculeId_t QtObservedBond::getMoleculeIndex() const
    427 {
    428   const moleculeId_t leftmolid = leftatom->getMoleculeIndex();
    429   const moleculeId_t rightmolid = rightatom->getMoleculeIndex();
    430   ASSERT( leftmolid == rightmolid,
    431       "QtObservedBond::getMoleculeIndex() - left and right atom belong to different molecules, "
    432       +toString(leftmolid)+" vs. "+toString(rightmolid));
    433   return leftmolid;
    434 }
     408const moleculeId_t QtObservedBond::getRightMoleculeIndex() const
     409{
     410  return rightatom->getMoleculeIndex();
     411}
  • src/UIElements/Qt4/InstanceBoard/QtObservedBond.hpp

    rf1b5ca r7f185f9  
    123123  const int& getBondDegree() const;
    124124
     125  /** Getter to the observed state of the left atom of this bond.
     126   *
     127   * \return const ref to left atom's observed state.
     128   */
     129  const QtObservedAtom* const getLeftAtom() const
     130  { return leftatom.get(); }
     131
     132  /** Getter to the observed state of the right atom of this bond.
     133   *
     134   * \return const ref to right atom's observed state.
     135   */
     136  const QtObservedAtom* const getRightAtom() const
     137  { return rightatom.get(); }
     138
    125139  /** Getter to bond's left atom index contained in \a ObservedValues.
    126140   *
     
    135149  const atomicNumber_t& getLeftAtomElement() const;
    136150
     151  /** Getter to left atoms's molecule index contained in \a ObservedValues.
     152   *
     153   * \return left atom's molecule index
     154   */
     155  const moleculeId_t getLeftMoleculeIndex() const;
     156
    137157  /** Getter to bond's right atom position contained in \a ObservedValues.
    138158   *
     
    159179  const Vector& getRightAtomPosition() const;
    160180
    161   /** Getter to bond's molecule index contained in \a ObservedValues.
    162    *
    163    * \return bond's molecule index
    164    */
    165   const moleculeId_t getMoleculeIndex() const;
     181  /** Getter to right atom's molecule index contained in \a ObservedValues.
     182   *
     183   * \return right atom's molecule index
     184   */
     185  const moleculeId_t getRightMoleculeIndex() const;
    166186
    167187  //!> typedef for internal observable counter maps
     
    175195  void leftAtomElementChanged();
    176196  void leftAtomPositionChanged();
     197  void leftmoleculeChanged();
    177198  void rightAtomIndexChanged(atomId_t, atomId_t);
    178199  void rightAtomElementChanged();
    179200  void rightAtomPositionChanged();
    180   void moleculeIndexChanged(moleculeId_t, moleculeId_t);
     201  void rightmoleculeChanged();
    181202  void bondRemoved();
    182203
    183 private slots:
    184 
    185   void leftAtomIndexChanges(atomId_t, atomId_t);
    186   void rightAtomIndexChanges(atomId_t, atomId_t);
    187   void moleculeIndexChanges(moleculeId_t, moleculeId_t);
     204//private slots:
    188205
    189206private:
     
    295312  const QtObservedAtom::ptr rightatom;
    296313
    297   //!> contains still the old leftatom id after the index of the bond changed
    298   atomId_t oldleftatomId;
    299 
    300   //!> contains still the old rightatom id after the index of the bond changed
    301   atomId_t oldrightatomId;
    302 
    303   //!> contains still the old molecule id after the index of the bond changed
    304   moleculeId_t oldmoleculeId;
    305 
    306314  //!> reference to InstanceBoard for callbacks on subjectKilled()
    307315  QtObservedInstanceBoard & board;
Note: See TracChangeset for help on using the changeset viewer.