public void changePlot(Boolean _dualDisplay, VNA.vnaconfig.PlotMode _plot1Mode, VNA.vnaconfig.PlotMode _plot2Mode) { if ((_dualDisplay == dualDisplay) && (_plot1Mode == plot1Mode) && (_plot2Mode == plot2Mode)) { return; } if (_plot1Mode != plot1Mode) { plot1Mode = _plot1Mode; updatePlot1(); setLimits(plot1, plot1Mode); } if (_plot2Mode != plot2Mode) { plot2Mode = _plot2Mode; updatePlot2(); setLimits(plot2, plot2Mode); } if (_dualDisplay != dualDisplay) { dualDisplay = _dualDisplay; y2.reScreen(yd2bottom, yd2top); if (dualDisplay) { y1.reScreen(yd1bottom, yd1top); } else { y1.reScreen(ysbottom, ystop); } } Invalidate(); }
private PlotTrace[] getTrace(PlotSet p, VNA.vnaconfig.PlotMode mode) { if (p == null) { return(null); } switch (mode) { case VNA.vnaconfig.PlotMode.absA: return(new PlotTrace[1] { p.absA }); case VNA.vnaconfig.PlotMode.absB: return(p.absB); case VNA.vnaconfig.PlotMode.absBA: return(p.absBA); case VNA.vnaconfig.PlotMode.phiBA: return(p.phiBA); case VNA.vnaconfig.PlotMode.logA: return(new PlotTrace[1] { p.logA }); case VNA.vnaconfig.PlotMode.logB: return(p.logB); case VNA.vnaconfig.PlotMode.logBA: return(p.logBA); case VNA.vnaconfig.PlotMode.phiA: return(new PlotTrace[1] { p.phiA }); case VNA.vnaconfig.PlotMode.phiB: return(p.phiB); } return(null); }
private PlotTrace[] getTrace(int selection, VNA.vnaconfig.PlotMode mode) { if (selection < 0) { return(getTrace(current, mode)); } else { return(getTrace(plotSet[selection], mode)); } }
public VNAScreen() { InitializeComponent(); DoubleBuffered = true; ylableSize = GraphicsUtil.sizeText(_axesFont, "199.0", 2, 0, 0).boundingDim(); xlableSize = GraphicsUtil.sizeText(_axesFont, "20.00k", 2, 0, 0).boundingDim(); newSize(); dualDisplay = false; plot1Mode = VNA.vnaconfig.PlotMode.logBA; plot2Mode = VNA.vnaconfig.PlotMode.phiBA; logX = true; brushBack = new SolidBrush(_colorBack); penSelect = new Pen(_colorSelect); if (root == null) { x = new GridCalculator(0.1, 100000, 1, 0.1, 1.1, 100, 20000, logX, xleft, xright, xlableSize.x); } else { x = new GridCalculator(0.1, 100000, 1, 0.1, 1.1, root.vna.config.sweepFMin, root.vna.config.sweepFMax, logX, xleft, xright, xlableSize.x); } y1 = new GridCalculator(-200, 200, 1, 1, 1.1, -100, 20, false, yd1bottom, yd1top, ylableSize.y); y2 = new GridCalculator(-200, 200, 1, 1, 1.1, -180, 180, false, yd2bottom, yd2top, ylableSize.y); plot1 = new Plot(x, y1); plot2 = new Plot(x, y2); plot1.fontText = _axesFont; plot1.colorBack = _colorBack; plot1.colorFrame = _colorFrame; plot1.colorGrid = _colorGrid; plot1.colorGridMajor = _colorGridMajor; plot1.colorText = _colorText; plot2.fontText = _axesFont; plot2.colorBack = _colorBack; plot2.colorFrame = _colorFrame; plot2.colorGrid = _colorGrid; plot2.colorGridMajor = _colorGridMajor; plot2.colorText = _colorText; plotSet = new List <PlotSet>(); current = null; }
private void setLimits(Plot p, VNA.vnaconfig.PlotMode m) { switch (m) { case VNA.vnaconfig.PlotMode.absA: case VNA.vnaconfig.PlotMode.absB: case VNA.vnaconfig.PlotMode.absBA: p.yAxis.newRange(0, 10); break; case VNA.vnaconfig.PlotMode.phiBA: case VNA.vnaconfig.PlotMode.phiB: case VNA.vnaconfig.PlotMode.phiA: p.yAxis.newRange(-180, 180); break; case VNA.vnaconfig.PlotMode.logA: case VNA.vnaconfig.PlotMode.logB: case VNA.vnaconfig.PlotMode.logBA: p.yAxis.newRange(-120, 20); break; } p.xAxis.newRange(100, 20000); }