/// <summary> /// Delegate called to process every line feature in the model. /// Called by <c>Build</c> /// </summary> /// <param name="o">An item found in the spatial index.</param> /// <returns>True (always), indicating that the spatial query should keep going.</returns> /// <exception cref="Exception">If an error occurred building a polygon.</exception> bool ProcessLine(ISpatialObject o) { Debug.Assert(o is LineFeature); LineFeature line = (LineFeature)o; try { line.BuildPolygons(m_NewPolygonExtent, m_Index); return(true); } catch (Exception e) { string msg = String.Format("Error building polygon starting at line {0} ({1})", line.ToString(), e.Message); throw new Exception(msg); } }