public void ElementTexte() { foreach (var item in modell.Elemente) { Abstrakt2D element = (Abstrakt2D)item.Value; var cg = element.ComputeCenterOfGravity(); var id = new TextBlock { FontSize = 12, Text = item.Key, Foreground = Blue }; SetTop(id, (-cg.Y + maxY) * auflösung + PlazierungText); SetLeft(id, cg.X * auflösung + RandLinks); visualErgebnisse.Children.Add(id); ElementIDs.Add(id); } }
private PathGeometry WärmeflussElementmitte(AbstraktElement abstraktElement, double length) { Abstrakt2D abstrakt2D = (Abstrakt2D)abstraktElement; var pathFigure = new PathFigure(); var pathGeometry = new PathGeometry(); var cg = abstrakt2D.ComputeCenterOfGravity(); int[] fensterKnoten = { (int)(cg.X * auflösung), (int)((-cg.Y + maxY) * auflösung) }; pathFigure.StartPoint = new Point(fensterKnoten[0] - length / 2, fensterKnoten[1]); var endPoint = new Point(fensterKnoten[0] + length / 2, fensterKnoten[1]); pathFigure.Segments.Add(new LineSegment(endPoint, true)); pathFigure.Segments.Add(new LineSegment(new Point(endPoint.X - 3, endPoint.Y - 2), true)); pathFigure.Segments.Add(new LineSegment(new Point(endPoint.X - 3, endPoint.Y + 2), true)); pathFigure.Segments.Add(new LineSegment(new Point(endPoint.X, endPoint.Y), true)); pathGeometry.Figures.Add(pathFigure); return(pathGeometry); }