/// <summary> /// Ensures this feature is clean after some sort of edit. If this point has been marked inactive, /// any incident topological sections will be merged. /// </summary> internal override void Clean() { if (IsInactive) { // If any topological lines pass THROUGH this point, ensure they have // been marked as moved (force recalculation of intersections). IDivider[] dividers = this.IncidentDividers(); foreach (IDivider d in dividers) { if (d is SectionDivider) { LineFeature line = d.Line; if (!line.IsInactive && line.StartPoint != this && line.EndPoint != this) { line.ResetTopology(); } } } } base.Clean(); }