public override void Add(Vector position, SkeletonEngine engine) { base.Add(position, engine); if (path != null) { path.Points.Add(position.ToVector2()); } }
public override void Add(Vector position, SkeletonEngine engine) { base.Add(position, engine); if (path != null) { path.Points.Add(position.ToVector2()); } }
public virtual void Add(Vector position, SkeletonEngine engine) { var entry = new Entry {Position = position.ToVector3(), Time = DateTime.Now}; Entries.Add(entry); if (Entries.Count > GestureCount) { Entries.RemoveAt(0); } LookForGesture(); }
public virtual void Add(Vector position, SkeletonEngine engine) { Entry newEntry = new Entry { Position = position.ToVector3(), Time = DateTime.Now }; Entries.Add(newEntry); if (displayCanvas != null) { newEntry.DisplayEllipse = new Ellipse { Width = 4, Height = 4, HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, StrokeThickness = 2.0, Stroke = new SolidColorBrush(displayColor), StrokeLineJoin = PenLineJoin.Round }; float x, y; engine.SkeletonToDepthImage(position, out x, out y); x = (float)(x * displayCanvas.ActualWidth); y = (float)(y * displayCanvas.ActualHeight); Canvas.SetLeft(newEntry.DisplayEllipse, x - newEntry.DisplayEllipse.Width / 2); Canvas.SetTop(newEntry.DisplayEllipse, y - newEntry.DisplayEllipse.Height / 2); displayCanvas.Children.Add(newEntry.DisplayEllipse); } if (Entries.Count > WindowSize) { Entry entryToRemove = Entries[0]; if (displayCanvas != null) { displayCanvas.Children.Remove(entryToRemove.DisplayEllipse); } Entries.Remove(entryToRemove); } LookForGesture(); }
public virtual void Add(Vector position, SkeletonEngine engine) { var entry = new Entry { Position = position.ToVector3(), Time = DateTime.Now }; Entries.Add(entry); if (Entries.Count > GestureCount) { Entries.RemoveAt(0); } LookForGesture(); }
public virtual void Add(Vector position, SkeletonEngine engine) { Entry newEntry = new Entry {Position = position.ToVector3(), Time = DateTime.Now}; Entries.Add(newEntry); if (displayCanvas != null) { newEntry.DisplayEllipse = new Ellipse { Width = 4, Height = 4, HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, StrokeThickness = 2.0, Stroke = new SolidColorBrush(displayColor), StrokeLineJoin = PenLineJoin.Round }; float x, y; engine.SkeletonToDepthImage(position, out x, out y); x = (float)(x * displayCanvas.ActualWidth); y = (float)(y * displayCanvas.ActualHeight); Canvas.SetLeft(newEntry.DisplayEllipse, x - newEntry.DisplayEllipse.Width / 2); Canvas.SetTop(newEntry.DisplayEllipse, y - newEntry.DisplayEllipse.Height / 2); displayCanvas.Children.Add(newEntry.DisplayEllipse); } if (Entries.Count > WindowSize) { Entry entryToRemove = Entries[0]; if (displayCanvas != null) { displayCanvas.Children.Remove(entryToRemove.DisplayEllipse); } Entries.Remove(entryToRemove); } LookForGesture(); }
public SkeletonDisplayManager(SkeletonEngine engine, Canvas root) { rootCanvas = root; skeletonEngine = engine; }
public SkeletonDisplayManager(SkeletonEngine engine, Canvas root) { rootCanvas = root; skeletonEngine = engine; }
// This is one method of getting the skeleton frames, just // keep on asking for them and sending them. Works fine if we // don't want to do anything else. void StreamSkeletons(SkeletonEngine engine) { SkeletonFrame frame; while (true) { frame = engine.GetNextFrame(100000); ProcessFrame(frame); } }
public virtual void Add(Vector position, SkeletonEngine engine) { currentPosition = new InputData(position.ToVector3(), 0); LookForGesture(); }