public static PositionRaster ( UIElement renderedGeometry, BoundingBox boundingBox, IViewport viewport ) : void | ||
renderedGeometry | UIElement | |
boundingBox | BoundingBox | |
viewport | IViewport | |
return | void |
private static void PositionGeometry(Shape renderedGeometry, IViewport viewport, IStyle style, IFeature feature) { if (feature.Geometry is Geometries.Point) { PointRenderer.PositionPoint(renderedGeometry, feature.Geometry as Geometries.Point, style, viewport); } else if (feature.Geometry is MultiPoint) { GeometryRenderer.PositionGeometry(renderedGeometry, viewport); } else if (feature.Geometry is LineString) { GeometryRenderer.PositionGeometry(renderedGeometry, viewport); } else if (feature.Geometry is MultiLineString) { GeometryRenderer.PositionGeometry(renderedGeometry, viewport); } else if (feature.Geometry is Polygon) { GeometryRenderer.PositionGeometry(renderedGeometry, viewport); } else if (feature.Geometry is MultiPolygon) { GeometryRenderer.PositionGeometry(renderedGeometry, viewport); } else if (feature.Geometry is IRaster) { GeometryRenderer.PositionRaster(renderedGeometry, feature.Geometry.GetBoundingBox(), viewport); } }
private static UIElement RenderBox(BoundingBox box, IViewport viewport) { const int symbolSize = 32; // todo: determine margin by symbol size const int boxMargin = symbolSize / 2; var path = new Path { Stroke = new SolidColorBrush(Colors.White), StrokeThickness = 2, Data = new RectangleGeometry() }; // offset the bounding box left and up by the box margin var offsetBox = box.Grow(boxMargin * viewport.Resolution); GeometryRenderer.PositionRaster(path, offsetBox, viewport); return(path); }