internal static void Transform(WriteableBitmap context, sb.Geometry <sb.Point> original, sb.Point location, int border, int fill) { if (original.Geometries != null) { foreach (var geometry in original.Geometries) { Transform(context, geometry, location, border, fill); } } else { if (original.NumberOfPoints < 1) { return; } var firstPoint = original.Points[0]; if (original.Type == sb.GeometryType.Point) { context.DrawEllipseCentered(border, (int)(firstPoint.X + location.X), (int)(firstPoint.Y + location.Y), pointSize, pointSize); } else if (original.Type == IRI.Msh.Common.Primitives.GeometryType.LineString) { AddLineString(context, original, location, border, fill); } } }
internal static void Transform(drawing.Graphics graphics, sb.Geometry <sb.Point> original, sb.Point location, drawing.Pen pen, drawing.Brush brush) { if (original.Geometries != null) { foreach (var geometry in original.Geometries) { Transform(graphics, geometry, location, pen, brush); } } else { if (original.NumberOfPoints < 1) { return; } var firstPoint = original.Points[0]; if (original.Type == sb.GeometryType.Point) { graphics.DrawEllipse(pen, (float)(firstPoint.X + location.X), (float)(firstPoint.Y + location.Y), pointSize, pointSize); } else if (original.Type == IRI.Msh.Common.Primitives.GeometryType.LineString) { AddLineString(graphics, original, location, pen, brush); } } }
private static void AddLineString(drawing.Graphics graphics, sb.Geometry <sb.Point> original, sb.Point location, drawing.Pen pen, drawing.Brush brush) { if (original.NumberOfPoints < 1) { return; } for (int i = 1; i < original.NumberOfPoints; i++) { graphics.DrawLine(pen, (float)(original.Points[i - 1].X + location.X), (float)(original.Points[i - 1].Y + location.Y), (float)(original.Points[i].X + location.X), (float)(original.Points[i].Y + location.Y)); } }
private static void AddLineString(WriteableBitmap context, sb.Geometry <sb.Point> original, sb.Point location, int border, int fill) { if (original.NumberOfPoints < 1) { return; } for (int i = 1; i < original.NumberOfPoints; i++) { context.DrawLine( (int)(original.Points[i - 1].X + location.X), (int)(original.Points[i - 1].Y + location.Y), (int)(original.Points[i].X + location.X), (int)(original.Points[i].Y + location.Y), border); } }