diff options
| author | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-10-13 10:46:42 +0200 |
|---|---|---|
| committer | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-10-13 10:46:42 +0200 |
| commit | f414b39a8d935b41c1d9b04b3a4642ad633c0ad0 (patch) | |
| tree | 5ee0b99d4f4d28cd7c7d158a571e1c55c1c0eb9b /src/glitem.cpp | |
| parent | 95e88a57445bfc9a192efd6f773da745e7453b65 (diff) | |
| download | Multimedia-f414b39a8d935b41c1d9b04b3a4642ad633c0ad0.tar.gz Multimedia-f414b39a8d935b41c1d9b04b3a4642ad633c0ad0.zip | |
Add createCube function
Diffstat (limited to 'src/glitem.cpp')
| -rw-r--r-- | src/glitem.cpp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/glitem.cpp b/src/glitem.cpp index 6e3984c..a307e38 100644 --- a/src/glitem.cpp +++ b/src/glitem.cpp @@ -354,6 +354,74 @@ 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.y()); + 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::createAxis(double length, const QVector3D & origin, const QVector3D & axis, const QVector3D & normal, const QVector3D & texCoord, const GLColorRgba& color) |
