FACT++  1.0
Q3DCameraWidget.h
Go to the documentation of this file.
1 /*
2  * Q3DCameraWidget.h
3  *
4  * Created on: Aug 26, 2011
5  * Author: lyard
6  */
7 
8 #ifndef Q3DCAMERAWIDGET_H_
9 #define Q3DCAMERAWIDGET_H_
10 
11 #include "BasicGlCamera.h"
12 #include <QtCore/QTimer>
13 #include <iostream>
14 
15 
16 using namespace std;
17 
19 {
20  float rotX;
21  float rotY;
22  float position[3];
23 
24  cameraLocation() : rotX(0), rotY(0), position{0,0,0}
25  {}
26  cameraLocation(float rx, float ry, float x, float y, float z): rotX(rx), rotY(ry), position{x,y,z}
27  {}
28 };
29 
30 struct float3
31 {
32  float data[4];
34  {
35  data[0] = data[1] = data[2] = 0;
36  data[3] = 1.f;
37  }
38  float& operator [] (int index)
39  {
40  return data[index];
41  }
42 };
44 {
45  Q_OBJECT
46 
47 public:
48  Q3DCameraWidget(QWidget* pparent = 0);
49  ~Q3DCameraWidget();
50  void setData(float* data);
51  void setData(short* data);
52 public Q_SLOTS:
53  void timedUpdate();
54 
55 protected:
56  void paintGL();
57  void initializeGL();
58  void resizeGL(int cWidth, int cHeight);
59  void drawCameraBody();
60  float rotX, rotY;
61  void mousePressEvent(QMouseEvent* event);
62  void mouseDoubleClickEvent(QMouseEvent *cEvent);
63  void mouseMoveEvent(QMouseEvent *cEvent);
64 
65 private:
67  vector<short> _data;
68  vector<float> _colorR;
69  vector<float> _colorG;
70  vector<float> _colorB;
71  vector<float> _x;
72  vector<float> _y;
73  vector<float> _z;
74  QTimer _timer;
75  bool isPicking;
76  void calculateColorsAndPositions();
78 
79 };
80 
81 #endif /* Q3DCAMERAWIDGET_H_ */
vector< float > _y
STL namespace.
vector< float > _colorG
cameraLocation(float rx, float ry, float x, float y, float z)
vector< float > _colorB
cameraLocation currentLoc
vector< float > _x
vector< float > _z
vector< short > _data
float data[4 *1440]
vector< float > _colorR
StaticDataBoard & operator[](int i)
Definition: HeadersFTM.h:276