Class TLspGXYLayerAdapter

java.lang.Object
com.luciad.view.lightspeed.layer.ALspLayer
com.luciad.view.lightspeed.layer.integration.gxy.TLspGXYLayerAdapter
All Implemented Interfaces:
ILcdPropertyChangeSource, ILcdSelection<Object>, ILcdLayer, ILspSnappable, ILspInteractivePaintableLayer, ILspLayer, ILspPaintableLayer, ILspStyledLayer, Serializable
Direct Known Subclasses:
TLspGXYLayerTreeNodeAdapter

public class TLspGXYLayerAdapter extends ALspLayer implements ILspInteractivePaintableLayer, ILspSnappable
Deprecated.
GXY integration in Lightspeed views is no longer supported. Instead, either stick to a GXY view, or use Lightspeed layers.

A class that wraps around an ILcdGXYLayer and presents it as an ILspLayer. To this effect, the ILcdGXYLayer is painted onto an offscreen image which can then in turn be painted in the ILspView.

The painting of the ILcdGXYLayer happens on an anonymous (pooled) thread. To ensure thread-safety, this class offers invocation methods (e.g. invokeAndWaitOnGXYLayer). It is advised that any modification that may interfere with painting, is executed through these invocation methods. For example, modifications to the styling of the ILcdGXYLayer have an effect on the painting, so these must be wrapped in a ILcdGXYAsynchronousLayerRunnable and passed to an appropriate invocation method.

This class has the following limitations:

  • the correct rendering requires a paint order compatible with that of an ILcdGXYView. In practice, a default Lightspeed view (using TLspPaintingOrder) will do.
  • creation of shapes is not supported
  • selection and editing is not supported in 3D
  • the PaintState.EDITED state is not supported in the setVisible method
  • the BODY paint representation is not supported in the setVisible method
  • label decluttering does not take into account labels of other layers and only occurs in 2D projections
  • labeling in general is not recommended in 3D projections: because of the tile-based visualization, labels can get cut off
  • for 3D rendering, the 2D content is rendered onto small image tiles which are combined together and draped onto the world. Because of this, view-dependent content, such as labels, may be cut off at the tile boundaries.

Since:
2012.0
See Also:
  • Constructor Details

    • TLspGXYLayerAdapter

      public TLspGXYLayerAdapter(ILcdGXYLayer aGXYLayer, ILspLayer.LayerType aLayerType)
      Deprecated.

      Creates a new adapter for the given ILcdGXYLayer.

      For thread safety, the given layer should operate synchronously. Hence, no ILcdGXYAsynchronousLayerWrapper instance should be passed.

      In case aGXYLayer is a TLcdLayer, it may only have a null filter or a non-null ILcdDynamicFilter. It is also not allowed to set a filter which is not a ILcdDynamicFilter instance on aGXYLayer as long as aGXYLayer is contained in a TLspGXYLayerAdapter.

      Parameters:
      aGXYLayer - a synchronous layer to visualize and interact with
      aLayerType - the LayerType of the new layer
    • TLspGXYLayerAdapter

      public TLspGXYLayerAdapter(ILcdGXYLayer aGXYLayer)
      Deprecated.
      Creates a new adapter for the given ILcdGXYLayer. For thread safety, the given layer should operate synchronously. Hence, no ILcdGXYAsynchronousLayerWrapper instance should be passed.
      Parameters:
      aGXYLayer - a synchronous layer to visualize and interact with
  • Method Details