geoview-core - v2.1.2
    Preparing search index...

    Class GVGroupLayer

    Manages a Group Layer.

    GVGroupLayer

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    loadedOnce: boolean = false

    Indicates if the layer has become in loaded status at least once already

    Methods

    • Gets the bounds for the layer in the given projection. When the layer is a GVLayer, its layer bounds are returned. When the layer is a GVGroup, an Extent union of all layers bounds in the group is returned.

      Parameters

      • projection: Projection

        The projection to get the bounds into.

      • stops: number

        The number of stops to use to generate the extent.

      Returns Promise<Extent | undefined>

      A promise of layer bounding box.

    • Returns all layers contained within this group, including nested layers.

      Parameters

      • Optionalfilter: (layer: AbstractBaseGVLayer) => boolean

        Optional predicate function used to filter the returned layers. If provided, only layers matching the condition will be included in the result.

      Returns AbstractBaseGVLayer[]

      A flattened array of all descendant layers (including group layers), optionally filtered.

      This method performs a depth-first traversal of the group hierarchy, collecting all child layers recursively. If a filter function is provided, it is applied to each layer before inclusion in the result. Both GVGroupLayer instances and concrete layer types may be returned, depending on the filter criteria.

    • Returns all leaf layers (non-group layers) contained within this group, including those nested in child groups.

      Returns AbstractGVLayer[]

      An array of AbstractGVLayer instances representing all leaf layers in the group hierarchy.

      This is a convenience method that retrieves all descendant layers and filters them to include only concrete AbstractGVLayer instances (i.e., excluding GVGroupLayer containers). The returned collection is flattened and traversed depth-first.

    • Retrieves all parent group layers of this layer in hierarchical order.

      The returned array starts with the immediate parent and continues up the hierarchy until the root group layer is reached or a group has already been visited (not supposed to happen).

      Returns GVGroupLayer[]

      An array of parent GVGroupLayer instances, ordered from the immediate parent to the top-most ancestor. Returns an empty array if the layer has no parent.

      This method traverses upward through the parent chain starting from the immediate parent of this layer. A protection mechanism prevents infinite loops in case of circular parent references.

    • Determines whether this layer is visible, taking into account the visibility of all its parent groups. A layer is considered visible only if:

      • the layer itself is visible, and
      • every parent GVGroupLayer up the hierarchy is also visible. This function walks upward through the group layer tree until it reaches the root, returning false immediately if any parent is not visible.

      Returns boolean

      true if this layer and all its parent groups are visible; otherwise false.

    • Overrides the set opacity function to set the opacity to all the children as well.

      Parameters

      • opacity: number

        The desired opacity for the layer, typically between 0 (fully transparent) and 1 (fully opaque).

      • emitOpacityChanged: boolean = true

        Optional, whether to emit a layer opacity change event after updating the opacity. Defaults to true.

      Returns void

    • Sets the opacity of the layer while ensuring it does not exceed the opacity of its parent layer.

      If the layer has a parent, the provided opacity is clamped so that it cannot be greater than the parent's opacity. The resulting opacity is applied to the underlying OpenLayers layer.

      If the layer is a GVGroupLayer, the computed opacity is recursively applied to all child layers to maintain consistency within the layer hierarchy.

      Optionally emits a layer opacity change event.

      Parameters

      • opacity: number

        The desired opacity for the layer, typically between 0 (fully transparent) and 1 (fully opaque).

      • emitOpacityChanged: boolean = true

        Optional, whether to emit a layer opacity change event after updating the opacity. Defaults to true.

      Returns void