Inheritance: MonoBehaviour
Exemplo n.º 1
0
		public void OnPlotterAttached(Plotter plotter)
		{
			this.plotter = (Plotter2D)plotter;
			
			Panel panel = GetPanel(plotter);
			panel.Children.Add(this);
		}
Exemplo n.º 2
0
		public void OnPlotterDetaching(Plotter plotter)
		{
			Panel panel = GetPanel(plotter);
			panel.Children.Remove(this);

			this.plotter = null;
		}
		public override void OnPlotterAttached(Plotter plotter)
		{
			Plotter = (Plotter2D)plotter;
			plotter.BottomPanel.Children.Add(polygon);

			RebuildUI();
		}
Exemplo n.º 4
0
		void IPlotterElement.OnPlotterDetaching(Plotter plotter)
		{
			plotter.CentralGrid.Children.Remove(this);

			this.plotter.Viewport.PropertyChanged -= Viewport_PropertyChanged;
			this.plotter = null;
		}
Exemplo n.º 5
0
		void IPlotterElement.OnPlotterAttached(Plotter plotter)
		{
			this.plotter = (Plotter2D)plotter;
			this.plotter.Viewport.PropertyChanged += Viewport_PropertyChanged;

			plotter.CentralGrid.Children.Add(this);
		}
		protected override void AttachCore(PointSelector selector, Plotter plotter)
		{
			if (selector == null)
				throw new ArgumentNullException("selector");
			if (plotter == null)
				throw new ArgumentNullException("plotter");

			this.selector = selector;
			this.plotter = (Plotter2D)plotter;
			var transform = this.plotter.Transform;

			// copying all markers from marker chart to InkCanvas to enable their selection
			foreach (FrameworkElement marker in selector.MarkerChart.Items)
			{
				var xamlString = XamlWriter.Save(marker);
				var markerCopy = (FrameworkElement)XamlReader.Parse(xamlString);

				var x = ViewportPanel.GetX(marker);
				var y = ViewportPanel.GetY(marker);
				Point position = new Point(x, y);
				var positionInScreen = position.ViewportToScreen(transform);

				if (!marker.IsMeasureValid)
					marker.Measure(new Size(Double.PositiveInfinity, Double.PositiveInfinity));

				InkCanvas.SetLeft(markerCopy, positionInScreen.X - marker.Width / 2);
				InkCanvas.SetTop(markerCopy, positionInScreen.Y - marker.Height / 2);
				markerCopy.DataContext = marker.DataContext;

				inkCanvas.Children.Add(markerCopy);
			}

			plotter.CentralGrid.Children.Add(inkCanvas);
		}
		public override void OnPlotterAttached(Plotter plotter)
		{
			Plotter = (Plotter2D)plotter;
			plotter.LeftPanel.Children.Insert(0, polygon);

			RebuildUI();
		}
Exemplo n.º 8
0
		void IPlotterElement.OnPlotterAttached(Plotter plotter)
		{
			this.plotter = (Plotter2D)plotter;

			this.plotter.Viewport.PropertyChanged += Viewport_PropertyChanged;

			var parent = plotter.MainGrid;
			parent.MouseMove += parent_MouseMove;
			parent.MouseEnter += parent_MouseEnter;
			parent.MouseLeave += parent_MouseLeave;

			Style lineStyle = new Style(typeof(Line));
			AddBindingSetter(lineStyle, Line.StrokeProperty);
			AddBindingSetter(lineStyle, Line.StrokeThicknessProperty);

			leftCanvas = new Canvas();
			Grid.SetRow(leftCanvas, 1);
			Grid.SetColumn(leftCanvas, 0);
			leftLine = new Line { Style = lineStyle, IsHitTestVisible = false };
			leftCanvas.Children.Add(leftLine);
			parent.Children.Add(leftCanvas);

			bottomCanvas = new Canvas();
			Grid.SetRow(bottomCanvas, 2);
			Grid.SetColumn(bottomCanvas, 1);
			bottomLine = new Line { Style = lineStyle, IsHitTestVisible = false };
			bottomCanvas.Children.Add(bottomLine);
			parent.Children.Add(bottomCanvas);
		}
		protected override void OnPlotterAttached(Plotter plotter)
		{
			// removing restrictions previously added by base class Map, as in case of rendering to texture they
			// are not relevant
			Plotter.Viewport.Restrictions.Remove(base.ProportionsRestriction);
			Plotter.Viewport.Restrictions.Remove(base.MaxSizeRestriction);
		}
Exemplo n.º 10
0
        public override void OnPlotterAttached(Plotter plotter)
        {
            base.OnPlotterAttached(plotter);

            timer = new System.Windows.Threading.DispatcherTimer();
            timer.Tick += new EventHandler(timer_Tick);
            timer.Interval = TimeSpan.FromMilliseconds(1);



            plotter.CentralGrid.MouseLeftButtonDown += new MouseButtonEventHandler(CentralGrid_MouseLeftButtonDown);
            plotter.CentralGrid.MouseLeftButtonUp += new MouseButtonEventHandler(CentralGrid_MouseLeftButtonUp);

            plotter.CentralGrid.MouseMove += new MouseEventHandler(CentralGrid_MouseMove);
            plotter.CentralGrid.MouseWheel += new MouseWheelEventHandler(CentralGrid_MouseWheel);
            plotter.CentralGrid.MouseLeave += new MouseEventHandler(CentralGrid_MouseLeave);
            //plotter.CentralGrid.MouseEnter += new MouseEventHandler(CentralGrid_MouseEnter);
            plotter.KeyDown += new KeyEventHandler(plotter_KeyDown);
            plotter.KeyUp += new KeyEventHandler(plotter_KeyUp);

            zoomingRect.Stroke = new SolidColorBrush(Colors.LightGray);
            Color fillColor = new Color();
            fillColor.A = 40;
            fillColor.R = 0x80;
            fillColor.G = 0x80;
            fillColor.B = 0x80;
            zoomingRect.RadiusX = 2;
            zoomingRect.RadiusY = 2;

            zoomingRect.Fill = new SolidColorBrush(fillColor);
        }
Exemplo n.º 11
0
		void IPlotterElement.OnPlotterAttached(Plotter plotter)
		{
			this.plotter = plotter;

			if (Content == null) return;

			var plotterPanel = GetPlotterPanel(Content);
			//Plotter.SetPlotter(Content, plotter);

			if (plotterPanel == PlotterPanel.MainCanvas)
			{
				// if all four Canvas.{Left|Right|Top|Bottom} properties are not set,
				// and as we are adding by default content to MainCanvas, 
				// and since I like more when buttons are by default in right down corner - 
				// set bottom and right to 10.
				var left = Canvas.GetLeft(content);
				var top = Canvas.GetTop(content);
				var bottom = Canvas.GetBottom(content);
				var right = Canvas.GetRight(content);

				if (left.IsNaN() && right.IsNaN() && bottom.IsNaN() && top.IsNaN())
				{
					Canvas.SetBottom(content, 10.0);
					Canvas.SetRight(content, 10.0);
				}
				plotter.MainCanvas.Children.Add(Content);
			}
		}
Exemplo n.º 12
0
 public TextPainter(Plotter plotter, IFont font, int sizeX, int sizeY, int spaceX)
 {
     this.plotter = plotter;
     this.font = font;
     this.sizeX = sizeX;
     this.sizeY = sizeY;
     this.spaceX = spaceX;
 }
Exemplo n.º 13
0
		void IPlotterElement.OnPlotterAttached(Plotter plotter)
		{
			this.plotter = (Plotter2D)plotter;
			HostPanel.Children.Add(this);
			this.plotter.Viewport.PropertyChanged += Viewport_PropertyChanged;

			OnPlotterAttached();
		}
Exemplo n.º 14
0
		void IPlotterElement.OnPlotterDetaching(Plotter plotter)
		{
			OnPlotterDetaching();

			this.plotter.Viewport.PropertyChanged -= Viewport_PropertyChanged;
			HostPanel.Children.Remove(this);
			this.plotter = null;
		}
Exemplo n.º 15
0
		public void OnPlotterAttached(Plotter plotter)
		{
			this.plotter = plotter;
			if (type != null)
			{
				plotter.Children.RemoveAll(type);
			}
		}
Exemplo n.º 16
0
		public void OnPlotterAttached(Plotter plotter)
		{
			this.plotter = (Plotter2D)plotter;
			plotter.Dispatcher.BeginInvoke(() =>
			{
				plotter.Children.Add(panel);
			});
		}
Exemplo n.º 17
0
		protected override void AttachCore(RectangleSelector selector, Plotter plotter)
		{
			base.AttachCore(selector, plotter);

			Plotter.CentralGrid.MouseLeftButtonDown += OnMouseLeftButtonDown;
			Plotter.CentralGrid.MouseLeftButtonUp += OnMouseLeftButtonUp;
			Plotter.CentralGrid.MouseMove += OnMouseMove;
		}
		public virtual void OnPlotterAttached(Plotter plotter)
		{
			this.plotter = (Plotter2D)plotter;
			plotter.Children.BeginAdd(panel);

			SetBinding(DataContextProperty, new Binding("DataContext") { Source = panel });

			RebuildUI();
		}
Exemplo n.º 19
0
		public void OnPlotterDetaching(Plotter plotter)
		{
			plotter.Dispatcher.BeginInvoke(() =>
			{
				plotter.Children.Remove(panel);
			});

			this.plotter = null;
		}
Exemplo n.º 20
0
		private void AttachToPlotter(Plotter plotter)
		{
			if (plotter != this.plotter)
			{
				this.plotter = plotter;
				plotter.Children.CollectionChanged += PlotterChildren_CollectionChanged;
				PopulateLegend();
			}
		}
		public PlotterChangedEventArgs(Plotter prevPlotter, Plotter currPlotter, RoutedEvent routedEvent) : base(routedEvent)
		{
			if (prevPlotter == null && currPlotter == null) {
				throw new ArgumentException("Both Plotters cannot be null.");
			}

			this.prevPlotter = prevPlotter;
			this.currPlotter = currPlotter;
		}
Exemplo n.º 22
0
		public override void OnPlotterDetaching(Plotter plotter)
		{
			Mouse.RemovePreviewMouseDownHandler(Parent, OnMouseDown);
			Mouse.RemovePreviewMouseMoveHandler(Parent, OnMouseMove);
			Mouse.RemovePreviewMouseUpHandler(Parent, OnMouseUp);
			Mouse.RemovePreviewMouseWheelHandler(Parent, OnMouseWheel);

			base.OnPlotterDetaching(plotter);
		}
Exemplo n.º 23
0
		protected override void OnPlotterAttached(Plotter plotter)
		{
			base.OnPlotterAttached(plotter);

			Mouse.AddMouseDownHandler(Parent, OnMouseDown);
			Mouse.AddMouseMoveHandler(Parent, OnMouseMove);
			Mouse.AddMouseUpHandler(Parent, OnMouseUp);
			Mouse.AddMouseWheelHandler(Parent, OnMouseWheel);
		}
Exemplo n.º 24
0
		public override void OnPlotterAttached(Plotter plotter)
		{
			base.OnPlotterAttached(plotter);

			Mouse.AddPreviewMouseDownHandler(Parent, OnMouseDown);
			Mouse.AddPreviewMouseMoveHandler(Parent, OnMouseMove);
			Mouse.AddPreviewMouseUpHandler(Parent, OnMouseUp);
			Mouse.AddPreviewMouseWheelHandler(Parent, OnMouseWheel);
		}
Exemplo n.º 25
0
		private void DetachFromPlotter(Plotter plotter)
		{
			if (plotter != null)
			{
				plotter.Children.CollectionChanged -= PlotterChildren_CollectionChanged;
				this.plotter = null;
				CleanLegend();
			}
		}
Exemplo n.º 26
0
        void IPlotterElement.OnPlotterDetaching(Plotter plotter)
        {
            foreach (var commandBinding in addedBindings)
            {
                plotter.CommandBindings.Remove(commandBinding);
            }
            addedBindings.Clear();

            this.plotter2D = null;
        }
Exemplo n.º 27
0
		public virtual void OnPlotterAttached(Plotter plotter)
		{
			this.plotter = (Plotter2D)plotter;
			dxHost = this.plotter.Children.OfType<DirectXHost>().FirstOrDefault();
			if (dxHost == null)
				throw new InvalidOperationException("First add DirectXHost to plotter.Children");

			dxHost.AddChild(this);
			dxHost.Render += OnDirectXRender;
		}
Exemplo n.º 28
0
        public override void OnPlotterDetaching(Plotter plotter)
        {
            plotter.CentralGrid.MouseLeftButtonDown -= CentralGrid_MouseLeftButtonDown;
            plotter.CentralGrid.MouseLeftButtonUp -= CentralGrid_MouseLeftButtonUp;
            plotter.CentralGrid.MouseMove -= CentralGrid_MouseMove;
            plotter.CentralGrid.MouseLeave -= CentralGrid_MouseLeave;
            plotter.CentralGrid.MouseEnter -= CentralGrid_MouseEnter;

            base.OnPlotterDetaching(plotter);
        }
Exemplo n.º 29
0
		void IPlotterElement.OnPlotterAttached(Plotter plotter)
		{
			plotter.CentralGrid.Children.Add(this);

			Plotter2D plotter2d = (Plotter2D)plotter;
			this.plotter = plotter2d;
			plotter2d.Viewport.PropertyChanged += Viewport_PropertyChanged;

			UpdateUIRepresentation();
		}
Exemplo n.º 30
0
		protected override void OnPlotterDetaching(Plotter plotter)
		{
			plotter.KeyDown -= new KeyEventHandler(OnParentKeyDown);

			Mouse.RemoveMouseDownHandler(Parent, OnMouseDown);
			Mouse.RemoveMouseMoveHandler(Parent, OnMouseMove);
			Mouse.RemoveMouseUpHandler(Parent, OnMouseUp);
			Mouse.RemoveMouseWheelHandler(Parent, OnMouseWheel);

			base.OnPlotterDetaching(plotter);
		}
Exemplo n.º 31
0
        public async Task <PlotterInfo> GetPlotterInfoAsync(Plotter plotter)
        {
            await PlotterLock.WaitAsync();

            try
            {
                return(ActivePlotters.TryGetValue(plotter.Id, out var plotterStatus)
                    ? new PlotterInfo(plotter.Id, true, plotterStatus.Status.Capacity, plotterStatus.Status.PlotsAvailable, plotter.Name, plotter.Earnings, plotter.OwnerId)
                    : new PlotterInfo(plotter.Id, false, -1, -1, plotter.Name, plotter.Earnings, plotter.OwnerId));
            }
            finally
            {
                PlotterLock.Release();
            }
        }
Exemplo n.º 32
0
        /// <summary>
        /// Add PnL vs hold time to plotter. This method should be called once
        /// after the simulation loop finished.
        /// </summary>
        /// <param name="plotter"></param>
        /// <param name="sim"></param>

        public static void AddPnLHoldTime(this Plotter plotter, SimulatorCore sim)
        {
            var tradeLog = LogAnalysis
                           .GroupPositions(sim.Log, true)
                           .OrderBy(i => i.Entry.BarOfExecution.Time);

            plotter.SelectChart(Plotter.SheetNames.PNL_HOLD_TIME, "Days Held");
            foreach (var trade in tradeLog)
            {
                var pnl   = (trade.Quantity > 0 ? 100.0 : -100.0) * (trade.Exit.FillPrice / trade.Entry.FillPrice - 1.0);
                var label = pnl > 0.0 ? "Profit" : "Loss";
                plotter.SetX((trade.Exit.BarOfExecution.Time - trade.Entry.BarOfExecution.Time).TotalDays);
                plotter.Plot(label, pnl);
            }
        }
        void IPlotterElement.OnPlotterDetaching(Plotter plotter)
        {
            OnPlotterDetaching(this.plotter);

            var viewportItemsPanel = currentItemsPanel as ViewportHostPanel;

            if (viewportItemsPanel != null)
            {
                viewportItemsPanel.OnPlotterDetaching(plotter);
            }

            plotter.CentralGrid.Children.Remove(this);

            this.plotter.Viewport.PropertyChanged -= Viewport_PropertyChanged;
            this.plotter = null;
        }
Exemplo n.º 34
0
        public void DetectPeaks()
        {
            Transitions.Clear();
            Plotter.Clear();

            string contents = ReadFromFile(SelectedFile.Path);

            if (!string.IsNullOrEmpty(contents))
            {
                ProcessFile(contents);
            }

            NotifyOfPropertyChange(() => CanAddToDatabase);
            NotifyOfPropertyChange(() => CanSaveImage);
            NotifyOfPropertyChange(() => CanSaveSpectrum);
        }
Exemplo n.º 35
0
        void IPlotterElement.OnPlotterDetaching(Plotter plotter)
        {
            // todo markerChart.OnPlotterDetached(plotter);

            var plotterContextMenu = plotter.Children.OfType <DefaultContextMenu>().FirstOrDefault();

            if (plotterContextMenu != null)
            {
                plotterContextMenu.StaticMenuItems.Remove(addPointMenuItem);
            }

            modeHandler.Detach();
            plotter.CentralGrid.Children.Remove(this);

            this.plotter = null;
        }
Exemplo n.º 36
0
        public void Map_single_line()
        {
            var plotter = new Plotter();
            var mapper  = new Mapper(plotter);
            var routeId = 1;

            mapper.MapRoute(routeId, "R1");

            CollectionAssert.AreEqual(
                new[]
            {
                MapPoint.From(routeId, Coords.From(0, 0)),
                MapPoint.From(routeId, Coords.From(1, 0))
            },
                mapper.GetPoints());
        }
Exemplo n.º 37
0
        public void Puzzle3Example1()
        {
            var plotter = new Plotter();
            var mapper  = new Mapper(plotter);

            mapper.MapRoute(1, "R75,D30,R83,U83,L12,D49,R71,U7,L72");
            mapper.MapRoute(2, "U62,R66,U55,R34,D71,R55,D58,R83");
            var distanceCalcuator = new ManhattanDistanceCalculator();
            var result            =
                mapper.GetIntersections()
                .Select(x => distanceCalcuator.GetDistance(Coords.From(0, 0), x))
                .OrderBy(x => x)
                .First();

            Assert.AreEqual(159, result);
        }
Exemplo n.º 38
0
        void IPlotterElement.OnPlotterAttached(Plotter plotter)
        {
            this.plotter = (Plotter2D)plotter;

            plotter.CentralGrid.Children.Add(this);
            modeHandler.Attach(this, plotter);

            markerChart.OnPlotterAttached(plotter);

            var plotterContextMenu = plotter.Children.OfType <DefaultContextMenu>().FirstOrDefault();

            if (plotterContextMenu != null)
            {
                plotterContextMenu.StaticMenuItems.Add(addPointMenuItem);
            }
        }
Exemplo n.º 39
0
        void IPlotterElement.OnPlotterDetaching(Plotter plotter)
        {
            visibleBounds = new Rect();

            this.plotter.CentralGrid.Children.Remove(this);
            this.plotter.Viewport.PropertyChanged -= Viewport_PropertyChanged;

            this.plotter.Viewport.Restrictions.Remove(proportionsRestriction);
            this.plotter.Viewport.Restrictions.Remove(maxSizeRestriction);

            this.plotter.Children.CollectionChanged -= PlotterChildren_CollectionChanged;

            RevertTextFormat();

            this.plotter = null;
        }
Exemplo n.º 40
0
        public void OnPlotterAttached(Plotter plotter)
        {
            this.plotter = (Plotter2D)plotter;

            hostPanel = plotter.MainGrid;

            SetListeningPanel();

            if (plotter.MainGrid != null)
            {
                hostPanel.MouseLeftButtonUp   += OnMouseLeftButtonUp;
                hostPanel.MouseLeftButtonDown += OnMouseLeftButtonDown;
                hostPanel.MouseMove           += OnMouseMove;
                hostPanel.MouseWheel          += OnMouseWheel;
            }
        }
Exemplo n.º 41
0
        public void Puzzle3Example2()
        {
            var plotter = new Plotter();
            var mapper  = new Mapper(plotter);

            mapper.MapRoute(1, "R98,U47,R26,D63,R33,U87,L62,D20,R33,U53,R51");
            mapper.MapRoute(2, "U98,R91,D20,R16,D67,R40,U7,R15,U6,R7");
            var distanceCalcuator = new ManhattanDistanceCalculator();
            var result            =
                mapper.GetIntersections()
                .Select(x => distanceCalcuator.GetDistance(Coords.From(0, 0), x))
                .OrderBy(x => x)
                .First();

            Assert.AreEqual(135, result);
        }
Exemplo n.º 42
0
        private void DataRetrievedEventHandler(object sender, EventArgs e)
        {
            List <string> alarmNames         = new List <string>();
            List <string> warningNames       = new List <string>();
            List <bool>   activeAlarmsFlags  = new List <bool>();
            List <bool>   activeWarningFlags = new List <bool>();

            // Let's make a local copy (thread safety)
            IList <MeasurePoint> _mbAlarms = DriverContainer.Driver.MbAlarm;

            if (_mbAlarms != null)
            {
                // Distinct Values
                List <string> uniqueRegNames = _mbAlarms.Select(x => x.Reg_Name).ToList().Distinct().ToList();
                foreach (string sg in uniqueRegNames)
                {
                    if (N3PR_Data.ALARM_NAMES.Contains(sg))
                    {
                        alarmNames.Add(sg);
                    }
                    else
                    {
                        warningNames.Add(sg);
                    }
                }
                activeAlarmsFlags  = Plotter.AreThereActiveAlarms(alarmNames, _mbAlarms);
                activeWarningFlags = Plotter.AreThereActiveAlarms(warningNames, _mbAlarms);
            }

            AlarmsActive = "Green";
            if (activeAlarmsFlags != null)
            {
                if (activeAlarmsFlags.Contains(true))
                {
                    AlarmsActive = "Red";
                }
            }

            WarningsActive = "Green";
            if (activeWarningFlags != null)
            {
                if (activeWarningFlags.Contains(true))
                {
                    WarningsActive = "Orange";
                }
            }
        }
Exemplo n.º 43
0
        static void Main(params string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("Parameters not exists");
                Console.WriteLine(ConsoleParamParser.GetParametersHelp());
                return;
            }

            var parser = new ConsoleParamParser(args);

            var plotData = new PhoutTable(parser.InputFileName).GetPlotData(parser.DrawColumnNames);

            var plotter = new Plotter(plotData, parser.HorisontalSize, parser.VerticalSize, drawLegend: true);

            plotter.DrawTo(parser.DrawToFileName);
        }
Exemplo n.º 44
0
        public MainWindow()
        {
            InitializeComponent();

            myCanvas.ClipToBounds = true;

            plotter = new Plotter(myCanvas);
            plotter.AxesWithOrigin.Origin         = new Tuple <double, double>(0, myCanvas.Height / 2);
            plotter.AxesWithOrigin.XScalingFactor = 10;
            plotter.AxesWithOrigin.YScalingFactor = -100;
            plotter.PointMarksVisible             = true;
            plotter.PolylineVisible = false;
            plotter.DrawAll();

            xLabel.Content = $"X range: [{plotter.AxesWithOrigin.X_min}, {plotter.AxesWithOrigin.X_max}]";
            yLabel.Content = $"Y range: [{plotter.AxesWithOrigin.Y_min}, {plotter.AxesWithOrigin.Y_max}]";
        }
Exemplo n.º 45
0
        /// <summary>
        /// Called when item is being detached from parent plotter.
        /// Allows to remove added in OnPlotterAttached method UI parts or unsubscribe from events.
        /// This should be done as each chart can be added only one Plotter at one moment of time.
        /// </summary>
        /// <param name="plotter">The plotter.</param>
        void IPlotterElement.OnPlotterDetaching(Plotter plotter)
        {
            if (this.plotter != null)
            {
                Panel panel = GetPanelByPlacement(placement);
                panel.Children.Remove(this);

                Plotter2D plotter2d = plotter as Plotter2D;
                axisControl.Transform = null;

                plotter2d.Viewport.VisibleChanged   -= OnViewportConfigurationChanged;
                plotter2d.Viewport.OutputChanged    -= OnViewportConfigurationChanged;
                plotter2d.Viewport.TransformChanged -= OnViewportConfigurationChanged;

                this.plotter = null;
            }
        }
        /// <summary>
        /// Returns an optimal preview image of a calculation.
        /// </summary>
        /// <param name="calculation">The calculation.</param>
        /// <returns></returns>
        public Image GetBasePreviewImage(Calculation calculation)
        {
            CheckDimensionLimits(calculation);

            var sealingSlabPlotter = new Plotter(calculation.WidthPixels,
                                                 calculation.HeightPixels,
                                                 calculation.DrillingPointDistanceXPixels,
                                                 calculation.DrillingPointDistanceYPixels,
                                                 calculation.SealingSlabRadiusPixels,
                                                 calculation.BorderXPixels,
                                                 calculation.BorderYPixels);

            // Plot optimal sealing slabs
            var sealingSlabs = sealingSlabPlotter.PlotSealingSlabs <SealingSlab>();

            return(GetIterationImage(calculation, sealingSlabs));
        }
Exemplo n.º 47
0
        private void Potter_HPF_button_Click(object sender, EventArgs e)
        {
            var flag = true;

            flag &= double.TryParse(fc_Hp.Text.Replace('.', ','), out var fc);
            flag &= int.TryParse(m_Hp.Text, out var m);
            flag &= double.TryParse(dtTextBox.Text.Replace('.', ','), out var dt);
            if (!flag)
            {
                MessageBox.Show("Не все данные в правильном формате!", "Ошибка", MessageBoxButtons.OK);
                return;
            }

            var ppl = Analyser.GetHarryPotter_HPF(fc, m, dt);

            Plotter.Draw(_controlZgcList[(int)numericUpDownGraphNo.Value - 1], ppl, "Potter_HPF");
        }
Exemplo n.º 48
0
        public MainWindow()
        {
            InitializeComponent();
            myyC.ClipToBounds = true;
            Plotter p = new Plotter(myyC);

            List <DataPoint> testData = new List <DataPoint>();

            for (int i = -20; i < 20; i++)
            {
                testData.Add(new DataPoint(i, i + 1));
            }

            p.SetPoints(testData);

            p.DrawAll();
        }
Exemplo n.º 49
0
        public void DrawSelf(Plotter plotter)
        {
            if (insideFigure is Line)
            {
                var newListMarkers = new List <Marker>()
                {
                    insideFigure.listMarker[0],
                    insideFigure.listMarker[2]
                };

                plotter.DrawSelection(newListMarkers);

                return;
            }

            plotter.DrawSelection(insideFigure.listMarker);
        }
Exemplo n.º 50
0
        protected override void AttachCore(PointSelector selector, Plotter plotter)
        {
            if (selector == null)
            {
                throw new ArgumentNullException("selector");
            }
            if (plotter == null)
            {
                throw new ArgumentNullException("plotter");
            }

            this.selector = selector;
            this.plotter  = (Plotter2D)plotter;

            leftButtonClickWrapper        = new MouseClickWrapper(plotter.CentralGrid, MouseButton.Left);
            leftButtonClickWrapper.Click += OnLeftButtonClick;
        }
Exemplo n.º 51
0
        public void OnPlotterDetaching(Plotter plotter)
        {
            if (plotter.MainGrid != null)
            {
                hostPanel.MouseLeftButtonUp   -= OnMouseLeftButtonUp;
                hostPanel.MouseLeftButtonDown -= OnMouseLeftButtonDown;
                hostPanel.MouseMove           -= OnMouseMove;
                hostPanel.MouseWheel          -= OnMouseWheel;

                hostPanel.MouseRightButtonDown -= OnMouseRightButtonDown;
                hostPanel.MouseRightButtonUp   -= OnMouseRightButtonUp;

                hostPanel.LostFocus -= OnLostFocus;
            }
            listeningPanel = null;
            this.plotter   = null;
        }
Exemplo n.º 52
0
        public override void OnPlotterAttached(Plotter plotter)
        {
            base.OnPlotterAttached(plotter);

            var tdx   = new DxVertex();
            var vel   = tdx.GetVertexElements();
            var vee   = vel.Where(v => (!v.Equals(VertexElement.VertexDeclarationEnd)));
            var tdxve = new TDxInstance().GetVertexElements();

            var vertexElements =
                new DxVertex().GetVertexElements().Where(ve => (!ve.Equals(VertexElement.VertexDeclarationEnd)))
                .Concat(new TDxInstance().GetVertexElements())
                .ToArray();

            _vertexDeclaration = new VertexDeclaration(Device, vertexElements);
            this._texture      = TextureHelper.GetDVDImageTexture(Device);
        }
Exemplo n.º 53
0
 public static void AddOrderLog(this Plotter plotter, SimulatorCore sim)
 {
     plotter.SelectChart("Order Log", "date");
     foreach (LogEntry entry in sim.Log)
     {
         plotter.SetX(string.Format("{0:MM/dd/yyyy}", entry.BarOfExecution.Time));
         plotter.Plot("action", entry.Action);
         plotter.Plot("type", entry.InstrumentType);
         plotter.Plot("instr", entry.Symbol);
         plotter.Plot("qty", entry.OrderTicket.Quantity);
         plotter.Plot("fill", entry.FillPrice);
         plotter.Plot("gross", -entry.OrderTicket.Quantity * entry.FillPrice);
         plotter.Plot("commission", -entry.Commission);
         plotter.Plot("net", -entry.OrderTicket.Quantity * entry.FillPrice - entry.Commission);
         plotter.Plot("comment", entry.OrderTicket.Comment ?? "");
     }
 }
 public void OnPlotterAttached(Plotter plotter)
 {
     _plotter = (Plotter2D)plotter;
     Task.Factory.StartNew(() =>
     {
         Dispatcher.Invoke(() =>
         {
             foreach (FrameworkElement newItem in Items)
             {
                 newItem.SetBinding(FrameworkElement.DataContextProperty, new Binding {
                     Path = new PropertyPath("ChildContext"), Source = this
                 });
                 Plotter2D.Children.Add(newItem);
             }
         });
     });
 }
Exemplo n.º 55
0
        private void Fur1DButton_Click(object sender, EventArgs e)
        {
            if (_controlZgcList[(int)numericUpDownGraphNo.Value - 1].GraphPane.CurveList.Count == 0)
            {
                return;
            }

            var list = GraphConverter.GetPointPairListFromCurve(_controlZgcList[(int)numericUpDownGraphNo.Value - 1].GraphPane.CurveList[0]);
            var res  = Analyser.ListToComplex(list);

            res = Analyser.ReverseSpectre(Analyser.GetSpectre(res));

            var newlist = Analyser.ComplexToPointPairList(res);

            Plotter.Clear(spectreZedGraphControl);
            Plotter.Draw(spectreZedGraphControl, newlist, "Reversed Graph");
        }
Exemplo n.º 56
0
        private void dtmf_plot_button_Click(object sender, EventArgs e)
        {
            var flag = true;

            flag &= double.TryParse(Rate_Texbox.Text.Replace('.', ','), out var sample_rate);
            var dtmf_c = dtmf_textbox.Text;

            if (!flag)
            {
                MessageBox.Show("Не все данные в правильном формате!", "Ошибка", MessageBoxButtons.OK);
                return;
            }

            var res = DTMF.dtmf_from_label(dtmf_c, sample_rate);

            Plotter.Draw(_controlZgcList[(int)numericUpDownGraphNo.Value - 1], res, "DTMF");
        }
Exemplo n.º 57
0
        public void OnPlotterDetaching(Plotter plotter)
        {
            this.plotter.Viewport.PropertyChanged -= OnViewport_PropertyChanged;

            plotter.Dispatcher.BeginInvoke(() =>
            {
                plotter.Children.RemoveAll(
                    segment,
                    startThumb,
                    endThumb,
                    panel,
                    leftRay,
                    rightRay);
            }, DispatcherPriority.Normal);

            this.plotter = null;
        }
Exemplo n.º 58
0
        public void ImportedSpectrums_SelectionChanged(SelectionChangedEventArgs args)
        {
            var existingSeries = Plotter.GetExistingSeries("Imported");

            if (existingSeries != null)
            {
                Plotter.PlotFrame.Series.Remove(existingSeries);
            }

            var existingTransition = Transitions.Where(x => x.Name == "Imported");

            if (existingTransition != null && existingTransition.Any())
            {
                Transitions.Remove(existingTransition.First());
            }

            existingSeries = Plotter.GetExistingSeries("Imported Peaks");
            if (existingSeries != null)
            {
                Plotter.PlotFrame.Series.Remove(existingSeries);
            }

            existingTransition = Transitions.Where(x => x.Name == "Imported Peaks");
            if (existingTransition != null && existingTransition.Any())
            {
                Transitions.Remove(existingTransition.First());
            }

            SelectedImportedSpectrum = args.AddedItems.Cast <object>().Where(x => x is SpectrumBase).Count() == 1
                ? args.AddedItems.Cast <SpectrumBase>().First()
                : null;
            if (SelectedImportedSpectrum != null)
            {
                Spectrum spectrum = new Spectrum(SelectedImportedSpectrum);
                Plotter.Plot(spectrum, null, SpectrumType.Imported);
                Transitions.Add(new ListViewTransitionItem()
                {
                    Name = spectrum.Optimized.Name
                });
                Transitions.Add(new ListViewTransitionItem()
                {
                    Name = spectrum.Peaks.Name
                });
            }
        }
Exemplo n.º 59
0
        // todo: results are similar, but not the same as in book. why?
        private static void CompareNStepLengths()
        {
            var env = new RandomWalkEnvironment(19, 10);
            // actual probability of reaching goal state from given state
            var actualValues  = Enumerable.Range(1, 19).Select(i => i / 20.0).ToArray();
            var learningRates = new[] { 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0 };

            var nStepResults = new[] { 1, 2, 4, 8, 16 }
            .Select(numSteps => new NStepResult
            {
                Label = $"{numSteps}",
                CreateEstimatorFunc = learningRate => new NStepEstimator(learningRate, numSteps)
            })
            .ToList();

            foreach (var nStepResult in nStepResults)
            {
                foreach (var learningRate in learningRates)
                {
                    var       avgRmsErrorSum = 0.0;
                    const int numRuns        = 200;
                    for (var i = 0; i < numRuns; i++)
                    {
                        var estimator = nStepResult.CreateEstimatorFunc(learningRate);
                        var estimates = estimator.Estimate(env, 10);
                        var avgError  = AvgRmsError(actualValues, estimates);
                        avgRmsErrorSum += avgError;
                    }
                    nStepResult.RmsErrors.Add(avgRmsErrorSum / numRuns);
                }
            }

            var plotter = new Plotter();
            var plt     = plotter.Plt;

            plt.Title("Average RMS error over 19 states and first 10 episodes");
            plt.XLabel("Learning rate");
            plt.YLabel("Avg. RMS error");
            foreach (var nStepResult in nStepResults)
            {
                plt.PlotScatter(learningRates, nStepResult.RmsErrors.ToArray(), label: nStepResult.Label);
            }
            plt.Legend();
            plotter.Show();
        }
        /// <summary>
        /// Called when item is being detached from parent plotter.
        /// Allows to remove added in OnPlotterAttached method UI parts or unsubscribe from events.
        /// This should be done as each chart can be added only one Plotter at one moment of time.
        /// </summary>
        /// <param name="plotter">The plotter.</param>
        void IPlotterElement.OnPlotterDetaching(Plotter plotter)
        {
            if (this.plotter == null)
            {
                return;
            }

            Panel panel = GetPanelByPlacement(placement);

            panel.Children.Remove(this);

            Plotter2D plotter2d = plotter as Plotter2D;

            plotter2d.Viewport.PropertyChanged -= OnViewportPropertyChanged;
            axisControl.Transform = null;

            this.plotter = null;
        }