void HMC5883LClass::initialise() { checkCommunication_(); setConfigA_(0b00011000); //No averaging, 75Hz update rate, no bias setConfigB_(0b00100000); //+-1.3 gauss range, 1090 LSB/gauss setMode_(0); //Continuous measurement mode }
void InteractionModeManager::keyPressEvent(QKeyEvent* evt) { for(std::list<InteractionMode*>::iterator it = modes_.begin(); it != modes_.end(); ++it) { if(evt->key() == (*it)->getKey()) { setMode_(*it); return; } } if(handleStereoKeyPress_(evt)) { return; } //Let the current mode process the key event current_mode_->keyPressEvent(evt); }
bool InteractionModeManager::handleStereoKeyPress_(QKeyEvent* evt) { // TODO make keys configurable in shortcutRegistry if ((stereo_mode_ == Renderer::NO_STEREO) && (evt->key() == Qt::Key_Escape)) { setMode_(last_mode_); return true; } if (stereo_mode_ == Renderer::NO_STEREO) { evt->ignore(); return false; } // TODO make keys configurable in shortcutRegistry if ((evt->key() == Qt::Key_Y && evt->modifiers() == Qt::AltModifier) || evt->key() == Qt::Key_Escape) { scene_->exitStereo(); return true; } // TODO make keys configurable in shortcutRegistry // setting of eye and focal distance if (evt->key() != Qt::Key_Left && evt->key() != Qt::Key_Right && evt->key() != Qt::Key_Up && evt->key() != Qt::Key_Down) { evt->ignore(); return false; } // TODO make keys configurable in shortcutRegistry // setting of eye distance if (evt->key() == Qt::Key_Left || evt->key() == Qt::Key_Right) { float new_distance = scene_->getStage()->getEyeDistance(); // TODO make keys configurable in shortcutRegistry float modifier = 1; if (evt->key() == Qt::Key_Left) { modifier = -0.1; } else { modifier = +0.1; } // TODO make keys configurable in shortcutRegistry if (evt->modifiers() == Qt::ShiftModifier) { modifier *= 10; } new_distance += modifier; // prevent strange values if (new_distance < 0) { new_distance = 0; } if (new_distance > 4) { new_distance = 4; } scene_->getStage()->setEyeDistance(new_distance); } // setting of focal distance else { float new_focal_distance = scene_->getStage()->getFocalDistance(); // TODO make keys configurable in shortcutRegistry float modifier = 1; if (evt->key() == Qt::Key_Down) { modifier = -1; } else { modifier = +1; } // TODO make keys configurable in shortcutRegistry if (evt->modifiers() == Qt::ShiftModifier) { modifier *= 10; } new_focal_distance += modifier; // prevent strange values if (new_focal_distance < 7) { new_focal_distance = 7; } if (new_focal_distance > 1000) { new_focal_distance = 1000; } scene_->getStage()->setFocalDistance(new_focal_distance); } //TODO: readd this //stage_settings_->updateFromStage(); scene_->updateGL(); return true; }
void InteractionModeManager::switchToLastMode() { setMode_(last_mode_); }