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