Class TLspLonLatHeightBufferEditor

All Implemented Interfaces:
ILspEditor

public class TLspLonLatHeightBufferEditor extends TLsp3DPointListEditor
Enables visual editing of TLcdLonLatHeightBuffer objects in an ILspView.

Note that the discussion of the editing behaviour below focuses on how a LLH buffer is edited in a 3D view. In a 2D view, editing a LLH buffer works essentially the same as when using a TLspGeoBufferEditor with the exception of how the buffer width is changed. For the LLH buffer editor, in 2D the width is changed by using the buffer resize handles (instead of the buffer's outline). Note that when doing this, the height of the LLH buffer is also changed in such a way that the width/height ratio stays constant.

Note also that the TLspLLHBufferEditor is an extension of the TLsp3DPointListEditor and that it uses all of the handles generated by the parent class. Therefore, these handles are left out in the discussion above and the reader is referred to the class documentation of

Handles

The LLH buffer editor defines the following edit handles for a LLH buffer object in addition to the 3D point list handles:
  • Buffer resize handle: allows the user to change the width and height of a LLH buffer object. This handle is drawn on the front face of the LLH buffer. This handle generates MOVE operations, with a HANDLE_IDENTIFIER property, with RESIZE as value.

The following figure illustrates all the handles for LLH buffer objects: the red dots represent the 3D point handles (from the TLsp3DPointListEditor), the blue dots represent the buffer resize handles and the green buffer shape (drawn on the terrain) represents the object translation handle (in the case of a 3D view):

Edit handles for LLH buffer objects.

Editing

Based on the TLspEditOperation, generated by an edit handle (see description of handles above), this editor performs different edit operations on the associated LLH buffer object. The images below illustrate the effect of the different handles. In each image the gray color represents the previous state of the object and the red color represents the edited object:
  • 3D point handle
    Editing a 3D point of a LLH buffer object.
    NOTE: only part of the new state (red) is drawn to avoid cluttering the image.

  • Buffer resize handle: Allows to edit the width of the buffer by dragging its outline.

    Changing the width and height of the LLH buffer object.
    NOTE: only part of the new state (red) is drawn to avoid cluttering the image.

  • Object translation handle: This handle translates the entire LLH buffer object.

    Translating a LLH buffer object.

Creation

The creation process of a LLH buffer object consists of a series of two distinct steps:
  1. the first step initializes the XY location of the next axis point
  2. the second step initializes the height of that point
This process continues until the user performs a finishing event (such as a double-click when using the mouse), which results in creation being finalized. The buffer's height and width are automatically set, based on the length of the first segment of the buffer axis.

The figures below illustrate the creation process. Relevant changes that are new in each step are marked in red:

Setting the XY location of the first point.
Setting the height of the first point.
Setting the XY location of the second point.
Setting the height of the second point.
Setting the XY location of the buffer's first axis point Setting the height of the buffer's first axis point Setting the XY location of the buffer's second axis point Setting the height of the buffer's second axis point
Since:
2012.0