com.esri.arcgis.controls
Interface ISnappingEnvironment

All Superinterfaces:
Serializable
All Known Implementing Classes:
ISnappingEnvironmentProxy, Snapping

public interface ISnappingEnvironment
extends Serializable

ISnappingEnvironment Interface

Remarks

ISnappinvEnvironment is the primary interface for working with and managing the snapping environment at 9.4. Other snapping methods available at previous versions, notably the ArcMap editor’s snap environment (accessed from IEditor.SnapEnvironment) and the engine editor’s snapping environment (accessed via IEngineSnapEnvironment) still exist at ArcGIS 9.4, these are separate environments and developers should be aware of which snapping environment their tools are using. One of the main benefits of the new snapping environment is its availability to both ArcMap and ArcGIS Engine developers, and the capability to utilize snapping for all tools, not editing.

Product Availability

Available with ArcGIS Engine.


Method Summary
 IPointSnapper getPointSnapper()
          Returns the point snapper.
 int getSnappingType()
          The types of snapping currently being considered.
 IColor getSnapSymbolColor()
          The color of the snapping symbol.
 ITextSymbol getSnapTipSymbol()
          The symbol that displays the snap tip.
 int getSnapTipType()
          The types of snapping tip to be displayed.
 int getTolerance()
          Sets the snap tolerance in pixels.
 boolean isEnabled()
          Toggles snapping on/off.
 boolean isIgnoreIMSLayers()
          Ignores layers with slow response times.
 boolean isShowSnapTipBackground()
          Toggles snap tip background on/off.
 boolean isShowSnapTips()
          Toggles snap tips on/off.
 boolean isTextSnapping()
          Toggles snapping to text on/off.
 void setEnabled(boolean snapping)
          Toggles snapping on/off.
 void setIgnoreIMSLayers(boolean flag)
          Ignores layers with slow response times.
 void setPointSnapperByRef(IPointSnapper snapper)
          Returns the point snapper.
 void setShowSnapTipBackground(boolean show)
          Toggles snap tip background on/off.
 void setShowSnapTips(boolean show)
          Toggles snap tips on/off.
 void setSnappingType(int options)
          The types of snapping currently being considered.
 void setSnapSymbolColorByRef(IColor color)
          The color of the snapping symbol.
 void setSnapTipSymbolByRef(ITextSymbol symbol)
          The symbol that displays the snap tip.
 void setSnapTipType(int options)
          The types of snapping tip to be displayed.
 void setTextSnapping(boolean snapping)
          Toggles snapping to text on/off.
 void setTolerance(int tol)
          Sets the snap tolerance in pixels.
 

Method Detail

isEnabled

boolean isEnabled()
                  throws IOException,
                         AutomationException
Toggles snapping on/off.

Remarks

The Enabled property determines whether the snapping environment is active. If enabled, tools that utilize the mouse movement will return valid ISnappingResult references. Because this is setting is shared across all tools and applications, it is not recommended that individual tools modify this setting.

Product Availability

Available with ArcGIS Engine.

Returns:
The snapping
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setEnabled

void setEnabled(boolean snapping)
                throws IOException,
                       AutomationException
Toggles snapping on/off.

Product Availability

Available with ArcGIS Engine.

Parameters:
snapping - The snapping (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isTextSnapping

boolean isTextSnapping()
                       throws IOException,
                              AutomationException
Toggles snapping to text on/off.

Product Availability

Available with ArcGIS Engine.

Returns:
The snapping
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTextSnapping

void setTextSnapping(boolean snapping)
                     throws IOException,
                            AutomationException
Toggles snapping to text on/off.

Product Availability

Available with ArcGIS Engine.

Parameters:
snapping - The snapping (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSnappingType

int getSnappingType()
                    throws IOException,
                           AutomationException
The types of snapping currently being considered.

Remarks

Use the esriSnappingType enumeration to define which snapping types should be evaluated when IPointSnapper.Snap is called. An individual snapping type can be specified, or a combination of snapping types may be used. The combination of snapping types is accomplished using a bit mask.

Snapping Types are evaluated in a fixed order defined below:

  1. esriSnappingTypePoint
  2. esriSnappingTypeIntersection
  3. esriSnappingTypeEndpoint
  4. esriSnappingTypeVertex
  5. esriSnappingTypeMidpoint
  6. esriSnappingTypeTangent
  7. esriSnappingTypeEdge

SnappingType is an application-level setting.

Product Availability

Available with ArcGIS Engine.

Returns:
A com.esri.arcgis.controls.esriSnappingType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSnappingType

void setSnappingType(int options)
                     throws IOException,
                            AutomationException
The types of snapping currently being considered.

Product Availability

Available with ArcGIS Engine.

Parameters:
options - A com.esri.arcgis.controls.esriSnappingType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isShowSnapTips

boolean isShowSnapTips()
                       throws IOException,
                              AutomationException
Toggles snap tips on/off.

Remarks

Determines whether snap tips are shown when a snapping type is satisfied. By default, snap tips are shown. The information displayed in the snap tip is determined by ISnappingEnvironment.SnapTipType.

ShowSnapTips is an application-level setting.

Product Availability

Available with ArcGIS Engine.

Returns:
The show
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setShowSnapTips

void setShowSnapTips(boolean show)
                     throws IOException,
                            AutomationException
Toggles snap tips on/off.

Product Availability

Available with ArcGIS Engine.

Parameters:
show - The show (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSnapTipType

int getSnapTipType()
                   throws IOException,
                          AutomationException
The types of snapping tip to be displayed.

Remarks

The snapping tip type can contain the layer name of the feature layer that was snapped to, or the snapping type that was satisfied. The default is to show both the layer name and the snapping type as part of the snap tip.

Product Availability

Available with ArcGIS Engine.

Returns:
A com.esri.arcgis.controls.esriSnappingTipType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSnapTipType

void setSnapTipType(int options)
                    throws IOException,
                           AutomationException
The types of snapping tip to be displayed.

Product Availability

Available with ArcGIS Engine.

Parameters:
options - A com.esri.arcgis.controls.esriSnappingTipType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSnapTipSymbol

ITextSymbol getSnapTipSymbol()
                             throws IOException,
                                    AutomationException
The symbol that displays the snap tip.

Remarks

The SnapTipSymbol defines the textsymbol that is used to display information provided in the snap result’s description after a valid snap location was found. If ISnappingEnvironment.SnapTipType = 0 (no snap tip) this setting had no effect.


You have a number of options to customize the tip symbol, including advanced text capabilities provided by IFormattedTextSymbol to provide options for backgrounds, offsets, or right-to-left text capabilities.
The location of the tip is not customizable; the application will display the snap tip above and to the right of the snap location, unless at the extreme top or right bounds of the display.
SnapTipSymbol is an application-level setting.

Product Availability

Available with ArcGIS Engine.

Returns:
A reference to a com.esri.arcgis.display.ITextSymbol
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSnapTipSymbolByRef

void setSnapTipSymbolByRef(ITextSymbol symbol)
                           throws IOException,
                                  AutomationException
The symbol that displays the snap tip.

Product Availability

Available with ArcGIS Engine.

Parameters:
symbol - A reference to a com.esri.arcgis.display.ITextSymbol (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isShowSnapTipBackground

boolean isShowSnapTipBackground()
                                throws IOException,
                                       AutomationException
Toggles snap tip background on/off.

Remarks

The snapping tip uses XOR to display the snapping tip text. If you are snapping against an orthophoto or other imagery data source, the text may be difficult to see. By setting ShowTipBackground to true, a solid color is displayed so the snap tip text may be clearly seen.

This is an application-level setting, and is false by default.

Product Availability

Available with ArcGIS Engine.

Returns:
The show
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setShowSnapTipBackground

void setShowSnapTipBackground(boolean show)
                              throws IOException,
                                     AutomationException
Toggles snap tip background on/off.

Product Availability

Available with ArcGIS Engine.

Parameters:
show - The show (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSnapSymbolColor

IColor getSnapSymbolColor()
                          throws IOException,
                                 AutomationException
The color of the snapping symbol.

Remarks

Specifies the color of the snapping symbol displayed when a valid snap result was found. The default color is black. Changing the color to a high contrast value such as yellow or cyan is particularly useful in situations where you are working against imagery or other layers symbolized using grayscale. The snap symbol itself cannot be altered.

Product Availability

Available with ArcGIS Engine.

Returns:
A reference to a com.esri.arcgis.display.IColor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSnapSymbolColorByRef

void setSnapSymbolColorByRef(IColor color)
                             throws IOException,
                                    AutomationException
The color of the snapping symbol.

Product Availability

Available with ArcGIS Engine.

Parameters:
color - A reference to a com.esri.arcgis.display.IColor (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTolerance

void setTolerance(int tol)
                  throws IOException,
                         AutomationException
Sets the snap tolerance in pixels.

Product Availability

Available with ArcGIS Engine.

Parameters:
tol - The tol (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTolerance

int getTolerance()
                 throws IOException,
                        AutomationException
Sets the snap tolerance in pixels.

Remarks

The tolerance defines the distance used to determine whether a given snapping type is satisfied. The tolerance is defined in pixels; the default is 7 pixels.


The tolerance is an application-level setting.

Product Availability

Available with ArcGIS Engine.

Returns:
The tol
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPointSnapper

IPointSnapper getPointSnapper()
                              throws IOException,
                                     AutomationException
Returns the point snapper.

Remarks

The PointSnapper property returns a reference to the engine that is responsible for performing snapping operations.

Product Availability

Available with ArcGIS Engine.

Returns:
A reference to a com.esri.arcgis.controls.IPointSnapper
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPointSnapperByRef

void setPointSnapperByRef(IPointSnapper snapper)
                          throws IOException,
                                 AutomationException
Returns the point snapper.

Product Availability

Available with ArcGIS Engine.

Parameters:
snapper - A reference to a com.esri.arcgis.controls.IPointSnapper (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isIgnoreIMSLayers

boolean isIgnoreIMSLayers()
                          throws IOException,
                                 AutomationException
Ignores layers with slow response times.

Remarks

The IgnoreIMSLayers setting excludes IMS feature service layers from participating in the snapping cache. In most cases, the time required to build the snapping cache against IMS layers is not fast enough, so they are automatically excluded from the snapping cache. In certain situations, the IMS layer response time is reasonable (such as an IMS service on an intranet) setting this property to false will include these layers in the snapping cache. IgnoreIMSLayers is set to true by default.

Product Availability

Available with ArcGIS Engine.

Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setIgnoreIMSLayers

void setIgnoreIMSLayers(boolean flag)
                        throws IOException,
                               AutomationException
Ignores layers with slow response times.

Product Availability

Available with ArcGIS Engine.

Parameters:
flag - The flag (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.