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 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 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; }
private void DrawVector(Vector<double> vector, EllipseCreator creator) { var coords = TransformCoordinates(vector); var toolTip = vector.ToString(); DrawEllipse(coords,toolTip,creator); }
private void DrawEllipse(Point point, string toolTip, EllipseCreator creator) { var el = creator.Create(point); el.ToolTip = toolTip; _canvas.Children.Add(el); }
private Ellipse CreateEllipse(Point point, EllipseCreator creator) { return creator.Create(point); }