PositionRaster() public static method

public static PositionRaster ( UIElement renderedGeometry, BoundingBox boundingBox, IViewport viewport ) : void
renderedGeometry UIElement
boundingBox BoundingBox
viewport IViewport
return void
示例#1
0
 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);
        }