Skip to main content

Measurements

Types

MeasurementData

MeasurementData: object
PropertyType
endVector3
floornumber
labelstring
sidstring
startVector3

MeasurementDescriptor

MeasurementDescriptor: object
PropertyType
label?string | undefined
The text label to attach to the measurement
pointsVector3[]
The list of points of the measurement
type?Measurements.MeasurementType | undefined
The type of measurement to create. Defaults to MeasurementType.ThreeD if not specified

State

State: object
PropertyType
activeboolean

Enumerations

MeasurementType

MeasurementType: enum
MemberValue
Floorplan"measurement.type.floorplan"
A measurement only visible in the floorplan views.
ThreeD"measurement.type.3d"
A measurement visible in any 3d view (inside/dollhouse/etc)

Observables

data

An observable collection of measurement mode data that can be subscribed to.

mpSdk.Measurements.data.subscribe({
onAdded: function (index, item, collection) {
console.log('item added to the collection', index, item, collection);
},
onRemoved: function (index, item, collection) {
console.log('item removed from the collection', index, item, collection);
},
onUpdated: function (index, item, collection) {
console.log('item updated in place in the collection', index, item, collection);
},
onCollectionUpdated: function (collection) {
console.log('the entire up-to-date collection', collection);
}
});

mode

An observable measurement mode state object.

mpSdk.Measurements.mode.subscribe(function (measurementModeState) {
// measurement mode state has changed
console.log('Is measurement mode currently active? ', measurementModeState.active);
});

// output
// > Is measurement mode currently active? true

Methods

add

experimental

Add one or more measurements.

mpSdk.Measurements.add({
label: 'first',
points: [
{x: 0, y: 0, z: 0},
{x: 1, y: 0, z: 1},
{x: 2, y: 0, z: 2},
],
}, {
points: [
{x: -2, y: 0, z: -2},
{x: -1, y: 0, z: -1},
],
});
ParameterType
measurementsMeasurements.MeasurementDescriptor[]
the measurement descriptors to add

Returns: Promise<Measurements.MeasurementModeData[]>

getData

getData(): Promise<Measurements.MeasurementData[]>
deprecated Use data

Returns: Promise<Measurements.MeasurementData[]>

remove

remove(measurements: Measurements.MeasurementModeData[]): Promise<void>

experimental

Remove one or more measurements.

const measurements: Dictionary<Measurements.MeasurementModeData>; // ... acquired through `mpSdk.Measurements.data`
// remove one measurement
mpSdk.Measurements.remove(measurements);

// or remove multiple at the same time
mpSdk.Measurements.remove(...Object.values(measurements));
ParameterType
measurementsMeasurements.MeasurementModeData[]

Returns: Promise<void>

toggleMode

toggleMode(activate: boolean, options?: { hideAddButton: boolean; }): Promise<void>

Activate or deactivate measurement mode. This function can only be used after the application has started playing. Use App.state to determine the phase of the application.

mpSdk.Measurements.toggleMode(true)
.then(() => {
console.log('measurement mode is now active');
});
ParameterType
activateboolean
options?{ hideAddButton: boolean; }

Returns: Promise<void>