summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mmscene.cpp21
-rw-r--r--src/mmscene.h8
2 files changed, 27 insertions, 2 deletions
diff --git a/src/mmscene.cpp b/src/mmscene.cpp
index caf8b2b..75c85fd 100644
--- a/src/mmscene.cpp
+++ b/src/mmscene.cpp
@@ -8,6 +8,7 @@ MMScene::MMScene(QQuickItem *parent)
// Initialize with NULL
m_cube = NULL;
m_sphere = NULL;
+ m_disc = NULL;
// Stop rotation
toggleMove();
@@ -31,6 +32,12 @@ MMScene::~MMScene()
delete m_sphere;
m_sphere = NULL;
}
+
+ if (m_disc != NULL)
+ {
+ delete m_disc;
+ m_disc = NULL;
+ }
}
void MMScene::paintUnderQmlScene()
@@ -48,14 +55,16 @@ void MMScene::paintOnTopOfQmlScene()
//drawTriangles();
//drawF(5.0);
//m_cube->draw(m_renderer);
- m_sphere->draw(m_renderer);
+ //m_sphere->draw(m_renderer);
+ m_disc->draw(m_renderer);
m_renderer->popMvMatrix();
}
void MMScene::setupGeometry()
{
//createCube(QVector3D(0.0, 0.0, 0.0), QVector3D(1.0, 1.0, 1.0));
- createSphere();
+ //createSphere();
+ createDisc();
//createF(5.0);
//m_colorArrayEnabled = true;
@@ -100,6 +109,14 @@ void MMScene::createSphere()
m_sphere->makeSurface(&m_points, &m_indices);
}
+void MMScene::createDisc()
+{
+ m_disc = new GLDisc(1.0, 2.0, 100);
+
+ m_disc->setDrawingMode(GL_TRIANGLES);
+ m_disc->makeSurface(&m_points, &m_indices);
+}
+
void MMScene::createF(double height)
{
float stdLength = height / 5.0;
diff --git a/src/mmscene.h b/src/mmscene.h
index 3940104..d68af98 100644
--- a/src/mmscene.h
+++ b/src/mmscene.h
@@ -4,6 +4,7 @@
#include "glcube.h"
#include "glitem.h"
#include "glsphere.h"
+#include "gldisc.h"
class MMScene : public GLItem
{
@@ -52,6 +53,11 @@ protected:
void createSphere();
/**
+ * @brief createDisc Creates a disc and apends it for drawing.
+ */
+ void createDisc();
+
+ /**
* @brief createF Creates an 'F' with cubes.
* @param height The height of the 'F'.
*/
@@ -67,6 +73,8 @@ private:
GLCube *m_cube;
GLSphere *m_sphere;
+
+ GLDisc *m_disc;
};
#endif // MMSCENE_H