Ignore:
Timestamp:
Feb 12, 2016, 11:15:05 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:
16bd37
Parents:
7a205a
git-author:
Frederik Heber <heber@…> (10/17/15 12:40:14)
git-committer:
Frederik Heber <heber@…> (02/12/16 23:15:05)
Message:

GLMoleculeObject_molecule's ObservedValues is now all static.

  • this is preparatory for extracting their instantation to an external class InstanceInformationBoard that keeps track of the lives of instances in the World that are needed inside QtGui (e.g. for visual representation).
File:
1 edited

Legend:

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

    r7a205a r8688ef  
    2020#include <vector>
    2121#include <boost/any.hpp>
     22#include <boost/function.hpp>
    2223
    2324#include "CodePatterns/Cacheable.hpp"
     
    114115  typedef std::set<atomId_t> atoms_t;
    115116
    116   molecule::BoundingBoxInfo initBoundingBox() const;
     117  static molecule::BoundingBoxInfo initBoundingBox();
    117118
    118119  QGeometryData updateTesselationHull() const;
    119   molecule::BoundingBoxInfo updateBoundingBox() const;
    120   atoms_t updateAtoms();
    121   moleculeId_t updateIndex() const;
    122   std::string updateName() const;
     120  static molecule::BoundingBoxInfo updateBoundingBox(
     121      const boost::function<const moleculeId_t ()> &_getMolIndex);
     122  static moleculeId_t updateIndex();
     123  static std::string updateName(
     124      const boost::function<const moleculeId_t ()> &_getMolIndex);
    123125
    124126  //!> the Observable we are signed on, also indicates whether we are sign on (not NULL)
     
    138140  //!> list of channels when the name needs to update
    139141  static const Observable::channels_t NameChannels;
    140 
    141   boost::function<moleculeId_t ()> MolIndexUpdater;
    142   boost::function<std::string ()> MolNameUpdater;
    143   boost::function<QGeometryData ()> TesselationHullUpdater;
    144   boost::function<molecule::BoundingBoxInfo ()> BoundingBoxUpdater;
    145   boost::function<atoms_t ()> PresentAtomsUpdater;
    146142
    147143private:
     
    165161  std::vector<boost::any> ObservedValues;
    166162
    167   /** Initializes all \a ObservedValues entries.
    168    *
     163  /** Initializes all \a _ObservedValues entries.
     164   *
     165   * \param _ObservedValues vector of ObservedValue to be filled
    169166   * \param _moid molecule id
    170    */
    171   void initObservedValues(const moleculeId_t _molid);
     167   * \param _molref reference to molecule
     168   * \param _subjectKilled ref to function to call on subjectKilled()
     169   */
     170  static void initObservedValues(
     171      std::vector<boost::any> &_ObservedValues,
     172      const moleculeId_t _molid,
     173      const molecule * const _molref,
     174      const boost::function<void()> &_subjectKilled);
    172175
    173176  /** Destroys all \a ObservedValues entries.
    174177   *
    175    */
    176   void destroyObservedValues();
     178   * \param _ObservedValues vector of ObservedValue to be destroyed
     179   */
     180  static void destroyObservedValues(
     181      std::vector<boost::any> &_ObservedValues);
    177182
    178183  /** Getter to molecule index contained in \a ObservedValues.
     
    212217  mutable size_t subjectKilledCount;
    213218
     219private:
     220
     221  boost::function<QGeometryData ()> TesselationHullUpdater;
     222
    214223  //!> contains current version of the tesselation hull on request
    215224  Cacheable<QGeometryData> TesselationHull;
    216225
    217 private:
    218226  //!> contains the set of atoms displayed
    219227  atoms_t DisplayedAtoms;
Note: See TracChangeset for help on using the changeset viewer.