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.