Package com.luciad.view.lightspeed.editor.snapping

package com.luciad.view.lightspeed.editor.snapping
Defines a mechanism for snapping between objects that are being edited. Snapping is performed by ILspSnapper, and works by overriding the edit operations which an editor receives from the edit handles it created.

A snapper intercepts operations before they are handled by the editor, and has the freedom to substitute one or more new operation for every such incoming one. If the snapper does not generate new operations, the editor simply process the incoming one unmodified. As an example, a snapper might detect that an operation describes a point being dragged to a new location. The point in question could be, for instance, a vertex belonging to a polygon. The snapper can then determine whether this vertex lies in close proximity to other points of nearby domain objects. If so, it can override the incoming operation such that the vertex will coincide with one of these other points.