This tool is used to allow users to add or remove line profile edges" from those found automatically.
By default, the target McProfileEdges is taken from a ancestor McLines or McRegions of the %McGraphOverlay:IQL~McGraphOverlay% on which the %McPickSpotsTool:IQL~McPickSpotsTool% has been invoked (via a call to %McGraphOverlay.SelectTool:IQL~McGraphOverlay~SelectTool%). If there is an ancestor McLines or McRegions, then the target McProfileEdges is initially set to McLines.Profiles.ProfileEdges or McRegions.Profiles.ProfileEdges, respectively. If there is no ancestor McLines or McRegions, then there is no default McProfileEdges, and editing cannot occur until the target has been set via the %mceecfSetTargetMcProfileEdges:IQL~mcEditEdgesToolCommandFlags~mceecfSetTargetMcProfileEdges% flag.
To place an edge, the user clicks on the image near one of the line or boundary features of the McProfileEdge's ancestor McLines or McRegions, respectively. If the click is within a screen distance of CanMissByPixels (default 5), then an edge is added at the closest line or boundary point. The added edge is given an Attribute with the mcpeeaAddedEdgeFlag (see McProfileEdges.AddEdges).
A shift-click removes the closest edge, provided the click is within a screen distance of CanMissByPixels to an existing edge. The CanMissByPixels distance is in screen pixels; that is, on zoomed-in images the user still needs to click close to the displayed edge. The CanMissByPixels distance can be set via CommandData by setting the %mceecfSetCanMissByPixels:IQL~mcEditEdgesToolCommandFlags~mceecfSetCanMissByPixels% CommandFlags action flag.
The Backspace key undoes the last edge addition or removal. Multiple backspace keypresses are allowed.
The tool is shut down when the user types either the Escape or Enter keys or double-clicks the left mouse button. At the time that the ToolDeselected notify is sent, the %mceecfAbortEditing:IQL~mcEditEdgesToolCommandFlags~mceecfAbortEditing% bit will be on in the CommandFlags property if the Escape key was pressed, otherwise the %mceecfEndEditing:IQL~mcEditEdgesToolCommandFlags~mceecfEndEditing% flag is set if the user ended picking with the Enter key or a double-click. If the tool is shut down because some other tool is invoked, then neither of these CommandFlags will be set.
When the tool is shut down via the Escape key, then the edge state is returned to its state at the time that the working McProfileEdges is set.
At tool shutdown time, in the ToolDeselected notify event, if the %mceecfAbortEditing:IQL~mcEditEdgesToolCommandFlags~mceecfAbortEditing% bit is not on in the CommandFlags, then the caller might wish to record the user's edits (this recording must be done after the tool is shut down, because if the tool is aborted with the Escape key, no edits will be retained). There are two CommandFlags action flags that allow the sequence of edge edits to be reconstructed for recording purposes, the %mceecfResetEditReport:IQL~mcEditEdgesToolCommandFlags~mceecfResetEditReport% (which resets the report sequence) and %mceecfGetNextEditReportElement:IQL~mcEditEdgesToolCommandFlags~mceecfGetNextEditReportElement% (which is assigned repeatedly to CommandFlags to fill CommandData with the next report element)