Пример #1
0
 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;
 }
Пример #2
0
 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();
 }
Пример #3
0
 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);
 }
Пример #4
0
 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;
 }
Пример #5
0
 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;
 }
Пример #6
0
 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();
 }