void CameraFlight::menuCallback(cvr::MenuItem * item) { if (item == _instant) { if(activeMode != item) { activeMode->setValue(false); std::cerr<<"Instant Transition has selected"<<std::endl; } activeMode = _instant; _instant->setValue(true); _flightMode = INSTANT; } else if (item == _satellite) { if(activeMode != item) { activeMode->setValue(false); std::cerr<<"Satellite Transition has selected"<<std::endl; } activeMode = _satellite; _satellite->setValue(true); _flightMode = SATELLITE; } else if (item == _reset) { if(activeMode != item) { activeMode->setValue(false); std::cerr<<"Reset Back to original"<<std::endl; } activeMode = _reset; _reset->setValue(true); SceneManager::instance()->setObjectMatrix(_origMatrix); SceneManager::instance()->setObjectScale(_origScale); } else if (item == _dest1) { if(destMode != item && destMode != NULL) { destMode->setValue(false); _dest1->setValue(true); } if(destMode != item) { destMode = _dest1; _destMat.set(_destMat1); _destVec.set(0.573827, -2.04617, 0.0); navigate(_destMat, _destVec); } else { destMode = _dest1; } } else if (item == _dest2) { if(destMode != item && destMode != NULL) { destMode->setValue(false); } destMode = _dest2; _dest2->setValue(true); _destMat.set(_destMat2); _destVec.set(0.622566, 2.43884, 0.0); navigate(_destMat, _destVec); } else if (item == _dest3) { if(destMode != item && destMode != NULL) { destMode->setValue(false); } destMode = _dest3; _dest3->setValue(true); _destMat.set(_destMat3); _destVec.set(-1.51126, 1.54642, 0.0); navigate(_destMat, _destVec); } else if (item == _dest4) { if(destMode != item && destMode != NULL) { destMode->setValue(false); } destMode = _dest4; _dest4->setValue(true); _destMat.set(_destMat4); _destVec.set(-0.590719, 2.63979, 0.0); navigate(_destMat, _destVec); } else if (item == _dest5) { if(destMode != item && destMode != NULL) { destMode->setValue(false); } destMode = _dest5; _dest5->setValue(true); _destMat.set(_destMat5); _destVec.set(0.67315, 0.389608, 0.0); navigate(_destMat, _destVec); } else if (item == _dest6) { if(destMode != item && destMode != NULL) { destMode->setValue(false); } destMode = _dest6; _dest6->setValue(true); _destMat.set(_destMat6); _destVec.set(0.590992, -2.05847, 0.0); navigate(_destMat, _destVec); } }