Exemplo n.º 1
0
        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));
                }
            }
        }
Exemplo n.º 2
0
        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);
        }