Bomberman
ADrawable3D.hpp
Go to the documentation of this file.
1 /*
2 ** EPITECH PROJECT, 2021
3 ** Bomberman
4 ** File description:
5 ** ADrawable
6 */
7 
8 #ifndef ADRAWABLE3D_HPP_
9 #define ADRAWABLE3D_HPP_
10 
11 #include <raylib.h>
12 #include "Drawables/IDrawable.hpp"
13 #include "Color.hpp"
14 
15 namespace RAY::Drawables {
17  class ADrawable3D: public IDrawable
18  {
19  public:
22  ADrawable3D(const RAY::Vector3 &position, const RAY::Color &color);
23 
25  ADrawable3D(const ADrawable3D &) = default;
26 
28  ~ADrawable3D() override = default;
29 
31  void drawOn(RAY::Window &) override = 0;
32 
34  virtual void drawWiresOn(RAY::Window &);
35 
37  const RAY::Color &getColor(void) const;
38 
40  ADrawable3D &setColor(const RAY::Color &color);
41 
43  const RAY::Color &getDebugColor(void) const;
44 
46  ADrawable3D &setDebugColor(const RAY::Color &debugColor);
47 
49  virtual const RAY::Vector3 &getPosition(void) const;
50 
52  virtual ADrawable3D &setPosition(const Vector3 &position);
53 
54  protected:
57 
60 
62  Color _debugColor = GREEN;
63 
64  };
65 };
66 
67 #endif /* !ADrawable_HPP_ */
RAY::Drawables::ADrawable3D::getPosition
virtual const RAY::Vector3 & getPosition(void) const
Definition: ADrawable3D.cpp:29
RAY::Vector3
A Three-dimensionnal Vector data type.
Definition: Vector3.hpp:15
RAY::Drawables::ADrawable3D::getColor
const RAY::Color & getColor(void) const
Definition: ADrawable3D.cpp:18
RAY::Window
Definition: Window.hpp:32
RAY::Drawables::IDrawable
Interface for any drawable.
Definition: IDrawable.hpp:18
RAY::Drawables::ADrawable3D::_debugColor
Color _debugColor
Color of the ADrawable's Debug.
Definition: ADrawable3D.hpp:62
RAY::Drawables::ADrawable3D
Abstraction of any three-dimensionnal drawable.
Definition: ADrawable3D.hpp:17
RAY::Drawables::ADrawable3D::~ADrawable3D
~ADrawable3D() override=default
A default destructor.
RAY::Drawables::ADrawable3D::drawWiresOn
virtual void drawWiresOn(RAY::Window &)
Draw drawble's wires on window.
Definition: ADrawable3D.cpp:40
RAY::Drawables::ADrawable3D::drawOn
void drawOn(RAY::Window &) override=0
Draw drawble on window.
IDrawable.hpp
RAY::Drawables::ADrawable3D::_position
Vector3 _position
Position of the ADrawable.
Definition: ADrawable3D.hpp:56
RAY::Drawables
Definition: Circle.cpp:11
RAY::Drawables::ADrawable3D::getDebugColor
const RAY::Color & getDebugColor(void) const
Definition: ADrawable3D.cpp:43
RAY::Color
Object representation of color.
Definition: Color.hpp:15
RAY::Drawables::ADrawable3D::setDebugColor
ADrawable3D & setDebugColor(const RAY::Color &debugColor)
set the debug color
Definition: ADrawable3D.cpp:48
Color.hpp
RAY::Drawables::ADrawable3D::_color
Color _color
Color of the ADrawable.
Definition: ADrawable3D.hpp:59
RAY::Drawables::ADrawable3D::setColor
ADrawable3D & setColor(const RAY::Color &color)
set color
Definition: ADrawable3D.cpp:23
RAY::Drawables::ADrawable3D::ADrawable3D
ADrawable3D(const RAY::Vector3 &position, const RAY::Color &color)
Definition: ADrawable3D.cpp:13
RAY::Drawables::ADrawable3D::setPosition
virtual ADrawable3D & setPosition(const Vector3 &position)
set position
Definition: ADrawable3D.cpp:34