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!
File:
1 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}
Note: See TracChangeset for help on using the changeset viewer.