@speckle/viewer
Version:
A 3d viewer for Speckle, based on threejs.
40 lines (39 loc) • 1.53 kB
TypeScript
import { BufferGeometry, Color, Mesh, Quaternion, Raycaster, Vector3, type Intersection } from 'three';
import { ObjectLayers, type SpeckleObject } from '../../IViewer.js';
export interface SpeckleTextParams {
textValue?: string;
richTextValue?: string;
height?: number;
anchorX?: string;
anchorY?: string;
}
export interface SpeckleTextStyle {
backgroundColor?: Color | null;
backgroundCornerRadius?: number;
backgroundPixelHeight?: number;
textColor?: Color;
billboard?: boolean;
}
export declare class SpeckleText extends Mesh {
private _layer;
private _text;
private _background;
private _backgroundSize;
private _style;
private _resolution;
private defaultMaterial;
private getFlatRaycastMesh;
private getCurvedRaycastMesh;
static SpeckleTextParamsFromMetadata(metadata: SpeckleObject): SpeckleTextParams;
get textMesh(): Text;
get backgroundMesh(): Mesh<BufferGeometry, import("three").Material | import("three").Material[]> | null;
set style(value: SpeckleTextStyle);
constructor(uuid: string, layer: ObjectLayers);
update(params: SpeckleTextParams, updateFinished?: () => void): Promise<void>;
setTransform(position?: Vector3, quaternion?: Quaternion, scale?: Vector3): void;
raycast(raycaster: Raycaster, intersects: Array<Intersection>): void;
private updateStyle;
private updateBackground;
/** From https://discourse.threejs.org/t/roundedrectangle-squircle/28645 */
private RectangleRounded;
}