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