Class TileSet3DLayer.Builder

java.lang.Object
com.luciad.layers.tileset3d.TileSet3DLayer.Builder
All Implemented Interfaces:
AutoCloseable
Enclosing class:
TileSet3DLayer

public static final class TileSet3DLayer.Builder extends Object implements AutoCloseable
Builder for the TileSet3DLayer class.
  • Constructor Details

  • Method Details

    • finalize

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

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

      @NotNull public TileSet3DLayer build() throws IllegalStateException
      Returns a layer, based on the properties set on this builder.
      Returns:
      a layer, based on the properties set on this builder.
      Throws:
      IllegalStateException - If not all mandatory parameters are set.
    • title

      @NotNull public TileSet3DLayer.Builder title(@NotNull String title)
      Sets the title to use for the layer.

      If not set, the title from the ModelMetadata is used.

      Parameters:
      title - the title for the layer.
      Returns:
      this builder.
    • visible

      @NotNull public TileSet3DLayer.Builder visible(boolean visible)
      Sets whether the layer should be visible initially.

      Default is true.

      Parameters:
      visible - the visibility.
      Returns:
      this builder.
    • model

      @NotNull public TileSet3DLayer.Builder model(@Nullable ITileSet3DModel model) throws NullPointerException
      Sets the 3D tiles model of the layer.

      Calling this function is mandatory.

      Cannot be null.

      Parameters:
      model - the 3D tiles model of the layer.
      Returns:
      this builder.
      Throws:
      NullPointerException - when the model is null.
    • qualityFactor

      @NotNull public TileSet3DLayer.Builder qualityFactor(double qualityFactor) throws IllegalArgumentException
      Sets the quality factor for the layer.

      It is used to decide if a given tile should be displayed at certain scales. Must be a non-zero, positive value. Higher values load more tiles. The default value is 1.0.

      Parameters:
      qualityFactor - the quality factor.
      Returns:
      this builder.
      Throws:
      IllegalArgumentException - if the factor is not strictly positive.
    • fadingTime

      @NotNull public TileSet3DLayer.Builder fadingTime(@NotNull Duration time)
      The time tiles will take to fade in / out when changing their visibility If set to 0, fading of tiles is disabled.

      They appear as soon as they are available. The longer it is, the longer tiles will be going from fully transparent to fully visible. Default value is 200. Maximum value is 86400000 (i.e. a day).

      Parameters:
      time - the fading time in milliseconds.
      Returns:
      this builder.
    • pointCloudStyle

      @NotNull public TileSet3DLayer.Builder pointCloudStyle(@NotNull PointCloudStyle pointCloudStyle)
      Sets the style to use for point cloud data.
      Parameters:
      pointCloudStyle - the style to use
      Returns:
      this builder
    • meshStyle

      @NotNull public TileSet3DLayer.Builder meshStyle(@NotNull MeshStyle meshStyle)
      Sets the style to use for mesh data.
      Parameters:
      meshStyle - the style to use
      Returns:
      this builder
    • transparencyEnabled

      @NotNull public TileSet3DLayer.Builder transparencyEnabled(boolean enabled)
      Indicates whether transparent surfaces should be painted transparently.

      Enable this if you know your data has transparency, and you want to see it. The transparency can originate from transparent pixels in an rgba texture, transparent colors in a vertex attribute, or transparent colors from a colorExpression.

      Note that this can have a significant performance impact, and as such it is disabled by default. When disabled, transparent surfaces will just be opaque.

      Parameters:
      enabled - true to enable transparency
      Returns:
      this builder
    • textureCompressionEnabled

      @NotNull public TileSet3DLayer.Builder textureCompressionEnabled(boolean enabled)
      Configure whether to use GPU-compressed textures or not for tiled mesh data.

      This can greatly reduce the amount of GPU memory needed and improve performance and stability, and is enabled by default. Enable this if you want to save resources displaying meshes with large textures. Disable when displaying meshes with lookup textures, such as CAD models.

      If your environment does not support GPU texture compression, this flag has no effect.

      Parameters:
      enabled - true to enable texture compression
      Returns:
      this builder
    • attributes

      @NotNull public TileSet3DLayer.Builder attributes(@NotNull List<@NotNull String> attributes)
      List of attributes that can be used in the style expressions.

      These attributes must be present in the source data set.

      You can discover which attributes you can use in the documentation of the model decoder of the format that is used. For example:

      Parameters:
      attributes - a list of attributes that can be used
      Returns:
      this builder