This document is archived and information here might be outdated. Recommended version. |
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.
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 | |
---|---|---|
FeatureCache | The FeatureCache associated with the feature snap agent. | |
FeatureClass | The featureclass the feature snap agent snaps to. | |
HitType | The part of a geometry the feature snap agent snaps to. | |
Name | The name of the snap agent shown in the UI. | |
Snap | Called by the editor to perform the actual snapping logic. |
Interfaces | Description |
---|---|
ISnapAgent | Provides access to members that snap point locations using a tolerance. |
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.