import {AngleMeasurementsMouseControl} from '@xeokit/xeokit-sdk/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsMouseControl.js'
AngleMeasurementsMouseControl
Extends:
Creates AngleMeasurements in an AngleMeasurementsPlugin from mouse input.
Usage
import {Viewer, XKTLoaderPlugin, AngleMeasurementsPlugin, AngleMeasurementsMouseControl, 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 angleMeasurements = new AngleMeasurementsPlugin(viewer);
const angleMeasurementsMouseControl = new AngleMeasurementsMouseControl(angleMeasurements, {
pointerLens : new PointerLens(viewer)
})
angleMeasurementsMouseControl.snapping = true;
angleMeasurementsMouseControl.activate();
Constructor Summary
Public Constructor | ||
public |
constructor(angleMeasurementsPlugin: AngleMeasurementsPlugin, cfg: *) Creates a AngleMeasurementsMouseControl bound to the given AngleMeasurementsPlugin. |
Member Summary
Public Members | ||
public get |
Gets if this AngleMeasurementsMouseControl is currently active, where it is responding to input. |
|
public |
The AngleMeasurementsPlugin that owns this AngleMeasurementsMouseControl. |
|
public |
markerDiv: * |
|
public |
The AngleMeasurementsPlugin that owns this AngleMeasurementsMouseControl. |
|
public |
pointerLens: * |
|
public set |
Sets whether snap-to-vertex and snap-to-edge are enabled for this AngleMeasurementsMouseControl. |
|
public get |
Gets whether snap-to-vertex and snap-to-edge are enabled for this AngleMeasurementsMouseControl. |
Method Summary
Public Methods | ||
public |
activate() Activates this AngleMeasurementsMouseControl, ready to respond to input. |
|
public |
Deactivates this AngleMeasurementsMouseControl, making it unresponsive to input. |
|
public |
destroy() Destroys this AngleMeasurementsMouseControl. |
|
public |
reset() Resets this AngleMeasurementsMouseControl. |
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 |
destroy() Destroys this component. |
|
public |
Logs an error for this component to the JavaScript console. |
|
public |
Fires an event on this component. |
|
public |
Returns true if there are any subscribers to the given event on this component. |
|
public |
Tests if this component is of the given type, or is a subclass of the given type. |
|
public |
Logs a console debugging message for this component. |
|
public |
Cancels an event subscription that was previously made with Component#on or Component#once. |
|
public |
Subscribes to an event on this component. |
|
public |
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 |
Logs a warning for this component to the JavaScript console. |
From class AngleMeasurementsControl | ||
public get abstract |
Gets if this AngleMeasurementsControl is currently active, where it is responding to input. |
|
public get |
Gets whether snap-to-vertex and snap-to-edge are enabled for this AngleMeasurementsControl. |
|
public set |
Sets whether snap-to-vertex and snap-to-edge are enabled for this AngleMeasurementsControl. |
|
public abstract |
activate() Activates this AngleMeasurementsMouseControl, ready to respond to input. |
|
public abstract |
Deactivates this AngleMeasurementsControl, making it unresponsive to input. |
|
public abstract |
destroy() Destroys this AngleMeasurementsMouseControl. |
|
public abstract |
reset() Resets this AngleMeasurementsControl. |
Public Constructors
public constructor(angleMeasurementsPlugin: AngleMeasurementsPlugin, cfg: *) source
Creates a AngleMeasurementsMouseControl bound to the given AngleMeasurementsPlugin.
Override:
Component#constructorParams:
Name | Type | Attribute | Description |
angleMeasurementsPlugin | AngleMeasurementsPlugin | The AngleMeasurementsPlugin to control. |
|
cfg | * |
|
Configuration |
cfg.canvasToPagePos | function |
|
Optional function to map canvas-space coordinates to page coordinates. |
cfg.pointerLens | PointerLens |
|
A PointerLens to use to provide a magnified view of the cursor when snapping is enabled. |
cfg.snapping | boolean |
|
Whether to initially enable snap-to-vertex and snap-to-edge for this AngleMeasurementsMouseControl. |
Public Members
public get active: boolean: * source
Gets if this AngleMeasurementsMouseControl is currently active, where it is responding to input.
Override:
AngleMeasurementsControl#activepublic angleMeasurementsPlugin: AngleMeasurementsPlugin source
The AngleMeasurementsPlugin that owns this AngleMeasurementsMouseControl.
public markerDiv: * source
public plugin: AngleMeasurementsPlugin source
The AngleMeasurementsPlugin that owns this AngleMeasurementsMouseControl.
public pointerLens: * source
public set snapping(snapping: boolean) source
Sets whether snap-to-vertex and snap-to-edge are enabled for this AngleMeasurementsMouseControl.
This is true
by default.
Internally, this deactivates then activates the AngleMeasurementsMouseControl when changed, which means that it will destroy any AngleMeasurements currently under construction, and incurs some overhead, since it unbinds and rebinds various input handlers.
Override:
AngleMeasurementsControl#snappingpublic get snapping: boolean: * source
Gets whether snap-to-vertex and snap-to-edge are enabled for this AngleMeasurementsMouseControl.
This is true
by default.
Override:
AngleMeasurementsControl#snappingReturn:
boolean | Whether snap-to-vertex and snap-to-edge are enabled for this AngleMeasurementsMouseControl. |
Public Methods
public activate() source
Activates this AngleMeasurementsMouseControl, ready to respond to input.
Override:
AngleMeasurementsControl#activatepublic deactivate() source
Deactivates this AngleMeasurementsMouseControl, making it unresponsive to input.
Destroys any AngleMeasurement under construction by this AngleMeasurementsMouseControl.
Override:
AngleMeasurementsControl#deactivatepublic destroy() source
Destroys this AngleMeasurementsMouseControl.
Override:
AngleMeasurementsControl#destroypublic reset() source
Resets this AngleMeasurementsMouseControl.
Destroys any AngleMeasurement under construction by this AngleMeasurementsMouseControl.
Does nothing if the AngleMeasurementsMouseControl is not active.