00001 #pragma once
00002
00003 #include "OgreCamera.h"
00004 #include "OgreVector3.h"
00005 #include "OgreMath.h"
00006
00007 using Ogre::Camera;
00008 using Ogre::SceneManager;
00009 using Ogre::SceneNode;
00010 using Ogre::Vector3;
00011 using Ogre::Radian;
00012 using Ogre::Real;
00013
00014
00015 namespace ASR
00016 {
00017
00018 class RTSCamera
00019 {
00020
00021
00022
00023 private:
00024 SceneManager* mSceneMgr;
00025 Camera* mCamera;
00026 SceneNode* mCamNode;
00027 SceneNode* mPitchNode;
00028
00029
00030
00031 public:
00032 Camera* getCamera () { return mCamera; };
00033
00034
00035
00036 public:
00037 RTSCamera ( SceneManager* sceneMgr );
00038 ~RTSCamera ();
00039
00040
00041
00042
00043 public:
00044 void translate ( const Vector3& vec );
00045 void pitch ( const Radian& angle );
00046
00047
00048
00049
00050 public:
00051 void setAspectRatio( Real ratio );
00052 };
00053 }