using OmiLAXR.TrackingBehaviours.Learner.Gaze; using OmiLAXR.Types; using UnityEngine; namespace OmiLAXR.Components.Gaze { public sealed class EyeData : GazeData { public readonly Eye EyeSide; /// Openness value (0.0 = closed, 1.0 = fully open) public readonly float EyeOpenness; /// Confidence score of gaze data (0.0 - 1.0) public readonly float EyeConfidence; public readonly float EyeDepth; public readonly float EyeHeight; /// Measured pupil diameter in millimeters (optional, if supported) public float? PupilDiameterMillimeters; public float VergenceAngleDegrees; public EyeData( GazeHit hit, Vector3 gazeOriginWorld, Vector3 gazePointWorld, Eye eyeSide, Frustum frustum, float openness, float confidence, float depth, float eyeHeight, float? pupilDiameter = null, float vergenceAngleDegrees = 0) : base(hit, frustum, gazeOriginWorld, gazePointWorld) { EyeSide = eyeSide; EyeOpenness = openness; EyeConfidence = confidence; EyeDepth = depth; EyeHeight = eyeHeight; PupilDiameterMillimeters = pupilDiameter; VergenceAngleDegrees = vergenceAngleDegrees; } } }