#ifndef CAMERA3D_H #define CAMERA3D_H #include "client/math/Vector.h" class Camera final { public: Camera(); const Vector& getFront() const; const Vector& getBack() const; const Vector& getRight() const; const Vector& getLeft() const; const Vector& getUp() const; const Vector& getDown() const; const Vector& getFlatFront() const; const Vector& getFlatBack() const; const Vector& getFlatRight() const; const Vector& getFlatLeft() const; const Vector& getFlatUp() const; const Vector& getFlatDown() const; const Vector& getPosition() const; void storePosition(); void setPosition(const Vector& pos, float length, float width); void update(float lag); private: Vector oldPosition; Vector position; float oldLengthAngle; float lengthAngle; float oldWidthAngle; float widthAngle; Vector interPosition; Vector front; Vector back; Vector right; Vector left; Vector up; Vector down; Vector flatFront; Vector flatBack; Vector flatRight; Vector flatLeft; Vector flatUp; Vector flatDown; }; #endif