Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Connecting to device...");

            var context = new XnMOpenNIContext();

            context.Init();

            var session = new XnMSessionManager(context, "Wave", "RaiseHand");

            session.SessionStarted += new EventHandler <PointEventArgs>(session_SessionStarted);
            session.SessionEnded   += new EventHandler(session_SessionEnded);

            var pointFilter = new XnMPointFilter();

            pointFilter.PointCreate  += new EventHandler <PointBasedEventArgs>(pointControl_PointCreate);
            pointFilter.PointDestroy += new EventHandler <PointDestroyEventArgs>(pointControl_PointDestroy);
            pointFilter.PointUpdate  += new EventHandler <PointBasedEventArgs>(pointControl_PointUpdate);

            session.AddListener(pointFilter);

            Console.WriteLine("Wave to start.");

            while (!Console.KeyAvailable)
            {
                context.Update();
                session.Update(context);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Starts a new session with the Kinect's cameras
        /// </summary>
        public static void Run()
        {
            XnMOpenNIContext context = new XnMOpenNIContext();

            try
            {
                context.Init();
                KinectExists = true;
            }
            catch (XnMException)
            {
                Trace.WriteLine("Kinect device was not found.");
                Active     = false;
                KinectFail = true;
                return;
            }

            Trace.WriteLine("Kinect device found.");

            sessionManager = new XnMSessionManager(context, "RaiseHand", "RaiseHand");
            sessionManager.SessionStarted +=
                new EventHandler <PointEventArgs>(sessionManager_SessionStarted);
            sessionManager.SessionEnded +=
                new EventHandler(sessionManager_SessionEnded);


            RegisterGestures();


            while (!ShutDown)
            {
                context.Update();
                sessionManager.Update(context);
            }
        }
Ejemplo n.º 3
0
 private void SpinInfinite()
 {
     while (!terminate)
     {
         uint rc = context.Update();
         if (rc == 0)
         {
             sessionManager.Update(context);
         }
     }
 }
Ejemplo n.º 4
0
        public static void Run()
        {
            Initializing = true;
            Trace.WriteLine("Initializing Kinect...");

            XnMOpenNIContext context = new XnMOpenNIContext();

            try
            {
                context.Init();
                KinectExists = true;
                Trace.WriteLine("Kinect exists");
            }
            catch (XnMException)
            {
                Initializing = false;
                Active       = false;
                KinectExists = false;
                return;
            }

            // Kinect session
            Trace.WriteLine("Creating session manager...");
            sessionManager = new XnMSessionManager(context, "Wave", "RaiseHand");
            sessionManager.SessionStarted += new EventHandler <PointEventArgs>(sessionManager_SessionStarted);
            sessionManager.SessionEnded   += new EventHandler(sessionManager_SessionEnded);

            // hand tracking filter
            Trace.WriteLine("Creating filters...");
            var pointManager = new KinectPointManager();

            sessionManager.AddListener(pointManager);

            var swipeDetector = new XnMSwipeDetector(true);

            swipeDetector.GeneralSwipe        += new EventHandler <SwipeDetectorGeneralEventArgs>(swipeDetector_GeneralSwipe);
            swipeDetector.MotionSpeedThreshold = .7f;
            swipeDetector.MotionTime           = 300;

            sessionManager.AddListener(swipeDetector);

            Initializing = false;
            Trace.WriteLine("Kinect initialized");

            // infinite loop until app shutdown
            while (!ShutDown)
            {
                context.Update();
                sessionManager.Update(context);
            }
        }
Ejemplo n.º 5
0
        public static void Run()
        {
            Initializing = true;

            points = new Point3D[SmoothingFactor];

            XnMOpenNIContext context = new XnMOpenNIContext();

            try
            {
                context.Init();
                KinectExists = true;
            }
            catch (XnMException)
            {
                Initializing = false;
                Active       = false;
                KinectExists = false;
                return;
            }

            // Kinect session
            sessionManager = new XnMSessionManager(context, "Wave", "RaiseHand");
            sessionManager.SessionStarted += new EventHandler <PointEventArgs>(sessionManager_SessionStarted);
            sessionManager.SessionEnded   += new EventHandler(sessionManager_SessionEnded);

            // hand tracking filter
            XnMPointFilter filter = new XnMPointFilter();

            filter.PointCreate += new EventHandler <PointBasedEventArgs>(control_PointCreate);
            filter.PointUpdate += new EventHandler <PointBasedEventArgs>(control_PointUpdate);
            sessionManager.AddListener(filter);

            Initializing = false;

            // infinite loop until app shutdown
            while (!ShutDown)
            {
                context.Update();
                sessionManager.Update(context);
            }
        }
Ejemplo n.º 6
0
        static void Main(string[] args)
        {
            Console.WriteLine("Connecting to device...");

            var context = new XnMOpenNIContext();

            context.Init();
            var session = new XnMSessionManager(context, "Wave", "RaiseHand");

            session.FocusStartDetected += new EventHandler <FocusStartEventArgs>(session_FocusStartDetected);
            session.SessionStarted     += new EventHandler <PointEventArgs>(session_SessionStarted);
            session.SessionEnded       += new EventHandler(session_SessionEnded);

            Console.WriteLine("Running. Press any key to exit.");

            while (!Console.KeyAvailable)
            {
                context.Update();
                session.Update(context);
            }
        }
Ejemplo n.º 7
0
        static void Main(string[] args)
        {
            Console.WriteLine("Connecting to device...");

            var context = new XnMOpenNIContext();

            context.Init();
            var session = new XnMSessionManager(context, "Wave", "RaiseHand");

            var pointControl = new XnMPointFilter();

            pointControl.PointUpdate  += new EventHandler <PointBasedEventArgs>(pointControl_PointUpdate);
            pointControl.PointDestroy += new EventHandler <PointDestroyEventArgs>(pointControl_PointDestroy);
            pointControl.PointCreate  += new EventHandler <PointBasedEventArgs>(pointControl_PointCreate);
            session.AddListener(pointControl);

            Console.WriteLine("Wave to start.");

            while (!Console.KeyAvailable)
            {
                context.Update();
                session.Update(context);

                Console.Clear();
                if (points.Keys.Count > 0)
                {
                    foreach (var key in points.Keys)
                    {
                        var point = points[key];
                        Console.WriteLine("{0}: {1}, {2}, {3}",
                                          key.ToString(), point.X.ToString(), point.Y.ToString(), point.Z.ToString());
                    }
                }
                else
                {
                    Console.WriteLine("No points.");
                    Console.WriteLine("Please wave to start.");
                }
            }
        }
Ejemplo n.º 8
0
        static void Main(string[] args)
        {
            Console.WriteLine("Connecting to device...");

            var context = new XnMOpenNIContext();
            context.Init();
            var session = new XnMSessionManager(context, "Wave", "RaiseHand");

            var pointControl = new XnMPointFilter();
            pointControl.PointUpdate += new EventHandler<PointBasedEventArgs>(pointControl_PointUpdate);
            pointControl.PointDestroy += new EventHandler<PointDestroyEventArgs>(pointControl_PointDestroy);
            pointControl.PointCreate += new EventHandler<PointBasedEventArgs>(pointControl_PointCreate);
            session.AddListener(pointControl);

            Console.WriteLine("Wave to start.");

            while (!Console.KeyAvailable)
            {
                context.Update();
                session.Update(context);

                Console.Clear();
                if (points.Keys.Count > 0)
                {
                    foreach (var key in points.Keys)
                    {
                        var point = points[key];
                        Console.WriteLine("{0}: {1}, {2}, {3}",
                            key.ToString(), point.X.ToString(), point.Y.ToString(), point.Z.ToString());
                    }
                }
                else
                {
                    Console.WriteLine("No points.");
                    Console.WriteLine("Please wave to start.");
                }

            }
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Starts a new session with the Kinect's cameras
        /// </summary>
        public static void Run()
        {
            XnMOpenNIContext context = new XnMOpenNIContext();

            try
            {
                context.Init();
                KinectExists = true;
            }
            catch (XnMException)
            {
                Trace.WriteLine("Kinect device was not found.");
                Active = false;
                KinectFail = true;
                return;
            }

            Trace.WriteLine("Kinect device found.");

            sessionManager = new XnMSessionManager(context, "RaiseHand", "RaiseHand");
            sessionManager.SessionStarted +=
                new EventHandler<PointEventArgs>(sessionManager_SessionStarted);
            sessionManager.SessionEnded +=
                new EventHandler(sessionManager_SessionEnded);


            RegisterGestures();


            while (!ShutDown)
            {
                context.Update();
                sessionManager.Update(context);
            }
        }
Ejemplo n.º 10
0
        public static void Run()
        {
            Initializing = true;
            Trace.WriteLine("Initializing Kinect...");

            XnMOpenNIContext context = new XnMOpenNIContext();
            try
            {
                context.Init();
                KinectExists = true;
                Trace.WriteLine("Kinect exists");
            }
            catch (XnMException)
            {
                Initializing = false;
                Active = false;
                KinectExists = false;
                return;
            }

            // Kinect session
            Trace.WriteLine("Creating session manager...");
            sessionManager = new XnMSessionManager(context, "Wave", "RaiseHand");
            sessionManager.SessionStarted += new EventHandler<PointEventArgs>(sessionManager_SessionStarted);
            sessionManager.SessionEnded += new EventHandler(sessionManager_SessionEnded);

            // hand tracking filter
            Trace.WriteLine("Creating filters...");
            var pointManager = new KinectPointManager();
            sessionManager.AddListener(pointManager);

            var swipeDetector = new XnMSwipeDetector(true);
            swipeDetector.GeneralSwipe += new EventHandler<SwipeDetectorGeneralEventArgs>(swipeDetector_GeneralSwipe);
            swipeDetector.MotionSpeedThreshold = .7f;
            swipeDetector.MotionTime = 300;

            sessionManager.AddListener(swipeDetector);

            Initializing = false;
            Trace.WriteLine("Kinect initialized");

            // infinite loop until app shutdown
            while (!ShutDown)
            {
                context.Update();
                sessionManager.Update(context);
            }
        }