public SmoothStrip(DisplayOpenGL parent, IVisualizer visualizer) { if (!(visualizer is IContinuous1D)) { Log.Error("SmoothStrip cannot use the provided visualizer, as it does not output 1D continuous data."); throw new InvalidOperationException("Incompatible visualizer. Must implement IContinuous1D."); } this.HostWindow = parent; this.DataSource = (IContinuous1D)visualizer; }
public BlockStrip(DisplayOpenGL parent, IVisualizer visualizer) { if (!(visualizer is IDiscrete1D)) { Log.Error("BlockStrip cannot use the provided visualizer, as it does not output 1D discrete data."); throw new InvalidOperationException("Incompatible visualizer. Must implement IDiscrete1D."); } this.HostWindow = parent; this.DataSource = (IDiscrete1D)visualizer; this.BlockCount = this.DataSource.GetCountDiscrete(); this.GeometryData = new float[1]; GenerateGeometry(); }
public NoiseField(DisplayOpenGL parent, IVisualizerFormat visualizer, Dictionary <string, object> config) { if (visualizer is not IContinuous1D) { Log.Error("NoiseField cannot be used with this visualizer, as it does not output 1D continuous data."); throw new InvalidOperationException("Incompatible visualizer. Must implement IContinuous1D."); } if (ColorChord.NoteFinder is not BaseNoteFinder) { throw new Exception("NoiseField currently only supports BaseNoteFinder."); } this.HostWindow = parent; this.DataSource = (IContinuous1D)visualizer; Configurer.Configure(this, config); }
public BlockMatrix(DisplayOpenGL parent, IVisualizerFormat visualizer) { if (visualizer is not IDiscrete2D) { Log.Error("BlockMatrix cannot use the provided visualizer, as it does not output 2D discrete data."); throw new InvalidOperationException("Incompatible visualizer. Must implement IDiscrete2D."); } this.HostWindow = parent; this.DataSource = (IDiscrete2D)visualizer; this.CountX = this.DataSource.GetWidth(); this.CountY = this.DataSource.GetHeight(); this.TextureData = new byte[CountX * CountY * 4]; this.NextTextureData = new byte[CountX * CountY * 4]; this.SetupDone = false; }
public Tube(DisplayOpenGL parent, IVisualizer visualizer) { if (!(visualizer is IDiscrete1D)) { Log.Error("Tube cannot use the provided visualizer, as it does not output 1D discrete data."); throw new InvalidOperationException("Incompatible visualizer. Must implement IDiscrete1D."); } if (ColorChord.NoteFinder is not BaseNoteFinder) { throw new Exception("Tube currently only supports BaseNoteFinder."); } this.HostWindow = parent; this.DataSource = (IDiscrete1D)visualizer; this.TubeResolution = this.DataSource.GetCountDiscrete(); // TODO: Handle this changing this.HostWindow.UpdateFrame += UpdateFrame; }
public Radar(DisplayOpenGL parent, IVisualizer visualizer, Dictionary <string, object> config) { if (visualizer is not IDiscrete1D) { Log.Error("Radar cannot use the provided visualizer, as it does not output 1D discrete data."); throw new InvalidOperationException("Incompatible visualizer. Must implement IDiscrete1D."); } if (ColorChord.NoteFinder is not BaseNoteFinder) { throw new Exception("Radar currently only supports BaseNoteFinder."); } Configurer.Configure(this, config); this.HostWindow = parent; this.DataSource = (IDiscrete1D)visualizer; this.RadiusResolution = this.DataSource.GetCountDiscrete(); }