public void AddPossibleObject(SingleObject obj) { if (obj != null) { possibleObjects.Add(obj.GetObjectName(), obj); } }
public void RemoveSelectedObject() { if (selectedObject != null) { usedObjects.Remove(selectedObject.GetObjectName()); } }
public void AddPossibleObject(SingleObject obj) { if (obj != null) possibleObjects.Add(obj.GetObjectName(), obj); }
void speechEngine_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) { const double ConfidenceThreshold = 0.3; if (e.Result.Confidence >= ConfidenceThreshold) { if (e.Result.Semantics.Value != null) { string semValue = e.Result.Semantics.Value.ToString(); switch (semValue) { case "CALIB_CALIBRATE": mainEngine.AddTextToLog("SpeechRec: " + semValue); if (mainEngine.GetAppState() == ApplicationState.Ready) { mainEngine.SetAppState(ApplicationState.Calibration); mainEngine.service.send(Orders.CALIBRATE); // no i komunikat do klienta... } else { // jakies inne przypadki? np. ponowna kalibracja czy cos... } break; case "CALIB_MARK": mainEngine.AddTextToLog("SpeechRec: " + semValue); if (mainEngine.GetAppState() == ApplicationState.Calibration) { mainEngine.GetCalibrator().SetNextCalibrationPoint( mainEngine.GetSkeletonController().GetRightHandCoord()); if (mainEngine.GetAppState() == ApplicationState.Calibrated) { mainEngine.AddTextToLog("skalibrowane"); mainEngine.service.send(Orders.DONE); } else if (mainEngine.GetAppState() == ApplicationState.Calibration) { mainEngine.service.send(Orders.MARK); } } else { // cos poszlo zle... } break; case "ONN_MOVE": mainEngine.AddTextToLog("SpeechRec: " + semValue); break; case "ONN_THERE": mainEngine.AddTextToLog("SpeechRec: " + semValue); if (mainEngine.GetAppState() == ApplicationState.Working) { mainEngine.GetObjectManager().SelectedMoveTo(mainEngine.GetSkeletonController().GetRightHandCoord()); // no i komunikat do klienta... } else { // ... } break; case "ONN_REMOVE": mainEngine.AddTextToLog("SpeechRec: " + semValue); if (mainEngine.GetAppState() == ApplicationState.Working) { if (mainEngine.GetObjectManager().GetSelectedObject() != null) { mainEngine.service.sendRemoveObject(mainEngine.GetObjectManager().GetSelectedObject().GetObjectName()); mainEngine.GetObjectManager().RemoveSelectedObject(); } // no i komunikat do klienta... } else { // ... } break; } } else { var semVal = e.Result.Semantics; if (semVal.ContainsKey("OWN_MOVE_NAME")) { mainEngine.AddTextToLog("SpeechRec: move " + semVal["OWN_MOVE_NAME"].Value); if (mainEngine.GetAppState() == ApplicationState.Working) { string name = semVal["OWN_MOVE_NAME"].Value.ToString(); mainEngine.GetObjectManager().MoveTo(name, mainEngine.GetSkeletonController().GetRightHandCoord()); SingleObject so = mainEngine.GetObjectManager().GetUsedObjectByName(name); if (so != null) { mainEngine.service.sendMoveObject(so.GetObjectName(), so.GetScreenCentroidPosition().Y, so.GetScreenCentroidPosition().X); } } else { // ... } } else if (semVal.ContainsKey("OWN_NEW_NAME")) { mainEngine.AddTextToLog("SpeechRec: new " + semVal["OWN_NEW_NAME"].Value); if (mainEngine.GetAppState() == ApplicationState.Working) { mainEngine.GetObjectManager().AddUsedObject(semVal["OWN_NEW_NAME"].Value.ToString(), mainEngine.GetSkeletonController().GetRightHandCoord()); SingleObject so = mainEngine.GetObjectManager().GetUsedObjectByName(semVal["OWN_NEW_NAME"].Value.ToString()); so.SetScreenPosition(mainEngine.GetCalibrator().ScaleKinectPositionToScreen(so.GetCentroidPosition())); mainEngine.service.sendCreateObject(so.GetObjectName(), so.GetObjectType(), so.GetScreenCentroidPosition().Y, so.GetScreenCentroidPosition().X); } else { // ... } } else if (semVal.ContainsKey("OWN_REMOVE_NAME")) { mainEngine.AddTextToLog("SpeechRec: remove " + semVal["OWN_REMOVE_NAME"].Value); if (mainEngine.GetAppState() == ApplicationState.Working) { mainEngine.GetObjectManager().RemoveUsedObject(semVal["OWN_REMOVE_NAME"].Value.ToString()); mainEngine.service.sendRemoveObject(semVal["OWN_REMOVE_NAME"].Value.ToString()); } else { } } } } }