Documentation
    Preparing search index...

    Class AssetAnnotationMeasurementRenderPlugin

    A renderer plugin for creating and managing measurement annotations in a 3D scene. It integrates with LuciadRIA's measurement tools to allow interactive placement, updating, hovering, and selection of measurement annotations.

    This plugin follows a facade pattern, delegating responsibilities to specialized collaborators:

    • MeasurementLifecycleManager: Manages plugin lifecycle and resource allocation
    • MeasurementStateSynchronizer: Coordinates state sync between RIA and store
    • MeasurementBusinessLogic: Handles CRUD operations and business rules
    • MeasurementEventCoordinator: Manages event dispatching and forwarding

    Hierarchy

    • RendererPlugin & DisposableManaged & EventBus<Events, this> & Stateful<
          StoreApi<RemoveUnderscoredProperties<Store & ComputedStore>>,
          this,
      >
      • AssetAnnotationMeasurementRenderPlugin

    Implements

    • AssetRendererPlugin
    Index

    Constructors

    Properties

    context: AssetRendererPluginContext

    The renderer plugin context, allowing the plugin to interact with the map, controllers, and layer management.

    PLUGIN_TOOLBOX_KEY: string = 'measurements'

    Methods

    • Adds the given Disposable to be owned by this plugin.

      Parameters

      • disposable: Disposable

      Returns void

    • Adds an event listener for a specific event.

      Type Parameters

      • K extends (keyof MeasurementEvents) | "onLookAtMeasurement"

        The type of the event key.

      Parameters

      • event: K

        The event to listen to.

      • listener: (eventData: Events[K]) => void

        The callback function to be invoked when the event is emitted.

      Returns EventHandle

      An EventHandle with a remove method to unsubscribe the listener.

    • Dispatches the given event with given payload on the plugin.

      Type Parameters

      • K extends (keyof MeasurementEvents) | "onLookAtMeasurement"

      Parameters

      Returns void

    • The store used by the plugin.

      Returns StoreApi

      Do not use this directly in user-land code. Either:

      • In React code, use the useRendererPluginStore or useRendererPluginStoreLazy hook.
      • In non-React code, add methods to mutate the store to the plugin's API instead.
    • Called by the plugin system is initialized.

      Parameters

      • context: AssetRendererPluginContext

        The context provided to the plugin.

      Returns void

    • Called when the plugin is registered in the system. The result of this hook determines whether the plugin is enabled.

      Parameters

      • context: unknown

        The context provided to the plugin.

      Returns boolean

      Whether the plugin should be enabled.

    • Checks if the plugin has been torn down.

      Returns boolean

      true if the plugin has been torn down, otherwise false.