internal GeoRegion Clip(GeoRegion poly)
{
GeoRegion polygon = new GeoRegion();
if (poly.Bounds.IntersectsWith(this.boundary))
{
foreach (Point2DCollection points in poly.Parts)
{
Point2DCollection item = this.Clip(points);
if (item != null)
{
polygon.Parts.Add(item);
}
}
}
return polygon;
}