Class ParameterizedFeatureCanvas.GeometriesDrawCommand

java.lang.Object
com.luciad.layers.features.ParameterizedFeatureCanvas.GeometriesDrawCommand
All Implemented Interfaces:
AutoCloseable
Enclosing class:
ParameterizedFeatureCanvas

public static final class ParameterizedFeatureCanvas.GeometriesDrawCommand extends Object implements AutoCloseable
Command to specify drawing geometries using expression-based styling.
Since:
2026.0
  • Method Details

    • finalize

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

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

      @NotNull public ParameterizedFeatureCanvas.GeometriesDrawCommand fillStyle(@NotNull ParameterizedFillStyle fillStyle)
      Specifies the fill styling for the geometry.

      Note: when the provided geometry is not a Surface, this fill style is ignored. However; if you want to draw a Ring geometry (which is not a Surface), the GeometryProvider can wrap it in a Patch to convert it into a Surface.

      Parameters:
      fillStyle - the parameterized fill styling to apply.
      Returns:
      this GeometryDrawCommand.
    • lineStyle

      @NotNull public ParameterizedFeatureCanvas.GeometriesDrawCommand lineStyle(@NotNull ParameterizedLineStyle lineStyle)
      Specifies the line styling for the geometry.
      Parameters:
      lineStyle - the parameterized line styling to apply.
      Returns:
      this GeometryDrawCommand.
    • draped

      @NotNull public ParameterizedFeatureCanvas.GeometriesDrawCommand draped(boolean isDrapingEnabled)
      Indicates whether to drape geometries on top of the terrain or not.

      Draping means that the geometry is painted directly on top of the terrain’s surface relief.

      By default, a geometry is draped if it has all zero Z values. Otherwise, it will not be draped. You can override the default behaviour by setting this flag true or false. If you explicitly drape a 3D geometry, its 2D "footprint" is painted on the terrain.

      This setting is only relevant for 3D maps and is ignored for 2D maps.

      Parameters:
      isDrapingEnabled - true if the geometries should be draped over terrain.
      Returns:
      this GeometriesDrawCommand.
    • zOrder

      @NotNull public ParameterizedFeatureCanvas.GeometriesDrawCommand zOrder(int zOrder)
      The Z-order of the geometries.

      DrawCommands are painted from the lowest to the highest Z-order, so DrawCommands with a higher Z-order are painted on top of DrawCommands with a lower Z-order. Note that the Z-order only affects the ordering of features within the same layer. A feature from a certain layer will always get painted above any other feature from a layer that comes lower in the map's layer order, regardless of the Z-order of those layers. The default value is 0.

      Parameters:
      zOrder - the Z-order for this set of geometries.
      Returns:
      this GeometriesDrawCommand.
    • queryable

      @NotNull public ParameterizedFeatureCanvas.GeometriesDrawCommand queryable(boolean queryable)
      Indicates whether the geometries should be considered when a Map#queryFeatures is requested.

      The default is true.

      Parameters:
      queryable - true if the geometry should be considered.
      Returns:
      this GeometriesDrawCommand.
    • occlusionMode

      @NotNull public ParameterizedFeatureCanvas.GeometriesDrawCommand occlusionMode(@NotNull OcclusionMode occlusionMode)
      Determines how to show this set of geometries in 3D in relation to other 3D data.

      Details and limitations:

      • Mode OcclusionMode#VisibleOnly shows only the part of the geometry that is not obscured by other 3D data. This is the default.
      • Mode OcclusionMode#AlwaysVisible shows the entire geometry even if behind other 3D data. The geometry will appear in front of other objects.
      • Mode OcclusionMode#OccludedOnly shows only the part of the geometry that is behind other 3D data. You typically use this to display obscured geometries in combination with another style that uses OcclusionMode#VisibleOnly mode.
      • This parameter is only relevant in 3D. It is ignored on a 2D map.
      • This parameter is only applied on non-draped geometries.

      Note that occlusion depends on layer ordering. For instance, a feature submitted with OcclusionMode#OccludedOnly will only be visible if it is occluded by other features belonging to layers painted before the layer with this feature.

      The default is OcclusionMode#VisibleOnly.

      Parameters:
      occlusionMode - the occlusion mode to use
      Returns:
      this GeometriesDrawCommand
    • geometryProvider

      @NotNull public ParameterizedFeatureCanvas.GeometriesDrawCommand geometryProvider(@NotNull IFeatureGeometryProvider geometryProvider)
      Specifies the geometry provider that gets the geometry from the feature.

      This property is optional. If not provided, DefaultFeatureGeometryProvider will be used.

      Parameters:
      geometryProvider - the geometry provider.
      Returns:
      this GeometriesDrawCommand
    • submit

      public void submit() throws IllegalStateException
      Submits this draw command.

      Nothing will be painted if the draw command is not submitted.

      Throws:
      IllegalStateException - when there are missing geometry command calls or the command is already submitted.