Beispiel #1
0
 public void Close()
 {
     IsClosing = true;
     if (PointSchedulerTask != null)
     {
         Primitives.Interrupt(PointSchedulerTask);
         PointSchedulerTask = null;
     }
     ResetCache();
     ResetSeries();
     ChartPlotModel  = null;
     ChartPlotter    = null;
     BottomAxis      = null;
     LeftAngularAxis = null;
     LeftSignalAxis  = null;
     ChartCache      = null;
 }
Beispiel #2
0
 public RecorderChart(RecorderControl recorder)
 {
     Recorder         = recorder;
     ChartPlotter     = null;
     IsClosing        = false;
     IsYZoom          = false;
     NumPointsPerPlot = POINTS_PER_PLOT;
     CurrentRelativeChartCacheIndex = 0;
     CurrentChartImageFileName      = null;
     ChartCache                  = new DataCache(recorder.ShellId, false, true, true, 0);
     BottomAxis                  = new RecorderTimeLineAxis(this);
     LeftAngularAxis             = new RecorderLeftAngularAxis(this);
     LeftSignalAxis              = new RecorderLeftSignalAxis(this);
     AxisPointTaskQueue          = new LinkedBlockingCollection <RecorderAxisPoint>();
     PointSchedulerTask          = new Thread(new ThreadStart(AxisPointScheduler));
     PointSchedulerTask.Name     = "AxisPointSchedulerThread:" + recorder.ShellId;
     PointSchedulerTask.Priority = ThreadPriority.Normal;
     PointSchedulerTask.Start();
 }