Reference Source
public class | source

DistanceMeasurementsMouseControl

Extends:

ComponentDistanceMeasurementsControl → DistanceMeasurementsMouseControl

Creates DistanceMeasurements in a DistanceMeasurementsPlugin from mouse input.

Usage

[Run example]

import {Viewer, XKTLoaderPlugin, DistanceMeasurementsPlugin, DistanceMeasurementsMouseControl, PointerLens} from "xeokit-sdk.es.js";

const viewer = new Viewer({
    canvasId: "myCanvas",
});

viewer.camera.eye = [-3.93, 2.85, 27.01];
viewer.camera.look = [4.40, 3.72, 8.89];
viewer.camera.up = [-0.01, 0.99, 0.039];

const xktLoader = new XKTLoaderPlugin(viewer);

const sceneModel = xktLoader.load({
    id: "myModel",
    src: "Duplex.xkt"
});

const distanceMeasurements = new DistanceMeasurementsPlugin(viewer);

const distanceMeasurementsControl  = new DistanceMeasurementsMouseControl(DistanceMeasurements, {
    pointerLens: new PointerLens(viewer)
})

distanceMeasurementsControl.snapping = true;

distanceMeasurementsControl.activate();

Constructor Summary

Public Constructor
public

constructor(distanceMeasurementsPlugin: DistanceMeasurementsPlugin, cfg: *)

Creates a DistanceMeasurementsMouseControl bound to the given DistanceMeasurementsPlugin.

Member Summary

Public Members
public get

Gets if this DistanceMeasurementsMouseControl is currently active, where it is responding to input.

public

The DistanceMeasurementsPlugin that owns this DistanceMeasurementsMouseControl.

public

The DistanceMeasurementsPlugin that owns this DistanceMeasurementsMouseControl.

public
public set

snapping(snapping: *)

Sets whether snap-to-vertex and snap-to-edge are enabled for this DistanceMeasurementsMouseControl.

public get

snapping: *: *

Gets whether snap-to-vertex and snap-to-edge are enabled for this DistanceMeasurementsMouseControl.

Method Summary

Public Methods
public

Activates this DistanceMeasurementsMouseControl, ready to respond to input.

public

Deactivates this DistanceMeasurementsMouseControl, making it unresponsive to input.

public

Destroys this DistanceMeasurementsMouseControl.

public

reset()

Resets this DistanceMeasurementsMouseControl.

Inherited Summary

From class Component
public get

The Component that owns the lifecycle of this Component, if any.

public

True as soon as this Component has been destroyed

public

ID of this Component, unique within the Scene.

public

meta: *

Arbitrary, user-defined metadata on this component.

public

The parent Scene that contains this Component.

public

The viewer that contains this Scene.

public

clear()

Destroys all Components that are owned by this.

public

Destroys this component.

public

error(message: String)

Logs an error for this component to the JavaScript console.

public

fire(event: String, value: Object, forget: Boolean)

Fires an event on this component.

public

Returns true if there are any subscribers to the given event on this component.

public

isType(type: *): *: Boolean

Tests if this component is of the given type, or is a subclass of the given type.

public

log(message: String)

Logs a console debugging message for this component.

public

off(subId: String)

Cancels an event subscription that was previously made with Component#on or Component#once.

public

on(event: String, callback: Function, scope: Object): String

Subscribes to an event on this component.

public

once(event: String, callback: Function, scope: Object)

Subscribes to the next occurrence of the given event, then un-subscribes as soon as the event is subIdd.

public

scheduleTask(task: *)

Schedule a task to perform on the next browser interval

public

warn(message: String)

Logs a warning for this component to the JavaScript console.

From class DistanceMeasurementsControl
public get abstract

Gets if this DistanceMeasurementsControl is currently active, where it is responding to input.

public get

Gets whether snap-to-vertex and snap-to-edge are enabled for this DistanceMeasurementsControl.

public set

snapping(snapping: boolean)

Sets whether snap-to-vertex and snap-to-edge are enabled for this DistanceMeasurementsControl.

public abstract

Activates this DistanceMeasurementsControl, ready to respond to input.

public abstract

Deactivates this DistanceMeasurementsControl, making it unresponsive to input.

public abstract

Destroys this DistanceMeasurementsControl.

public abstract

reset()

Resets this DistanceMeasurementsControl.

Public Constructors

public constructor(distanceMeasurementsPlugin: DistanceMeasurementsPlugin, cfg: *) source

Creates a DistanceMeasurementsMouseControl bound to the given DistanceMeasurementsPlugin.

Override:

Component#constructor

Params:

NameTypeAttributeDescription
distanceMeasurementsPlugin DistanceMeasurementsPlugin

The AngleMeasurementsPlugin to control.

cfg *
  • optional

Configuration

cfg.canvasToPagePos function
  • optional

Optional function to map canvas-space coordinates to page coordinates.

cfg.pointerLens PointerLens
  • optional

A PointerLens to use to provide a magnified view of the cursor when snapping is enabled.

cfg.snapping boolean
  • optional
  • default: true

Whether to initially enable snap-to-vertex and snap-to-edge for this DistanceMeasurementsMouseControl.

Public Members

public get active: boolean: * source

Gets if this DistanceMeasurementsMouseControl is currently active, where it is responding to input.

Override:

DistanceMeasurementsControl#active

Return:

boolean

True if this DistanceMeasurementsMouseControl is active.

public distanceMeasurementsPlugin: DistanceMeasurementsPlugin source

The DistanceMeasurementsPlugin that owns this DistanceMeasurementsMouseControl.

public plugin: DistanceMeasurementsPlugin source

The DistanceMeasurementsPlugin that owns this DistanceMeasurementsMouseControl.

public pointerLens: * source

public set snapping(snapping: *) source

Sets whether snap-to-vertex and snap-to-edge are enabled for this DistanceMeasurementsMouseControl.

This is true by default.

Internally, this deactivates then activates the DistanceMeasurementsMouseControl when changed, which means that it will destroy any DistanceMeasurements currently under construction, and incurs some overhead, since it unbinds and rebinds various input handlers.

Override:

DistanceMeasurementsControl#snapping

public get snapping: *: * source

Gets whether snap-to-vertex and snap-to-edge are enabled for this DistanceMeasurementsMouseControl.

This is true by default.

Override:

DistanceMeasurementsControl#snapping

Return:

*

Public Methods

public activate() source

Activates this DistanceMeasurementsMouseControl, ready to respond to input.

Override:

DistanceMeasurementsControl#activate

public deactivate() source

Deactivates this DistanceMeasurementsMouseControl, making it unresponsive to input.

Destroys any DistanceMeasurement under construction by this DistanceMeasurementsMouseControl.

Override:

DistanceMeasurementsControl#deactivate

public destroy() source

Destroys this DistanceMeasurementsMouseControl.

Destroys any DistanceMeasurement under construction by this DistanceMeasurementsMouseControl.

Override:

DistanceMeasurementsControl#destroy

public reset() source

Resets this DistanceMeasurementsMouseControl.

Destroys any DistanceMeasurement under construction by this DistanceMeasurementsMouseControl.

Does nothing if the DistanceMeasurementsMouseControl is not active.

Override:

DistanceMeasurementsControl#reset