Class ProjectedImageryLayer

java.lang.Object
com.luciad.layers.Layer
com.luciad.layers.projectedimagery.ProjectedImageryLayer
All Implemented Interfaces:
AutoCloseable

public class ProjectedImageryLayer extends Layer implements AutoCloseable
A layer that visualizes projected imagery on the map.

A ProjectedImageryLayer takes an IProjectedImageryModel and projects the imagery of its selected projections onto the map from the virtual camera position and orientation described by each projection. The model may hold a single projection (for example a live video camera) or many (for example a set of panoramas).

Use ProjectedImageryLayer#newBuilder to create an instance.

The layer subscribes to the model as long as it is part of the map's layer list. Removing the layer from the map unsubscribes it from the model, so that the model can safely outlive the layer.

Related article: Projecting images, video and panoramas onto the map

Since:
2026.1
  • Field Details

    • PropertyStyle

      public static final String PropertyStyle
      Property name for the LayerEvent that is fired as a result of changing the layer's style.
      See Also:
    • PropertySelectedProjections

      public static final String PropertySelectedProjections
      Property name for the LayerEvent that is fired as a result of changing the layer's selected projections.
      See Also:
  • Method Details

    • finalize

      protected void finalize()
      Overrides:
      finalize in class Layer
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Overrides:
      close in class Layer
    • newBuilder

      @NotNull public static ProjectedImageryLayer.Builder newBuilder()
      Returns a new builder for creating a ProjectedImageryLayer.
      Returns:
      a new builder.
    • asBuilder

      @NotNull public ProjectedImageryLayer.Builder asBuilder()
      Returns a new builder based on this layer instance.

      You can use this builder, for example, to create a copy of this layer.

      Note that observers will not be transferred to a new layer.

      Returns:
      a new builder based on this layer instance.
    • getModel

      @NotNull public IProjectedImageryModel getModel()
      Returns the projected imagery model associated with this layer.
      Returns:
      the projected imagery model associated with this layer.
    • getStyle

      @NotNull public ProjectedImageryStyle getStyle()
      Returns the style used for painting this layer.
      Returns:
      the style used for painting this layer.
    • setStyle

      public void setStyle(@NotNull ProjectedImageryStyle style)
      Sets the style used for painting this layer.

      A LayerEvent with the property name propertyStyle is delivered to the observers.

      Parameters:
      style - the new projected imagery style.
    • getSelectedProjections

      @NotNull public List<@NotNull SelectedProjection> getSelectedProjections()
      Returns the projections to display, each with its blend weight.

      Several projections may be displayed at once so that, for example, a navigation controller can cross-fade between neighbors by animating the weights. An empty list displays nothing.

      Returns:
      the projections to display, each with its blend weight.
    • setSelectedProjections

      public void setSelectedProjections(@NotNull List<@NotNull SelectedProjection> projections)
      Sets the projections to display, each with its blend weight.

      If the new projections differ from the current ones, a LayerEvent with the property name propertySelectedProjections is delivered to the observers.

      Parameters:
      projections - the projections to display.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(@Nullable Object other)
      Overrides:
      equals in class Object