CameraManager.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #ifndef CAMERA_MANAGER_H
  2. #define CAMERA_MANAGER_H
  3. #include <OgreCamera.h>
  4. #include <OgreSingleton.h>
  5. #include "Event.h"
  6. class CameraManager : public Ogre::Singleton< CameraManager >
  7. {
  8. public:
  9. CameraManager();
  10. virtual ~CameraManager();
  11. void Input(const QGears::Event& event , Ogre::Real timeSinceLastFrame);
  12. void Update();
  13. void OnResize();
  14. // camera free related
  15. void SetCameraFree( const bool enable );
  16. // camera 2D related
  17. void Set2DCamera( const Ogre::Vector3 position, const Ogre::Quaternion orientation, const Ogre::Radian fov );
  18. void Set2DScroll( const Ogre::Vector2& position );
  19. const Ogre::Vector2& Get2DScroll() const;
  20. const Ogre::Vector3 ProjectPointToScreen( const Ogre::Vector3& point );
  21. Ogre::Camera* GetCurrentCamera();
  22. Ogre::Viewport* getViewport();
  23. void EnableWireFrame(bool);
  24. private:
  25. void InitCommands();
  26. private:
  27. Ogre::Camera *m_Camera;
  28. Ogre::Viewport *m_Viewport;
  29. // camera free related
  30. bool m_CameraFree;
  31. bool m_CameraFreeRotate;
  32. // camera 2D related
  33. Ogre::Vector3 m_2DPosition;
  34. Ogre::Quaternion m_2DOrientation;
  35. Ogre::Radian m_2DFOV;
  36. Ogre::Vector2 m_2DScroll;
  37. };
  38. #endif // CAMERA_MANAGER_H