private List <Feature> FilterSelectedFeatures() { var filteredSelectedFeatures = overlay.HighlightFeatureLayer.InternalFeatures .Where(f => SelectedAreaLayers.Any(l => l == f.Tag)) .ToList(); return(filteredSelectedFeatures); }
protected override TaskPlugin GetTaskPluginCore() { List <FeatureLayer> featureLayers = null; if (BlendSelectedFeaturesOnly) { SaveFeaturesToTempFile(); if (IsIntersect) { featureLayers = tempFilesForIntersect.Select(fileName => new ShapeFileFeatureLayer(fileName)).Cast <FeatureLayer>().ToList(); } else { featureLayers = new List <FeatureLayer> { new ShapeFileFeatureLayer(tempFilePath) }; } } else { featureLayers = SelectedAreaLayers.ToList(); } featureLayers.ForEach(featureSource => { if (featureSource.IsOpen) { featureSource.Close(); } if (featureSource.FeatureSource.Projection != null) { featureSource.FeatureSource.Projection.Close(); } }); var plugin = GisEditor.TaskManager.GetActiveTaskPlugins <BlendTaskPlugin>().FirstOrDefault(); if (plugin != null) { InitializePlugin(plugin, featureLayers); } return(plugin); }