00001 /* 00002 * cameraMgr.h 00003 * 00004 * Created on: Feb 19, 2012 00005 * Author: sushil 00006 */ 00007 #ifndef CAMERAMGR_H_ 00008 #define CAMERAMGR_H_ 00009 00010 #include <OgreVector3.h> 00011 #include <OISEvents.h> 00012 //#include <OISInputManager.h> 00013 #include <OISKeyboard.h> 00014 #include <OISMouse.h> 00015 00016 #include <gfxMgr.h> 00017 00018 namespace OgreGFX { 00019 00020 class GraphicsInteractionManager; 00021 00022 class CameraMgr : public GFXMgr { 00023 public: 00024 Ogre::Vector3 velocity; 00025 Ogre::SceneNode* yawNode; 00026 00027 Ogre::SceneNode* pitchNode; 00028 Ogre::SceneNode* cameraNode; 00029 00030 Ogre::SceneNode* mTarget; 00031 bool orbiting; 00032 bool zooming; 00033 float topSpeed; 00034 float topRotation; 00035 00036 bool forward; 00037 bool back; 00038 bool left; 00039 bool right; 00040 bool up; 00041 bool down; 00042 bool yawLeft; 00043 bool yawRight; 00044 bool pitchUp; 00045 bool pitchDown; 00046 00047 Ogre::Vector3 mouseScrollTranslation; 00048 Ogre::Vector3 mouseScrollTranslationSrc; 00049 Ogre::Vector3 zeroTranslation; 00050 00051 float lerpTime; 00052 float timeToStop; 00053 float mouseScrollSpeed; 00054 float maxHeight; 00055 float minHeight; 00056 00057 bool fastMove; 00058 00059 Ogre::Camera* camera; 00060 Ogre::SceneManager* sceneManager; 00061 00062 CameraMgr(GraphicsInteractionManager *gim);//Engine* eng, Ogre::SceneManager *sm, Ogre::Camera* cam); 00063 void injectKeyDown(const OIS::KeyEvent& evt); 00064 void injectKeyUp(const OIS::KeyEvent& evt); 00065 bool frameRenderingQueued(const Ogre::FrameEvent& evt); 00066 void handleMouseScrollCameraZoom(const OIS::MouseEvent &e); 00067 00068 00069 }; 00070 } 00071 00072 #endif