ELEC2645 (2018/19) / Mbed 2 deprecated el17cd

Dependencies:   mbed

Revision:
23:eb50ab95bb53
Parent:
22:236319885874
Child:
25:3995271e411c
--- a/Cube/Cube.h	Wed Apr 03 15:11:12 2019 +0000
+++ b/Cube/Cube.h	Wed Apr 03 16:00:50 2019 +0000
@@ -3,26 +3,73 @@
 #define FACE_H
 #include "Face.h"
 #endif
-
+/** Cube class
+*@brief A class used to instantiate a cube object, this is the obstacle in the game
+*@author Christopher Doel
+*@date April, 2019
+*/
 class Cube {
   private:
     float verticies[8][3];
     Face faces[6];
     float xPos, yPos, zPos;
   public:
+
     Cube();
+    /**brief The constructor of the Cube class which instantiates the cube object.
+    *No parameters are required as the cube is initially created with a size of 5 and a position at the origin.
+    */
     Face getFace(int index);
+    /** @brief An accessor method which gets a face of the cube depending on the index provided
+    *@param The integer index of the face required
+    *@returns A face object corresponding to the index provided
+    */
     void setVisible();
+    /** @brief Sets the faces of the cube to be visible so that they will be rendered
+    */
     void updateFacesVerticies(float (&vert)[8][3]);
+    /** @brief sets the verticies of all the cubes faces depending on the location and size of the cube
+    *@param The memory address of the two dimentional float array which stores all x, y, z coordinates for each 8 verticies
+    */
     void assignFacesVerticies(float (&face0Points)[4][3],
     float (&face1Points)[4][3], float (&face2Points)[4][3],
     float (&face3Points)[4][3], float (&face4Points)[4][3],
     float (&face5Points)[4][3]);
+    /** @brief sets the verticies of an individual face of the cube
+    *@param The memory address of the two dimentional float array which stores all x, y, z coordinates for the first faces verticies
+    *@param The memory address of the two dimentional float array which stores all x, y, z coordinates for the second faces verticies
+    *@param The memory address of the two dimentional float array which stores all x, y, z coordinates for the third faces verticies
+    *@param The memory address of the two dimentional float array which stores all x, y, z coordinates for the fourth faces verticies
+    *@param The memory address of the two dimentional float array which stores all x, y, z coordinates for the fifth faces verticies
+    *@param The memory address of the two dimentional float array which stores all x, y, z coordinates for the sixth faces verticies
+    */
     bool tooClose();
+    /** @brief Returns whether the cube is too close to the perspective of the user
+    *@returns a boolean indicating whether it is too close or not
+    */
     void rotateX(float angle);
+    /** @brief Performs a rotation in the X axis about the cubes centre
+    *@param The angle in which to rotate the cube in terms of radians, provided as a float
+    */
     void rotateY(float angle);
+    /** @brief Performs a rotation in the Y axis about the cubes centre
+    *@param The angle in which to rotate the cube in terms of radians, provided as a float
+    */
     void rotateZ(float angle);
+    /** @brief Performs a rotation in the Z axis about the cubes centre
+    *@param The angle in which to rotate the cube in terms of radians, provided as a float
+    */
     void translate(float x, float y, float z);
+    /** @brief Performs a translation in all axis
+    *@param The x offset
+    *@param The y offset
+    *@param The z offset
+    */
     void resetPos();
+    /** @brief Resets the position of the cube to the origin
+    */
     bool despawn();
+    /** @brief Returns whether the cube is behind the users perspective
+    *@returns a boolean value as to whether it should be despawned or not
+    */
 };
\ No newline at end of file