Class ProjectedImagery.Builder

java.lang.Object
com.luciad.models.projectedimagery.ProjectedImagery.Builder
All Implemented Interfaces:
AutoCloseable
Enclosing class:
ProjectedImagery

public static final class ProjectedImagery.Builder extends Object implements AutoCloseable
Builder for constructing a ProjectedImagery.

The id, location and structure parameters are mandatory, and fovs is mandatory for a pinhole structure. The rotation parameter is optional, as is fovs for cubemap and equirectangular structures, which derive their coverage from the structure. Call build() to obtain the finished ProjectedImagery instance.

Since:
2026.1
  • Constructor Details

    • Builder

      public Builder(@NotNull ProjectedImagery.Builder other)
      Copy constructor.
      Parameters:
      other - the builder to copy.
  • Method Details

    • finalize

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

      public void close()
      Specified by:
      close in interface AutoCloseable
    • build

      @NotNull public ProjectedImagery build() throws IllegalStateException
      Returns a new ProjectedImagery based on the properties set on this builder.
      Returns:
      a new ProjectedImagery instance.
      Throws:
      IllegalStateException - if a mandatory parameter has not been set.
    • id

      @NotNull public ProjectedImagery.Builder id(@NotNull String id)
      Sets the stable identifier of the imagery.

      This parameter is mandatory.

      Parameters:
      id - the identifier.
      Returns:
      this builder.
    • location

      @NotNull public ProjectedImagery.Builder location(@NotNull Point location)
      Sets the georeferenced location of the camera.

      This parameter is mandatory.

      Parameters:
      location - the camera position as a georeferenced point.
      Returns:
      this builder.
    • rotation

      @NotNull public ProjectedImagery.Builder rotation(double yaw, double pitch, double roll)
      Sets the rotation of the camera.

      This parameter is optional. The default is no rotation (0, 0, 0).

      Parameters:
      yaw - rotation around the vertical axis, in degrees.
      pitch - rotation around the lateral axis, in degrees. Positive values tilt the camera down.
      roll - rotation around the longitudinal axis, in degrees.
      Returns:
      this builder.
    • fovs

      @NotNull public ProjectedImagery.Builder fovs(double fovX, double fovY)
      Sets the horizontal and vertical fields of view of the camera, in degrees.

      Mandatory for a pinhole structure, which needs a field of view to define its frustum. Optional for cubemap and equirectangular structures, which derive their coverage from the structure. The default is (0, 0).

      Parameters:
      fovX - the horizontal field of view, in degrees.
      fovY - the vertical field of view, in degrees.
      Returns:
      this builder.
    • structure

      @NotNull public ProjectedImagery.Builder structure(@NotNull ProjectionStructure structure)
      Sets the structure describing the tile layout of the imagery.

      This parameter is mandatory.

      Parameters:
      structure - the projection structure.
      Returns:
      this builder.