This document is archived and information here might be outdated. Recommended version. |
ArcObjects namespaces > Controls > ESRI ArcGIS Controls > Interfaces > IE > IEngineSnapAgent Interface > IEngineSnapAgent.Snap Method (ArcObjects .NET 10.4 SDK) |
Fired by the Engine Editor to perform the actual snapping logic.
[Visual Basic .NET] Public Function Snap ( _ ByVal geom As IGeometry, _ ByVal point As IPoint, _ ByVal Tolerance As Double _ ) As Boolean
[C#] public bool Snap ( IGeometry geom, IPoint point, double Tolerance );
[C++]
HRESULT Snap(
IGeometry* geom,
IPoint* point,
double Tolerance,
VARIANT_BOOL* snapped
);
[C++]
Parameters geom [in]
geom is a parameter of type IGeometry point [in]
point is a parameter of type IPoint Tolerance [in] Tolerance is a parameter of type double snapped [out, retval] snapped is a parameter of type VARIANT_BOOL
Each snap agent uniquely implements the Snap method. Although each snap agent's Snap method can be called directly, typically the IEngineSnapEnvironment::SnapPoint method is used to call this function for each loaded snap agent until one of them reports it has modified the passed in point's properties. To facilitate this behavior, each snap agent's Snap method must return a boolean variable indicating whether or not it has modified the passed in points coordinates.
Snapping the passed in point means changing its x,y location properties. Because an IPoint interface pointer is passed into this function ByValue, direct edits of the point's parameters are possible. Resetting the IPoint interface to a different Point object will have no effect after leaving the scope of the function.
IEngineSnapAgent Interface | IEngineSnapEnvironment Interface