Class TLcyAsynchronousFormatWrapper

Direct Known Subclasses:
TLcyGXYLspAsynchronousFormatWrapper

public class TLcyAsynchronousFormatWrapper extends ALcyFormatWrapper

Decorator for an ALcyFormat that makes the given format support asynchronous painting (see com.luciad.view.gxy.asynchronous package).

Note that just wrapping a format with this asynchronous decorator isn't enough. Also the asynchronous add-on needs to be loaded, and a valid paint hint provider must be returned by the wrapped ALcyFormat.

If the wrapped ALcyFormat extends from ALcyGeneralFormat, the valid paint hint provider can be created by specifying it in the configuration file using the following properties:


   # This property must be set to true in order to create the paint hint provider.
   # This is the only necessary option in the configuration file.
   # All other settings are optional.
   shortPrefix.asynchronous = true

   # A boolean value indicating that only the layer bodies should be painted asynchronously,
   # i.e. not the labels and selections
   # Setting this setting to true saves memory, but causes labels to be dropped while asynchronous painting
   # and label placement is ongoing.
   # We recommend false as value for all formats which can have labels
   #
   # This is an optional property.
   shortPrefix.asynchronous.bodiesOnly = true

   # A string indicating a common buffer in which all layers belonging to that mergeGroup are painted in.
   # This buffer can be shared across formats.
   # Painting layers in the same buffer saves memory, but makes all layers paint as slow as the slowest layer.
   # Not specifying this property leaves the buffer management to the layer order manager's strategy
   #
   # The recommended setting is to only specify this property for layers which you know in advance will be slow-painting.
   # Typical examples are layers which request data over the network like WMS, WFS, WCS, BingMaps, ...
   #
   #This is an optional property.
   shortPrefix.asynchronous.mergeGroup =

   # If not zero, determines the minimum priority of the rendering thread.
   # The value range is specified by the Thread class.
   # If zero, a default priority is chosen
   #
   # This is an optional property.
   shortPrefix.asynchronous.minimumThreadPriority = 0
 

The wrappers used by this class can be found in the com.luciad.lucy.map.asynchronous package. Some of these wrappers make certain assumptions which are documented in the class documentation of these wrappers.

  • Constructor Details

    • TLcyAsynchronousFormatWrapper

      public TLcyAsynchronousFormatWrapper(ALcyFormat aFormat)

      Creates a wrapper for the specified ALcyFormat, making all created layers paint asynchronously.

      Parameters:
      aFormat - The ALcyFormat for which to provide asynchronous painting.
    • TLcyAsynchronousFormatWrapper

      public TLcyAsynchronousFormatWrapper(ALcyFormat aFormat, ILcdFilter aLayerFilter)

      Creates a wrapper for the specified ALcyFormat, making the filtered layers paint asynchronously.

      Parameters:
      aFormat - the ALcyFormat for which to provide asynchronous painting.
      aLayerFilter - the filter to use to determine if a created layer should be painted asynchronously. If null, all created layers are painted asynchronously.
  • Method Details