RayTracing
C:/Users/user/Desktop/qt/task4/scene3D.h
См. документацию.
00001 #ifndef SCENE3D_H
00002 #define SCENE3D_H
00003 
00004 #include <QtOpenGL\QGLWidget> // подключаем класс QGLWidget
00005 
00006 class Scene3D : public QGLWidget // класс Scene3D наследует встроенный класс QGLWidget
00007 {
00008    Q_OBJECT
00009 
00010    private:
00011       GLfloat ratio; // отношение высоты окна виджета к его ширине
00012 
00013       // для первой фигуры
00014       GLfloat xRot1; // угол поворота вокруг оси X
00015       GLfloat yRot1; // угол поворота вокруг оси Y
00016       GLfloat zRot1; // угол поворота вокруг оси Z
00017       GLfloat zTra1; // величина трансляции по оси Z
00018 
00019       // для второй фигуры
00020       GLfloat xRot2; // угол поворота вокруг оси X
00021       GLfloat yRot2; // угол поворота вокруг оси Y
00022       GLfloat zRot2; // угол поворота вокруг оси Z
00023       GLfloat zTra2; // величина трансляции по оси Z
00024 
00025       QTimer *timer; // декларируем таймер
00026 
00027       void getVerTexArrays(); // определить массив вершин
00028       void getIndexArray();   // определить массив индексов вершин
00029       void genTextures();     // создать текстуры
00030       void drawFigure();      // построить фигуру
00031 
00032       void selectFigures(QPoint mp); // выбрать фигуру
00033 
00034    protected:
00035       void initializeGL();                     // метод для проведения инициализаций, связанных с OpenGL
00036       void resizeGL(int nWidth, int nHeight);  // метод вызывается при изменении размеров окна виджета
00037       void paintGL();                          // метод, чтобы заново перерисовать содержимое виджета
00038       void mousePressEvent(QMouseEvent* pe);   // метод обработки события мыши при нажатии клавиши мыши
00039 
00040    private slots: // слоты
00041       void change(); // изменение углов поворота и величины трансляции
00042       void changeTex(); // поменять текстуры местами
00043       void stopTmr(); // остановить таймер
00044       void startTmr(); // запустить таймер
00045 
00046    public:
00047       Scene3D(QWidget* parent = 0); // конструктор класса
00048       ~Scene3D();                   // деструктор
00049 };
00050 #endif