ELEC2645 (2018/19) / Mbed 2 deprecated el17cd

Dependencies:   mbed

Cube/Cube.cpp

Committer:
el17cd
Date:
2019-02-22
Revision:
4:759a5c34e239
Child:
5:54d3b36fec2c

File content as of revision 4:759a5c34e239:

#include "mbed.h"
#include "Cube.h"

Cube::Cube(float x, float y, float z, float size){
    float v[8][3] = {{x-size, y+size, z-size},
    {x-size, y+size, z+size},
    {x+size, y+size, z+size},
    {x+size, y+size, z-size},
    {x-size, y-size, z-size},
    {x-size, y-size, z+size},
    {x+size, y-size, z+size},
    {x+size, y-size, z-size}};
    
    for(int vertex = 0; vertex < 8; vertex++){
        for(int axis = 0; axis < 3; axis++){
            verticies[vertex][axis] = v[vertex][axis];
        }
    }
    float f0Points[4][3] = {{v[0][0], v[0][1], v[0][2]}, {v[1][0], v[1][1], v[1][2]}, {v[2][0], v[2][1], v[2][2]}, {v[3][0], v[3][1], v[3][2]}};
    float f1Points[4][3] = {{v[0][0], v[0][1], v[0][2]}, {v[1][0], v[1][1], v[1][2]}, {v[5][0], v[5][1], v[5][2]}, {v[4][0], v[4][1], v[4][2]}};
    float f2Points[4][3] = {{v[1][0], v[1][1], v[1][2]}, {v[2][0], v[2][1], v[2][2]}, {v[6][0], v[6][1], v[6][2]}, {v[5][0], v[5][1], v[5][2]}};
    float f3Points[4][3] = {{v[3][0], v[3][1], v[3][2]}, {v[2][0], v[2][1], v[2][2]}, {v[6][0], v[6][1], v[6][2]}, {v[7][0], v[7][1], v[7][2]}};
    float f4Points[4][3] = {{v[0][0], v[0][1], v[0][2]}, {v[3][0], v[3][1], v[3][2]}, {v[7][0], v[7][1], v[7][2]}, {v[4][0], v[4][1], v[4][2]}};
    float f5Points[4][3] = {{v[4][0], v[4][1], v[4][2]}, {v[5][0], v[5][1], v[5][2]}, {v[6][0], v[6][1], v[6][2]}, {v[7][0], v[7][1], v[7][2]}};
    /*
    float f0Points[4][3] = {{x-size, y+size, z-size}, {x-size, y+size, z+size}, {x+size, y+size, z+size}, {x+size, y+size, z-size}};
    float f1Points[4][3] = {{x-size, y+size, z-size}, {x-size, y+size, z+size},{x-size, y-size, z+size}, {x-size, y-size, z-size}};
    float f2Points[4][3] = {{x-size, y+size, z+size}, {x+size, y+size, z+size}, {x+size, y-size, z+size}, {x-size, y-size, z+size}};
    float f3Points[4][3] = {{x+size, y+size, z-size}, {x+size, y+size, z+size}, {x+size, y-size, z+size}, {x+size, y-size, z-size}};
    float f4Points[4][3] = {{x-size, y+size, z-size}, {x+size, y+size, z-size}, {x+size, y-size, z-size}, {x-size, y-size, z-size}};
    float f5Points[4][3] = {{x-size, y-size, z-size}, {x-size, y-size, z+size}, {x+size, y-size, z+size}, {x+size, y-size, z-size}};
    */
    faces[0].setVerticies(f0Points);
    faces[1].setVerticies(f1Points);
    faces[2].setVerticies(f2Points);
    faces[3].setVerticies(f3Points);
    faces[4].setVerticies(f4Points);
    faces[5].setVerticies(f5Points);
}

Face Cube::getFace(int index){
    return faces[index];
}