コード例 #1
0
 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);
     }
 }
コード例 #2
0
        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);
        }