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; } }
//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); }
public void AddGazeDataItem2List(Tobii.Gaze.Core.GazeData GazeDataItemTemp, PointD GazeWeigthed, PointD GazeFiltered) { GazeDataItemEyeXL.Add(GazeDataItemTemp); GazeWeigthedL.Add(GazeWeigthed); GazeFilteredL.Add(GazeFiltered); }