public void InsertLinestring(int index, Linestring linestring) { Linestrings.Insert(index, linestring); UpdateBounds(linestring); SpatialIndex = null; CacheStartIndexes(); }
public void AddLinestring(Linestring linestring) { Linestrings.Add(linestring); UpdateBounds(linestring); UpdateSpatialIndex(linestring, Linestrings.Count - 1); CacheStartIndexes(); }
public void SetEmpty() { Linestrings.Clear(); XMin = double.NaN; YMin = double.NaN; XMax = double.NaN; YMax = double.NaN; SpatialIndex = null; }
public bool RemoveLinestring(Linestring linestring) { bool result = Linestrings.Remove(linestring); foreach (Linestring l in Linestrings) { UpdateBounds(l); } SpatialIndex = null; CacheStartIndexes(); return(result); }
public bool IsVertical(double tolerance) => Linestrings.All(l => l.IsVerticalRing(tolerance));
public double GetArea2D() { return(Linestrings.Sum(r => r.GetArea2D())); }
public double GetLength2D() { return(Linestrings.Sum(l => l.GetLength2D())); }
public override int GetHashCode() { int hashCode = (Linestrings != null ? Linestrings.GetHashCode() : 0); return(hashCode); }
public IEnumerator <Line3D> GetEnumerator() { return(Linestrings.SelectMany(linestring => linestring).GetEnumerator()); }