private GetPoint Henshin(IGazeDataItem gazeDataItem) { int leftValidity = gazeDataItem.LeftValidity; int rightValidity = gazeDataItem.RightValidity; Point2D left = gazeDataItem.LeftGazePoint2D; Point2D right = gazeDataItem.RightGazePoint2D; GetPoint answer = new GetPoint(); if (leftValidity == BEST_VALIDITY && rightValidity == BEST_VALIDITY) { eye_distance = new Point2D(right.X - left.X, right.Y - left.Y); } else if (leftValidity == BEST_VALIDITY) { right.X = left.X + eye_distance.X; right.Y = left.Y + eye_distance.Y; } else if (rightValidity == BEST_VALIDITY) { left.X = right.X - eye_distance.X; left.Y = right.Y - eye_distance.Y; } else { } answer.X = (left.X + right.X) / 2; answer.Y = (left.Y + right.Y) / 2; return(answer); }
public void OnGazeData(IGazeDataItem gd) { // Add data to history _dataHistory.Enqueue(gd); // Remove history item if necessary while (_dataHistory.Count > HistorySize) { _dataHistory.Dequeue(); } _leftValidity = gd.LeftValidity; _rightValidity = gd.RightValidity; _leftEye = gd.LeftEyePosition3DRelative; _rightEye = gd.RightEyePosition3DRelative; Invalidate(); }
private GetPoint Henshin(IGazeDataItem gazeDataItem) { int leftValidity = gazeDataItem.LeftValidity; int rightValidity = gazeDataItem.RightValidity; Point2D left = gazeDataItem.LeftGazePoint2D; Point2D right = gazeDataItem.RightGazePoint2D; GetPoint answer = new GetPoint(); if (leftValidity == BEST_VALIDITY && rightValidity == BEST_VALIDITY) { eye_distance = new Point2D(right.X - left.X, right.Y - left.Y); } else if (leftValidity == BEST_VALIDITY) { right.X = left.X + eye_distance.X; right.Y = left.Y + eye_distance.Y; } else if (rightValidity == BEST_VALIDITY) { left.X = right.X - eye_distance.X; left.Y = right.Y - eye_distance.Y; } else { } answer.X = (left.X + right.X) / 2; answer.Y = (left.Y + right.Y) / 2; return answer; }