- Timestamp:
- Aug 5, 2015, 5:32:07 PM (10 years ago)
- 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:
- 009e2e2
- Parents:
- b3a33d
- git-author:
- Frederik Heber <heber@…> (06/19/15 17:37:50)
- git-committer:
- Frederik Heber <heber@…> (08/05/15 17:32:07)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/UIElements/Views/Qt4/Qt3D/GLMoleculeObject_atom.hpp
rb3a33d r534374 16 16 #include "GLMoleculeObject.hpp" 17 17 18 #include "CodePatterns/ObservedValue.hpp" 18 19 #include "CodePatterns/Observer/Observer.hpp" 20 21 #include "LinearAlgebra/Vector.hpp" 19 22 20 23 #include "Bond/bond.hpp" … … 24 27 class GLWorldScene; 25 28 26 class GLMoleculeObject_atom : public GLMoleculeObject, publicObserver29 class GLMoleculeObject_atom : public GLMoleculeObject, Observer 27 30 { 28 31 Q_OBJECT … … 40 43 private slots: 41 44 void wasClicked(); 45 void resetIndex(); 46 void resetElement(); 47 void resetPosition(); 48 void resetBonds(); 49 void resetSelectionStatus(); 42 50 43 51 signals: 44 52 void clicked(atomId_t); 45 void BondsInserted(const bond::ptr _bond, const GLMoleculeObject_bond::SideOfBond side); 46 void indexChanged(GLMoleculeObject_atom *ob, int oldId, int newId); 53 void BondsAdded(const atomId_t _left, const atomId_t _right, const GLMoleculeObject_bond::SideOfBond side); 54 void BondsRemoved(const atomId_t _left, const atomId_t _right); 55 void indexChanged(GLMoleculeObject_atom *ob, const atomId_t oldId, const atomId_t newId); 56 void idChanged(); 57 void positionChanged(); 58 void elementChanged(); 59 void bondsChanged(); 60 void selectionstatusChanged(); 47 61 48 62 private: … … 50 64 friend class GLMoleculeObject_molecule; 51 65 52 void resetPosition(); 66 //!> typedef for list of bonds, defined by pairs of atom ids 67 typedef std::vector< std::pair<atomId_t, atomId_t> > ListOfBonds_t; 68 69 static const atom * const getAtomConst(const atomId_t _id); 70 static atom * const getAtom(const atomId_t _id); 71 72 atomId_t updateIndex() const; 73 Vector updatePosition() const; 74 atomicNumber_t updateElement() const; 75 ListOfBonds_t updateBonds() const; 76 bool updateSelectionStatus() const; 77 78 void activateObserver(); 79 void deactivateObserver(); 53 80 54 81 private: 55 void resetElement();56 void resetIndex();57 void resetProperties();58 82 59 const atomId_t atomicid; 83 //!> current list of bonds to compare new onw against for changes 84 ListOfBonds_t ListOfBonds; 60 85 61 bool uptodatePosition; 62 bool uptodateElement; 86 //!> temporary variable used in cstor 87 atom * const atomref; 88 89 //!> cached value of the atom's id 90 ObservedValue<atomId_t> AtomIndex; 91 //!> cached value of the atom's position 92 ObservedValue<Vector> AtomPosition; 93 //!> cached value of the atom's element 94 ObservedValue<atomicNumber_t> AtomElement; 95 //!> cached value of the atom's id 96 ObservedValue<ListOfBonds_t> AtomBonds; 97 //!> cached value of the atom's selection status 98 ObservedValue<bool> AtomSelectionStatus; 99 100 //!> list of channels when index needs to update 101 static const Observable::channels_t AtomIndexChannels; 102 //!> list of channels when position needs to update 103 static const Observable::channels_t AtomPositionChannels; 104 //!> list of channels when element needs to update 105 static const Observable::channels_t AtomElementChannels; 106 //!> list of channels when bonds needs to update 107 static const Observable::channels_t AtomBondsChannels; 108 //!> list of channels when selection status needs to update 109 static const Observable::channels_t AtomSelectionStatusChannels; 110 111 //!> the Observable we are signed on, also indicates whether we are sign on (not NULL) 112 const Observable *owner; 63 113 }; 64 114
Note:
See TracChangeset
for help on using the changeset viewer.