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.
KEY_GEO_REFERENCE
Constructor and Description |
---|
TLcyAsynchronousLayerHeightProviderFactory(ILcdLayerHeightProviderFactory aDelegate,
ILcyLucyEnv aLucyEnv)
Create a new
TLcyAsynchronousLayerHeightProviderFactory , wrapped around
aDelegate |
Modifier and Type | Method and Description |
---|---|
ILcdHeightProvider |
createHeightProvider(ILcdLayer aLayer,
ILcdView aView,
Map<String,Object> aRequiredPropertiesSFCT,
Map<String,Object> aOptionalProperties)
Returns a height provider for a given
ILcdLayer and ILcdView using
the given properties. |
public TLcyAsynchronousLayerHeightProviderFactory(ILcdLayerHeightProviderFactory aDelegate, ILcyLucyEnv aLucyEnv)
TLcyAsynchronousLayerHeightProviderFactory
, wrapped around
aDelegate
aDelegate
- The delegate ILcdLayerHeightProviderFactory
aLucyEnv
- The Lucy back-endpublic ILcdHeightProvider createHeightProvider(ILcdLayer aLayer, ILcdView aView, Map<String,Object> aRequiredPropertiesSFCT, Map<String,Object> aOptionalProperties) throws TLcdMissingPropertyException, TLcdUnsupportedPropertyException
ILcdLayerHeightProviderFactory
ILcdLayer
and ILcdView
using
the given properties. The returned height provider is determined by the implementation, the
ILcdLayer
, ILcdView
and the given properties.createHeightProvider
in interface ILcdLayerHeightProviderFactory
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.null
when elevation is not
supported or when no valid height provider can be created.TLcdMissingPropertyException
- when the implementation misses a necessary property.TLcdUnsupportedPropertyException
- when a required property is not used by the
implementation.ILcdModelHeightProviderFactory