Skip to main content
This extension requires and active CameraController extension implementation.

Accessors

activeMeasurement

get activeMeasurement(): Measurement
Gets the currently ongoing measurement. Null if there is none. Returns: Measurement

enabled

get enabled(): boolean
set enabled(value: boolean)
Enables/disables the extension. Returns: boolean

options

get options(): MeasurementOptions
set options(value: MeasurementOptions)
Gets and sets the extension options. Returns: MeasurementOptions

selectedMeasurement

get selectedMeasurement(): Measurement
Gets the currently selected measurement. Null if there is none. Returns: Measurement

Methods

clearMeasurements

clearMeasurements(): void
Removes all measurements, including finished or ongoing now. Returns: void

addMeasurement

addMeasurement(data: MeasurementData): void
Programatically adds a measurement from serializable measurement data. Parameters Returns: void

removeMeasurement

removeMeasurement(): void
Removes any currently ongoing measurements. Returns: void

toMeasurementData

toMeasurementData(): MeasurementData[]
Returns the serializable data for all measurements Returns: MeasurementData[]

Typedefs

Measurement

abstract class Measurement extends Object3D
Abstract class for all measurement types.

MeasurementOptions

interface MeasurementOptions {
  visible: boolean;
  type?: MeasurementType;
  vertexSnap?: boolean;
  units?: string;
  precision?: number;
  chain?: boolean;
}
The options for newly created measurements.
  • visible: If the measurements are visible
  • optional type: Current measurement type to create
  • optional vertexSnap: Should the cursor snap to the nearest vertex
  • optional units: The measurement units
  • optional precision: The number of decimals to be displayed
  • optional chain: Automatically connects last measurement with the new one

MeasurementType

enum MeasurementType {
  PERPENDICULAR,
  POINTTOPOINT,
  AREA,
  POINT,
}
Measurement types.

MeasurementData

interface MeasurementData {
  type: MeasurementType
  startPoint: readonly [number, number, number] // vec3
  endPoint: readonly [number, number, number] // vec3
  startNormal: readonly [number, number, number] // vec3
  endNormal: readonly [number, number, number] // vec3
  value: number
  innerPoints?: (readonly [number, number, number])[] // array of vec3
  units?: string
  precision?: number
  uuid: string
}
Serializable measurement data

Constants

DefaultMeasurementsOptions

const DefaultMeasurementsOptions = {
  visible: true,
  type: MeasurementType.POINTTOPOINT,
  vertexSnap: true,
  units: 'm',
  precision: 2,
  chain: false,
};
The default extension options.