public void RemoveHole(Polygon2D hole)
 {
     m_holes.RemoveAll(h => h.Equals(hole));
 }
 public void AddHole(Polygon2D hole)
 {
     m_holes.Add(hole);
 }
 public Polygon2DWithHoles(Polygon2D a_outside) : this()
 {
     Outside = new Polygon2D(a_outside.Vertices);
 }
 public Polygon2DWithHoles(Polygon2D a_outside, IEnumerable <Polygon2D> a_holes)
 {
     Outside = new Polygon2D(a_outside.Vertices);
     m_holes = a_holes.Select(p => new Polygon2D(p.Vertices)).ToList();
 }
 /// <summary>
 /// Simple Constructor
 /// </summary>
 public MultiPolygon2D(Polygon2D polygon) : this()
 {
     AddPolygon(new Polygon2D(polygon.Vertices));
 }