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.
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.
The usage of the drawing add-on can be extended by the use of three other add-ons:
- The
TLcyDrawingTEAAddOn
provides several terrain analysis functions. - The drawing layers can be viewed in a Lsp view by using the
TLcyLspDrawingAddOn
. - The toolbar of the drawing add-on is displayed below the map by the
formatbar
package
- Since:
- 8.2
-
ClassDescriptionAn addon that provides an
ALcyFormat
supporting the out-of-the-box shapes of LuciadLightspeed (e.g.