#ifndef MMSCENE_H #define MMSCENE_H #include "glcube.h" #include "glitem.h" class MMScene : public GLItem { Q_OBJECT public: MMScene(QQuickItem *parent = 0); ~MMScene(); protected: /** * @brief paintUnderQmlScene * Virtual function for painting under a QML scene. This function is called by paintBefore after * calling createGeometries and initializing and binding the renderer. * Overwrite in subclasses for painting geometries in m_points with the renderer. */ virtual void paintUnderQmlScene(); /** * @brief paintUnderQmlScene * Virtual function for painting on top of a QML scene. This function is called by paintAfter after * calling createGeometries and initializing and binding the renderer. * Overwrite in subclasses for painting geometries in m_points with the renderer. */ virtual void paintOnTopOfQmlScene(); /** * @brief setupGeometry puts the geometric data into the arrays (m_Vertices etc.) and sets geometryIsValid flag. */ void setupGeometry(); /** * @brief drawTriangles * Draws two triangles. */ void drawTriangles(); /** * @brief createCubef Creates a cube and apends it for drawing. * @param lbb The left bottom back cube vector. * @param rtf The right top front cube vector. */ virtual void createCube(const QVector3D &lbb, const QVector3D &rtf); /** * @brief createF Creates an 'F' with cubes. * @param height The height of the 'F'. */ virtual void createF(double height); /** * @brief drawF Draws an 'F' with matrix transformations. * @param height The height of the 'F'. */ virtual void drawF(double height); private: GLCube *m_cube; }; #endif // MMSCENE_H