Camera.h 908 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #ifndef CAMERA_H
  2. #define CAMERA_H
  3. #include "../math/Vector3D.h"
  4. #include "../math/Matrix3D.h"
  5. class Camera
  6. {
  7. public:
  8. Camera();
  9. Camera(const Camera& orig);
  10. virtual ~Camera();
  11. void storePosition();
  12. void storeAngles();
  13. void setPosition(float x, float y, float z);
  14. void setAngles(float length, float width);
  15. void updateView(float lag);
  16. const Vector3D& getFront();
  17. const Vector3D& getBack();
  18. const Vector3D& getRight();
  19. const Vector3D& getLeft();
  20. const Vector3D& getUp();
  21. const Vector3D& getDown();
  22. private:
  23. Vector3D camera;
  24. float lengthAngle;
  25. float widthAngle;
  26. Vector3D oldCamera;
  27. float oldLengthAngle;
  28. float oldWidthAngle;
  29. Vector3D interCamera;
  30. Vector3D front;
  31. Vector3D back;
  32. Vector3D right;
  33. Vector3D left;
  34. Vector3D up;
  35. Vector3D down;
  36. Matrix3D view;
  37. };
  38. #endif