public static ResultRender GetResultRender(Canvas canvas, SolversHolder solversHolder, NodeCollectionStorage <FullConnectedGraph> storage) { var ellipseCreator = new EllipseCreator(Brushes.Black, Brushes.SlateGray, 4, 0.5); var polyLinesCreator = new PolylineCreator(Brushes.Blue, 1, 1); const double border = 5; return(new ResultRender(canvas, solversHolder, ellipseCreator, polyLinesCreator, border, storage)); }
public MainWindow() { InitializeComponent(); var bruteForceSolverBuilder = new BruteForceSolverBuilder(); var geneticSolverBuilder = new GeneticSolverBuilder(); _optionsWindow = new OptionsWindow(geneticSolverBuilder, bruteForceSolverBuilder); _solversHolder = new SolversHolder(_nodeCollectionStorage, geneticSolverBuilder, bruteForceSolverBuilder, _optionsWindow); _resultsWindow = new ResultsWindow(_solversHolder, _nodeCollectionStorage); _render = new Render(MainCanvas, _nodeCollectionStorage, _solversHolder); }
public ResultRender(Canvas canvas, SolversHolder solversHolder, EllipseCreator ellipseCreator, PolylineCreator polylineCreator, double border, NodeCollectionStorage <FullConnectedGraph> storage) { _canvas = canvas; _canvas.SizeChanged += CanvasChangedHanler; _ellipseCreator = ellipseCreator; _polylineCreator = polylineCreator; _border = border; storage.CollectionChanged += StorageOnChangeHandler; storage.PointPropertyChanged += StorageOnChangeHandler; }
public ResultsWindow(SolversHolder solversHolder, NodeCollectionStorage <FullConnectedGraph> storage) { InitializeComponent(); Loaded += delegate { var t = ResultsCanvas.Width; }; Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); Arrange(new Rect(0, 0, Width, Height)); _render = RenderFactory.GetResultRender(ResultsCanvas, solversHolder, storage); //solversHolder.Solved += SolvedHandler; }
public Render(Canvas canvas, NodeCollectionStorage <FullConnectedGraph> nodeCollectionStorage, SolversHolder solversHolder) { _canvas = canvas; _nodeCollectionStorage = nodeCollectionStorage; _nodeRender = RenderFactory.GetNodeRender(nodeCollectionStorage, canvas); _linkRender = RenderFactory.GetLinkRender(nodeCollectionStorage, canvas); _routeRender = RenderFactory.GetRouteRender(canvas); }