UNPKG

@speckle/viewer

Version:

A 3d viewer for Speckle, based on threejs.

42 lines (41 loc) 1.51 kB
import { Box3, Camera, Object3D, Plane, Raycaster, Vector2, Vector3, Vector4, type Intersection } from 'three'; export declare enum MeasurementState { HIDDEN = 0, DANGLING_START = 1, DANGLING_END = 2, COMPLETE = 3 } export declare abstract class Measurement extends Object3D { startPoint: Vector3; endPoint: Vector3; startNormal: Vector3; flipStartNormal: boolean; endNormal: Vector3; flipEndNormal: boolean; startLineLength: number; endLineLength: number; value: number; units: string; precision: number; protected static vec3Buff0: Vector3; protected static vec3Buff1: Vector3; protected static vec3Buff2: Vector3; protected static vec3Buff3: Vector3; protected static vec3Buff4: Vector3; protected static vec4Buff0: Vector4; protected static vec4Buff1: Vector4; protected static vec4Buff2: Vector4; protected static vec2Buff0: Vector2; protected _state: MeasurementState; protected renderingCamera: Camera | null; protected renderingSize: Vector2; set state(value: MeasurementState); get state(): MeasurementState; abstract set isVisible(value: boolean); get bounds(): Box3; frameUpdate(camera: Camera | null, size: Vector2, _bounds: Box3): void; abstract update(): Promise<void>; abstract raycast(_raycaster: Raycaster, _intersects: Array<Intersection>): void; abstract highlight(_value: boolean): void; abstract updateClippingPlanes(_planes: Plane[]): void; }