@inweb/viewer-visualize
    Preparing search index...

    Variable componentsConst

    components: IComponentsRegistry = ...

    Viewer components registry. Use this registry to register custom components.

    To implement custom component:

    1. Define a component class implements IComponent.
    2. Define a constructor with a viewer parameter and add mouse event listeners for the specified viewer.
    3. Define the component logic in the event listeners. For example, listen for the mousedown event and select objects when the left mouse button is pressed.
    4. Override IComponent.dispose and remove mouse event listeners from the viewer.
    5. Register component provider in the components registry by calling the components.registerComponent.
    import { IComponent, components, Viewer } from "@inweb/viewer-visualize";

    class MyComponent implements IComponent {
    protected viewer: Viewer;

    constructor(viewer: Viewer) {
    this.viewer = viewer;
    this.viewer.addEventListener("mousedown", this.onMouseDown);
    }

    override dispose() {
    this.viewer.removeEventListener("mousedown", this.onMouseDown);
    }

    onMouseDown = (event: PointerEvent) => {
    // place custom logic here
    };
    }

    components.registerComponent( "MyComponent", (viewer): IComponent => new MyComponent(viewer));