public static void MapAdvancedData(TobiiXR_AdvancedEyeTrackingData to, ref tobii_wearable_advanced_data_t data, bool convergenceDistanceSupported, Vector3 headToCenterEyeTranslation) { to.SystemTimestamp = data.timestamp_system_us; to.DeviceTimestamp = data.timestamp_tracker_us; FillGazeRayFrom(ref to.Left.GazeRay, data.left.gaze_origin_validity, data.left.gaze_origin_mm_xyz, data.left.gaze_direction_validity, data.left.gaze_direction_normalized_xyz, headToCenterEyeTranslation); FillGazeRayFrom(ref to.Right.GazeRay, data.right.gaze_origin_validity, data.right.gaze_origin_mm_xyz, data.right.gaze_direction_validity, data.right.gaze_direction_normalized_xyz, headToCenterEyeTranslation); FillGazeRayFrom(ref to.GazeRay, data.gaze_origin_combined_validity, data.gaze_origin_combined_mm_xyz, data.gaze_direction_combined_validity, data.gaze_direction_combined_normalized_xyz, headToCenterEyeTranslation); if (convergenceDistanceSupported) { to.ConvergenceDistance = data.convergence_distance_mm / 1000f; to.ConvergenceDistanceIsValid = BoolFromValidity(data.convergence_distance_validity); } to.Left.IsBlinking = data.left.blink == tobii_state_bool_t.TOBII_STATE_BOOL_TRUE || !BoolFromValidity(data.left.blink_validity); to.Right.IsBlinking = data.right.blink == tobii_state_bool_t.TOBII_STATE_BOOL_TRUE || !BoolFromValidity(data.right.blink_validity); to.Left.PupilDiameterValid = BoolFromValidity(data.left.pupil_diameter_validity); to.Left.PupilDiameter = data.left.pupil_diameter_mm; to.Right.PupilDiameterValid = BoolFromValidity(data.right.pupil_diameter_validity); to.Right.PupilDiameter = data.right.pupil_diameter_mm; to.Left.PositionGuideValid = BoolFromValidity(data.left.position_guide_validity); to.Left.PositionGuide.x = data.left.position_guide_xy.x; to.Left.PositionGuide.y = data.left.position_guide_xy.y; to.Right.PositionGuideValid = BoolFromValidity(data.right.position_guide_validity); to.Right.PositionGuide.y = data.right.position_guide_xy.y; to.Right.PositionGuide.x = data.right.position_guide_xy.x; }
public static void Copy(TobiiXR_AdvancedEyeTrackingData src, TobiiXR_AdvancedEyeTrackingData dest) { dest.SystemTimestamp = src.SystemTimestamp; dest.DeviceTimestamp = src.DeviceTimestamp; dest.GazeRay = src.GazeRay; dest.ConvergenceDistance = src.ConvergenceDistance; dest.ConvergenceDistanceIsValid = src.ConvergenceDistanceIsValid; dest.Left = src.Left; dest.Right = src.Right; }