private static ISingleEyeGazeDataSelector ResolveSelector(EyeSelectionStrategy strategy) { switch (strategy) { case EyeSelectionStrategy.Left: return(LeftEyeSelector.Instance); case EyeSelectionStrategy.Right: return(RightEyeSelector.Instance); case EyeSelectionStrategy.Average: return(AverageSelector.Instance); case EyeSelectionStrategy.StrictAverage: return(StrictAverageSelector.Instance); default: throw new ArgumentOutOfRangeException(nameof(strategy), $"Selected eye selection strategy \"{strategy}\" could not be resolved."); } }
public static IObservable <SingleEyeGazeData> SelectEye(this IObservable <GazeData> gazeData, EyeSelectionStrategy strategy) { ISingleEyeGazeDataSelector selector = ResolveSelector(strategy); return(SelectEye(gazeData, selector)); }