ArcObjects Library Reference (Controls)  

IEngineSnapAgent.Snap Method

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

Available with ArcGIS Engine.

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