source: src/UIElements/Views/Qt4/Qt3D/GLMoleculeObject_atom.hpp@ 8819d2

Candidate_v1.6.1 ChemicalSpaceEvaluator Gui_displays_atomic_force_velocity PythonUI_with_named_parameters TremoloParser_IncreasedPrecision
Last change on this file since 8819d2 was 897a01, checked in by Frederik Heber <frederik.heber@…>, 7 years ago

Arrows display velocity and force of each atom.

  • Property mode set to 100644
File size: 1.8 KB
RevLine 
[907636]1/*
2 * GLMoleculeObject_atom.hpp
3 *
4 * Created on: Aug 17, 2011
5 * Author: heber
6 */
7
8#ifndef GLMOLECULEOBJECT_ATOM_HPP_
9#define GLMOLECULEOBJECT_ATOM_HPP_
10
11// include config.h
12#ifdef HAVE_CONFIG_H
13#include <config.h>
14#endif
15
16#include "GLMoleculeObject.hpp"
17
[7c7c4a]18#include <vector>
19#include <boost/any.hpp>
20
[534374]21#include "CodePatterns/ObservedValue.hpp"
[7188b1]22
[917659]23#include "UIElements/Views/Qt4/Qt3D/GLMoleculeObject_bond.hpp"
[65c323]24#include "UIElements/Qt4/InstanceBoard/QtObservedAtom.hpp"
[917659]25#include "types.hpp"
[907636]26
[ce4126]27class GLWorldScene;
[2f7988]28class QtObservedInstanceBoard;
[ce4126]29
[65c323]30class GLMoleculeObject_atom : public GLMoleculeObject
[907636]31{
[06ebf5]32 Q_OBJECT
[907636]33public:
[026bef]34 GLMoleculeObject_atom(
35 QGLSceneNode *mesh[],
[897a01]36 QGLSceneNode *mesharrow[],
[026bef]37 QObject *parent,
[1b07b1]38 QtObservedAtom::ptr &_ObservedAtom
[026bef]39 );
[9c18e4]40 virtual ~GLMoleculeObject_atom();
[7188b1]41
[f115cc]42 void draw(QGLPainter *painter, const QVector4D &cameraPlane);
43
[06ebf5]44private slots:
45 void wasClicked();
[522c45]46 void resetIndex();
[534374]47 void resetElement();
48 void resetPosition();
[897a01]49 void resetVelocity();
50 void resetForce();
[5cd3a33]51 void resetSelected();
[06ebf5]52
53signals:
54 void clicked(atomId_t);
[534374]55 void BondsAdded(const atomId_t _left, const atomId_t _right, const GLMoleculeObject_bond::SideOfBond side);
56 void BondsRemoved(const atomId_t _left, const atomId_t _right);
[494478]57 void indexChanged(GLMoleculeObject_atom*, const atomId_t _oldid, const atomId_t _newid);
[907636]58
[ce4126]59private:
[026bef]60 void init(const atomId_t _id);
61
[534374]62private:
[897a01]63 //!> internal GLMoleculeObject to represent the atom's velocity as an arrow
64 GLMoleculeObject GLMoleculeObjectVelocity;
65 //!> internal GLMoleculeObject to represent the atom's force as an arrow
66 GLMoleculeObject GLMoleculeObjectForce;
67
[534374]68 //!> current list of bonds to compare new onw against for changes
[65c323]69 QtObservedAtom::ListOfBonds_t ListOfBonds;
[8d5fbf1]70
[65c323]71 QtObservedAtom::ptr ObservedAtom;
[907636]72};
73
74
75
76#endif /* GLMOLECULEOBJECT_ATOM_HPP_ */
Note: See TracBrowser for help on using the repository browser.