public void Cut3D([NotNull] IMultiPatch cutSurfaces, [CanBeNull] ITrackCancel trackCancel = null) { foreach (IFeature feature in GetFeaturesToCut(cutSurfaces)) { if (trackCancel != null && !trackCancel.Continue()) { return; } try { CutFeature3D(feature, cutSurfaces); } catch (Exception e) { if (!ContinueOnFailure) { throw; } FailedCutOperations.Add( new KeyValuePair <int, string>(feature.OID, e.Message)); } } }
public void Cut([NotNull] IPolyline cutPolyline, [CanBeNull] ITrackCancel trackCancel = null) { foreach (IFeature feature in GetFeaturesToCut(cutPolyline)) { if (trackCancel != null && !trackCancel.Continue()) { return; } try { CutFeature(feature, cutPolyline); } catch (Exception e) { if (!ContinueOnFailure) { throw; } _msg.Warn($"Feature {feature.OID}: {e.Message}", e); FailedCutOperations.Add( new KeyValuePair <int, string>(feature.OID, e.Message)); } } AddToRefreshArea(cutPolyline); }