#ifndef _QSCENEVIEWERWINDOW_H_ #define _QSCENEVIEWERWINDOW_H_ #include "gui/QGLViewerWidget.h" namespace projection { class ProjectionModel; enum SCENEVIEWER_VIEWMODE { SCENEVIEWER_VIEWMODE_PERSPECTIVE, SCENEVIEWER_VIEWMODE_CENTER, }; class QSceneViewerWindow : public QGLViewerWidget { Q_OBJECT public: QSceneViewerWindow(QWidget* pParent=0, const QGLWidget* pSharedWidget=0, Qt::WFlags flags=0); void setModel(ProjectionModel* pModel); void setViewMode(SCENEVIEWER_VIEWMODE viewMode); SCENEVIEWER_VIEWMODE getViewMode() const; void resetCamera(); void initFromDOMElement(const QDomElement& element); QDomElement domElement(const QString& name, QDomDocument& doc) const; protected: virtual void init(); virtual void draw(); virtual void keyReleaseEvent(QKeyEvent* pEvent); protected: SCENEVIEWER_VIEWMODE m_viewMode; ProjectionModel* m_pModel; }; }; #endif // _QSCENEVIEWERWINDOW_H_