This document is archived and information here might be outdated.  Recommended version.

IFeatureSnapAgent Interface (ArcObjects .NET 10.8 SDK)
ArcObjects Help for .NET developers > ArcObjects Help for .NET developers > ArcObjects namespaces > Editor > ESRI.ArcGIS.Editor > Interfaces > IF > IFeatureSnapAgent Interface
ArcGIS Developer Help

IFeatureSnapAgent Interface

Provides access to members that control a feature snap agent's properties. Note: the IFeatureSnapAgent interface has been superseded by IFeatureSnapAgent2. Please consider using the more recent version.

Product Availability

Available with ArcGIS Desktop.

When To Use

The IFeatureSnapAgent interface is used to set the properties of a feature snap agent. IFeatureSnapAgent inherits from ISnapAgent so all of the members on ISnapAgent are directly available.



Name Description
Read-only property FeatureCache The FeatureCache associated with the feature snap agent.
Read/write property FeatureClass The featureclass the feature snap agent snaps to.
Read/write property HitType The part of a geometry the feature snap agent snaps to.
Read-only property Name The name of the snap agent shown in the UI.
Method Snap Called by the editor to perform the actual snapping logic.

Inherited Interfaces

Interfaces Description
ISnapAgent Provides access to members that snap point locations using a tolerance.

Classes that implement IFeatureSnapAgent

Classes Description


Use this interface to set the behavior of new feature snap agents. Feature snap agents control which features the editor attempts to snap to. For example, you may want the editor to automatically snap to the vertex of all buildings. To implement this you would create a new FeatureSnapAgent and specify the FeatureClass to be 'Buildings' and the HitType to be esriGeometryPartVertex. New feature snap agents have to be added to the editor's snap environment with ISnapEnvironment::AddSnapAgent before they can be used unless you want to call Snap yourself.

The last member, FeatureCache, is very rarely used. Use it when applying a snapping constraint on top of an existing placement constraint. For example, you may want to create a constraint that places a point exactly 100 feet away but additionally honors the snap environment that states, snap the point to a feature if it is within the search tolerance. Thus the point has to be 100 feet away no matter what and if this location is within snap tolerance of a feature, place the point exactly on the feature. The basic idea is create the distance constraint inside a sketch tool and then reuse the FeatureCache associated with the particular FeatureSnapAgent so you don't have to manage a new one.

See Also

ISnapAgent Interface | ISnapEnvironment Interface