You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

abstractcamera.h 1003B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #ifndef ABSTRACTCAMERA_H
  2. #define ABSTRACTCAMERA_H
  3. #include <QMouseEvent>
  4. #include <QWheelEvent>
  5. #include <QKeyEvent>
  6. #include <QtWidgets/QWidget>
  7. #include "engine/ugameengine.h"
  8. class AbstractCamera
  9. {
  10. public:
  11. AbstractCamera(UGameEngine* engine, QWidget* widget);
  12. virtual void mousePressEvent(QMouseEvent* event);
  13. virtual void mouseReleaseEvent(QMouseEvent *event);
  14. virtual void mouseMoveEvent(QMouseEvent* event);
  15. virtual void mouseDoubleClickEvent(QMouseEvent* event);
  16. virtual void wheelEvent(QWheelEvent* event);
  17. virtual void keyPressEvent(QKeyEvent* event);
  18. virtual void keyReleaseEvent(QKeyEvent* event);
  19. virtual void updateLookAt() = 0;
  20. Vector3D getDirection() const;
  21. void setDirection(const Vector3D &getDirection);
  22. Vector3D getPosition() const;
  23. void setPosition(const Vector3D &getPosition);
  24. protected:
  25. UGameEngine* _engine;
  26. QWidget* _widget;
  27. Vector3D _direction;
  28. Vector3D _position;
  29. };
  30. #endif // ABSTRACTCAMERA_H