#include <cameralistener.h>
Definition at line 9 of file cameralistener.h.
Public Member Functions | |
| CameraListener (SceneManager *scene, Camera *cam, OIS::Keyboard *keyboard, OIS::Mouse *mouse) | |
| virtual | ~CameraListener () |
Protected Member Functions | |
| bool | frameStarted (const FrameEvent &evt) |
| bool | frameEnded (const FrameEvent &evt) |
| bool | mouseMoved (const OIS::MouseEvent &e) |
| bool | mousePressed (const OIS::MouseEvent &e, OIS::MouseButtonID id) |
| bool | mouseReleased (const OIS::MouseEvent &e, OIS::MouseButtonID id) |
Private Attributes | |
| SceneManager * | mSceneMgr |
| Camera * | mCamera |
| SceneNode * | mCamNode |
| OIS::Keyboard * | mKeyboard |
| OIS::Mouse * | mMouse |
| int | rendType |
| Real | rotateSpeed |
| Real | moveSpeed |
| Default rotation speed. | |
| Real | toggle |
| Default movement speed. | |
| CameraListener::CameraListener | ( | SceneManager * | scene, | |
| Camera * | cam, | |||
| OIS::Keyboard * | keyboard, | |||
| OIS::Mouse * | mouse | |||
| ) |
| scene | A pointer to the SceneManager of the camera we are listening | |
| cam | A pointer to the camera we are controlling | |
| keyboard | A pointer to a "un"buffered keyboard we are using | |
| mouse | A pointer to a buffered mouse we are using |
Definition at line 11 of file cameralistener.cpp.
References mCamera, mCamNode, mKeyboard, mMouse, moveSpeed, mSceneMgr, rotateSpeed, and toggle.
00012 { 00013 mSceneMgr = scene; 00014 mCamera = cam; 00015 mKeyboard = keyboard; 00016 mMouse = mouse; 00017 00018 moveSpeed = 10; 00019 rotateSpeed = 0.15; 00020 toggle = 0.0; 00021 00022 mCamNode = mCamera->getParentSceneNode(); 00023 mMouse->setEventCallback(this); 00024 }
| CameraListener::~CameraListener | ( | ) | [virtual] |
| bool CameraListener::frameStarted | ( | const FrameEvent & | evt | ) | [protected] |
Definition at line 30 of file cameralistener.cpp.
References mCamera, mCamNode, mKeyboard, mMouse, moveSpeed, rendType, and toggle.
00031 { 00032 mKeyboard->capture(); 00033 mMouse->capture(); 00034 toggle -= evt.timeSinceLastFrame; 00035 00036 Vector3 transVector = Vector3::ZERO; 00037 if(mKeyboard->isKeyDown(OIS::KC_W)) transVector.z-=moveSpeed; 00038 if(mKeyboard->isKeyDown(OIS::KC_S)) transVector.z+=moveSpeed; 00039 if(mKeyboard->isKeyDown(OIS::KC_D)) transVector.x+=moveSpeed; 00040 if(mKeyboard->isKeyDown(OIS::KC_A)) transVector.x-=moveSpeed; 00041 if(mKeyboard->isKeyDown(OIS::KC_PGUP)) transVector.y+=moveSpeed; 00042 if(mKeyboard->isKeyDown(OIS::KC_PGDOWN)) transVector.y-=moveSpeed; 00043 if(mKeyboard->isKeyDown(OIS::KC_LSHIFT)) moveSpeed=50; 00044 else moveSpeed = 10; 00045 if((mKeyboard->isKeyDown(OIS::KC_R)) && toggle < 0){ 00046 rendType = (rendType+1)%3; 00047 switch(rendType){ 00048 case 0 : mCamera->setPolygonMode(PM_SOLID); break; 00049 case 1 : mCamera->setPolygonMode(PM_WIREFRAME); break; 00050 case 2 : mCamera->setPolygonMode(PM_POINTS); break; 00051 } 00052 toggle = 0.5; 00053 } 00054 mCamNode->translate(transVector * evt.timeSinceLastFrame, Node::TS_LOCAL); 00055 return true; 00056 }
| bool CameraListener::frameEnded | ( | const FrameEvent & | evt | ) | [protected] |
| bool CameraListener::mouseMoved | ( | const OIS::MouseEvent & | e | ) | [protected] |
Definition at line 63 of file cameralistener.cpp.
References mCamNode, and rotateSpeed.
00064 { 00065 mCamNode->yaw(Degree(-rotateSpeed * e.state.X.rel), Node::TS_WORLD); 00066 mCamNode->pitch(Degree(-rotateSpeed * e.state.Y.rel), Node::TS_LOCAL); 00067 return true; 00068 }
| bool CameraListener::mousePressed | ( | const OIS::MouseEvent & | e, | |
| OIS::MouseButtonID | id | |||
| ) | [protected] |
| bool CameraListener::mouseReleased | ( | const OIS::MouseEvent & | e, | |
| OIS::MouseButtonID | id | |||
| ) | [protected] |
SceneManager* CameraListener::mSceneMgr [private] |
Camera* CameraListener::mCamera [private] |
SceneNode* CameraListener::mCamNode [private] |
Definition at line 23 of file cameralistener.h.
Referenced by CameraListener(), frameStarted(), and mouseMoved().
OIS::Keyboard* CameraListener::mKeyboard [private] |
OIS::Mouse* CameraListener::mMouse [private] |
int CameraListener::rendType [private] |
Real CameraListener::rotateSpeed [private] |
Real CameraListener::moveSpeed [private] |
Default rotation speed.
Definition at line 28 of file cameralistener.h.
Referenced by CameraListener(), and frameStarted().
Real CameraListener::toggle [private] |
Default movement speed.
Definition at line 29 of file cameralistener.h.
Referenced by CameraListener(), and frameStarted().
1.5.6