Ignore:
Timestamp:
Feb 14, 2016, 12:34:28 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:
62a0ee
Parents:
e7ed12
git-author:
Frederik Heber <heber@…> (01/06/16 17:34:22)
git-committer:
Frederik Heber <heber@…> (02/14/16 12:34:28)
Message:

QtObservedInstanceBoard now sends QtObserved..::ptr around in signals.

  • this should get rid of the problem that we need to keep the QtObservedAtom until it was requested at least once. And we don't know for how long. Now, we simply place the shared_ptr into the signal (to which it seems to be copied) and hence a representation of the atoms remains valid.
  • cstor of GLMoleculeObject_.. take Observed.. as ref.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/Views/Qt4/Qt3D/GLWorldScene.hpp

    re7ed12 r1b07b1  
    2727#include "types.hpp"
    2828
    29 class atom;
    30 class molecule;
     29#include "UIElements/Qt4/InstanceBoard/QtObservedAtom.hpp"
     30#include "UIElements/Qt4/InstanceBoard/QtObservedMolecule.hpp"
     31
    3132class Shape;
    3233
     
    8889  void moleculeClicked(moleculeId_t no);
    8990  void moleculeRemoved(const moleculeId_t _id);
    90   void moleculeInserted(const moleculeId_t _id);
     91  void moleculeInserted(QtObservedMolecule::ptr);
    9192  void moleculeIndexChanged(const moleculeId_t _oldid, const moleculeId_t _newid);
    9293  void atomRemoved(const moleculeId_t _molid, const atomId_t _atomid);
    93   void atomInserted(const moleculeId_t _molid, const atomId_t _atomid);
     94  void atomInserted(QtObservedAtom::ptr);
    9495  void setSelectionModeAtom();
    9596  void setSelectionModeMolecule();
     
    122123    MAX_StateChangeType
    123124  };
     125  typedef std::map< atomId_t, QtObservedAtom::ptr> QtObservedAtomMap_t;
    124126  typedef std::multimap< atomId_t, StateChangeType> StateChangeMap_t;
    125127  typedef std::map< moleculeId_t, StateChangeMap_t> MoleculeMissedStateMap_t;
    126128  //!> map of all missed state changes
    127129  MoleculeMissedStateMap_t MoleculeMissedStateMap;
     130  //!> map to contain all QtObservedAtom that have not been instantiated so far
     131  QtObservedAtomMap_t QtObservedAtomMap;
    128132  //!> flag to indicate whether state map is currently worked on
    129133  boost::recursive_mutex MoleculeMissedStateMap_mutex;
Note: See TracChangeset for help on using the changeset viewer.