Ejemplo n.º 1
0
 private void AddToRefreshArea([CanBeNull] IGeometry geometry)
 {
     if (RefreshArea != null && geometry != null)
     {
         RefreshArea.Union(geometry.Envelope);
     }
 }
Ejemplo n.º 2
0
        private IEnumerable <IFeature> DragAdjacentFeaturesAlong()
        {
            if (_updatedInOperation.Count == 0)
            {
                return(new List <IFeature>(0));
            }

            LinearNetworkNodeUpdater nodeUpdater =
                new LinearNetworkNodeUpdater(NetworkFeatureFinder)
            {
                KnownInserts = _createdInOperation,
                KnownDeletes = _deletedInOperation
            };

            DragAdjacentFeaturesAlong(nodeUpdater);

            if (nodeUpdater.RefreshEnvelope != null)
            {
                RefreshArea?.Union(nodeUpdater.RefreshEnvelope);
            }

            _msg.DebugFormat("Maintained connectivity by dragging end points with {0}",
                             StringUtils.Concatenate(nodeUpdater.UpdatedFeatures,
                                                     f => GdbObjectUtils.ToString(f), ", "));

            return(nodeUpdater.UpdatedFeatures);
        }