|
|
|
@ -7,27 +7,36 @@ using Lib;
|
|
|
|
|
|
|
|
|
|
namespace KinectUtils
|
|
|
|
|
{
|
|
|
|
|
static class GestureManager
|
|
|
|
|
public static class GestureManager
|
|
|
|
|
{
|
|
|
|
|
static event EventHandler GestureRecognized;
|
|
|
|
|
static KinectManager KinectManager { get; set; }
|
|
|
|
|
static List<BaseGesture> KnownGestures { get; set; }
|
|
|
|
|
public static event EventHandler<GestureRecognizedEventArgs> GestureRecognized;
|
|
|
|
|
public static List<BaseGesture> KnownGestures = new List<BaseGesture>();
|
|
|
|
|
|
|
|
|
|
static public void AddGestures(IGestureFactory factory)
|
|
|
|
|
public static void AddGestures(IGestureFactory factory)
|
|
|
|
|
{
|
|
|
|
|
KnownGestures = (List<BaseGesture>)factory.CreateGestures();
|
|
|
|
|
var gestures = factory.CreateGestures();
|
|
|
|
|
foreach (var gesture in gestures)
|
|
|
|
|
{
|
|
|
|
|
AddGesture(gesture);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
static public void AddGestures(params BaseGesture[] gestures)
|
|
|
|
|
public static void AddGesture(BaseGesture gesture)
|
|
|
|
|
{
|
|
|
|
|
foreach (var gesture in gestures)
|
|
|
|
|
if (!KnownGestures.Contains(gesture))
|
|
|
|
|
{
|
|
|
|
|
KnownGestures.Add(gesture);
|
|
|
|
|
gesture.GestureRecognized += (sender, e) => GestureRecognized?.Invoke(sender, e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
static public void RemoveGesture(BaseGesture gesture)
|
|
|
|
|
public static void RemoveGesture(BaseGesture gesture)
|
|
|
|
|
{
|
|
|
|
|
KnownGestures.Remove(gesture);
|
|
|
|
|
if (KnownGestures.Contains(gesture))
|
|
|
|
|
{
|
|
|
|
|
KnownGestures.Remove(gesture);
|
|
|
|
|
gesture.GestureRecognized -= (sender, e) => GestureRecognized?.Invoke(sender, e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static public void StartAcquiringFrames(KinectManager kinectManager)
|
|
|
|
|
{
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|