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);
}
}