using System; using System.Collections.Generic; using GeoAPI.Extensions.Feature; using GeoAPI.Geometries; using SharpMap.Api.Layers; namespace SharpMap.Api.Editors { public interface IFeatureEditor { /// /// Snap rules defined for the layer, used during feature edits. /// IList SnapRules { get; set; } /// /// Get or set method used to creates a new feature which can be later added to the current layer. /// /// Func CreateNewFeature { get; set; } /// /// Creates a new instance of the feature interactor which can be used to manipulate . /// /// TODO: move interaction logic to SharpMap.UI, next to Select, Move and other tools. /// /// /// /// IFeatureInteractor CreateInteractor(ILayer layer, IFeature feature); /// /// Adds new feature to the feature provider of the layer using geometry. /// /// /// /// IFeature AddNewFeatureByGeometry(ILayer layer, IGeometry geometry); } }