Ignore:
File:
1 edited

Legend:

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

    rd6203a r9a7ef9  
    2222class atom;
    2323class bond;
     24class GLMoleculeObject_atom;
     25class GLWorldScene;
    2426class molecule;
    2527
     
    2830  Q_OBJECT
    2931public:
     32  GLMoleculeObject_molecule(QObject *parent, const molecule *molref);
    3033  GLMoleculeObject_molecule(QGLSceneNode *mesh[], QObject *parent, const molecule *molref);
    3134  virtual ~GLMoleculeObject_molecule();
     
    3841  void recieveNotification(Observable *publisher, Notification_ptr notification);
    3942
     43  void initialize(QGLView *view, QGLPainter *painter);
     44  void draw(QGLPainter *painter, const QVector4D &cameraPlane);
     45
     46  typedef std::pair< atomId_t, atomId_t> BondIds;
     47  friend std::ostream &operator<<(std::ostream &ost, const BondIds &t);
     48
     49  static BondIds getBondIds(
     50      const bond::ptr _bond,
     51      const enum GLMoleculeObject_bond::SideOfBond side);
     52
     53  void selected(const bool _isSelected)
     54  { isSelected = _isSelected; }
     55
     56signals:
     57  void changed();
     58  void changeOccured();
     59  void hoverChanged(const atom&);
     60  void hoverChanged(const molecule&, int);
     61  void atomClicked(atomId_t no);
     62  void moleculeClicked(moleculeId_t no);
     63  void changeAtomId(GLMoleculeObject_atom *, int, int);
     64
     65private slots:
     66  //!> grant GLWorldScene access to private slots
     67  friend class GLWorldScene;
     68
     69  void wasClicked();
     70  void atomInserted(const atomicNumber_t _id);
     71  void atomRemoved(const atomicNumber_t _id);
     72  void bondInserted(const bond::ptr _bond, const GLMoleculeObject_bond::SideOfBond side);
     73  void bondRemoved(const atomId_t leftnr, const atomId_t rightnr);
     74  void hoverChangedSignalled(GLMoleculeObject *ob);
     75
     76  void setVisible(bool value);
     77
    4078private:
     79  void init();
     80  void reinit();
     81
     82  void addAtomBonds(
     83      const bond::ptr &_bond,
     84      const GLMoleculeObject_bond::SideOfBond _side
     85      );
     86  void addAtomBonds(const atom *_atom);
     87
     88  void updateTesselationHull();
     89
     90  //!> states whether selection box is additionally drawn or not
     91  bool isSelected;
     92  bool isBoundingBoxUptodate;
     93
     94  //!> whether we are signed on to the associated molecule
     95  bool isSignedOn;
    4196
    4297  const molecule *_molecule;
     98
     99  bool TesselationHullUptodate;
     100
     101  typedef std::map< atomId_t, GLMoleculeObject_atom* > AtomNodeMap;
     102  typedef std::map< BondIds , GLMoleculeObject_bond* > BondNodeMap;
     103  AtomNodeMap AtomsinSceneMap;
     104  BondNodeMap BondsinSceneMap;
     105
     106  const atom *hoverAtom;
    43107};
    44108
     109std::ostream &operator<<(std::ostream &ost, const GLMoleculeObject_molecule::BondIds &t);
    45110
    46111
Note: See TracChangeset for help on using the changeset viewer.