6 #include <QOpenGLVertexArrayObject>
7 #include <QOpenGLBuffer>
8 #include <QOpenGLFunctions>
43 Geometry(
const std::vector<unsigned short> & indexBuffer,
const std::vector<Vertex> & vertexBuffer);
44 Geometry(
const std::vector<unsigned short> & indexBuffer,
const std::vector<Vertex> & vertexBuffer,
const QVector3D & minBBox,
const QVector3D & maxBBox);
47 virtual const QVector3D &
bBoxMin()
const;
48 virtual const QVector3D &
bBoxMax()
const;
60 virtual void draw(QOpenGLFunctions & gl)
const;
bool m_isOnGPU
Definition: geometry.h:67
Geometry(const std::vector< unsigned short > &indexBuffer, const std::vector< Vertex > &vertexBuffer)
General geometry constructor.
Definition: geometry.cpp:13
QVector3D m_bBoxMax
Definition: geometry.h:76
virtual void setAttributes(Program &program)
The geometry specific attributes position, texture coordinate and normal vector are set on the used p...
Definition: geometry.cpp:107
QOpenGLBuffer * m_ibo
Definition: geometry.h:69
The struct wraps the important vertex data attributes position, texture coordinate and normal vector...
Definition: geometry.h:20
virtual void allocate() const
Definition: geometry.cpp:54
virtual const QVector3D & bBoxMin() const
Definition: geometry.cpp:97
GLfloat position[3]
Definition: geometry.h:21
std::vector< Vertex > m_vertexBuffer
Definition: geometry.h:73
virtual void deallocate() const
Definition: geometry.cpp:77
QVector3D m_bBoxMin
Definition: geometry.h:75
The program class implements the basic functionality used for binding programs to openGL...
Definition: program.h:18
unsigned int m_elementCount
Definition: geometry.h:71
QOpenGLBuffer * m_vbo
Definition: geometry.h:68
GLfloat texCoord[3]
Definition: geometry.h:22
virtual ~Geometry()
Definition: geometry.cpp:36
Definition: eventhandler.cpp:18
virtual void calculateBBox()
Definition: geometry.cpp:41
The Geometry class wraps the vertices data of one drawable object.
Definition: geometry.h:31
std::vector< unsigned short > m_indexBuffer
Definition: geometry.h:74
virtual void draw(QOpenGLFunctions &gl) const
By invoking the draw function, both index and vertex buffer are going to be bound and the geometry wi...
Definition: geometry.cpp:114
GLfloat normal[3]
Definition: geometry.h:23
virtual const QVector3D & bBoxMax() const
Definition: geometry.cpp:102