Ignore:
Timestamp:
Feb 12, 2016, 11:15:06 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:
0f7ffe
Parents:
47f0e4
git-author:
Frederik Heber <heber@…> (01/25/16 11:09:33)
git-committer:
Frederik Heber <heber@…> (02/12/16 23:15:06)
Message:

GLMoleculeObject_atom, _bond, _molecule all use QtInstanceInformationBoard passed via GLWorldScene.

File:
1 edited

Legend:

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

    r47f0e4 r8d5fbf1  
    4242  GLMoleculeObject_molecule(
    4343      QObject *parent,
    44       const moleculeId_t molid);
     44      const moleculeId_t molid,
     45      QtInstanceInformationBoard * _board,
     46      std::vector<boost::any> _ObservedValues);
    4547  GLMoleculeObject_molecule(
    4648      QGLSceneNode *mesh[],
    4749      QObject *parent,
    48       const moleculeId_t molid);
     50      const moleculeId_t molid,
     51      QtInstanceInformationBoard * _board,
     52      std::vector<boost::any> _ObservedValues);
    4953  virtual ~GLMoleculeObject_molecule();
    5054
     
    7882  void AtomRemoved(const atomId_t _id);
    7983  void IdChanged();
    80   void InstanceRemoved(const moleculeId_t);
    8184
    8285private slots:
     
    99102  void resetTesselationHull();
    100103  void resetBoundingBox();
    101   void resetAtoms();
    102104  void resetIndex();
    103105  void resetName();
     
    111113  static const molecule * const getMolecule(const moleculeId_t _id);
    112114
     115  void init(const moleculeId_t _molid);
     116
    113117private:
    114118  void addAtomBonds(
     
    116120      const GLMoleculeObject_bond::SideOfBond _side
    117121      );
    118   void addAtomBonds(const atomId_t _id);
    119122
    120123  //!> typedef for the internal set of atoms
     
    130133      const boost::function<const moleculeId_t ()> &_getMolIndex);
    131134
     135  /** Getter to contained atoms contained in \a ObservedValues.
     136   *
     137   * \return molecule's contained atoms
     138   */
     139  atoms_t getPresentAtoms() const;
     140
    132141  //!> the Observable we are signed on, also indicates whether we are sign on (not NULL)
    133142  const Observable * owner;
     
    136145  const molecule * const molref;
    137146
    138   //!> list of channels when contained atoms needs to update
    139   static const Observable::channels_t AtomsChannels;
    140147  //!> list of channels when tesselation hull needs to update
    141148  static const Observable::channels_t HullChannels;
     
    159166    //!> contains newest version of the bounding box on request
    160167    BoundingBox,
    161     //!> contains the current live set of atoms for the molecule
    162     PresentAtoms,
    163168    //!> gives the size of the enumeration
    164169    MAX_ObservedTypes
     
    206211  molecule::BoundingBoxInfo getBoundingBox() const;
    207212
    208   /** Getter to contained atoms contained in \a ObservedValues.
    209    *
    210    * \return molecule's contained atoms
    211    */
    212   atoms_t getPresentAtoms() const;
    213 
    214   /** Counts how many ObservedValues got subjectKilled.
    215    *
    216    * This is used to give InstanceRemoved() signal only when each and every
    217    * ObservedValue (and the instance itself) has been subjectKilled by the
    218    * monitored Observable. Only then can we safely remove the instance.
    219    *
    220    * \param _molid molecule id who signalled subjectKilled()
    221    */
    222   void countsubjectKilled(const moleculeId_t _molid);
    223 
    224213  //!> counts how many ObservedValues have already been subjectKilled()
    225214  mutable size_t subjectKilledCount;
     
    241230
    242231  atomId_t hoverAtomId;
     232
     233  //!> we get multiple subjectKilled(), count and call callback() only on last
     234  const unsigned int AllsignedOnChannels;
     235  unsigned int signedOnChannels;
     236
     237  QtInstanceInformationBoard * board;
    243238};
    244239
Note: See TracChangeset for help on using the changeset viewer.