View.hpp 616 B

123456789101112131415161718192021222324252627
  1. #ifndef CORE_VIEW_HPP
  2. #define CORE_VIEW_HPP
  3. #include "core/math/Matrix.hpp"
  4. namespace Core {
  5. class View final {
  6. Matrix view{};
  7. Vector3 right{};
  8. Vector3 up{};
  9. Vector3 back{};
  10. public:
  11. void updateDirections(float lengthAngle, float widthAngle);
  12. void updateDirections(const Quaternion& q);
  13. const Matrix& updateMatrix(const Vector3& pos);
  14. Vector3 getUp() const;
  15. Vector3 getDown() const;
  16. Vector3 getLeft() const;
  17. Vector3 getRight() const;
  18. Vector3 getFront() const;
  19. Vector3 getBack() const;
  20. };
  21. }
  22. #endif