internal VRGazeData(HMDGazeDataEventArgs originalGaze, EyeTrackerOriginPose pose)
        {
            TimeStamp = originalGaze.SystemTimeStamp;
            Pose      = pose;

            var eyeTrackerOrigin = VRUtility.TemporaryTransformWithAppliedPose(pose);

            Left  = new VRGazeDataEye(originalGaze.LeftEye, eyeTrackerOrigin);
            Right = new VRGazeDataEye(originalGaze.RightEye, eyeTrackerOrigin);

            var combinedDirection = ((Left.GazeDirection + Right.GazeDirection) / 2f).normalized;
            var combinedOrigin    = (Left.GazeOrigin + Right.GazeOrigin) / 2f;

            CombinedGazeRayWorld      = new Ray(eyeTrackerOrigin.TransformPoint(combinedOrigin), eyeTrackerOrigin.TransformDirection(combinedDirection));
            CombinedGazeRayWorldValid = Left.GazeRayWorldValid && Right.GazeRayWorldValid;

            OriginalGaze = originalGaze;
        }
 internal VRGazeData()
 {
     Left  = new VRGazeDataEye();
     Right = new VRGazeDataEye();
 }