private void OnAdvancedWearableData(ref tobii_wearable_advanced_data_t data) { lock (_lockAdvancedData) { var advancedData = _advancedInternalQueue.Count >= AdvancedDataQueueSize ? _advancedInternalQueue.Dequeue() : new TobiiXR_AdvancedEyeTrackingData(); StreamEngineDataMapper.MapAdvancedData(advancedData, ref data, _streamEngineTracker.ConvergenceDistanceSupported, _headToCenterEyeTranslation); _advancedInternalQueue.Enqueue(advancedData); } // Also fill in consumer api lock (_lockEyeTrackingDataLocal) { StreamEngineDataMapper.FromAdvancedData(_eyeTrackingDataLocalInternal, ref data, _streamEngineTracker.ConvergenceDistanceSupported, _headToCenterEyeTranslation); } lock (_lockPositionGuideData) { StreamEngineDataMapper.FillPositionGuideData(ref _positionGuideData, ref data); } }
private void OnWearableData(ref tobii_wearable_consumer_data_t data) { lock (_lockEyeTrackingDataLocal) { StreamEngineDataMapper.FromConsumerData(_eyeTrackingDataLocalInternal, ref data, _streamEngineTracker.ConvergenceDistanceSupported, _headToCenterEyeTranslation); } lock (_lockPositionGuideData) { StreamEngineDataMapper.FillPositionGuideData(ref _positionGuideData, ref data); } }