public EyeTracker(ClientContext context, String path)
        {
            valueBlink = false;
            eyeTracker2DInterface = context.GetEyeTracker2DInterface(path);
            eyeTracker3DInterface = context.GetEyeTracker3DInterface(path);
            eyeTrackerBlinkInterface = context.GetEyeTrackerBlinkInterface(path);

            eyeTracker2DInterface.StateChanged += EyeTracker2DInterface_StateChanged;
            eyeTracker3DInterface.StateChanged += EyeTracker3DInterface_StateChanged;
            eyeTrackerBlinkInterface.StateChanged += EyeTrackerBlinkInterface_StateChanged;
        }
Example #2
0
        public EyeTracker(ClientContext context, String path)
        {
            valueBlink               = false;
            eyeTracker2DInterface    = context.GetEyeTracker2DInterface(path);
            eyeTracker3DInterface    = context.GetEyeTracker3DInterface(path);
            eyeTrackerBlinkInterface = context.GetEyeTrackerBlinkInterface(path);

            eyeTracker2DInterface.StateChanged    += EyeTracker2DInterface_StateChanged;
            eyeTracker3DInterface.StateChanged    += EyeTracker3DInterface_StateChanged;
            eyeTrackerBlinkInterface.StateChanged += EyeTrackerBlinkInterface_StateChanged;
        }
Example #3
0
        static void Main(string[] args)
        {
            ClientContext.PreloadNativeLibraries();
            using (ServerAutoStarter serverAutoStarter = new ServerAutoStarter())
                using (OSVR.ClientKit.ClientContext context = new OSVR.ClientKit.ClientContext("com.osvr.exampleclients.managed.EyeTracker"))
                {
                    // there are three types of interfaces for eye tracking, 2D, 3D, and blinking
#if NET20
                    using (var eyeTracker2D = EyeTracker2DInterface.GetInterface(context, EyeTrackerPath))
                        using (var eyeTracker3D = EyeTracker3DInterface.GetInterface(context, EyeTrackerPath))
                            using (var eyeTrackerBlink = EyeTrackerBlinkInterface.GetInterface(context, EyeTrackerPath))
#else
                    using (var eyeTracker2D = context.GetEyeTracker2DInterface(EyeTrackerPath))
                        using (var eyeTracker3D = context.GetEyeTracker3DInterface(EyeTrackerPath))
                            using (var eyeTrackerBlink = context.GetEyeTrackerBlinkInterface(EyeTrackerPath))
#endif
                            {
                                eyeTracker2D.StateChanged    += eyeTracker2D_StateChanged;
                                eyeTracker3D.StateChanged    += eyeTracker3D_StateChanged;
                                eyeTrackerBlink.StateChanged += eyeTrackerBlink_StateChanged;

                                // Pretend that this is your application's main loop
                                for (int i = 0; i < 1000000; ++i)
                                {
                                    context.update();
                                    var eyeTracker2DState    = eyeTracker2D.GetState();
                                    var eyeTracker3DState    = eyeTracker3D.GetState();
                                    var eyeTrackerBlinkState = eyeTrackerBlink.GetState();
                                    Console.WriteLine("Getting state:");
                                    Console.WriteLine("EyeTracker2D: {0}", FormatEyeTracker2DReport(eyeTracker2DState.Value));
                                    Console.WriteLine("EyeTracker3D: {0}", FormatEyeTracker3DReport(eyeTracker3DState.Value));
                                    Console.WriteLine("EyeTrackerBlink: {0}", eyeTrackerBlinkState.Value);
                                }

                                Console.WriteLine("Library shut down; exiting.");
                            }
                }
        }