コード例 #1
0
        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);
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        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;
        }
コード例 #4
0
        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();
        }