clean up code

This commit is contained in:
Dante Ruiz 2017-06-28 23:51:00 +01:00
parent a2df2f8472
commit a7e4dc1473
3 changed files with 36 additions and 51 deletions

View file

@ -649,34 +649,39 @@ Rectangle {
to: 0 to: 0
} }
function logAction(action, status) {
console.log("calibrated from ui");
var data = {
"num_pucks": status["puckCount"],
"puck_configuration": status["configuration"],
"head_puck": status["head_puck"],
"hand_puck": status["hand_pucks"]
}
UserActivityLogger.logAction(action, data);
}
function calibrationStatusInfo(status) { function calibrationStatusInfo(status) {
var calibrationScreen = stack.currentItem; var calibrationScreen = stack.currentItem;
if (!status["UI"]) {
calibratingScreen = screen.createObject();
stack.push(calibratingScreen);
}
if (status["calibrated"]) { if (status["calibrated"]) {
calibrationScreen.success(); calibrationScreen.success();
var data = {
"num_pucks": status["puckCount"], if (status["UI"]) {
"puck_configuration": status["configuration"], logAction("mocap_ui_success", status);
"head_puck": status["head_puck"],
"hand_puck": status["hand_puck"]
} }
UserActivityLogger.logAction("mocap_ui_success", data);
} else if (!status["calibrated"]) { } else if (!status["calibrated"]) {
var uncalibrated = status["success"]; calibrationScreen.failure();
if (!uncalibrated) {
calibrationScreen.failure();
var data = {
"num_pucks": status["puckCount"],
"puck_configuration": status["configuration"],
"head_puck": status["head_puck"],
"hand_puck": status["hand_puck"]
}
UserActivityLogger.logAction("mocap_ui_fail", data); if (status["UI"]) {
logAction("mocap_ui_failed", status);
} }
} }
updateCalibrationButton(); updateCalibrationButton();
} }

View file

@ -249,6 +249,7 @@ ViveControllerManager::InputDevice::InputDevice(vr::IVRSystem*& system) : contro
_configStringMap[Config::FeetAndHips] = QString("FeetAndHips"); _configStringMap[Config::FeetAndHips] = QString("FeetAndHips");
_configStringMap[Config::FeetHipsAndChest] = QString("FeetHipsAndChest"); _configStringMap[Config::FeetHipsAndChest] = QString("FeetHipsAndChest");
_configStringMap[Config::FeetHipsAndShoulders] = QString("FeetHipsAndShoulders"); _configStringMap[Config::FeetHipsAndShoulders] = QString("FeetHipsAndShoulders");
_configStringMap[Config::FeetHipsChestAndShoulders] = QString("FeetHipsChestAndShoulders");
} }
void ViveControllerManager::InputDevice::update(float deltaTime, const controller::InputCalibrationData& inputCalibrationData) { void ViveControllerManager::InputDevice::update(float deltaTime, const controller::InputCalibrationData& inputCalibrationData) {
@ -325,6 +326,7 @@ void ViveControllerManager::InputDevice::calibrateFromUI(const controller::Input
if (_calibrate) { if (_calibrate) {
uncalibrate(); uncalibrate();
calibrate(inputCalibrationData); calibrate(inputCalibrationData);
emitCalibrationStatus();
_calibrate = false; _calibrate = false;
} }
} }
@ -378,32 +380,17 @@ QJsonObject ViveControllerManager::InputDevice::configurationSettings() {
return configurationSettings; return configurationSettings;
} }
void ViveControllerManager::InputDevice::emitCalibrationStatus(const bool success) { void ViveControllerManager::InputDevice::emitCalibrationStatus() {
auto inputConfiguration = DependencyManager::get<InputConfiguration>(); auto inputConfiguration = DependencyManager::get<InputConfiguration>();
QJsonObject status = QJsonObject(); QJsonObject status = QJsonObject();
status["calibrated"] = _calibrated;
if (_calibrated && success) { status["configuration"] = configToString(_preferedConfig);
status["calibrated"] = _calibrated; status["head_puck"] = (_headConfig == HeadConfig::Puck) ? true : false;
status["configuration"] = configToString(_preferedConfig); status["hand_pucks"] = (_handConfig == HandConfig::Pucks) ? true : false;
status["head_puck"] = (_headConfig == HeadConfig::Puck) ? true : false; status["puckCount"] = (int)_validTrackedObjects.size();
status["hand_pucks"] = (_handConfig == HandConfig::Pucks) ? true : false; status["UI"] = _calibrate;
status["puckCount"] = (int)_validTrackedObjects.size();
} else if (!_calibrated && !success) {
status["calibrated"] = _calibrated;
status["success"] = success;
status["success"] = (int)_validTrackedObjects.size();
status["head_puck"] = (_headConfig == HeadConfig::Puck) ? true : false;
status["hand_pucks"] = (_handConfig == HandConfig::Pucks) ? true : false;
} else if (!_calibrated && success) {
status["calibrated"] = _calibrated;
status["success"] = success;
status["configuration"] = configToString(_preferedConfig);
status["puckCount"] = (int)_validTrackedObjects.size();
status["head_puck"] = (_headConfig == HeadConfig::Puck) ? true : false;
status["hand_pucks"] = (_handConfig == HandConfig::Pucks) ? true : false;
}
emit inputConfiguration->calibrationStatus(status); //inputConfiguration->calibrated(status); emit inputConfiguration->calibrationStatus(status);
} }
void ViveControllerManager::InputDevice::handleTrackedObject(uint32_t deviceIndex, const controller::InputCalibrationData& inputCalibrationData) { void ViveControllerManager::InputDevice::handleTrackedObject(uint32_t deviceIndex, const controller::InputCalibrationData& inputCalibrationData) {
@ -460,16 +447,14 @@ void ViveControllerManager::InputDevice::sendUserActivityData(QString activity)
void ViveControllerManager::InputDevice::calibrateOrUncalibrate(const controller::InputCalibrationData& inputCalibration) { void ViveControllerManager::InputDevice::calibrateOrUncalibrate(const controller::InputCalibrationData& inputCalibration) {
if (!_calibrated) { if (!_calibrated) {
calibrate(inputCalibration); calibrate(inputCalibration);
if (_calibrated) { if (_calibrated) {
sendUserActivityData("mocap_button_success"); sendUserActivityData("mocap_button_success");
} else { } else {
sendUserActivityData("mocap_button_fail"); sendUserActivityData("mocap_button_fail");
} }
emitCalibrationStatus();
} else { } else {
uncalibrate(); uncalibrate();
emitCalibrationStatus(true);
sendUserActivityData("mocap_button_uncalibrate"); sendUserActivityData("mocap_button_uncalibrate");
} }
} }
@ -482,7 +467,6 @@ void ViveControllerManager::InputDevice::calibrate(const controller::InputCalibr
if (puckCount == 0) { if (puckCount == 0) {
uncalibrate(); uncalibrate();
emitCalibrationStatus(false);
return; return;
} }
@ -501,10 +485,8 @@ void ViveControllerManager::InputDevice::calibrate(const controller::InputCalibr
if (!headConfigured || !handsConfigured || !bodyConfigured) { if (!headConfigured || !handsConfigured || !bodyConfigured) {
uncalibrate(); uncalibrate();
emitCalibrationStatus(false);
} else { } else {
_calibrated = true; _calibrated = true;
emitCalibrationStatus(true);
qDebug() << "PuckCalibration: " << configToString(_config) << " Configuration Successful"; qDebug() << "PuckCalibration: " << configToString(_config) << " Configuration Successful";
} }
} }
@ -594,8 +576,6 @@ bool ViveControllerManager::InputDevice::configureBody(glm::mat4& defaultToRefer
return true; return true;
} }
qDebug() << "Puck Calibration: " << configToString(_config) << " Config Failed: Could not meet the minimal # of pucks"; qDebug() << "Puck Calibration: " << configToString(_config) << " Config Failed: Could not meet the minimal # of pucks";
uncalibrate();
emitCalibrationStatus(false);
return false; return false;
} }

View file

@ -107,7 +107,7 @@ private:
void calibrateHead(glm::mat4& defaultToReferenceMat, const controller::InputCalibrationData& inputCalibration); void calibrateHead(glm::mat4& defaultToReferenceMat, const controller::InputCalibrationData& inputCalibration);
void calibrateFromHandController(const controller::InputCalibrationData& inputCalibrationData); void calibrateFromHandController(const controller::InputCalibrationData& inputCalibrationData);
void calibrateFromUI(const controller::InputCalibrationData& inputCalibrationData); void calibrateFromUI(const controller::InputCalibrationData& inputCalibrationData);
void emitCalibrationStatus(const bool success); void emitCalibrationStatus();
void calibrateNextFrame(); void calibrateNextFrame();
@ -140,7 +140,7 @@ private:
FeetAndHips, FeetAndHips,
FeetHipsAndChest, FeetHipsAndChest,
FeetHipsAndShoulders, FeetHipsAndShoulders,
FeetHipsChestAndShoulders, FeetHipsChestAndShoulders
}; };
enum class HeadConfig { enum class HeadConfig {