Buran Motion Planning Framework
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
bmpf::QTGLWidget Class Referenceabstract

Базовый класс для QT виджетов и использованием OpenGL More...

#include <qt_gl_widget.h>

Inheritance diagram for bmpf::QTGLWidget:
Inheritance graph
[legend]
Collaboration diagram for bmpf::QTGLWidget:
Collaboration graph
[legend]

Public Member Functions

 QTGLWidget (QWidget *parent=nullptr)
 
virtual void cleanup ()
 
QSize minimumSizeHint () const Q_DECL_OVERRIDE
 
QSize sizeHint () const Q_DECL_OVERRIDE
 
virtual void setXRotation (int angle)=0
 
virtual void setYRotation (int angle)=0
 
virtual void setZRotation (int angle)=0
 

Protected Member Functions

virtual void init ()=0
 
virtual void paint ()=0
 
void initializeGL () Q_DECL_OVERRIDE
 
void paintGL () Q_DECL_OVERRIDE
 
void mousePressEvent (QMouseEvent *event) Q_DECL_OVERRIDE
 
void mouseMoveEvent (QMouseEvent *event) Q_DECL_OVERRIDE
 

Protected Attributes

int xAngle
 
int yAngle
 
int zAngle
 
bool _isTransparent
 
bool _core
 
QPoint _lastMousePos
 
QMatrix4x4 _worldTransform
 
QOpenGLShaderProgram * _program
 
QWidget * _parent
 
int _projMatrixLoc {}
 
int _mvMatrixLoc {}
 
int _normalMatrixLoc {}
 
int _lightPosLoc {}
 
QMatrix4x4 _camera
 
std::string _caption
 

Detailed Description

Базовый класс для QT виджетов и использованием OpenGL

Базовый класс для QT виджетов и использованием OpenGL почти все нужные методы уже прописаны. Необходимо написать класс-потомок, у которого должны быть определены методы инициализации init(), рисования paint() и поворота объекта вдоль базовых осей: setXRotation(), setYRotation(), setZRotation(). Углы поворота предполагаются целыми для удобства связывания со слайдерами

Constructor & Destructor Documentation

◆ QTGLWidget()

QTGLWidget::QTGLWidget ( QWidget *  parent = nullptr)
explicit

Конструктор виджета

Parameters
parentродительский виджет

Member Function Documentation

◆ cleanup()

void QTGLWidget::cleanup ( )
virtual

Очистить виджет

◆ init()

virtual void bmpf::QTGLWidget::init ( )
protectedpure virtual

Инициализация

◆ initializeGL()

void QTGLWidget::initializeGL ( )
protected

Инициализация OpenGL

◆ minimumSizeHint()

QSize QTGLWidget::minimumSizeHint ( ) const

Получить минимальный размер окна

Returns
минимальный размер окна

◆ mouseMoveEvent()

void QTGLWidget::mouseMoveEvent ( QMouseEvent *  event)
protected

Обработчик перемещения мыши

Parameters
eventсобытие

◆ mousePressEvent()

void QTGLWidget::mousePressEvent ( QMouseEvent *  event)
protected

Обработчик нажатия мыши

Parameters
eventсобытие

◆ paint()

virtual void bmpf::QTGLWidget::paint ( )
protectedpure virtual

Рисование

◆ paintGL()

void QTGLWidget::paintGL ( )
protected

Рисование OPenGL

◆ setXRotation()

virtual void bmpf::QTGLWidget::setXRotation ( int  angle)
pure virtual

Задать поворот вдоль оси OX

Parameters
angleугол

◆ setYRotation()

virtual void bmpf::QTGLWidget::setYRotation ( int  angle)
pure virtual

Задать поворот вдоль оси OY

Parameters
angleугол

◆ setZRotation()

virtual void bmpf::QTGLWidget::setZRotation ( int  angle)
pure virtual

Задать поворот вдоль оси OZ

Parameters
angleугол

◆ sizeHint()

QSize QTGLWidget::sizeHint ( ) const

Получить максимальный размер окна

Returns
максимальный размер окна

Member Data Documentation

◆ _camera

QMatrix4x4 bmpf::QTGLWidget::_camera
protected

Камера

◆ _caption

std::string bmpf::QTGLWidget::_caption
protected

Заголовок окна

◆ _core

bool bmpf::QTGLWidget::_core
protected

флаг, используется ли профиль ядра

◆ _isTransparent

bool bmpf::QTGLWidget::_isTransparent
protected

Флаг, поддеживается ли прозрачность

◆ _lastMousePos

QPoint bmpf::QTGLWidget::_lastMousePos
protected

Последнее полоежние курсора мыши

◆ _lightPosLoc

int bmpf::QTGLWidget::_lightPosLoc {}
protected

Матрица положения источника света

◆ _mvMatrixLoc

int bmpf::QTGLWidget::_mvMatrixLoc {}
protected

Матрица ModelView

◆ _normalMatrixLoc

int bmpf::QTGLWidget::_normalMatrixLoc {}
protected

Матрица нормалей

◆ _parent

QWidget* bmpf::QTGLWidget::_parent
protected

Указатель на родительский виджет

◆ _program

QOpenGLShaderProgram* bmpf::QTGLWidget::_program
protected

Шейдерная программа

◆ _projMatrixLoc

int bmpf::QTGLWidget::_projMatrixLoc {}
protected

Матрица проекций

◆ _worldTransform

QMatrix4x4 bmpf::QTGLWidget::_worldTransform
protected

Матрица преобразования мира

◆ xAngle

int bmpf::QTGLWidget::xAngle
protected

угол поворота вдоль оси OX

◆ yAngle

int bmpf::QTGLWidget::yAngle
protected

угол поворота вдоль оси OY

◆ zAngle

int bmpf::QTGLWidget::zAngle
protected

угол поворота вдоль оси OZ


The documentation for this class was generated from the following files: