/// <summary> /// Gets a fixation data stream. /// </summary> /// <param name="mode">Specifies the kind of data processing to be applied by the EyeX Engine.</param> /// <returns>The data stream.</returns> public FixationDataStream CreateFixationDataStream(FixationDataMode mode) { var dataStream = new FixationDataStream(mode); RegisterDataStreamObserver(dataStream); return(dataStream); }
public void Awake() { _eyeXHost = EyeXHost.GetInstance(); _fixationDataProvider = _eyeXHost.GetFixationDataProvider(fixationDataMode); #if UNITY_EDITOR _oldFixationDataMode = fixationDataMode; #endif }
/// <summary> /// Draw a GUI.Box at the user's fixation point. /// </summary> public void OnGUI() { #if UNITY_EDITOR if (_oldFixationDataMode != fixationDataMode) { _fixationDataProvider.Stop(); _oldFixationDataMode = fixationDataMode; _fixationDataProvider = _eyeXHost.GetFixationDataProvider(fixationDataMode); _fixationDataProvider.Start(); } #endif var fixationPoint = _fixationDataProvider.Last; if (fixationPoint.IsValid) { if (FixationDataEventType.Begin == fixationPoint.EventType) { _fixationCount++; } //DrawGUI(fixationPoint.GazePoint, pointSize, pointColor, _fixationCount.ToString()); } }
/// <summary> /// Draw a GUI.Box at the user's fixation point. /// </summary> public void OnGUI() { #if UNITY_EDITOR if (_oldFixationDataMode != fixationDataMode) { _fixationDataProvider.Stop(); _oldFixationDataMode = fixationDataMode; _fixationDataProvider = _eyeXHost.GetFixationDataProvider(fixationDataMode); _fixationDataProvider.Start(); } #endif var fixationPoint = _fixationDataProvider.Last; if (fixationPoint.IsValid) { if (FixationDataEventType.Begin == fixationPoint.EventType) { _fixationCount++; } DrawGUI(fixationPoint.GazePoint, pointSize, pointColor, _fixationCount.ToString()); } }
/// <summary> /// Gets a provider of fixation data. /// See <see cref="IDataProvider{T}"/>. /// </summary> /// <param name="mode">Specifies the kind of data processing to be applied by Tobii Engine.</param> /// <returns>The data provider.</returns> private IDataProvider <FixationPoint> GetFixationDataProvider(FixationDataMode mode) { var dataStream = new FixationDataProvider(mode); return(GetDataProviderForDataStream <FixationPoint>(dataStream)); }
/// <summary> /// Gets a provider of fixation data. /// See <see cref="IEyeXDataProvider{T}"/>. /// </summary> /// <param name="mode">Specifies the kind of data processing to be applied by the EyeX Engine.</param> /// <returns>The data provider.</returns> public IEyeXDataProvider <EyeXFixationPoint> GetFixationDataProvider(FixationDataMode mode) { var dataStream = new EyeXFixationDataStream(mode); return(GetDataProviderForDataStream <EyeXFixationPoint>(dataStream)); }
/// <summary> /// Initializes a new instance of the <see cref="FixationDataStream"/> class. /// </summary> /// <param name="mode">Specifies the kind of fixation detection to be used.</param> public FixationDataStream(FixationDataMode mode) { Mode = mode; }
/// <summary> /// Gets a fixation data stream. /// </summary> /// <param name="mode">Specifies the kind of data processing to be applied by the EyeX Engine.</param> /// <returns>The data stream.</returns> public FixationDataStream CreateFixationDataStream(FixationDataMode mode) { var dataStream = new FixationDataStream(mode); RegisterDataStreamObserver(dataStream); return dataStream; }
/// <summary> /// Sets the FixationData behavior on the global interactor and specifies the data mode /// to be used. /// <param name="interactor">Interactor object to be fitted with the interaction behavior.</param> /// <param name="fixationDataMode">Which fixation data mode to use.</param> /// </summary> private void AddFixationDataBehavior(Interactor interactor, FixationDataMode fixationDataMode) { var behavior = interactor.CreateBehavior(InteractionBehaviorType.FixationData); var behaviorParams = new FixationDataParams() { FixationDataMode = fixationDataMode }; behavior.SetFixationDataParams(ref behaviorParams); }
/// <summary> /// Creates a new instance. /// Note: don't create instances of this class directly. Use the <see cref="EyeXHost.GetFixationDataProvider"/> method instead. /// </summary> /// <param name="mode">Data mode.</param> public EyeXFixationDataStream(FixationDataMode mode) { _mode = mode; Last = EyeXFixationPoint.Invalid; }
/// <summary> /// Creates a new instance. /// Note: don't create instances of this class directly. Use the <see cref="EyeTrackingHost.GetFixationDataProvider"/> method instead. /// </summary> /// <param name="mode">Data mode.</param> public FixationDataProvider(FixationDataMode mode) { _mode = mode; Last = FixationPoint.Invalid; }