Пример #1
0
        private void ProcessData(Tobii.Gaze.Core.GazeData gazeData)
        {
            GazeDataProccessed gazeDataProccessed = new GazeDataProccessed(gazeData);

            if (gazeData.TrackingStatus == Tobii.Gaze.Core.TrackingStatus.BothEyesTracked)
            {
                this.angleAtDistance.Content = Decimal.Round((decimal)gazeDataProccessed.angleAtDistance, 1, MidpointRounding.AwayFromZero) + "° " + gazeDataProccessed.typeAtDistance;
                this.angleAtScreen.Content   = Decimal.Round((decimal)gazeDataProccessed.angleAtScreen, 1, MidpointRounding.AwayFromZero) + "° " + gazeDataProccessed.typeAtScreen;
            }
        }
Пример #2
0
        //int lastValue = 0; //valor antes de ser cero
        public double distance(Tobii.Gaze.Core.GazeData SoruceGazeData)
        {
            /* casos:
             * mul lejos
             * muy cerca
             * non value (blink)
             */
            double gazeL = SoruceGazeData.Left.EyePositionInTrackBoxNormalized.Z;
            double gazeR = SoruceGazeData.Right.EyePositionInTrackBoxNormalized.Z;

            eyetrackingFunctions.eyesWeigh pesoOjos = eyetrackingFunctions.trackingStatus2Weigh(SoruceGazeData.TrackingStatus);

            double distanceDev2User = (gazeL * pesoOjos.leftWeigh + gazeR * pesoOjos.rightWeigh) * pesoOjos.totalWeigh * 100;

            //int returnValue = Convert.ToInt32(distanceDev2User);

            //if (returnValue == 0 || returnValue < 0)
            //{
            //    returnValue = lastValue;
            //}
            //else if (returnValue > 100)
            //{
            //    returnValue = 100;
            //    lastValue = returnValue;
            //}
            //else
            //{
            //    lastValue = returnValue;
            //}

            if (double.IsNaN(distanceDev2User))
            {
                return(distanceDev2User);
            }

            if (distanceDev2User < 0)
            {
                distanceDev2User = 0;
            }

            if (distanceDev2User > 100)
            {
                distanceDev2User = 100;
            }

            //return returnValue;
            return(distanceDev2User);
        }
Пример #3
0
 public void AddGazeDataItem2List(Tobii.Gaze.Core.GazeData GazeDataItemTemp, PointD GazeWeigthed, PointD GazeFiltered)
 {
     GazeDataItemEyeXL.Add(GazeDataItemTemp);
     GazeWeigthedL.Add(GazeWeigthed);
     GazeFilteredL.Add(GazeFiltered);
 }