import { RenderManagerBase } from '../RenderManagerBase'; import { LabelMapBase } from './LabelMapBase'; import { DomLabelMap, DomLabelMapOptions } from './DomLabelMap'; import { Plane } from 'three'; /** * Horizontal and vertical alignment for label. */ export declare enum LabelAlignment { /** * Start alignment(left for horizontal and top for vertical). */ Start = "start", /** * Middle alignment(center for horizontal and vertical). */ Middle = "middle", /** * End alignment(right for horizontal and bottom for vertical). */ End = "end" } /** * Tools for creating and displaying labels in 3d space. * Labels can display different content. */ export declare class LabelTools { private readonly renderManager; private needToCheckClipping; /** * Label maps storage. * Each map contains a set of labels that are subject to one method of rendering and updating content. */ labelMaps: Map; /** * @param renderManager - RenderManager instance. * @param viewerElement - viewer HTML element. */ constructor(renderManager: RenderManagerBase, viewerElement: HTMLElement); /** * Adding a new label map. * @param options - Labels map options for creation. */ addDomLabelMap(options: DomLabelMapOptions): DomLabelMap | undefined; /** * Delete existing label map. * @param name - Label map name. */ removeLabelMap(name: string): void; /** * Init labels system. */ init(): void; /** * Update labels on viewer space. */ update(forceShapecast?: boolean): void; /** * Clear label maps. */ clear(): void; /** * Destroy and clear labels system assets. */ dispose(): void; checkWithClippingPlanes(planes: Plane[]): void; private onClippingUpdate; }