コード例 #1
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();
 }
コード例 #2
0
ファイル: Tube.cs プロジェクト: CaiB/ColorChord.NET
 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;
 }
コード例 #3
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();
 }