summary refs log tree commit diff
path: root/src/GFX/Camera.hpp
blob: f03f009ff32a2a5ee51b5a09f3228e14efc2af56 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#pragma once

#include "../Math/Math.hpp"
#include "../Math/Rotation.hpp"

namespace MC::GFX {

class Camera {
public:
    Camera() = default;

    Vector<3> position();
    void set_position(Vector<3> position);
    void move(Vector<3> by);
    void move_relative(Vector<3> by);

    Rotation angles();
    void set_angles(Rotation angles);
    void rotate(Rotation by);

private:
    Vector<3> m_position = {};
    Rotation m_angles = {};
};

}