Package com.luciad.format.s52.gxy
Class TLcdS52GXYLevelLayerList
java.lang.Object
com.luciad.view.gxy.TLcdGXYLayerList
com.luciad.format.s52.gxy.TLcdS52GXYLevelLayerList
- All Implemented Interfaces:
ILcdPropertyChangeSource
,ILcdSelection<Object>
,ILcdGXYLayer
,ILcdGXYLayerList
,ILcdLayer
,Serializable
Deprecated.
The functionality of this class is replaced by TLcdS52GXYCatalogueLayer, which has a
simpler
structure and is more performant.
A layer list that adds support for multi-leveling and the S-52 DATCVR
procedure:
- The layer list has a scalerange in which it should be visible (this scalerange will be applied to all layers contained in this list).
- If in overscale, a special pattern will be painted on the layer (a model is in overscale when the current display scale is larger than the model's compilation scale).
- The chart scale boundaries (which form the global outer border of all models contained in the layer) are painted on the layer.
- Labels are painted together immediately after the objects of this layer have been painted, to prevent labels of lower levels to be painted on top of layers with a higher level (by default, labels are painted in LuciadLightspeed after all objects of all layers have been painted).
TLcdS52GXYLevelLayerList
should be created for each ECDIS level
(each level corresponds to a navigational purpose). For proper visualisation,
conforming the S-52 Standard, the initial model, decoded by the S-57 model
decoder, should be first converted to a modellist, with the TLcdS52ModelListBuilder
(see developer guide and TLcdS52ModelListBuilder
class for more information).
The resulting modellist will be structured as follows:
TLcdModelList | +-- TLcdModelList (one for each level) | +-- TLcdModelList (one for each display priority) | +-- TLcdModelList (one for each feature type (point/line/area)) | +-- ILcdModel (one for each ENC cell)This modellist structure should be put in a similar layer list structure as follows:
TLcdS52GXYCatalogueLayerList | +-- TLcdS52GXYLevelLayerList (one for each level) | +-- TLcdGXYLayerList (one for each display priority) | +-- TLcdGXYLayer (one for each feature type (point/line/area))The layer list structure will guarantee that the painting order of the elements in the model will be compliant with the S-52 specification. The level layer lists should be TLcdS52GXYLevelLayerList for proper visualization of the DATCVR procedure, all other layer lists can be ordinary
TLcdGXYLayerList
instances.- See Also:
-
Field Summary
Fields inherited from class com.luciad.view.gxy.TLcdGXYLayerList
TRACEON
-
Constructor Summary
ConstructorDescriptionTLcdS52GXYLevelLayerList
(TLcdModelList aModelList, ILcdGXYLayerFactory aLayerFactory) Deprecated.Creates a new TLcdS52GXYLevelLayerList, containing a layer for each model in the given modellist. -
Method Summary
Modifier and TypeMethodDescriptionint
applyOnInteract
(ILcdFunction aFunction, Rectangle aRectangle, boolean aStrictInteract, ILcdGXYView aGXYView) Deprecated.Passes the function to apply to all of the visible sub layers as long as the function returns true for objects in that sublayer.Deprecated.Returns the S-52 symbology that is used by this layer list.Deprecated.Returns the scalerange in which this layer list should be painted.Deprecated.Returns the underscale indication color.boolean
Deprecated.Returns whether to paint the chart scale boundaries.boolean
Deprecated.Returns whether to paint the overscale indication.boolean
Deprecated.Returns whether to paint the underscale indication.void
paint
(Graphics aGraphics, int aMode, ILcdGXYView aGXYView) Deprecated.Paints all sublayers, one by one.void
setPaintChartScaleBoundaries
(boolean aPaintChartScaleBoundaries) Deprecated.Flag indicating whether to paint the chart scale boundaries.void
setPaintOverscaleIndication
(boolean aPaintOverscaleIndication) Deprecated.Flag indicating whether to paint the overscale indication.void
setPaintUnderscaleIndication
(boolean aPaintUnderscaleIndication) Deprecated.Flag indicating whether to paint the underscale indication.void
setS52Symbology
(ILcdS52Symbology s52Symbology) Deprecated.Sets the symbology that is required for painting.void
setScaleRange
(ILcdInterval aScaleRange) Deprecated.Sets the scalerange in which this layer list should be painted.void
setUnderscaleIndicationColor
(Color aUnderscaleIndicationColor) Deprecated.Sets the color in which to paint the underscale indication.Methods inherited from class com.luciad.view.gxy.TLcdGXYLayerList
addPropertyChangeListener, addSelectionListener, addSubGXYLayer, addSubGXYLayer, canAddSubGXYLayer, clearSelection, containsSubGXYLayer, fireCollectedSelectionChanges, firePropertyChange, getBounds, getGXYEditor, getGXYLabelPainter, getGXYPainter, getGXYPen, getIcon, getLabel, getLabelScaleRange, getModel, getModelXYWorldTransfoClass, getObjectInLayerFilter, getSelectionCount, getSubGXYLayer, getSubGXYLayerCount, indexOf, insertSubGXYLayerAt, insertSubGXYLayerAt, isEditable, isEditableSupported, isLabeled, isLabeledSupported, isObjectInLayer, isSelectable, isSelectableSupported, isSelected, isVisible, moveSubGXYLayerAt, removeAllSubGXYLayers, removePropertyChangeListener, removeSelectionListener, removeSubGXYLayer, selectedObjects, selectObject, setEditable, setGXYPen, setIcon, setLabel, setLabeled, setSelectable, setVisible, stopPainting
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.luciad.view.gxy.ILcdGXYLayer
getLabelMapScaleRange, getMapScaleRange
Methods inherited from interface com.luciad.util.ILcdSelection
getSelectedObjects
-
Constructor Details
-
TLcdS52GXYLevelLayerList
Deprecated.Creates a new TLcdS52GXYLevelLayerList, containing a layer for each model in the given modellist.- Parameters:
aModelList
- the modellist for which a layer list should be created.aLayerFactory
- the layer factory to be used for the creation of the sublayers.
-
-
Method Details
-
setS52Symbology
Deprecated.Sets the symbology that is required for painting. It must be set before the layer list is painted.- Parameters:
s52Symbology
- the S-52 symbology to be used.
-
getS52Symbology
Deprecated.Returns the S-52 symbology that is used by this layer list.- Returns:
- the S-52 symbology that is used by this layer list.
-
setScaleRange
Deprecated.Sets the scalerange in which this layer list should be painted.- Parameters:
aScaleRange
-
-
getScaleRange
Deprecated.Returns the scalerange in which this layer list should be painted.- Specified by:
getScaleRange
in interfaceILcdGXYLayer
- Overrides:
getScaleRange
in classTLcdGXYLayerList
- Returns:
- the scalerange in which this layer list should be painted.
- See Also:
-
setPaintOverscaleIndication
public void setPaintOverscaleIndication(boolean aPaintOverscaleIndication) Deprecated.Flag indicating whether to paint the overscale indication. Overscale indication is visualized by vertical bars, painted over the map. Note: overscale indication is part of the S-52 standard; the overscale indication color is also defined by the standard, and cannot be set via the API. -
isPaintOverscaleIndication
public boolean isPaintOverscaleIndication()Deprecated.Returns whether to paint the overscale indication. -
setPaintUnderscaleIndication
public void setPaintUnderscaleIndication(boolean aPaintUnderscaleIndication) Deprecated.Flag indicating whether to paint the underscale indication. When the map scale is outside the visible scale range, the bounds of the model will be painted to indicate where the map is positioned. Note: this visualisation is not part of the S-52 standard. -
isPaintUnderscaleIndication
public boolean isPaintUnderscaleIndication()Deprecated.Returns whether to paint the underscale indication. -
setUnderscaleIndicationColor
Deprecated.Sets the color in which to paint the underscale indication. -
getUnderscaleIndicationColor
Deprecated.Returns the underscale indication color. -
setPaintChartScaleBoundaries
public void setPaintChartScaleBoundaries(boolean aPaintChartScaleBoundaries) Deprecated.Flag indicating whether to paint the chart scale boundaries. -
isPaintChartScaleBoundaries
public boolean isPaintChartScaleBoundaries()Deprecated.Returns whether to paint the chart scale boundaries. -
paint
Deprecated.Description copied from class:TLcdGXYLayerList
Paints all sublayers, one by one.- Specified by:
paint
in interfaceILcdGXYLayer
- Overrides:
paint
in classTLcdGXYLayerList
- Parameters:
aGraphics
- the Graphics to paint on.aMode
- indicates what should be painted and how it should be painted.aGXYView
- the view to paint for.- See Also:
-
applyOnInteract
public int applyOnInteract(ILcdFunction aFunction, Rectangle aRectangle, boolean aStrictInteract, ILcdGXYView aGXYView) Deprecated.Description copied from class:TLcdGXYLayerList
Passes the function to apply to all of the visible sub layers as long as the function returns true for objects in that sublayer.- Specified by:
applyOnInteract
in interfaceILcdGXYLayer
- Overrides:
applyOnInteract
in classTLcdGXYLayerList
- Parameters:
aFunction
- the function to apply to all objects in the models of the sublayers. Note that this function may be wrapped and sublayers must not assume that this function is applied directly to them.aRectangle
- the view bounds containing the objects to which the function will be applied.aStrictInteract
- whether or not only objects strictly interacting with the view bounds should be taken into accountaGXYView
- the view in which the objects are rendered.- Returns:
- the number of objects to which the function was applied.
- See Also:
-