diff options
| author | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-10-27 09:54:04 +0100 |
|---|---|---|
| committer | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-10-27 09:54:04 +0100 |
| commit | f7f38fb764bb35a6e87afad5d42555b95c320fa6 (patch) | |
| tree | 17a5447636798db3ce35a7691272f2fd26ade9b4 | |
| parent | 0fd8503a952986a2669d929cac2dd1714a24ca2b (diff) | |
| download | Multimedia-f7f38fb764bb35a6e87afad5d42555b95c320fa6.tar.gz Multimedia-f7f38fb764bb35a6e87afad5d42555b95c320fa6.zip | |
Move functions to the appropriate class
| -rw-r--r-- | src/glitem.cpp | 87 | ||||
| -rw-r--r-- | src/glitem.h | 19 | ||||
| -rw-r--r-- | src/mmscene.cpp | 87 | ||||
| -rw-r--r-- | src/mmscene.h | 18 |
4 files changed, 105 insertions, 106 deletions
diff --git a/src/glitem.cpp b/src/glitem.cpp index 016550b..6e3984c 100644 --- a/src/glitem.cpp +++ b/src/glitem.cpp @@ -354,93 +354,6 @@ void GLItem::drawAxes(double length) glLineWidth(lineWidth[0]); } -void GLItem::createCube(const QVector3D &lbb, const QVector3D &rtf) -{ - QVector3D n0 = QVector3D(0.0, 0.0, 1.0); //dummy normal - QVector3D t0 = QVector3D(0.0,0.0,0.0); //dummy texture - - // Create all the vectors for caching - QVector3D lbf = QVector3D(lbb.x(), lbb.y(), rtf.z()); - QVector3D rbb = QVector3D(rtf.x(), lbb.y(), lbb.z()); - QVector3D rbf = QVector3D(rtf.x(), lbb.y(), rtf.z()); - QVector3D ltb = QVector3D(lbb.x(), rtf.y(), lbb.z()); - QVector3D ltf = QVector3D(lbb.x(), rtf.y(), rtf.z()); - QVector3D rtb = QVector3D(rtf.x(), rtf.y(), lbb.z()); - - // Bottom plane - m_points.append(GLPoint(lbb, n0, t0, GLColorRgba::clRed)); - m_points.append(GLPoint(lbf, n0, t0, GLColorRgba::clRed)); - m_points.append(GLPoint(rbb, n0, t0, GLColorRgba::clRed)); - - m_points.append(GLPoint(rbf, n0, t0, GLColorRgba::clRed)); - m_points.append(GLPoint(lbf, n0, t0, GLColorRgba::clRed)); - m_points.append(GLPoint(rbb, n0, t0, GLColorRgba::clRed)); - - // Back plane - m_points.append(GLPoint(lbb, n0, t0, GLColorRgba::clGreen)); - m_points.append(GLPoint(rbb, n0, t0, GLColorRgba::clGreen)); - m_points.append(GLPoint(ltb, n0, t0, GLColorRgba::clGreen)); - - m_points.append(GLPoint(rtb, n0, t0, GLColorRgba::clGreen)); - m_points.append(GLPoint(rbb, n0, t0, GLColorRgba::clGreen)); - m_points.append(GLPoint(ltb, n0, t0, GLColorRgba::clGreen)); - - // Left plane - m_points.append(GLPoint(lbb, n0, t0, GLColorRgba::clBlue)); - m_points.append(GLPoint(lbf, n0, t0, GLColorRgba::clBlue)); - m_points.append(GLPoint(ltb, n0, t0, GLColorRgba::clBlue)); - - m_points.append(GLPoint(ltf, n0, t0, GLColorRgba::clBlue)); - m_points.append(GLPoint(lbf, n0, t0, GLColorRgba::clBlue)); - m_points.append(GLPoint(ltb, n0, t0, GLColorRgba::clBlue)); - - // Right plane - m_points.append(GLPoint(rbb, n0, t0, GLColorRgba::clBlue)); - m_points.append(GLPoint(rbf, n0, t0, GLColorRgba::clBlue)); - m_points.append(GLPoint(rtb, n0, t0, GLColorRgba::clBlue)); - - m_points.append(GLPoint(rtf, n0, t0, GLColorRgba::clBlue)); - m_points.append(GLPoint(rbf, n0, t0, GLColorRgba::clBlue)); - m_points.append(GLPoint(rtb, n0, t0, GLColorRgba::clBlue)); - - // Top plane - m_points.append(GLPoint(ltb, n0, t0, GLColorRgba::clRed)); - m_points.append(GLPoint(ltf, n0, t0, GLColorRgba::clRed)); - m_points.append(GLPoint(rtb, n0, t0, GLColorRgba::clRed)); - - m_points.append(GLPoint(rtf, n0, t0, GLColorRgba::clRed)); - m_points.append(GLPoint(ltf, n0, t0, GLColorRgba::clRed)); - m_points.append(GLPoint(rtb, n0, t0, GLColorRgba::clRed)); - - // Front plane - m_points.append(GLPoint(lbf, n0, t0, GLColorRgba::clGreen)); - m_points.append(GLPoint(rbf, n0, t0, GLColorRgba::clGreen)); - m_points.append(GLPoint(ltf, n0, t0, GLColorRgba::clGreen)); - - m_points.append(GLPoint(rtf, n0, t0, GLColorRgba::clGreen)); - m_points.append(GLPoint(rbf, n0, t0, GLColorRgba::clGreen)); - m_points.append(GLPoint(ltf, n0, t0, GLColorRgba::clGreen)); -} - -void GLItem::createF(double height) -{ - float stdLength = height/5.0; - createCube(QVector3D(0.0, 0.0, 0.0),QVector3D(stdLength, height, stdLength)); - createCube(QVector3D(stdLength, height, 0.0),QVector3D(3.0 * stdLength, height - 1.0 * stdLength, stdLength)); - createCube(QVector3D(stdLength, height - 2.0 * stdLength, 0.0),QVector3D(2.0 * stdLength, height - 3.0 * stdLength, stdLength)); -} - -void GLItem::drawF(double height) -{ - m_renderer->pushMvMatrix(); - - m_renderer->scale(QVector3D(10.0, 10.0, 10.0)); - - createCube(QVector3D(0.0, 0.0, 0.0), QVector3D(1.0, 1.0, 1.0)); - - m_renderer->popMvMatrix(); -} - void GLItem::createAxis(double length, const QVector3D & origin, const QVector3D & axis, const QVector3D & normal, const QVector3D & texCoord, const GLColorRgba& color) diff --git a/src/glitem.h b/src/glitem.h index e58f36f..268dbeb 100644 --- a/src/glitem.h +++ b/src/glitem.h @@ -125,25 +125,6 @@ protected: virtual void drawAxes(double length); /** - * @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); - - /** * @brief createAxes Creates x, y and z axis with specified length starting for (0,0,0) * @param length Axes length. */ diff --git a/src/mmscene.cpp b/src/mmscene.cpp index b55e8ab..8b9bc86 100644 --- a/src/mmscene.cpp +++ b/src/mmscene.cpp @@ -67,3 +67,90 @@ void MMScene::drawTriangles() renderer()->disableAttributeArrays(); } +void MMScene::createCube(const QVector3D &lbb, const QVector3D &rtf) +{ + QVector3D n0 = QVector3D(0.0, 0.0, 1.0); //dummy normal + QVector3D t0 = QVector3D(0.0,0.0,0.0); //dummy texture + + // Create all the vectors for caching + QVector3D lbf = QVector3D(lbb.x(), lbb.y(), rtf.z()); + QVector3D rbb = QVector3D(rtf.x(), lbb.y(), lbb.z()); + QVector3D rbf = QVector3D(rtf.x(), lbb.y(), rtf.z()); + QVector3D ltb = QVector3D(lbb.x(), rtf.y(), lbb.z()); + QVector3D ltf = QVector3D(lbb.x(), rtf.y(), rtf.z()); + QVector3D rtb = QVector3D(rtf.x(), rtf.y(), lbb.z()); + + // Bottom plane + m_points.append(GLPoint(lbb, n0, t0, GLColorRgba::clRed)); + m_points.append(GLPoint(lbf, n0, t0, GLColorRgba::clRed)); + m_points.append(GLPoint(rbb, n0, t0, GLColorRgba::clRed)); + + m_points.append(GLPoint(rbf, n0, t0, GLColorRgba::clRed)); + m_points.append(GLPoint(lbf, n0, t0, GLColorRgba::clRed)); + m_points.append(GLPoint(rbb, n0, t0, GLColorRgba::clRed)); + + // Back plane + m_points.append(GLPoint(lbb, n0, t0, GLColorRgba::clGreen)); + m_points.append(GLPoint(rbb, n0, t0, GLColorRgba::clGreen)); + m_points.append(GLPoint(ltb, n0, t0, GLColorRgba::clGreen)); + + m_points.append(GLPoint(rtb, n0, t0, GLColorRgba::clGreen)); + m_points.append(GLPoint(rbb, n0, t0, GLColorRgba::clGreen)); + m_points.append(GLPoint(ltb, n0, t0, GLColorRgba::clGreen)); + + // Left plane + m_points.append(GLPoint(lbb, n0, t0, GLColorRgba::clBlue)); + m_points.append(GLPoint(lbf, n0, t0, GLColorRgba::clBlue)); + m_points.append(GLPoint(ltb, n0, t0, GLColorRgba::clBlue)); + + m_points.append(GLPoint(ltf, n0, t0, GLColorRgba::clBlue)); + m_points.append(GLPoint(lbf, n0, t0, GLColorRgba::clBlue)); + m_points.append(GLPoint(ltb, n0, t0, GLColorRgba::clBlue)); + + // Right plane + m_points.append(GLPoint(rbb, n0, t0, GLColorRgba::clBlue)); + m_points.append(GLPoint(rbf, n0, t0, GLColorRgba::clBlue)); + m_points.append(GLPoint(rtb, n0, t0, GLColorRgba::clBlue)); + + m_points.append(GLPoint(rtf, n0, t0, GLColorRgba::clBlue)); + m_points.append(GLPoint(rbf, n0, t0, GLColorRgba::clBlue)); + m_points.append(GLPoint(rtb, n0, t0, GLColorRgba::clBlue)); + + // Top plane + m_points.append(GLPoint(ltb, n0, t0, GLColorRgba::clRed)); + m_points.append(GLPoint(ltf, n0, t0, GLColorRgba::clRed)); + m_points.append(GLPoint(rtb, n0, t0, GLColorRgba::clRed)); + + m_points.append(GLPoint(rtf, n0, t0, GLColorRgba::clRed)); + m_points.append(GLPoint(ltf, n0, t0, GLColorRgba::clRed)); + m_points.append(GLPoint(rtb, n0, t0, GLColorRgba::clRed)); + + // Front plane + m_points.append(GLPoint(lbf, n0, t0, GLColorRgba::clGreen)); + m_points.append(GLPoint(rbf, n0, t0, GLColorRgba::clGreen)); + m_points.append(GLPoint(ltf, n0, t0, GLColorRgba::clGreen)); + + m_points.append(GLPoint(rtf, n0, t0, GLColorRgba::clGreen)); + m_points.append(GLPoint(rbf, n0, t0, GLColorRgba::clGreen)); + m_points.append(GLPoint(ltf, n0, t0, GLColorRgba::clGreen)); +} + +void MMScene::createF(double height) +{ + float stdLength = height/5.0; + createCube(QVector3D(0.0, 0.0, 0.0),QVector3D(stdLength, height, stdLength)); + createCube(QVector3D(stdLength, height, 0.0),QVector3D(3.0 * stdLength, height - 1.0 * stdLength, stdLength)); + createCube(QVector3D(stdLength, height - 2.0 * stdLength, 0.0),QVector3D(2.0 * stdLength, height - 3.0 * stdLength, stdLength)); +} + +void MMScene::drawF(double height) +{ + m_renderer->pushMvMatrix(); + + m_renderer->scale(QVector3D(10.0, 10.0, 10.0)); + + createCube(QVector3D(0.0, 0.0, 0.0), QVector3D(1.0, 1.0, 1.0)); + + m_renderer->popMvMatrix(); +} + diff --git a/src/mmscene.h b/src/mmscene.h index 8bfa74e..36cf2e8 100644 --- a/src/mmscene.h +++ b/src/mmscene.h @@ -37,6 +37,24 @@ protected: */ 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); }; |
