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

public class TLcdS52GXYLevelLayerList extends TLcdGXYLayerList
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).

A 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:
  • Constructor Details

    • TLcdS52GXYLevelLayerList

      public TLcdS52GXYLevelLayerList(TLcdModelList aModelList, ILcdGXYLayerFactory aLayerFactory)
      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

      public void setS52Symbology(ILcdS52Symbology s52Symbology)
      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

      public ILcdS52Symbology 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

      public void setScaleRange(ILcdInterval aScaleRange)
      Deprecated.
      Sets the scalerange in which this layer list should be painted.
      Parameters:
      aScaleRange -
    • getScaleRange

      public ILcdInterval getScaleRange()
      Deprecated.
      Returns the scalerange in which this layer list should be painted.
      Specified by:
      getScaleRange in interface ILcdGXYLayer
      Overrides:
      getScaleRange in class TLcdGXYLayerList
      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

      public void setUnderscaleIndicationColor(Color aUnderscaleIndicationColor)
      Deprecated.
      Sets the color in which to paint the underscale indication.
    • getUnderscaleIndicationColor

      public Color 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

      public void paint(Graphics aGraphics, int aMode, ILcdGXYView aGXYView)
      Deprecated.
      Description copied from class: TLcdGXYLayerList
      Paints all sublayers, one by one.
      Specified by:
      paint in interface ILcdGXYLayer
      Overrides:
      paint in class TLcdGXYLayerList
      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 interface ILcdGXYLayer
      Overrides:
      applyOnInteract in class TLcdGXYLayerList
      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 account
      aGXYView - the view in which the objects are rendered.
      Returns:
      the number of objects to which the function was applied.
      See Also: