Example #1
0
        internal static GazeData ToGazeData(this Tobii.Research.GazeDataEventArgs gazeDataItem)
        {
            var validity = GetEyeValidity(gazeDataItem.LeftEye.GazePoint.Validity, gazeDataItem.RightEye.GazePoint.Validity);

            var gaze = new GazeData
                       (
                validity,
                new EyeGazeData
                (
                    validity.GetLeftEyeValidity(),
                    gazeDataItem.LeftEye.GazePoint.PositionOnDisplayArea.ToPoint2(),
                    gazeDataItem.LeftEye.GazePoint.PositionInUserCoordinates.ToPoint3(),
                    gazeDataItem.LeftEye.GazeOrigin.PositionInUserCoordinates.ToPoint3(),
                    gazeDataItem.LeftEye.GazeOrigin.PositionInTrackBoxCoordinates.ToPoint3(),
                    gazeDataItem.LeftEye.Pupil.PupilDiameter
                ),
                new EyeGazeData
                (
                    validity.GetRightEyeValidity(),
                    gazeDataItem.RightEye.GazePoint.PositionOnDisplayArea.ToPoint2(),
                    gazeDataItem.RightEye.GazePoint.PositionInUserCoordinates.ToPoint3(),
                    gazeDataItem.RightEye.GazeOrigin.PositionInUserCoordinates.ToPoint3(),
                    gazeDataItem.RightEye.GazeOrigin.PositionInTrackBoxCoordinates.ToPoint3(),
                    gazeDataItem.RightEye.Pupil.PupilDiameter
                ),
                gazeDataItem.DeviceTimeStamp,
                DateTime.Now // TODO derive timestamp from Tobii timestamp
                       );

            return(gaze);
        }
Example #2
0
 private void Tracker_GazeDataReceived(object sender, Tobii.Research.GazeDataEventArgs e)
 {
     try
     {
         GazeDataReceived?.Invoke(this, e.ToGazeData());
     }
     catch (Exception exception)
     {
         Debug.WriteLine("Something bad happened when data came from Tobii device");
         Debug.WriteLine(exception.ToString());
     }
 }