diff options
| author | Stefan Suhren <suhren.stefan@fh-swf.de> | 2016-01-11 12:03:44 +0100 |
|---|---|---|
| committer | Stefan Suhren <suhren.stefan@fh-swf.de> | 2016-01-11 12:13:37 +0100 |
| commit | 9a6cdf08a8cd17acde43e61a1d530a9a7d7f2459 (patch) | |
| tree | 304fe736c37433e0a98f1eac07669c6a5ca544f2 | |
| parent | 5771023404488e955f1b2ceca5f2da0a31e2310c (diff) | |
| download | Multimedia-9a6cdf08a8cd17acde43e61a1d530a9a7d7f2459.tar.gz Multimedia-9a6cdf08a8cd17acde43e61a1d530a9a7d7f2459.zip | |
Add chessboard class
| -rw-r--r-- | MM_2015_Base_Project.pro | 6 | ||||
| -rw-r--r-- | src/glchessboard.cpp | 32 | ||||
| -rw-r--r-- | src/glchessboard.h | 22 |
3 files changed, 58 insertions, 2 deletions
diff --git a/MM_2015_Base_Project.pro b/MM_2015_Base_Project.pro index b7c6cb9..cd7717c 100644 --- a/MM_2015_Base_Project.pro +++ b/MM_2015_Base_Project.pro @@ -13,7 +13,8 @@ SOURCES += \ src/glbody.cpp \ src/glcube.cpp \ src/glsphere.cpp \ - src/gldisc.cpp + src/gldisc.cpp \ + src/glchessboard.cpp HEADERS += \ src/glcolorrgba.h \ @@ -26,7 +27,8 @@ HEADERS += \ src/glbody.h \ src/glcube.h \ src/glsphere.h \ - src/gldisc.h + src/gldisc.h \ + src/glchessboard.h RESOURCES += qml.qrc \ shaders.qrc \ diff --git a/src/glchessboard.cpp b/src/glchessboard.cpp new file mode 100644 index 0000000..afab9e8 --- /dev/null +++ b/src/glchessboard.cpp @@ -0,0 +1,32 @@ +#include "glchessboard.h" + +GLChessboard::GLChessboard(float width, float height) +{ + m_width = width; + m_height = height; +} + +void GLChessboard::createBoard() +{ + double fieldWidth = m_width / 8; + double fieldHeight = m_height / 8; + + for(int fieldY = 0; fieldY < 8; fieldY++) + { + for(int fieldX = 0; fieldX < 8; fieldX++) + { + if((fieldY+fieldX) % 2) + { + m_fields.append(GLCube(QVector3D(fieldX * fieldWidth, fieldY * fieldHeight, 0.0), QVector3D((fieldX + 1) * fieldWidth, (fieldY + 1) * fieldHeight, 0.0))); + } + } + } +} + +void GLChessboard::drawBoard(GLESRenderer *renderer) +{ + foreach(GLCube field, m_fields) + { + field.draw(renderer); + } +} diff --git a/src/glchessboard.h b/src/glchessboard.h new file mode 100644 index 0000000..c761aa8 --- /dev/null +++ b/src/glchessboard.h @@ -0,0 +1,22 @@ +#ifndef GLCHESSBOARD_H +#define GLCHESSBOARD_H + +#include "glcube.h" + +class GLChessboard +{ +public: + GLChessboard(float width, float height); + + void createBoard(); + + void drawBoard(GLESRenderer *renderer); + +private: + QVector<GLCube> m_fields; + + float m_width; + float m_height; +}; + +#endif // GLCHESSBOARD_H |
