Class TLcdS52ProductConfiguration

java.lang.Object
com.luciad.format.s52.TLcdS52ProductConfiguration

public class TLcdS52ProductConfiguration extends Object
An S-52 product configuration contains all visualization information for one specific S-57 product type. It provides convenience factory methods for creation of preconfigured S-52 symbologies, painter providers and model list builders.

Use getInstance(com.luciad.format.s57.ELcdS57ProductType) to obtain the S-52 product configuration of a product type.

Since:
11.0
  • Method Details

    • newInstance

      public static TLcdS52ProductConfiguration newInstance(ELcdS57ProductType aProductType) throws IOException
      Deprecated.
      Since the returned instance is immutable, you can use getInstance(com.luciad.format.s57.ELcdS57ProductType) instead (since 2013.1)
      Creates a new S-52 product configuration for the specified S-57 product type.
      Parameters:
      aProductType - an S-57 product type.
      Returns:
      a new S-52 product configuration for the specified S-57 product type.
      Throws:
      IOException - if an I/O exception occurs during loading of the resources for the specified product type.
    • newInstance

      public static TLcdS52ProductConfiguration newInstance(ELcdS57ProductType aProductType, boolean aAntiAliasing) throws IOException
      Deprecated.
      Since the returned instance is immutable, you can use getInstance(com.luciad.format.s57.ELcdS57ProductType) instead (since 2013.1)
      Creates a new S-52 product configuration for the specified S-57 product type.
      Parameters:
      aProductType - an S-57 product type.
      aAntiAliasing - indicates whether the S-52 symbologies created by this configuration should use anti-aliasing or not. Anti-aliasing results in smoother icons and lines, but may be slightly slower in rendering.
      Returns:
      a new S-52 product configuration for the specified S-57 product type.
      Throws:
      IOException - if an I/O exception occurs during loading of the resources for the specified product type.
    • getInstance

      public static TLcdS52ProductConfiguration getInstance(ELcdS57ProductType aProductType)
      Get a S-52 product configuration for the specified S-57 product type.

      Anti-aliasing is enabled, and a default scale factor of 3 will be used.

      Parameters:
      aProductType - an S-57 product type.
      Returns:
      an S-52 product configuration for the specified product type.
      Throws:
      IllegalStateException - If an error occurred while loading the product type's resources.
      Since:
      2013.1
    • getInstance

      public static TLcdS52ProductConfiguration getInstance(ELcdS57ProductType aProductType, boolean aAntiAliasing)
      Get a S-52 product configuration for the specified S-57 product type and anti-aliasing setting.

      A default scale factor of 3 will be used.

      Parameters:
      aProductType - an S-57 product type.
      aAntiAliasing - anti-aliasing on or off
      Returns:
      an S-52 product configuration for the specified product type.
      Throws:
      IllegalStateException - If an error occurred while loading the product type's resources.
      Since:
      2013.1
    • getInstance

      public static TLcdS52ProductConfiguration getInstance(ELcdS57ProductType aProductType, boolean aAntiAliasing, double aScaleFactor)
      Get a S-52 product configuration for the specified S-57 product type, anti-aliasing setting and scale factor.
      Parameters:
      aProductType - an S-57 product type.
      aAntiAliasing - anti-aliasing on or off
      aScaleFactor - a scale factor in pixels per mm.
      Returns:
      an S-52 product configuration for the specified product type.
      Throws:
      IllegalStateException - If an error occurred while loading the product type's resources.
      Since:
      2013.1
    • createSymbology

      public ILcdS52Symbology createSymbology(TLcdS52DisplaySettings aDisplaySettings)
      Creates a new S-52 symbology for this product type, configured with the specified S-52 display settings. The symbology remains linked to the display settings after creation: changing the S-52 display settings will have an immediate effect on the symbology.

      Note that the created symbologies are lightweight objects, internally sharing the same symbol lookup tables. Creating multiple symbologies has a minimal impact on memory usage.

      Parameters:
      aDisplaySettings - the S-52 display settings to be used by the created symbology.
      Returns:
      a new S-52 symbology.
    • createModelListBuilder

      public TLcdS52ModelListBuilder createModelListBuilder(TLcdS52DisplaySettings aDisplaySettings)
      Deprecated.
      It is no longer needed to order the model elements before visualising them. The layer factories accept models decoded by the model decoders as well. In GXY you can still use the ordered model. Lightspeed only supports models that come straight from the model decoder.
      Creates a new S-52 model list builder for this product type, configured with the specified S-52 display settings. The model list builder remains linked to the display settings after creation: changing the S-52 display settings will have an immediate effect on the model list builder.
      Parameters:
      aDisplaySettings - the S-52 display settings to be used by the created model list builder.
      Returns:
      a new S-52 model list builder..
    • createGXYPainterProvider

      public TLcdS52GXYPainterProvider createGXYPainterProvider(TLcdS52DisplaySettings aDisplaySettings)
      Creates a new S-52 painter provide for this product type, configured with the specified S-52 display settings. The painter provider remains linked to the display settings after creation: changing the S-52 display settings will have an immediate effect on the painter provider.

      As painters and painter providers are not thread-safe, each S-52 layer requires its own S-52 painter provider instance. The created painter providers are lightweight objects, internally sharing the same symbol lookup tables. Creating multiple S-52 painter providers therefore only has a minimal impact on memory usage.

      Parameters:
      aDisplaySettings - the S-52 display settings to be used by the created symbology.
      Returns:
      a new S-52 symbology.
    • createGXYLayerFactory

      public ILcdGXYLayerFactory createGXYLayerFactory(TLcdS52DisplaySettings aDisplaySettings)

      Creates an ILcdGXYLayerFactory capable of creating S-52 compliant layers for S-57 cells and catalogues.

      Parameters:
      aDisplaySettings - the S-52 display settings to be used by the created layers.
      Returns:
      a layer factory capable of creating layers for S-57 cells and catalogues.
    • createOrderedModelDecoder

      public ILcdModelDecoder createOrderedModelDecoder(ILcdModelDecoder aS57ModelDecoder, TLcdS52DisplaySettings aDisplaySettings)
      Deprecated.
      It is no longer needed to order the model elements before visualising them. The layer factories accept models decoded by the model decoders as well. In GXY you can still use the ordered model. Lightspeed only supports models that come straight from the model decoder. Consult the developer guide for more information.
      Wraps the given S-57 model decoder in another model decoder which automatically orders the elements in the decoded models, based on their display priority. If a relevant display setting, influencing the display priority, has changed, the model will be reordered automatically.
      Parameters:
      aS57ModelDecoder - the S-57 model decoder to be wrapped; this can be a cell or a catalogue decoder.
      aDisplaySettings - the S-52 display settings to be used for determining the display priority of the S-57 domain objects.
      Returns:
      a model decoder, capable of decoding and ordering S-57 data.