summary refs log tree commit diff
path: root/src/GFX/Camera.hpp
blob: 2109749f64b91bf57100316b58afe3049f7b83a6 (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
#pragma once

#include "../Math/Common.hpp"

namespace MC::GFX {

class Camera {
public:
    Camera() = default;

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

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

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

}