public void CanPolygonBoundaryPreserveCurves() { var polygon = GeometryFactory.CreateBezierCircle(); Assert.True(polygon.HasCurves, "Oops, original polygon has no curves"); var boundary = GeometryUtils.Boundary(polygon); Assert.NotNull(boundary); Assert.AreEqual(GeometryType.Polyline, boundary.GeometryType); Assert.True(boundary.HasCurves, "did not preserve curves"); Assert.AreEqual(polygon.PointCount, boundary.PointCount); }
public static Geometry CreateMarkerGeometry(MarkerStyle style) { switch (style) { case MarkerStyle.Circle: return(GeometryFactory.CreateBezierCircle(5)); case MarkerStyle.Square: var envelope = GeometryFactory.CreateEnvelope(-5, -5, 5, 5); return(GeometryFactory.CreatePolygon(envelope)); default: throw new NotImplementedException( "Sorry, this MarkerStyle is not yet implemented"); } }
public void CanCreateBezierCircle() { const double radius = 5.0; var center = MapPointBuilder.CreateMapPoint(1, 2); const double delta = 0.000001; var circle = GeometryFactory.CreateBezierCircle(radius, center); Assert.AreEqual(1, circle.PartCount); Assert.AreEqual(5, circle.PointCount); Assert.AreEqual(GeometryType.Polygon, circle.GeometryType); Assert.AreEqual(10.0, circle.Extent.Width, delta); Assert.AreEqual(10.0, circle.Extent.Height, delta); Assert.AreEqual(center.X, circle.Extent.Center.X, delta); Assert.AreEqual(center.Y, circle.Extent.Center.Y, delta); const double circumference = 2.0 * radius * Math.PI; Assert.AreEqual(circumference, circle.Length, 0.01); }