public LinkRender(NodeCollectionStorage <FullConnectedGraph> nodeCollectionStorage, Canvas canvas, LineCreator lineCreator) { _nodeCollectionStorage = nodeCollectionStorage; _canvas = canvas; _nodeCollectionStorage.CollectionChanged += NodeCollectionChangerHandler; _lineCreator = lineCreator; }
public static NodeRender GetNodeRender(NodeCollectionStorage<FullConnectedGraph> storage, Canvas canvas) { var nodeEllipseCreator = new EllipseCreator(Brushes.Black, Brushes.DarkGray, 5, 0.7); var startNodeEllipseCreator = new EllipseCreator(Brushes.Blue, Brushes.Transparent, 8, 0.9); var endNodeEllipseCreator = new EllipseCreator(Brushes.Red, Brushes.Transparent, 8, 0.9); return new NodeRender(storage,canvas,nodeEllipseCreator,startNodeEllipseCreator,endNodeEllipseCreator); }
public LinkRender(NodeCollectionStorage<FullConnectedGraph> nodeCollectionStorage, Canvas canvas, LineCreator lineCreator) { _nodeCollectionStorage = nodeCollectionStorage; _canvas = canvas; _nodeCollectionStorage.CollectionChanged += NodeCollectionChangerHandler; _lineCreator = lineCreator; }
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); }
public static NodeRender GetNodeRender(NodeCollectionStorage <FullConnectedGraph> storage, Canvas canvas) { var nodeEllipseCreator = new EllipseCreator(Brushes.Black, Brushes.DarkGray, 5, 0.7); var startNodeEllipseCreator = new EllipseCreator(Brushes.Blue, Brushes.Transparent, 8, 0.9); var endNodeEllipseCreator = new EllipseCreator(Brushes.Red, Brushes.Transparent, 8, 0.9); return(new NodeRender(storage, canvas, nodeEllipseCreator, startNodeEllipseCreator, endNodeEllipseCreator)); }
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); }
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 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 static ResultRender GetResultRender(Canvas canvas, SolversHolder solversHolder, NodeCollectionStorage<FullConnectedGraph> storage) { var ellipseCreator = new EllipseCreator(Brushes.Black, Brushes.SlateGray, 4, 0.5); var minPointEllipseCreator = new EllipseCreator(Brushes.Red, Brushes.Transparent, 6, 0.7); var polyLinesCreator = new PolylineCreator(Brushes.Blue, 1, 1); var step = 0.005; var scalarizator = new WeightedSumScalarizator<Route>(step); const double border = 5; return new ResultRender(canvas, ellipseCreator, minPointEllipseCreator, polyLinesCreator, border, storage, scalarizator); }
public SolversHolder(NodeCollectionStorage<FullConnectedGraph> storage, GeneticSolverBuilder geneticSolverBuilder, BruteForceSolverBuilder bruteForceSolverBuilder, OptionsWindow optionsWindow) { _storage = storage; _geneticSolverBuilder = geneticSolverBuilder; _bruteForceSolverBuilder = bruteForceSolverBuilder; _storage.CollectionChanged += StorageChangedHandler; optionsWindow.Changed += OptionsChangedHandler; InitializeSolvers(); InitializeFlagDictionarys(); }
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 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 ResultRender(Canvas canvas, EllipseCreator pointsEllipseCreator,EllipseCreator minPointsEllipseCreator, PolylineCreator polylineCreator, double border, NodeCollectionStorage<FullConnectedGraph> storage, IScalarizator<Route,Route> scalarizator) { _canvas = canvas; _canvas.SizeChanged += CanvasChangedHanler; _pointsEllipseCreator = pointsEllipseCreator; _polylineCreator = polylineCreator; _border = border; _scalarizator = scalarizator; _minPointsEllipseCreator = minPointsEllipseCreator; storage.CollectionChanged += StorageOnChangeHandler; storage.PointPropertyChanged += StorageOnChangeHandler; }
public NodeRender(NodeCollectionStorage<FullConnectedGraph> nodeCollectionStorage, Canvas canvas, EllipseCreator nodeEllipseCreator, EllipseCreator startNodeEllipseCreator, EllipseCreator endNodeEllipseCreator) { _canvas = canvas; _nodeEllipseCreator = nodeEllipseCreator; _startNodeEllipseCreator = startNodeEllipseCreator; _endNodeEllipseCreator = endNodeEllipseCreator; _canvas.MouseLeftButtonUp += Canvas_MouseLeftButtonUp; _nodeCollectionStorage = nodeCollectionStorage; _nodeCollectionStorage.CollectionChanged += NodeCollectionChangeHandler; _nodeCollectionStorage.PointPropertyChanged += PointPropertyChangedHandler; _nodeEllipseCreator.ContextMenu = NodeContextMenuCreator.NodeContextMenu(StartPointMenuItem_OnClick, EndPointMenuItem_OnClick, RemovePointMenuItem_OnClick); var startEndContextMenu = NodeContextMenuCreator.StartAndEndNodeContextMenu(RemoveStartOrEndPointMenuItem_OnClick); _endNodeEllipseCreator.ContextMenu = startEndContextMenu; _startNodeEllipseCreator.ContextMenu = startEndContextMenu; }
public NodeRender(NodeCollectionStorage <FullConnectedGraph> nodeCollectionStorage, Canvas canvas, EllipseCreator nodeEllipseCreator, EllipseCreator startNodeEllipseCreator, EllipseCreator endNodeEllipseCreator) { _canvas = canvas; _nodeEllipseCreator = nodeEllipseCreator; _startNodeEllipseCreator = startNodeEllipseCreator; _endNodeEllipseCreator = endNodeEllipseCreator; _canvas.MouseLeftButtonUp += Canvas_MouseLeftButtonUp; _nodeCollectionStorage = nodeCollectionStorage; _nodeCollectionStorage.CollectionChanged += NodeCollectionChangeHandler; _nodeCollectionStorage.PointPropertyChanged += PointPropertyChangedHandler; _nodeEllipseCreator.ContextMenu = NodeContextMenuCreator.NodeContextMenu(StartPointMenuItem_OnClick, EndPointMenuItem_OnClick, RemovePointMenuItem_OnClick); var startEndContextMenu = NodeContextMenuCreator.StartAndEndNodeContextMenu(RemoveStartOrEndPointMenuItem_OnClick); _endNodeEllipseCreator.ContextMenu = startEndContextMenu; _startNodeEllipseCreator.ContextMenu = startEndContextMenu; }
public static LinkRender GetLinkRender(NodeCollectionStorage <FullConnectedGraph> storage, Canvas canvas) { var lineCreator = new LineCreator(Brushes.DimGray, 1, 0.5); return(new LinkRender(storage, canvas, lineCreator)); }
public static LinkRender GetLinkRender(NodeCollectionStorage<FullConnectedGraph> storage, Canvas canvas) { var lineCreator = new LineCreator(Brushes.DimGray,1,0.5); return new LinkRender(storage,canvas,lineCreator); }