Files
Bomberman/lib/Ray/sources/Drawables/3D/Cube.hpp
2021-05-22 01:14:21 +02:00

58 lines
1.3 KiB
C++

/*
** EPITECH PROJECT, 2021
** Bomberman
** File description:
** Cube
*/
#ifndef CUBE_HPP_
#define CUBE_HPP_
#include <raylib.h>
#include "Drawables/ADrawable3D.hpp"
namespace RAY::Drawables::Drawables3D {
//! @brief Cube in a three-dimensionnal space
class Cube: public ADrawable3D
{
public:
//! @brief Cube constructor
//! @param position position of the cube
//! @param dimensions dimensions of the cube
//! @param Color Color of the cube
Cube(const Vector3 &position, const Vector3 &dimensions, const Color &color);
//! @brief A default copy constructor
Cube(const Cube &) = default;
//! @brief A circle is assignable
Cube &operator=(const Cube &) = default;
//! @brief A default destructor
~Cube() = default;
//! @return the position of the cube
const Vector3 &getPosition(void) const;
//! @return the dimensions of the cube
const Vector3 &getDimensions(void) const;
//! @brief set the dimensions of the cube
Cube &setDimensions(const Vector3 &dimensions);
//! @brief set the dimensions of the cube
Cube &setPosition(const Vector3 &position);
//! @brief Draw circle on window
void drawOn(RAY::Window &) override;
private:
//! @brief Positon in space of the cube
Vector3 _position;
//! @brief Dimensions of the cube
Vector3 _dimenstions;
};
}
#endif /* !CUBE_HPP_ */