Go to the documentation of this file.00001 #ifndef URG_DATA_DRAW_H
00002 #define URG_DATA_DRAW_H
00003
00015 #include <QGLWidget>
00016 #include "Point3d.h"
00017 #include <memory>
00018
00019 namespace qrk {
00020 class RangeSensor;
00021 }
00022
00023
00027 class UrgDataDraw : public QGLWidget {
00028 Q_OBJECT;
00029
00030 UrgDataDraw(const UrgDataDraw& rhs);
00031 UrgDataDraw& operator = (const UrgDataDraw& rhs);
00032
00033 struct pImpl;
00034 std::auto_ptr<pImpl> pimpl;
00035
00036 protected:
00037 void initializeGL(void);
00038 void resizeGL(int width, int height);
00039 void paintGL(void);
00040 void mousePressEvent(QMouseEvent *event);
00041 void mouseMoveEvent(QMouseEvent *event);
00042
00043 QSize minimumSizeHint(void) const;
00044
00045 public slots:
00047 void setTypeH(bool checked);
00048
00050 void setFrontOnly(bool front_only);
00051
00053 void magnifyChanged(int value);
00054
00056 void resetView(void);
00057
00058 public:
00064 UrgDataDraw(QWidget* parent = 0);
00065 ~UrgDataDraw(void);
00066
00067 void redraw(qrk::RangeSensor& sensor,
00068 qrk::Point3d<int>& wii_rotate, bool record, bool no_plot);
00069
00070 void clearCaptureData(void);
00071
00072 void loadVrml(const std::string& fileName);
00073 void saveVrml(const std::string& fileName);
00074
00075 void setIntensityMode(bool on);
00076 };
00077
00078 #endif