#ifndef CAMERA_H #define CAMERA_H #include "../math/Vector3D.h" #include "../math/Matrix3D.h" class Camera { public: Camera(); Camera(const Camera& orig); virtual ~Camera(); void storePosition(); void storeAngles(); void setPosition(float x, float y, float z); void setAngles(float length, float width); void updateView(float lag); const Vector3D& getFront(); const Vector3D& getBack(); const Vector3D& getRight(); const Vector3D& getLeft(); const Vector3D& getUp(); const Vector3D& getDown(); private: Vector3D camera; float lengthAngle; float widthAngle; Vector3D oldCamera; float oldLengthAngle; float oldWidthAngle; Vector3D interCamera; Vector3D front; Vector3D back; Vector3D right; Vector3D left; Vector3D up; Vector3D down; Matrix3D view; }; #endif