private static void HandleEvents(Frame frame) { foreach (var ev in frame.GetEvents()) { switch (ev.GetEventType()) { case EventType.EfficioStarted: Console.WriteLine("Efficio Started"); break; case EventType.SensorConnecting: var connecting = SWIGHelper.CastTo <Connecting>(ev); Console.WriteLine(connecting.SensorInformation.Name + " Connecting"); break; case EventType.SensorConnected: var connected = SWIGHelper.CastTo <Connected>(ev); Console.WriteLine(connected.SensorInformation.Name + " Connected"); break; case EventType.SensorDisconnecting: var disconnecting = SWIGHelper.CastTo <Disconnecting>(ev); Console.WriteLine(disconnecting.SensorInformation.Name + " Disconnecting"); break; case EventType.SensorDisconnected: var disconnected = SWIGHelper.CastTo <Disconnected>(ev); Console.WriteLine(disconnected.SensorInformation.Name + " Disconnected"); break; case EventType.SensorFaulted: var faulted = SWIGHelper.CastTo <Faulted>(ev); Console.WriteLine(faulted.SensorInformation.Name + " Faulted"); break; case EventType.Pinch: var pinch = SWIGHelper.CastTo <Pinch>(ev); var finger = pinch.Finger1; var handData = frame.GetDataOfType <HandData>(); if (handData.Count() > 0) { var hand = handData.SelectMany(x => x.Hands).First(x => x.ID == (pinch.HandID)); Console.WriteLine("Pinch detected by " + hand.Source + " at frame " + frame.ID); } break; default: break; } } }
public System.Collections.Generic.IEnumerable <T> GetDataOfType <T>() { System.Collections.Generic.List <T> collection = new System.Collections.Generic.List <T>(); DataType dataType = GetDataTypeForType <T>(); foreach (var datum in this.Data) { if (datum.GetDataType() == dataType) { collection.Add(SWIGHelper.CastTo <T>(datum)); } } return(collection); }
void ProcessFrame(Frame frame) { if (frame.GetEvents().Count > 0) { foreach (var ev in frame.GetEvents()) { switch (ev.GetEventType()) { case Net.EventType.Pinch: var pinch = SWIGHelper.CastTo <Pinch>(ev, false); if (pinch != null) { PinchMessage pinchMessage = new PinchMessage(pinch); MessageBus.MessageBus.Instance.SendMessage(pinchMessage); } break; case Net.EventType.HandSupine: var supine = SWIGHelper.CastTo <HandSupine>(ev, false); if (supine != null) { HandSupineMessage pinchMessage = new HandSupineMessage(supine); MessageBus.MessageBus.Instance.SendMessage(pinchMessage); } break; case Net.EventType.EfficioStarted: var started = SWIGHelper.CastTo <EfficioStarted>(ev, false); if (started != null) { EfficioStartedMessage startedMessage = new EfficioStartedMessage(started); MessageBus.MessageBus.Instance.SendMessage(startedMessage); } break; case Net.EventType.ButtonPressed: { var buttonPressed = SWIGHelper.CastTo <ButtonPressed>(ev, false); if (buttonPressed != null) { ButtonPressedMessage buttonPressedMessage = new ButtonPressedMessage(buttonPressed); MessageBus.MessageBus.Instance.SendMessage(buttonPressedMessage); } break; } case Net.EventType.SensorConnected: { var sensorConnected = SWIGHelper.CastTo <Connected>(ev, false); if (sensorConnected != null) { SensorConnectedMesssage sensorConnectedMesssage = new SensorConnectedMesssage(sensorConnected); MessageBus.MessageBus.Instance.SendMessage(sensorConnectedMesssage); } break; } case Net.EventType.SensorFaulted: { var sensorFaulted = SWIGHelper.CastTo <Faulted>(ev, false); if (sensorFaulted != null) { SensorFaultedMesssage sensorFaultedMesssage = new SensorFaultedMesssage(sensorFaulted); MessageBus.MessageBus.Instance.SendMessage(sensorFaultedMesssage); } break; } case Net.EventType.SensorDisconnected: { var sensorDisconnected = SWIGHelper.CastTo <Disconnected>(ev, false); if (sensorDisconnected != null) { SensorDisconnectedMesssage sensorDisconnectedMesssage = new SensorDisconnectedMesssage(sensorDisconnected); MessageBus.MessageBus.Instance.SendMessage(sensorDisconnectedMesssage); } break; } default: break; } } } }