@speckle/viewer
Version:
A 3d viewer for Speckle, based on threejs.
42 lines (41 loc) • 1.51 kB
TypeScript
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;
}