/// <summary> /// Performs any processing when the line associated with this topology /// is being de-activated. This should mark adjacent polygons for deletion, and /// remove line references from any intersections. /// </summary> internal override void OnLineDeactivation() { // By default, we don't cleanup the starting terminal of each section. Unless // the preceding section was an overlap (since intersections aren't cross-referenced // to overlaps). bool doFrom = false; foreach (SectionTopology s in m_Sections) { if (s.IsOverlap) { doFrom = true; } else { Topology.MarkPolygons(s); // The starting terminal only needs to be cleaned up if the preceding // section was an overlap. if (doFrom) { OnLineDeactivation(s.From); doFrom = false; } OnLineDeactivation(s.To); } } }
/// <summary> /// Performs any processing when the line associated with this topology /// is being de-activated. This should mark adjacent polygons for deletion, and /// remove line references from any intersections. /// </summary> internal override void OnLineDeactivation() { // Mark adjacent polygons for deletion Topology.MarkPolygons(this); // Don't need to do anything about intersections, since LineTopology relates // to a complete line, and complete lines must terminate on concrete PointFeature // objects. }