00001
00016 #ifndef __SCENEWIDGET_H_INCLUDED__
00017 #define __SCENEWIDGET_H_INCLUDED__
00018
00019 #include <QtGui/QCheckBox>
00020 #include <QtGui/QComboBox>
00021 #include <QtGui/QRadioButton>
00022 #include <QtGui/QPushButton>
00023 #include <QtGui/QLabel>
00024 #include <QtGui/QGroupBox>
00025
00026
00027
00028 class IScene;
00029 class IModel;
00030 class IMeshModel;
00031
00032
00033
00034
00035
00036
00040 class CSceneWidget : public QWidget
00041 {
00042 Q_OBJECT
00043 public:
00048 CSceneWidget( IScene* scene );
00049 virtual ~CSceneWidget( void );
00050
00055 void init( void );
00056
00060 void shutdown( void );
00061
00062 private slots:
00063 void checkUseProgram( int toggleState );
00064 void checkWireframe( int toggleState );
00065 void checkBackFaceCulling( int toggleState );
00066 void checkShowOrigin( int toggleState );
00067 void checkShowNormals( int toggleState );
00068 void checkShowBoundingBox( int toggleState );
00069 void checkShowTangents( int toggleState );
00070 void setActiveModel( int index );
00071 void resetCamera( bool );
00072 void selectClearColor( bool );
00073 void loadMesh( bool );
00074 void setGeometryOutputType( int index );
00075 void setProjectionMode( int index );
00076 void setFov( int index );
00077
00078 private:
00079
00080
00081 QComboBox* m_activeModel;
00082 QComboBox* m_geometryOutputType;
00083 QComboBox* m_projectionMode;
00084 QComboBox* m_fov;
00085 QCheckBox* m_chkUseProgram;
00086 QCheckBox* m_chkWireframe;
00087 QCheckBox* m_chkBackFaceCulling;
00088 QCheckBox* m_chkShowOrigin;
00089 QCheckBox* m_chkShowNormals;
00090 QCheckBox* m_chkShowBoundingBox;
00091 QCheckBox* m_chkShowTangents;
00092 QPushButton* m_btnClearColor;
00093 QPushButton* m_btnResetCamera;
00094 QPushButton* m_btnLoadMesh;
00095 QLabel* m_labPrimitiveType;
00096 QGroupBox* m_groupGeometryShader;
00097
00098
00099 IModel** m_models;
00100 int m_numModels;
00101 IMeshModel* m_meshModel;
00102 int m_meshModelIndex;
00103 QString m_meshFileName;
00104
00105
00106 IScene* m_scene;
00107 };
00108
00109 #endif // __SCENEWIDGET_H_INCLUDED__