Fired by the Engine Editor to perform the actual snapping logic.
ERROR: Syntax information about IEngineSnapAgent.Snap may not be in D:\ArcGIS\DotNet\ESRI.ArcGIS.Controls.dll
[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
Product Availability
Description
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.
See Also
IEngineSnapAgent Interface | IEngineSnapEnvironment Interface