/*---------------------------------------------------------------------------------*/ void CameraHandler::initCameraHandler(Ogre::Camera* cam, OGRE3DRenderSystem* renderSystem,Ogre::SceneManager* mmvpSceneMgr , Player* p) { mvpCam = cam; mvpSceneMgr = mmvpSceneMgr; //Gett settings from the settings class. mvpRotate = &Settings::getSingletonPtr()->mCamRotate; mvpZoom = &Settings::getSingletonPtr()->mCamZoom; mvpCamVelocityY = &Settings::getSingletonPtr()->mCamVelocityY; mvpCamVelocityXZ = &Settings::getSingletonPtr()->mCamVelocityXZ; mvpCamHeightMaxY = &Settings::getSingletonPtr()->mCamHeightMaxY; mvpCamHeightMinY = &Settings::getSingletonPtr()->mCamHeightMinY; mvpCamDistanceMax = &Settings::getSingletonPtr()->mCamDistanceMax; mvpCamDistanceMin = &Settings::getSingletonPtr()->mCamDistanceMin; mvpCamCharYAdjust = &Settings::getSingletonPtr()->mCamCharYAdjust; mvpCamGunTrackerOffsetX = &Settings::getSingletonPtr()->mCamGunTrackerOffsetX; mvpCamGunTrackerOffsetY = &Settings::getSingletonPtr()->mCamGunTrackerOffsetY; mvpCamGunTrackerOffsetZ = &Settings::getSingletonPtr()->mCamGunTrackerOffsetZ; mvScreenWidth = GameFramework::getSingletonPtr()->mpRenderWnd->getWidth(); mvScreenHeight = GameFramework::getSingletonPtr()->mpRenderWnd->getHeight(); //All the nodes that is going to be used mvpCamNoCollisionNode = mvpSceneMgr->getSceneNode("CamNoCollisionNode"); mvpCamCollisionNode = mvpSceneMgr->getSceneNode("CamCollisionNode"); mvpCamHelperNode = mvpSceneMgr->getSceneNode("CamHelperNode"); mvpCamOrginNode = mvpSceneMgr->getSceneNode("CamOrginNode"); mvpCharNode = mvpSceneMgr->getSceneNode("CharNode"); mvpCamFirstPersonNode = mvpSceneMgr->getSceneNode("CamFirstPersonNode"); mvpFirstPersonGunTrackerNode = mvpSceneMgr->getSceneNode("FirstPersonGunTrackerNode"); mvpCamGunMoveNode = mvpSceneMgr->getSceneNode("CamMoveNode"); mvpCamGunMoveHelperNode = mvpSceneMgr->getSceneNode("CamMoveHelperNode"); mvpCamGunCenterNode = mvpSceneMgr->getSceneNode("CamCenterNode"); mvpCamGunCenterHelperNode = mvpSceneMgr->getSceneNode("CamCenterHelperNode"); mvpCursorMovableGunTrackerNode = mvpSceneMgr->getSceneNode("GunTrackNode"); setPlayerPtr(p); mvCamMode = NULL; setCamMode(Game::Cam_ThirdPerson); mvPitchTrackerThirdPerson = 0; mvPitchTrackerSemiThirdPerson = 0; mvPitchTrackerFirstPerson = 0; //Create sphere for collision //Properties NxOgre::RigidBodyDescription descriptionSphere; descriptionSphere.mBodyFlags |= NxOgre::Enums::BodyFlags_DisableGravity; descriptionSphere.mBodyFlags |= NxOgre::Enums::BodyFlags_FreezeRotation; descriptionSphere.mMass = *Settings::getSingletonPtr()->mCamMass; descriptionSphere.mDensity = 0; descriptionSphere.mLinearDamping = *Settings::getSingletonPtr()->mCamLinearDamping; descriptionSphere.mAngularDamping = *Settings::getSingletonPtr()->mCamAngularDamping; /*Create it. cube1m mesh wont show anyway. NxOgre::Vec3(0,2,3) indicates the camera position*/ //@todo spawn at player mvpCamSphere = renderSystem->createBody(new NxOgre::Sphere(*Settings::getSingletonPtr()->mCamRadius), NxOgre::Vec3(Settings::getSingletonPtr()->mCamStartPosX,Settings::getSingletonPtr()->mCamStartPosY,Settings::getSingletonPtr()->mCamStartPosZ)+NxOgre::Vec3(Ogre::Vector3 (*Settings::getSingletonPtr()->mPlayerSpawnPointX,*Settings::getSingletonPtr()->mPlayerSpawnPointY,*Settings::getSingletonPtr()->mPlayerSpawnPointZ)), "cube.1m.mesh", descriptionSphere); mvpCamSphere->getEntity()->setVisible(false); //Set Collision Flag to group 2 NxShape* const* s2 = mvpCamSphere->getNxActor()->getShapes(); (*s2)->setGroup(2); }
void MapViewer::onCamModePan() { emit setCamMode(1); }
void MapViewer::onCamModeZoom() { emit setCamMode(2); }
void MapViewer::onCamModeRotate() { emit setCamMode(0); }