scenewidget.h

Go to the documentation of this file.
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 // forward declarations
00028 class IScene;
00029 class IModel;
00030 class IMeshModel;
00031 
00032 
00033 //=============================================================================
00034 //  CSceneWidget
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     // widgets
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     // test models are stored here.
00099     IModel**    m_models; // [ m_numModels ]
00100     int         m_numModels;
00101     IMeshModel* m_meshModel; // this points into m_models !!!!
00102     int         m_meshModelIndex; // index into m_models
00103     QString     m_meshFileName;
00104 
00105     // the scene to modify
00106     IScene*     m_scene;
00107 };
00108 
00109 #endif  // __SCENEWIDGET_H_INCLUDED__

Generated on Sun Mar 2 17:12:31 2008 for Shader Maker by  doxygen 1.5.4