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();
        }
Exemple #4
0
        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();
        }
Exemple #7
0
 public SkeletonDisplayManager(SkeletonEngine engine, Canvas root)
 {
     rootCanvas     = root;
     skeletonEngine = engine;
 }
 public SkeletonDisplayManager(SkeletonEngine engine, Canvas root)
 {
     rootCanvas = root;
     skeletonEngine = engine;
 }
Exemple #9
0
 // 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);
     }
 }
Exemple #10
0
 public virtual void Add(Vector position, SkeletonEngine engine)
 {
     currentPosition = new InputData(position.ToVector3(), 0);
     LookForGesture();
 }