/// <summary> /// Determines if this Polygon and the specified Polygon object has the same values /// </summary> /// <param name="p">Polygon to compare with</param> /// <returns></returns> public bool Equals(Polygon p) { if (p == null) return false; if (!p.ExteriorRing.Equals(ExteriorRing)) return false; if (p.InteriorRings.Count != InteriorRings.Count) return false; for (int i = 0; i < p.InteriorRings.Count; i++) if (!p.InteriorRings[i].Equals(InteriorRings[i])) return false; return true; }
/// <summary> /// Return a copy of this geometry /// </summary> /// <returns>Copy of Geometry</returns> public new Polygon Clone() { Polygon p = new Polygon(); p.ExteriorRing = (LinearRing)_ExteriorRing.Clone(); for (int i = 0; i < _InteriorRings.Count; i++) p.InteriorRings.Add(_InteriorRings[i].Clone() as LinearRing); return p; }