igraphic 0.2.0
Contrats graphiques chargeables : IGraphic2Module / IGraphic3Module
Loading...
Searching...
No Matches
ICamera.hpp
Go to the documentation of this file.
1
12#ifndef ICAMERA_HPP_
13 #define ICAMERA_HPP_
14 #include "Type.hpp"
15 #include "IWindow.hpp"
16
17namespace graphic {
18
23 class ICamera {
24
25 public:
30
31 typedef enum {
32 CUSTOM = 0, // Custom camera
33 FREE, // Free camera
34 ORBITAL, // Orbital camera
35 FIRST_PERSON, // First person camera
36 THIRD_PERSON // Third person camera
38
42 virtual ~ICamera() = default;
43
49 virtual float getFov() const = 0;
50
56 virtual void setFov(float fov) = 0;
57
63 virtual Mode getMode() const = 0;
64
70 virtual void setMode(Mode mode) = 0;
71
77 virtual Vector3f getPosition() const = 0;
78
84 virtual void setPosition(Vector3f position) = 0;
85
91 virtual Projection getProjection() const = 0;
92
98 virtual void setProjection(Projection projection) = 0;
99
105 virtual Vector3f getTarget() const = 0;
106
112 virtual void setTarget(Vector3f size) = 0;
113
119 virtual Vector3f getUp() const = 0;
120
126 virtual void setUp(Vector3f up) = 0;
127
128 private:
129 //your variables here
130 };
131
132} // namespace graphic3
133
136#endif /* !ICAMERA_HPP */
Camera interface.
Definition ICamera.hpp:23
virtual Mode getMode() const =0
Get the mode.
virtual ~ICamera()=default
Destroy the ICamera object.
virtual void setFov(float fov)=0
Set the FOV.
Mode
Definition ICamera.hpp:31
@ FREE
Definition ICamera.hpp:33
@ CUSTOM
Definition ICamera.hpp:32
@ ORBITAL
Definition ICamera.hpp:34
@ FIRST_PERSON
Definition ICamera.hpp:35
@ THIRD_PERSON
Definition ICamera.hpp:36
virtual void setUp(Vector3f up)=0
Set the up vector.
virtual void setProjection(Projection projection)=0
Set the Projection.
Projection
Definition ICamera.hpp:26
@ PERSPECTIVE
Definition ICamera.hpp:27
@ ORTHOGRAPHIC
Definition ICamera.hpp:28
virtual Vector3f getPosition() const =0
Get the position.
virtual Projection getProjection() const =0
Get the Projection.
virtual void setPosition(Vector3f position)=0
Set the position.
virtual void setTarget(Vector3f size)=0
Set the target.
virtual float getFov() const =0
Get the FOV.
virtual Vector3f getTarget() const =0
Get the target.
virtual Vector3f getUp() const =0
Get the up vector.
virtual void setMode(Mode mode)=0
Set the mode.
Definition IGamepad.hpp:14