/// <summary> /// Creates a <see cref="DebugChannelData"/> instance /// from specified <see cref="IEncodingSettings"/>. /// </summary> /// <param name="settings"><see cref="IEncodingSettings"/></param> /// <param name="storePositions">Whether to store grid positions</param> private DebugChannelData(IEncodingSettings settings, bool storePositions) { m_Labels = new List <ChannelLabel>(); m_Observables = new List <Observable>(); m_HasObservables = true; if (storePositions) { HasGridPositions = true; m_GridPositions = new List <HashSet <Vector2Int> >(); } var tags = settings.DetectableTags; foreach (string tag in tags) { var observables = settings.GetObservables(tag); foreach (var obs in observables) { m_Observables.Add(obs); m_Labels.Add(new ChannelLabel() { Name = $"{tag} / {obs.Name}", Color = obs.Color }); if (storePositions) { m_GridPositions.Add(new HashSet <Vector2Int>()); } } } }
public static IDictionary <string, ShapeModifier> CreateModifiers( IEncodingSettings settings, ChannelGrid grid) { var modifiers = new Dictionary <string, ShapeModifier>(); foreach (string tag in settings.DetectableTags) { ShapeModifier modifier = settings.GetShapeModifierType(tag) switch { ShapeModifierType.Dilation => new ShapeModDilation(), ShapeModifierType.Downsampling => new ShapeModDownsampling(), ShapeModifierType.OrthogonalFill => new ShapeModOrthogonalFill(), ShapeModifierType.DiagonalFill => new ShapeModDiagonalFill(), _ => new ShapeModNone(), }; modifier.Initialize(grid); modifiers.Add(tag, modifier); } return(modifiers); }
/// <summary> /// <see cref="PointModifier"/> factory. /// </summary> /// <param name="settings"><see cref="IEncodingSettings"/></param> /// <param name="buffer"><see cref="GridBuffer"/> used by the sensor</param> /// <returns>Dictionary of <see cref="PointModifiers"/>s by tag</returns> public static IDictionary <string, PointModifier> CreateModifiers( IEncodingSettings settings, GridBuffer buffer) { var modifiers = new Dictionary <string, PointModifier>(); foreach (string tag in settings.DetectableTags) { PointModifier modifier = settings.GetPointModifierType(tag) switch { PointModifierType.Dilation => new PointModDilation(), PointModifierType.Downsampling => new PointModDownsampling(), PointModifierType.OrthogonalFill => new PointModOrthogonalFill(), PointModifierType.DiagonalFill => new PointModDiagonalFill(), _ => new PointModNone(), }; modifier.Initialize(buffer); modifiers.Add(tag, modifier); } return(modifiers); }
public RtspCommandBuilder WithEncodingSettings(IEncodingSettings encodingSettings) { EncodingSettings = encodingSettings; return(this); }
/// <summary> /// Factory. Creates a <see cref="DebugChannelData"/> instance /// from specified <see cref="IEncodingSettings"/>. /// </summary> /// <param name="settings"><see cref="IEncodingSettings"/></param> /// <param name="storePositions">Whether to store grid positions</param> /// <returns>New <see cref="DebugChannelData"/> instance</returns> public static DebugChannelData FromSettings( IEncodingSettings settings, bool storePositions = true) { return(new DebugChannelData(settings, storePositions)); }