Class TLcyAsynchronousLayerHeightProviderFactory

java.lang.Object
com.luciad.lucy.map.asynchronous.TLcyAsynchronousLayerHeightProviderFactory
All Implemented Interfaces:
ILcdLayerHeightProviderFactory

public class TLcyAsynchronousLayerHeightProviderFactory extends Object implements ILcdLayerHeightProviderFactory

ILcdLayerHeightProviderFactory for asynchronous layers. It wraps around an existing layer height provider factory and allows to easily convert an existing layer height provider into a layer height provider factory that supports asynchronous painting.

This wrapper will only unpack the asynchronous layer in createHeightProvider and pass the unwrapped layer to the delegate height provider factory. This means that the asynchronous layer can still be painted on the asynchronous paint thread while the height provider, based on the synchronous layer, is queried for heights.

This wrapper should only be used for ILcdLayerHeightProviderFactory instances that operate on ILcdGXYLayer layers. If the layer height provider factory is used for other kinds of ILcdLayer instances, then this wrapper has no effect and the functionality of the original layer height provider factory is unmodified.

Since:
10.1
  • Constructor Details

    • TLcyAsynchronousLayerHeightProviderFactory

      public TLcyAsynchronousLayerHeightProviderFactory(ILcdLayerHeightProviderFactory aDelegate, ILcyLucyEnv aLucyEnv)
      Create a new TLcyAsynchronousLayerHeightProviderFactory, wrapped around aDelegate
      Parameters:
      aDelegate - The delegate ILcdLayerHeightProviderFactory
      aLucyEnv - The Lucy back-end
  • Method Details

    • createHeightProvider

      public ILcdHeightProvider createHeightProvider(ILcdLayer aLayer, ILcdView aView, Map<String,Object> aRequiredPropertiesSFCT, Map<String,Object> aOptionalProperties) throws TLcdMissingPropertyException, TLcdUnsupportedPropertyException
      Description copied from interface: ILcdLayerHeightProviderFactory
      Returns a height provider for a given ILcdLayer and ILcdView using the given properties. The returned height provider is determined by the implementation, the ILcdLayer, ILcdView and the given properties.
      Specified by:
      createHeightProvider in interface ILcdLayerHeightProviderFactory
      Parameters:
      aLayer - an ILcdLayer for which a height provider is created.
      aView - an ILcdView in which aLayer is contained.
      aRequiredPropertiesSFCT - the required properties. The properties can be retrieved using a String key describing the property type. When not all required properties are used, an exception is thrown. aRequiredProperties may be empty but should not be null. When a required property as used, it should always be removed from the list of required properties. When an ILcdHeightProvider is actually made, the list of required properties should be verified.
      aOptionalProperties - the optional properties. The properties can be retrieved using a String key describing the property type. The optional properties may or may not be used by the implementation. aOptionalProperties may be empty but should not be null.
      Returns:
      a height provider if elevation is supported, or null when elevation is not supported or when no valid height provider can be created.
      Throws:
      TLcdMissingPropertyException - when the implementation misses a necessary property.
      TLcdUnsupportedPropertyException - when a required property is not used by the implementation.
      See Also: