rock_widget_collection  0.1
RangeViewGL.h
Go to the documentation of this file.
1 /*
2  * File: RangeViewGL.h
3  * Author: Matthias Goldhoorn (matthias.goldhoorn@dfki.de)
4  *
5  */
6 
7 #ifndef RANGEVIEWGL_H
8 #define RANGEVIEWGL_H
9 
11 #include <QtCore/QTimer>
12 #include <QtCore/QMutex>
13 #include <Eigen/Core>
14 
16 {
17  Q_OBJECT
18  Q_CLASSINFO("Author", "Matthias Goldhoorn")
19 
20 
21 
22 public:
23  RangeViewGL(ImageViewOld &parent);
24  virtual ~RangeViewGL();
25  QSize minimumSizeHint() const;
26  QSize sizeHint() const;
27  void setPosition(int xRot,int yRot, int zRot, int xMove, int yMove, int zMove, float zoom, int width, int height);
28  void setData(const std::vector<Eigen::Vector3d> data);
29  void keyPressEvent ( QKeyEvent * event );
30 
31 public slots:
32  void repaintFunc();
33  void setXRotation(int angle);
34  void setYRotation(int angle);
35  void setZRotation(int angle);
36  void setxPosition(int value);
37  void setyPosition(int value);
38  void setzPosition(int value);
39  void setZoomMin(float value);
40  void setZoomMax(float value);
41 
42  void initializeGL();
43  void paintGL();
44  void resizeGL(int, int);
45  void mousePressEvent(QMouseEvent*);
46  void mouseMoveEvent(QMouseEvent*);
47  void wheelEvent(QWheelEvent*);
48 
49 protected:
50 
51 private:
52 
53  std::vector<Eigen::Vector3d> data;
54  GLuint groundPlane;
55  void normalizeAngle(int *angle);
56  float zoom, zoom_min, zoom_max;
57 
58 
59  inline double max(double a,double b){
60  return (a>b)?a:b;
61  }
62 
63 
64  int xRot;
65  int yRot;
66  int zRot;
67  int xShift;
68  int yShift;
69  int zShift;
70  QPoint lastPos;
71  QPoint lastPosTrans;
72  QMutex mutex;
73 
74 signals:
75  void xRotationChanged(int angle);
76  void yRotationChanged(int angle);
77  void zRotationChanged(int angle);
78  void xPositionChanged(int value);
79  void yPositionChanged(int value);
80  void zPositionChanged(int value);
81 
82 };
83 
84 #endif
85 
virtual ~RangeViewGL()
Definition: RangeViewGL.cc:52
void setZoomMax(float value)
Definition: RangeViewGL.cc:117
void setZRotation(int angle)
Definition: RangeViewGL.cc:103
QSize minimumSizeHint() const
Definition: RangeViewGL.cc:57
void setData(const std::vector< Eigen::Vector3d > data)
Definition: RangeViewGL.cc:45
void xPositionChanged(int value)
void xRotationChanged(int angle)
void wheelEvent(QWheelEvent *)
Definition: RangeViewGL.cc:273
void setYRotation(int angle)
Definition: RangeViewGL.cc:94
void paintGL()
Definition: RangeViewGL.cc:188
void mouseMoveEvent(QMouseEvent *)
Definition: RangeViewGL.cc:233
void resizeGL(int, int)
Definition: RangeViewGL.cc:216
void initializeGL()
Definition: RangeViewGL.cc:139
void keyPressEvent(QKeyEvent *event)
Definition: RangeViewGL.cc:68
void setXRotation(int angle)
Definition: RangeViewGL.cc:85
void yRotationChanged(int angle)
void setxPosition(int value)
Definition: RangeViewGL.cc:123
void setzPosition(int value)
Definition: RangeViewGL.cc:133
void setPosition(int xRot, int yRot, int zRot, int xMove, int yMove, int zMove, float zoom, int width, int height)
Definition: RangeViewGL.cc:260
void yPositionChanged(int value)
void setyPosition(int value)
Definition: RangeViewGL.cc:128
void repaintFunc()
Definition: RangeViewGL.cc:79
void mousePressEvent(QMouseEvent *)
Definition: RangeViewGL.cc:226
RangeViewGL(ImageViewOld &parent)
Definition: RangeViewGL.cc:23
void setZoomMin(float value)
Definition: RangeViewGL.cc:112
void zRotationChanged(int angle)
void zPositionChanged(int value)
QSize sizeHint() const
Definition: RangeViewGL.cc:62