예제 #1
0
        private void _kinect_UserCreated(object sender, KinectUserEventArgs e)
        {
            if (_kinectUsers.Count > 0 && !_userCalibrated)
            {
                //De gebruiker is al aan het initialiseren
                _log.DebugFormat("User {0} ignored, because another user is calibrating", e.User.Id);
                return;
            }

            User user = _kinect.GetUser(e.User.Id);

            user.Updated += _kinectUser_Updated;
            _kinectUsers.Add(user);
            _log.DebugFormat("User {0} added to the list of active Powerpoint users", user.Id);
            OnUserFound(e.User.Id);

            if (_userCalibrated)
            {
                AddUserTouchEvents(user);
            }
            else
            {
                StartCalibration(user);
            }
        }
 private void _kinect_UserCreated(object sender, KinectUserEventArgs e)
 {
     DispatcherHelper.CheckBeginInvokeOnUI(() =>
     {
         lock (_syncRoot)
         {
             User kuser = _kinect.GetUser(e.User.Id);
             if (kuser != null)
             {
                 _player = kuser;
                 AccelerationGesture AccelerationGesture =
                     _player.AddAccelerationGesture();
                 AccelerationGesture.AccelerationCalculated +=
                     AccelerationGesture_AccelerationCalculated;
                 if (_players.Count % 2 == 0)
                 {
                     PongGame.Paddles.Add(new Paddle(
                                              Paddle.Side.Right, false,
                                              kuser.Id));
                 }
                 else
                 {
                     PongGame.Paddles.Add(new Paddle(Paddle.Side.Left,
                                                     false, kuser.Id));
                 }
                 _players.Add(_player);
                 if (PongGame.Paddles.Count == 2)
                 {
                     PongGame.AddBall();
                 }
             }
             DebugInformation = "User Created";
         }
     });
 }
예제 #3
0
        private void _kinect_UserCreated(object sender, KinectUserEventArgs e)
        {
            Core.User kinect_user = _kinect.GetUser(e.User.Id);
            var       xnaUser     = new User.User(kinect_user, Content,
                                                  new Size(graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight));

            _users.Add(xnaUser);
        }
예제 #4
0
        private void KinectUserCreated(object sender, KinectUserEventArgs e)
        {
            WindowMessage = "User found";
            lock (SyncRoot)
            {
                if (_activeUser != null)
                {
                    return;
                }
                _activeUser          = _kinect.GetUser(e.User.Id);
                _activeUser.Updated += ActiveUserUpdated;

                var framesFilter = new FramesFilter(15);

                //Initialize filters
                _lefthandRighthandCollision     = new CollisionFilter(new Point3D(100, 50, 130), JointID.HandLeft, JointID.HandRight);
                _lefthandHeadCollision          = new CollisionFilter(new Point3D(150, 30, 500), JointID.HandLeft, JointID.Head);
                _lefthandRightShoulderCollision = new CollisionFilter(new Point3D(50, 50, 300), JointID.HandLeft, JointID.ShoulderRight);
                _righthandHeadCollision         = new CollisionFilter(new Point3D(125, 40, 150), JointID.HandRight, JointID.Head);
                _righthandLeftShoulderCollision = new CollisionFilter(new Point3D(50, 50, 300), JointID.HandRight, JointID.ShoulderLeft);
                _righthandRightHipCollision     = new CollisionFilter(new Point3D(80, 30, 200), JointID.HandRight, JointID.HipRight);

                //Initialize gestures
                _lefthandRighthandGesture     = new SelfTouchGesture(1);
                _lefthandHeadGesture          = new SelfTouchGesture(1);
                _lefthandRightShoulderGesture = new SelfTouchGesture(1);
                _righthandHeadGesture         = new SelfTouchGesture(1);
                _righthandLeftShoulderGesture = new SelfTouchGesture(1);
                _righthandRightHipGesture     = new SelfTouchGesture(1);

                //Attach filters and gestures
                _activeUser.AttachPipeline(framesFilter);
                framesFilter.AttachPipeline(_lefthandRighthandCollision);
                framesFilter.AttachPipeline(_lefthandHeadCollision);
                framesFilter.AttachPipeline(_lefthandRightShoulderCollision);
                framesFilter.AttachPipeline(_righthandHeadCollision);
                framesFilter.AttachPipeline(_righthandLeftShoulderCollision);
                framesFilter.AttachPipeline(_righthandRightHipCollision);
                _lefthandRighthandCollision.AttachPipeline(_lefthandRighthandGesture);
                _lefthandHeadCollision.AttachPipeline(_lefthandHeadGesture);
                _lefthandRightShoulderCollision.AttachPipeline(_lefthandRightShoulderGesture);
                _righthandHeadCollision.AttachPipeline(_righthandHeadGesture);
                _righthandLeftShoulderCollision.AttachPipeline(_righthandLeftShoulderGesture);
                _righthandRightHipCollision.AttachPipeline(_righthandRightHipGesture);

                _righthandLeftShoulderGesture.SelfTouchDetected += SwitchMode;

                //Debug info
                //_righthandLeftShoulderCollision.Filtered += (s, args) => ShowDebugInfo(args, "Filter info: ");
                _lefthandRightShoulderGesture.SelfTouchDetected += FireCustomEvent;
                SwitchMode(null, null);
            }
        }
        private void KinectUserCreated(object sender, KinectUserEventArgs e)
        {
            User user = _kinect.GetUser(e.User.Id);

            user.Updated += KinectUserUpdated;
            SelfTouchGesture gesture = user.AddSelfTouchGesture(new Point3D(0, 0, 0), JointID.HandLeft, JointID.HandRight);

            gesture.SelfTouchDetected += GestureSelfTouchDetected;
            _kinectUsers.Add(user);

            Action del2 = () => HandImage.Visibility = Visibility.Visible;

            HandImage.Dispatcher.BeginInvoke(DispatcherPriority.Send, del2);
        }
예제 #6
0
 private void _kinect_UserCreated(object sender, KinectUserEventArgs e)
 {
     DispatcherHelper.CheckBeginInvokeOnUI(() =>
     {
         lock (_syncRoot)
         {
             User kuser = _kinect.GetUser(e.User.Id);
             if (kuser != null)
             {
                 Users.Add(new TrackingViewModel(kuser));
                 DebugInformation = "User Created";
             }
         }
     });
 }
        private void KinectUserCreated(object sender, KinectUserEventArgs e)
        {
            DispatcherHelper.CheckBeginInvokeOnUI(() =>
            {
                lock (SyncRoot)
                {
                    User kuser = _kinect.GetUser(e.User.Id);
                    if (kuser != null)
                    {
                        UserViewModel user = CreateUser(kuser);
                        user.AddSemaphoreTracking();

                        Users.Add(user);
                        //User = user;
                        ImageSource = null;
                    }
                }
            });
        }