casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
3DController.qo.h
Go to the documentation of this file.
1 
2 #ifndef GLWIDGET_H
3 #define GLWIDGET_H
4 
5 #include <graphics/X11/X_enter.h>
6 #include <QGLWidget>
7 #include <QVector>
8 #include <QAction>
9 #include <QMenu>
10 #include <graphics/X11/X_exit.h>
11 
15 
16 namespace casa {
17 
18 class GLWidget : public QGLWidget
19 {
20  Q_OBJECT
21 
22 public:
23  GLWidget(QWidget *parent = 0);
24  ~GLWidget();
25 
26  QSize minimumSizeHint() const;
27  QSize sizeHint() const;
28 
29  void setDD(char*, int& pol);
30  void getCubeSize(int&, int&, int&);
31  void getMinMax(float&, float&);
32  float getBound();
33 
34 public slots:
35  void setXRotation(int angle);
36  void setYRotation(int angle);
37  void setZRotation(int angle);
38 
39  void setZNear(int angle);
40  void setZDepth(int angle);
41  void setTrans(int angle);
42 
43  void setColormap(const QString&);
44 
45  void updatePosition();
46 
47  void setFrame(bool);
48  void setFog(int);
49  void setLight(int);
50 
51  void setNumColors(int);
52  void setPol(const QString&, int);
53 
54  void setBG(const QString&);
55  void setZoom(int);
56 
57  void showHelp();
58 
59 signals:
60  void xRotationChanged(int angle);
61  void yRotationChanged(int angle);
62  void zRotationChanged(int angle);
63 
64  void zNearChanged(int angle);
65  void zDepthChanged(int angle);
66  void transChanged(int angle);
67 
68  void resetZNear(double, double, double);
69  void resetZDepth(double, double, double);
70 
71  void colorChanged(int, float, float, const QString&);
72 
73 protected:
74  void initializeGL();
75  void paintGL();
76  void resizeGL(int width, int height);
77  void mousePressEvent(QMouseEvent *event);
78  void mouseMoveEvent(QMouseEvent *event);
79  void mouseDoubleClickEvent(QMouseEvent *event);
80 
81 private:
82 
86  //Colormap* cmap;
87 
91  int numColors;
92  QString cmapname;
93 
94  void normalizeAngle(int *angle);
95  void setColorTable(const QString& cmap = "");
96 
97  GLuint makeObject(bool transChanged = true);
98  GLuint makeObject2();
99  GLuint object;
100  GLuint box;
101 
104 
105  void getLinearColor(float& r, float& g, float& b, float v,
106  float min = 0., float max = 1.);
107  void getTableColor(float& r, float& g, float& b, float v,
108  float min = 0., float max = 1.);
109  GLfloat cx;
110  GLfloat cy;
111  GLfloat cz;
112  GLfloat cd;
113  int pol;
114 
115  GLfloat thresh;
116 
117  int near;
118  int depth;
119  int trans;
120 
121  int xRot;
122  int yRot;
123  int zRot;
124  QPoint lastPos;
125 
126  bool frameOn;
127  int zoom;
128  QColor bg;
129 
130  GLuint filter;
131 
132  static const GLuint fogMode[3];
133  static const GLfloat fogColor[4];
134 
135  GLuint light;
136 
137  QString tips;
138 
139  QMenu* menu;
140  QAction* helpAct;
141  QAction* profileAct;
142  QAction* momentAct;
143 
144 };
145 
146 }
147 #endif
void setZoom(int)
void setLight(int)
void setFog(int)
void getCubeSize(int &, int &, int &)
void setTrans(int angle)
DisplayData3 * dd3
casacore::Cube< float > data
#define max(a, b)
Definition: hio.h:44
GLWidget(QWidget *parent=0)
GLuint makeObject2()
#define min(a, b)
Definition: hio.h:45
void colorChanged(int, float, float, const QString &)
static const GLuint fogMode[3]
void setColorTable(const QString &cmap="")
void setXRotation(int angle)
void setFrame(bool)
void getLinearColor(float &r, float &g, float &b, float v, float min=0., float max=1.)
void calcLinearMaps(casacore::uInt numColors, casacore::Vector< float > &r, casacore::Vector< float > &g, casacore::Vector< float > &b)
void zDepthChanged(int angle)
void normalizeAngle(int *angle)
void setYRotation(int angle)
void xRotationChanged(int angle)
Specialization for Quantum&lt;Vector&lt;T&gt; &gt;
Definition: QVector.h:37
void mouseDoubleClickEvent(QMouseEvent *event)
void zNearChanged(int angle)
void mouseMoveEvent(QMouseEvent *event)
void initializeGL()
QAction * profileAct
void resetZDepth(double, double, double)
void transChanged(int angle)
void setBG(const QString &)
float getBound()
casacore::Vector< float > bMap
void setZDepth(int angle)
void getMinMax(float &, float &)
QAction * momentAct
QSize sizeHint() const
void getTableColor(float &r, float &g, float &b, float v, float min=0., float max=1.)
void setColormap(const QString &)
casacore::Vector< float > gMap
casacore::Vector< float > rMap
Colormap* cmap;.
void resizeGL(int width, int height)
void setZNear(int angle)
void setDD(char *, int &pol)
void setZRotation(int angle)
void updatePosition()
static const GLfloat fogColor[4]
void setPol(const QString &, int)
void setNumColors(int)
void yRotationChanged(int angle)
void mousePressEvent(QMouseEvent *event)
void zRotationChanged(int angle)
GLuint makeObject(bool transChanged=true)
QVector< DisplayPoint3 > pList
QSize minimumSizeHint() const
void resetZNear(double, double, double)
unsigned int uInt
Definition: aipstype.h:51