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));
        }
示例#2
0
        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);
 }