CamtransApp.h

Go to the documentation of this file.
00001 /**
00002  * This class will create the gui used to test your camera.
00003  *
00004  * You do not need to modify this file
00005  */
00006 
00007 #ifndef __CAMTRANSAPP_H__
00008 #define __CAMTRANSAPP_H__
00009 
00010 #include <QMainWindow>
00011 #include <QColor>
00012 #include <QStack>
00013 
00014 class CamtransCanvas;
00015 class CS123OpenGLCanvas;
00016 class CS123OpenGLCanvasContainer;
00017 class QSlider;
00018 class QLabel;
00019 class QDockWidget;
00020 class QRadioButton;
00021 
00022 class CamtransApp : public QMainWindow {
00023     Q_OBJECT
00024 
00025     public:
00026    CamtransApp();
00027    ~CamtransApp();
00028 
00029    void addCanvas(CamtransCanvas* canvas);
00030    void addCanvas(CamtransCanvas* canvas, const char* title);
00031 
00032     private slots:
00033    void rotateUPressed();
00034    void rotateVPressed();
00035    void rotateNPressed();
00036 
00037    void translateXPressed();
00038    void translateYPressed();
00039    void translateZPressed();
00040 
00041    void aspectRatioChanged(int value);
00042    void heightAngleChanged(int value);
00043 
00044    void translateChanged(int value);
00045    void rotateChanged(int value);
00046 
00047    void xAxisPushed2(bool);
00048    void yAxisPushed2(bool);
00049    void zAxisPushed2(bool);
00050    void axonometricPushed2(bool);
00051 
00052    void loadMesh();
00053 
00054    void reset();
00055 
00056     signals:
00057    void rotateU(int degree);
00058    void rotateV(int degree);
00059    void rotateN(int degree);
00060    void translateX(int u);
00061    void translateY(int v);
00062    void translateZ(int n);
00063    void haChanged(int value);
00064    void arChanged(float value);
00065 
00066    void xAxisPushed();
00067    void yAxisPushed();
00068    void zAxisPushed();
00069    void axonometricPushed();
00070 
00071    void meshChanged(const char*);
00072 
00073     protected:
00074    CS123OpenGLCanvas *getActiveCanvas();
00075 
00076     private:
00077 
00078    enum Dimension { DIM_U, DIM_V, DIM_N, DIM_X, DIM_Y, DIM_Z};
00079 
00080    QDockWidget* m_controlPanel;
00081    QSlider* m_rotateSlider;
00082    QSlider* m_translateSlider;
00083 
00084    QSlider* m_haSlider;
00085    QSlider* m_arSlider;
00086 
00087    QRadioButton *m_uRot, *m_xTrans;
00088 
00089    QLabel* m_translateLabel;
00090    QLabel* m_rotateLabel;
00091    QLabel* m_haLabel;
00092    QLabel* m_arLabel;
00093 
00094    int m_dRot;
00095    int m_dTrans;
00096 
00097    int m_rotU, m_rotV, m_rotN;
00098    int m_transX, m_transY, m_transZ;
00099    int m_ha;
00100    float m_ar;
00101 
00102    Dimension rotateDim;
00103    Dimension translateDim;
00104 
00105    QStack<CS123OpenGLCanvasContainer *> m_canvases;
00106    int m_noCanvas;
00107 };
00108 
00109 #endif
00110 

Generated on Sat Sep 20 04:06:11 2008 for CS123Support by  doxygen 1.5.6