com.esri.arcgis.geodatabase
Interface IFeatureSnap

All Superinterfaces:
java.io.Serializable
All Known Implementing Classes:
ComplexJunctionFeature, IFeatureSnapProxy

public interface IFeatureSnap
extends java.io.Serializable

Provides access to members that enable features to do custom snapping.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Remarks

It is recommended that developers do not use Complex Junctions in their data modeling solutions.  Developers can leverage existing Geodatabase components in order to implement partial functionality, such as IFeatureClassExtension.


Method Summary
 boolean snap(IPoint point, double tolerance)
          Snap the feature based on the arguments.
 

Method Detail

snap

public boolean snap(IPoint point,
                    double tolerance)
             throws java.io.IOException,
                    AutomationException
Snap the feature based on the arguments.

Supported Platforms

Windows, Solaris, Linux

Remarks

The Snap method in the IFeatureSnap interface is not implemented by the ComplexJunctionFeature class that the custom feature must aggregate. ArcMap will call this method on all complex junctions within snapping distance of the cursor if custom feature snapping is selected in the Snapping dialog box.


The custom feature is responsible for returning a Boolean value indicating whether or not the cursor can snap to one of the connection points. If the cursor can snap (the IPoint is within the tolerance distance of a connection point), then the inbound IPoint is modified to match the location of the connection point.

 

It is recommended that developers do not use Complex Junctions in their data modeling solutions.  Developers can leverage existing Geodatabase components in order to implement partial functionality, such as IFeatureClassExtension.

 

Parameters:
point - A reference to a com.esri.arcgis.geometry.IPoint (in)
tolerance - The tolerance (in)
Returns:
The snapped
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.