Package com.luciad.lucy.addons.drawing


package com.luciad.lucy.addons.drawing

The drawing add-on provides Lucy with the functionality to draw SLD styled shapes on the map and editing and/or saving these drawings afterwards. An example use is to make annotations to some data, without modifying the original content. The default setup used in Lucy can be configured and extended by use of the flexible API of this package.

The following customizations are possible:

  • Add new style shapes, including extension of the file format to save the shape
  • Change the toolbar, object property windows, and other UI elements
  • Import custom formats as a drawing layer
  • Export drawing layers to custom formats
  • Change or add object styles
  • Programmatically add, access, and change elements in a drawing layer

A quick overview of the main classes is given in the next section, illustrated with a class diagram. More detailed information on how to use this package is found in the developer guide.

Overview of the main classes

The drawing add-on creates and registers the TLcyDrawingFormat, which is responsible for the creation of drawing models. Such a drawing model is basically a heterogeneous collection of instances where the TLcyDrawingFormat contains an ALcyDomainObjectSupplier which can handle that instance. This ALcyDomainObjectSupplier instance groups all the logic relevant to a specific shape (for instance a circle, an ellipse, ... ).

All the ALcyDomainObjectSupplier instances are registered to the TLcyDrawingFormat during the initialization phase of the drawing add-on. Since an ALcyDomainObjectSupplier instance contains all the logic for a certain shape, adding or removing support for a certain shape is easily achieved by registering or unregistering the corresponding ALcyDomainObjectSupplier to the TLcyDrawingFormat.

The TLcyDrawingFormat also adds an ALcyFormatBar. This format bar is shown typically below the map component when a drawing layer is selected. It displays a toolbar with many buttons to create and manipulate various shapes in the selected drawing layer. More information on the format bar can be found in the formatbar package. The figure below illustrates the general structure of the add-on.

Overview of the TLcyDrawingAddOn

In most cases the functionality of ALcyDomainObjectSupplier can be divided in two distinct parts: the geometry specific and geometry independent functionality. Therefore, the drawing add-on introduces TLcySLDDomainObjectSupplier and ALcyShapeSupplier, which respectively handle the geometric independent and geometric functionality of all the default ALcyDomainObjectSupplier instances. Adding support for a new geometry, and recuperating the non geometrical functionality, is thus achieved by adding a new ALcyShapeSupplier. This is illustrated in the figure below.

Overview of the ALcyDomainObjectSupplier

The usage of the drawing add-on can be extended by the use of three other add-ons:

  1. The TLcyDrawingTEAAddOn provides several terrain analysis functions.
  2. The drawing layers can be viewed in a Lsp view by using the TLcyLspDrawingAddOn.
  3. The toolbar of the drawing add-on is displayed below the map by the formatbar package
Since:
8.2