Пример #1
0
 /// <summary>
 /// <see cref="Bspline.Model.Interfaces.ILogicDelegate"/>
 /// </summary>
 public void OnMotionDataPacketFiltered(MotionDataPacket dataPacket)
 {
     this.ModelDelegate.OnMotionDataPacketReady(dataPacket);
     if (this.Record)
     {
         this.AlgPoints.Add(dataPacket.RightPosition);
     }
 }
Пример #2
0
        /// <summary>
        /// <see cref="ModelViewColleague"/>
        /// </summary>
        /// <param name="motionDataPacket"></param>
        internal override void UpdateTrackingStream(MotionDataPacket motionDataPacket)
        {
            this.PaintingDelegate.OnGestureMove(motionDataPacket.RightPosition.Position);

            this.RightHandLeft = motionDataPacket.RightPosition.Position.X;
            this.RightHandTop  = motionDataPacket.RightPosition.Position.Y;
            this.OnPropertyChanged(() => this.CoordinateText);
        }
Пример #3
0
        /// <summary>
        /// Filters the massive amount of <see cref="Bspline.Core.DataPacket.MotionDataPacket"/> coming from <see cref="Bspline.Media.MediaWrapperBase"/>
        /// </summary>
        /// <param name="dataPacket"></param>
        public void Filter(MotionDataPacket dataPacket)
        {
            if (this.CanSaveHand)
            {
                IPosition avgPosition = this.RightHands
                                        .Select(hand =>
                {
                    hand.Position.X = (int)this.RightHands.Average(obj => obj.Position.X);
                    hand.Position.Y = (int)this.RightHands.Average(obj => obj.Position.Y);

                    return(hand);
                }).First();

                this.LogicDelegate.OnMotionDataPacketFiltered(new MotionDataPacket(null, avgPosition));
                this.Reset();
            }
            else
            {
                this.RightHands.Add(dataPacket.RightPosition);
            }
        }
Пример #4
0
 /// <summary>
 /// <see cref="Bspline.Core.Interfaces.IModelDelegate"/>
 /// </summary>
 public void OnMotionDataPacketReady(MotionDataPacket motionDataPacket)
 {
     this.NoiseFilter.Filter(motionDataPacket);
 }
Пример #5
0
 /// <summary>
 /// <see cref="IModelDelegate"/>
 /// </summary>
 public void OnMotionDataPacketReady(MotionDataPacket motionDataPacket)
 {
     this.ModelViewCollection.ForEach(mv => mv.UpdateTrackingStream(motionDataPacket));
 }
Пример #6
0
 /// <summary>
 /// Update upon motion stream
 /// </summary>
 /// <param name="motionDataPacket">motion data</param>
 internal virtual void UpdateTrackingStream(MotionDataPacket motionDataPacket)
 {
 }