00001 #ifndef _OSG_VIEWER_HPP_
00002 #define _OSG_VIEWER_HPP_
00003
00004 #include <QMainWindow>
00005 #include <string>
00006
00007 class Ui_CameraPosition;
00008 class Ui_Snapshots;
00009
00010 class QDoubleSpinBox;
00011 class QSlider;
00012
00013 namespace jafar {
00014 namespace viewer3d {
00015 class View3D;
00021 class Viewer3D : public QMainWindow {
00022 Q_OBJECT
00023 public:
00024 Viewer3D( QWidget * parent = 0, Qt::WindowFlags f = 0 );
00025 virtual ~Viewer3D();
00029 View3D* view();
00033 void setSpinBoxLimit( double _limit );
00034 void setTitle(const std::string& _title );
00035 private:
00036 void connectSpinBoxToSlider( QDoubleSpinBox* spinBox, QSlider* slider );
00037 private slots:
00038 void updateCamera();
00039 void updateCameraControl();
00040 void saveCamera();
00041 void loadCamera();
00042 void manipulatorIndexChanged( int _index );
00043 void takeSnapshot();
00044 void startMovie();
00045 void stepMovie();
00046 void stopMovie();
00047 private:
00048 View3D* m_view;
00049 Ui_CameraPosition* m_cameraPosition;
00050 Ui_Snapshots* m_snapshots;
00051 bool m_blockUpdateCamera;
00052 };
00053 }
00054 }
00055
00056 #endif