@xeokit/xeokit-sdk 2.4.2-beta-31 → 2.4.2-beta-32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/xeokit-sdk.cjs.js +74 -25
- package/dist/xeokit-sdk.es.js +74 -25
- package/dist/xeokit-sdk.es5.js +10 -8
- package/dist/xeokit-sdk.min.cjs.js +1 -1
- package/dist/xeokit-sdk.min.es.js +1 -1
- package/dist/xeokit-sdk.min.es5.js +1 -1
- package/package.json +1 -1
- package/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsMouseControl.js +35 -10
- package/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsMouseControl.js +39 -15
package/dist/xeokit-sdk.cjs.js
CHANGED
|
@@ -11898,7 +11898,25 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
11898
11898
|
|
|
11899
11899
|
this._currentAngleMeasurement = null;
|
|
11900
11900
|
|
|
11901
|
+
// init markerDiv element (think about making its style configurable)
|
|
11902
|
+
this._initMarkerDiv();
|
|
11903
|
+
|
|
11904
|
+
this._onMouseHoverSurface = null;
|
|
11905
|
+
this._onHoverNothing = null;
|
|
11906
|
+
this._onPickedNothing = null;
|
|
11907
|
+
this._onPickedSurface = null;
|
|
11908
|
+
|
|
11909
|
+
this._onInputMouseDown = null;
|
|
11910
|
+
this._onInputMouseUp = null;
|
|
11911
|
+
|
|
11912
|
+
this._snapping = cfg.snapping !== false;
|
|
11913
|
+
|
|
11914
|
+
this._attachPlugin(angleMeasurementsPlugin, cfg);
|
|
11915
|
+
}
|
|
11916
|
+
|
|
11917
|
+
_initMarkerDiv() {
|
|
11901
11918
|
const markerDiv = document.createElement('div');
|
|
11919
|
+
markerDiv.setAttribute('id', 'myMarkerDiv');
|
|
11902
11920
|
const canvas = this.scene.canvas.canvas;
|
|
11903
11921
|
canvas.parentNode.insertBefore(markerDiv, canvas);
|
|
11904
11922
|
|
|
@@ -11913,17 +11931,14 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
11913
11931
|
markerDiv.style.pointerEvents = "none";
|
|
11914
11932
|
|
|
11915
11933
|
this.markerDiv = markerDiv;
|
|
11916
|
-
|
|
11917
|
-
this._onHoverNothing = null;
|
|
11918
|
-
this._onPickedNothing = null;
|
|
11919
|
-
this._onPickedSurface = null;
|
|
11920
|
-
|
|
11921
|
-
this._onInputMouseDown = null;
|
|
11922
|
-
this._onInputMouseUp = null;
|
|
11923
|
-
|
|
11924
|
-
this._snapping = cfg.snapping !== false;
|
|
11934
|
+
}
|
|
11925
11935
|
|
|
11926
|
-
|
|
11936
|
+
_destroyMarkerDiv() {
|
|
11937
|
+
if (this._markerDiv) {
|
|
11938
|
+
const element = document.getElementById('myMarkerDiv');
|
|
11939
|
+
element.parentNode.removeChild(element);
|
|
11940
|
+
this._markerDiv = null;
|
|
11941
|
+
}
|
|
11927
11942
|
}
|
|
11928
11943
|
|
|
11929
11944
|
_attachPlugin(angleMeasurementsPlugin, cfg = {}) {
|
|
@@ -11991,6 +12006,9 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
11991
12006
|
if (this._active) {
|
|
11992
12007
|
return;
|
|
11993
12008
|
}
|
|
12009
|
+
if (!this.markerDiv) {
|
|
12010
|
+
this._initMarkerDiv(); // if the marker is destroyed after deactivation, we recreate it
|
|
12011
|
+
}
|
|
11994
12012
|
this.angleMeasurementsPlugin;
|
|
11995
12013
|
const scene = this.scene;
|
|
11996
12014
|
scene.input;
|
|
@@ -12195,6 +12213,9 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12195
12213
|
if (this.pointerLens) {
|
|
12196
12214
|
this.pointerLens.visible = false;
|
|
12197
12215
|
}
|
|
12216
|
+
if (this._markerDiv) {
|
|
12217
|
+
this._destroyMarkerDiv();
|
|
12218
|
+
}
|
|
12198
12219
|
this.reset();
|
|
12199
12220
|
const canvas = this.scene.canvas.canvas;
|
|
12200
12221
|
canvas.removeEventListener("mousedown", this._onMouseDown);
|
|
@@ -12219,6 +12240,10 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12219
12240
|
if (!this._active) {
|
|
12220
12241
|
return;
|
|
12221
12242
|
}
|
|
12243
|
+
|
|
12244
|
+
this._destroyMarkerDiv();
|
|
12245
|
+
this._initMarkerDiv();
|
|
12246
|
+
|
|
12222
12247
|
if (this._currentAngleMeasurement) {
|
|
12223
12248
|
this._currentAngleMeasurement.destroy();
|
|
12224
12249
|
this._currentAngleMeasurement = null;
|
|
@@ -49963,21 +49988,6 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
49963
49988
|
|
|
49964
49989
|
this._active = false;
|
|
49965
49990
|
|
|
49966
|
-
const markerDiv = document.createElement('div');
|
|
49967
|
-
const canvas = this.scene.canvas.canvas;
|
|
49968
|
-
canvas.parentNode.insertBefore(markerDiv, canvas);
|
|
49969
|
-
markerDiv.style.background = "black";
|
|
49970
|
-
markerDiv.style.border = "2px solid blue";
|
|
49971
|
-
markerDiv.style.borderRadius = "10px";
|
|
49972
|
-
markerDiv.style.width = "5px";
|
|
49973
|
-
markerDiv.style.height = "5px";
|
|
49974
|
-
markerDiv.style.margin = "-200px -200px";
|
|
49975
|
-
markerDiv.style.zIndex = "100";
|
|
49976
|
-
markerDiv.style.position = "absolute";
|
|
49977
|
-
markerDiv.style.pointerEvents = "none";
|
|
49978
|
-
|
|
49979
|
-
this._markerDiv = markerDiv;
|
|
49980
|
-
|
|
49981
49991
|
this._currentDistanceMeasurement = null;
|
|
49982
49992
|
|
|
49983
49993
|
this._currentDistanceMeasurementInitState = {
|
|
@@ -49989,6 +49999,8 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
49989
49999
|
targetVisible: null,
|
|
49990
50000
|
};
|
|
49991
50001
|
|
|
50002
|
+
this._initMarkerDiv();
|
|
50003
|
+
|
|
49992
50004
|
this._onCameraControlHoverSnapOrSurface = null;
|
|
49993
50005
|
this._onCameraControlHoverSnapOrSurfaceOff = null;
|
|
49994
50006
|
this._onMouseDown = null;
|
|
@@ -50001,6 +50013,32 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
50001
50013
|
this._attachPlugin(distanceMeasurementsPlugin, cfg);
|
|
50002
50014
|
}
|
|
50003
50015
|
|
|
50016
|
+
_initMarkerDiv() {
|
|
50017
|
+
const markerDiv = document.createElement('div');
|
|
50018
|
+
markerDiv.setAttribute('id', 'myMarkerDiv');
|
|
50019
|
+
const canvas = this.scene.canvas.canvas;
|
|
50020
|
+
canvas.parentNode.insertBefore(markerDiv, canvas);
|
|
50021
|
+
markerDiv.style.background = "black";
|
|
50022
|
+
markerDiv.style.border = "2px solid blue";
|
|
50023
|
+
markerDiv.style.borderRadius = "10px";
|
|
50024
|
+
markerDiv.style.width = "5px";
|
|
50025
|
+
markerDiv.style.height = "5px";
|
|
50026
|
+
markerDiv.style.margin = "-200px -200px";
|
|
50027
|
+
markerDiv.style.zIndex = "100";
|
|
50028
|
+
markerDiv.style.position = "absolute";
|
|
50029
|
+
markerDiv.style.pointerEvents = "none";
|
|
50030
|
+
|
|
50031
|
+
this._markerDiv = markerDiv;
|
|
50032
|
+
}
|
|
50033
|
+
|
|
50034
|
+
_destroyMarkerDiv() {
|
|
50035
|
+
if (this._markerDiv) {
|
|
50036
|
+
const element = document.getElementById('myMarkerDiv');
|
|
50037
|
+
element.parentNode.removeChild(element);
|
|
50038
|
+
this._markerDiv = null;
|
|
50039
|
+
}
|
|
50040
|
+
}
|
|
50041
|
+
|
|
50004
50042
|
_attachPlugin(distanceMeasurementsPlugin, cfg = {}) {
|
|
50005
50043
|
|
|
50006
50044
|
/**
|
|
@@ -50066,6 +50104,10 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
50066
50104
|
return;
|
|
50067
50105
|
}
|
|
50068
50106
|
|
|
50107
|
+
if (!this._markerDiv) {
|
|
50108
|
+
this._initMarkerDiv();
|
|
50109
|
+
}
|
|
50110
|
+
|
|
50069
50111
|
this.fire("activated", true);
|
|
50070
50112
|
|
|
50071
50113
|
const distanceMeasurementsPlugin = this.distanceMeasurementsPlugin;
|
|
@@ -50221,6 +50263,9 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
50221
50263
|
if (this.pointerLens) {
|
|
50222
50264
|
this.pointerLens.visible = false;
|
|
50223
50265
|
}
|
|
50266
|
+
if (this._markerDiv) {
|
|
50267
|
+
this._destroyMarkerDiv();
|
|
50268
|
+
}
|
|
50224
50269
|
this.reset();
|
|
50225
50270
|
const canvas = this.scene.canvas.canvas;
|
|
50226
50271
|
canvas.removeEventListener("mousedown", this._onMouseDown);
|
|
@@ -50247,6 +50292,10 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
50247
50292
|
if (!this._active) {
|
|
50248
50293
|
return;
|
|
50249
50294
|
}
|
|
50295
|
+
|
|
50296
|
+
this._destroyMarkerDiv();
|
|
50297
|
+
this._initMarkerDiv();
|
|
50298
|
+
|
|
50250
50299
|
if (this._currentDistanceMeasurement) {
|
|
50251
50300
|
this.distanceMeasurementsPlugin.fire("measurementCancel", this._currentDistanceMeasurement);
|
|
50252
50301
|
this._currentDistanceMeasurement.destroy();
|
package/dist/xeokit-sdk.es.js
CHANGED
|
@@ -11894,7 +11894,25 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
11894
11894
|
|
|
11895
11895
|
this._currentAngleMeasurement = null;
|
|
11896
11896
|
|
|
11897
|
+
// init markerDiv element (think about making its style configurable)
|
|
11898
|
+
this._initMarkerDiv();
|
|
11899
|
+
|
|
11900
|
+
this._onMouseHoverSurface = null;
|
|
11901
|
+
this._onHoverNothing = null;
|
|
11902
|
+
this._onPickedNothing = null;
|
|
11903
|
+
this._onPickedSurface = null;
|
|
11904
|
+
|
|
11905
|
+
this._onInputMouseDown = null;
|
|
11906
|
+
this._onInputMouseUp = null;
|
|
11907
|
+
|
|
11908
|
+
this._snapping = cfg.snapping !== false;
|
|
11909
|
+
|
|
11910
|
+
this._attachPlugin(angleMeasurementsPlugin, cfg);
|
|
11911
|
+
}
|
|
11912
|
+
|
|
11913
|
+
_initMarkerDiv() {
|
|
11897
11914
|
const markerDiv = document.createElement('div');
|
|
11915
|
+
markerDiv.setAttribute('id', 'myMarkerDiv');
|
|
11898
11916
|
const canvas = this.scene.canvas.canvas;
|
|
11899
11917
|
canvas.parentNode.insertBefore(markerDiv, canvas);
|
|
11900
11918
|
|
|
@@ -11909,17 +11927,14 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
11909
11927
|
markerDiv.style.pointerEvents = "none";
|
|
11910
11928
|
|
|
11911
11929
|
this.markerDiv = markerDiv;
|
|
11912
|
-
|
|
11913
|
-
this._onHoverNothing = null;
|
|
11914
|
-
this._onPickedNothing = null;
|
|
11915
|
-
this._onPickedSurface = null;
|
|
11916
|
-
|
|
11917
|
-
this._onInputMouseDown = null;
|
|
11918
|
-
this._onInputMouseUp = null;
|
|
11919
|
-
|
|
11920
|
-
this._snapping = cfg.snapping !== false;
|
|
11930
|
+
}
|
|
11921
11931
|
|
|
11922
|
-
|
|
11932
|
+
_destroyMarkerDiv() {
|
|
11933
|
+
if (this._markerDiv) {
|
|
11934
|
+
const element = document.getElementById('myMarkerDiv');
|
|
11935
|
+
element.parentNode.removeChild(element);
|
|
11936
|
+
this._markerDiv = null;
|
|
11937
|
+
}
|
|
11923
11938
|
}
|
|
11924
11939
|
|
|
11925
11940
|
_attachPlugin(angleMeasurementsPlugin, cfg = {}) {
|
|
@@ -11987,6 +12002,9 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
11987
12002
|
if (this._active) {
|
|
11988
12003
|
return;
|
|
11989
12004
|
}
|
|
12005
|
+
if (!this.markerDiv) {
|
|
12006
|
+
this._initMarkerDiv(); // if the marker is destroyed after deactivation, we recreate it
|
|
12007
|
+
}
|
|
11990
12008
|
this.angleMeasurementsPlugin;
|
|
11991
12009
|
const scene = this.scene;
|
|
11992
12010
|
scene.input;
|
|
@@ -12191,6 +12209,9 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12191
12209
|
if (this.pointerLens) {
|
|
12192
12210
|
this.pointerLens.visible = false;
|
|
12193
12211
|
}
|
|
12212
|
+
if (this._markerDiv) {
|
|
12213
|
+
this._destroyMarkerDiv();
|
|
12214
|
+
}
|
|
12194
12215
|
this.reset();
|
|
12195
12216
|
const canvas = this.scene.canvas.canvas;
|
|
12196
12217
|
canvas.removeEventListener("mousedown", this._onMouseDown);
|
|
@@ -12215,6 +12236,10 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12215
12236
|
if (!this._active) {
|
|
12216
12237
|
return;
|
|
12217
12238
|
}
|
|
12239
|
+
|
|
12240
|
+
this._destroyMarkerDiv();
|
|
12241
|
+
this._initMarkerDiv();
|
|
12242
|
+
|
|
12218
12243
|
if (this._currentAngleMeasurement) {
|
|
12219
12244
|
this._currentAngleMeasurement.destroy();
|
|
12220
12245
|
this._currentAngleMeasurement = null;
|
|
@@ -49959,21 +49984,6 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
49959
49984
|
|
|
49960
49985
|
this._active = false;
|
|
49961
49986
|
|
|
49962
|
-
const markerDiv = document.createElement('div');
|
|
49963
|
-
const canvas = this.scene.canvas.canvas;
|
|
49964
|
-
canvas.parentNode.insertBefore(markerDiv, canvas);
|
|
49965
|
-
markerDiv.style.background = "black";
|
|
49966
|
-
markerDiv.style.border = "2px solid blue";
|
|
49967
|
-
markerDiv.style.borderRadius = "10px";
|
|
49968
|
-
markerDiv.style.width = "5px";
|
|
49969
|
-
markerDiv.style.height = "5px";
|
|
49970
|
-
markerDiv.style.margin = "-200px -200px";
|
|
49971
|
-
markerDiv.style.zIndex = "100";
|
|
49972
|
-
markerDiv.style.position = "absolute";
|
|
49973
|
-
markerDiv.style.pointerEvents = "none";
|
|
49974
|
-
|
|
49975
|
-
this._markerDiv = markerDiv;
|
|
49976
|
-
|
|
49977
49987
|
this._currentDistanceMeasurement = null;
|
|
49978
49988
|
|
|
49979
49989
|
this._currentDistanceMeasurementInitState = {
|
|
@@ -49985,6 +49995,8 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
49985
49995
|
targetVisible: null,
|
|
49986
49996
|
};
|
|
49987
49997
|
|
|
49998
|
+
this._initMarkerDiv();
|
|
49999
|
+
|
|
49988
50000
|
this._onCameraControlHoverSnapOrSurface = null;
|
|
49989
50001
|
this._onCameraControlHoverSnapOrSurfaceOff = null;
|
|
49990
50002
|
this._onMouseDown = null;
|
|
@@ -49997,6 +50009,32 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
49997
50009
|
this._attachPlugin(distanceMeasurementsPlugin, cfg);
|
|
49998
50010
|
}
|
|
49999
50011
|
|
|
50012
|
+
_initMarkerDiv() {
|
|
50013
|
+
const markerDiv = document.createElement('div');
|
|
50014
|
+
markerDiv.setAttribute('id', 'myMarkerDiv');
|
|
50015
|
+
const canvas = this.scene.canvas.canvas;
|
|
50016
|
+
canvas.parentNode.insertBefore(markerDiv, canvas);
|
|
50017
|
+
markerDiv.style.background = "black";
|
|
50018
|
+
markerDiv.style.border = "2px solid blue";
|
|
50019
|
+
markerDiv.style.borderRadius = "10px";
|
|
50020
|
+
markerDiv.style.width = "5px";
|
|
50021
|
+
markerDiv.style.height = "5px";
|
|
50022
|
+
markerDiv.style.margin = "-200px -200px";
|
|
50023
|
+
markerDiv.style.zIndex = "100";
|
|
50024
|
+
markerDiv.style.position = "absolute";
|
|
50025
|
+
markerDiv.style.pointerEvents = "none";
|
|
50026
|
+
|
|
50027
|
+
this._markerDiv = markerDiv;
|
|
50028
|
+
}
|
|
50029
|
+
|
|
50030
|
+
_destroyMarkerDiv() {
|
|
50031
|
+
if (this._markerDiv) {
|
|
50032
|
+
const element = document.getElementById('myMarkerDiv');
|
|
50033
|
+
element.parentNode.removeChild(element);
|
|
50034
|
+
this._markerDiv = null;
|
|
50035
|
+
}
|
|
50036
|
+
}
|
|
50037
|
+
|
|
50000
50038
|
_attachPlugin(distanceMeasurementsPlugin, cfg = {}) {
|
|
50001
50039
|
|
|
50002
50040
|
/**
|
|
@@ -50062,6 +50100,10 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
50062
50100
|
return;
|
|
50063
50101
|
}
|
|
50064
50102
|
|
|
50103
|
+
if (!this._markerDiv) {
|
|
50104
|
+
this._initMarkerDiv();
|
|
50105
|
+
}
|
|
50106
|
+
|
|
50065
50107
|
this.fire("activated", true);
|
|
50066
50108
|
|
|
50067
50109
|
const distanceMeasurementsPlugin = this.distanceMeasurementsPlugin;
|
|
@@ -50217,6 +50259,9 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
50217
50259
|
if (this.pointerLens) {
|
|
50218
50260
|
this.pointerLens.visible = false;
|
|
50219
50261
|
}
|
|
50262
|
+
if (this._markerDiv) {
|
|
50263
|
+
this._destroyMarkerDiv();
|
|
50264
|
+
}
|
|
50220
50265
|
this.reset();
|
|
50221
50266
|
const canvas = this.scene.canvas.canvas;
|
|
50222
50267
|
canvas.removeEventListener("mousedown", this._onMouseDown);
|
|
@@ -50243,6 +50288,10 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
50243
50288
|
if (!this._active) {
|
|
50244
50289
|
return;
|
|
50245
50290
|
}
|
|
50291
|
+
|
|
50292
|
+
this._destroyMarkerDiv();
|
|
50293
|
+
this._initMarkerDiv();
|
|
50294
|
+
|
|
50246
50295
|
if (this._currentDistanceMeasurement) {
|
|
50247
50296
|
this.distanceMeasurementsPlugin.fire("measurementCancel", this._currentDistanceMeasurement);
|
|
50248
50297
|
this._currentDistanceMeasurement.destroy();
|
package/dist/xeokit-sdk.es5.js
CHANGED
|
@@ -2949,7 +2949,8 @@ this._originDot.setVisible(this._visible&&this._originVisible);this._cornerDot.s
|
|
|
2949
2949
|
* @param {*} [cfg] Configuration
|
|
2950
2950
|
* @param {PointerLens} [cfg.pointerLens] A PointerLens to use to provide a magnified view of the cursor when snapping is enabled.
|
|
2951
2951
|
* @param {boolean} [cfg.snapping=true] Whether to initially enable snap-to-vertex and snap-to-edge for this AngleMeasurementsMouseControl.
|
|
2952
|
-
*/function AngleMeasurementsMouseControl(angleMeasurementsPlugin){var _this18;var cfg=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,AngleMeasurementsMouseControl);_this18=_super7.call(this,angleMeasurementsPlugin.viewer.scene);_this18.pointerLens=cfg.pointerLens;_this18._active=false;_this18._mouseState=MOUSE_FINDING_ORIGIN;_this18._currentAngleMeasurement=null
|
|
2952
|
+
*/function AngleMeasurementsMouseControl(angleMeasurementsPlugin){var _this18;var cfg=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,AngleMeasurementsMouseControl);_this18=_super7.call(this,angleMeasurementsPlugin.viewer.scene);_this18.pointerLens=cfg.pointerLens;_this18._active=false;_this18._mouseState=MOUSE_FINDING_ORIGIN;_this18._currentAngleMeasurement=null;// init markerDiv element (think about making its style configurable)
|
|
2953
|
+
_this18._initMarkerDiv();_this18._onMouseHoverSurface=null;_this18._onHoverNothing=null;_this18._onPickedNothing=null;_this18._onPickedSurface=null;_this18._onInputMouseDown=null;_this18._onInputMouseUp=null;_this18._snapping=cfg.snapping!==false;_this18._attachPlugin(angleMeasurementsPlugin,cfg);return _this18;}_createClass(AngleMeasurementsMouseControl,[{key:"_initMarkerDiv",value:function _initMarkerDiv(){var markerDiv=document.createElement('div');markerDiv.setAttribute('id','myMarkerDiv');var canvas=this.scene.canvas.canvas;canvas.parentNode.insertBefore(markerDiv,canvas);markerDiv.style.background="black";markerDiv.style.border="2px solid blue";markerDiv.style.borderRadius="10px";markerDiv.style.width="5px";markerDiv.style.height="5px";markerDiv.style.margin="-200px -200px";markerDiv.style.zIndex="100";markerDiv.style.position="absolute";markerDiv.style.pointerEvents="none";this.markerDiv=markerDiv;}},{key:"_destroyMarkerDiv",value:function _destroyMarkerDiv(){if(this._markerDiv){var element=document.getElementById('myMarkerDiv');element.parentNode.removeChild(element);this._markerDiv=null;}}},{key:"_attachPlugin",value:function _attachPlugin(angleMeasurementsPlugin){var cfg=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};/**
|
|
2953
2954
|
* The {@link AngleMeasurementsPlugin} that owns this AngleMeasurementsMouseControl.
|
|
2954
2955
|
*
|
|
2955
2956
|
* @type {AngleMeasurementsPlugin}
|
|
@@ -2979,17 +2980,18 @@ this._originDot.setVisible(this._visible&&this._originVisible);this._cornerDot.s
|
|
|
2979
2980
|
* @returns {boolean} Whether snap-to-vertex and snap-to-edge are enabled for this AngleMeasurementsMouseControl.
|
|
2980
2981
|
*/function get(){return this._snapping;}/**
|
|
2981
2982
|
* Activates this AngleMeasurementsMouseControl, ready to respond to input.
|
|
2982
|
-
*/,set:function set(snapping){if(snapping!==this._snapping){this._snapping=snapping;this.deactivate();this.activate();}else{this._snapping=snapping;}}},{key:"activate",value:function activate(){var _this19=this;if(this._active){return;}
|
|
2983
|
+
*/,set:function set(snapping){if(snapping!==this._snapping){this._snapping=snapping;this.deactivate();this.activate();}else{this._snapping=snapping;}}},{key:"activate",value:function activate(){var _this19=this;if(this._active){return;}if(!this.markerDiv){this._initMarkerDiv();// if the marker is destroyed after deactivation, we recreate it
|
|
2984
|
+
}this.angleMeasurementsPlugin;var scene=this.scene;scene.input;var canvas=scene.canvas.canvas;var clickTolerance=20;var cameraControl=this.angleMeasurementsPlugin.viewer.cameraControl;var pointerLens=this.pointerLens;var mouseHovering=false;var mouseHoverEntity=false;var lastMouseCanvasX=0;var lastMouseCanvasY=0;var mouseWorldPos=math.vec3();var mouseHoverCanvasPos=math.vec2();this._currentAngleMeasurement=null;this._onMouseHoverSurface=cameraControl.on(this._snapping?"hoverSnapOrSurface":"hoverSurface",function(event){if(event.snappedToVertex||event.snappedToEdge){if(pointerLens){pointerLens.visible=true;pointerLens.canvasPos=event.canvasPos;pointerLens.snappedCanvasPos=event.snappedCanvasPos||event.canvasPos;pointerLens.snapped=true;}_this19.markerDiv.style.background="greenyellow";_this19.markerDiv.style.border="2px solid green";}else{if(pointerLens){pointerLens.visible=true;pointerLens.canvasPos=event.canvasPos;pointerLens.snappedCanvasPos=event.canvasPos;pointerLens.snapped=false;}_this19.markerDiv.style.background="pink";_this19.markerDiv.style.border="2px solid red";}var canvasPos=event.snappedCanvasPos||event.canvasPos;mouseHovering=true;mouseHoverEntity=event.entity;mouseWorldPos.set(event.worldPos);mouseHoverCanvasPos.set(canvasPos);switch(_this19._mouseState){case MOUSE_FINDING_ORIGIN:_this19.markerDiv.style.marginLeft="".concat(canvasPos[0]-5,"px");_this19.markerDiv.style.marginTop="".concat(canvasPos[1]-5,"px");break;case MOUSE_FINDING_CORNER:if(_this19._currentAngleMeasurement){_this19._currentAngleMeasurement.originWireVisible=true;_this19._currentAngleMeasurement.targetWireVisible=false;_this19._currentAngleMeasurement.cornerVisible=true;_this19._currentAngleMeasurement.angleVisible=false;_this19._currentAngleMeasurement.corner.worldPos=event.worldPos;}_this19.markerDiv.style.marginLeft="-10000px";_this19.markerDiv.style.marginTop="-10000px";canvas.style.cursor="pointer";break;case MOUSE_FINDING_TARGET:if(_this19._currentAngleMeasurement){_this19._currentAngleMeasurement.targetWireVisible=true;_this19._currentAngleMeasurement.targetVisible=true;_this19._currentAngleMeasurement.angleVisible=true;_this19._currentAngleMeasurement.target.worldPos=event.worldPos;}_this19.markerDiv.style.marginLeft="-10000px";_this19.markerDiv.style.marginTop="-10000px";canvas.style.cursor="pointer";break;}});canvas.addEventListener('mousedown',this._onMouseDown=function(e){if(e.which!==1){return;}lastMouseCanvasX=e.clientX;lastMouseCanvasY=e.clientY;});canvas.addEventListener("mouseup",this._onMouseUp=function(e){if(e.which!==1){return;}if(e.clientX>lastMouseCanvasX+clickTolerance||e.clientX<lastMouseCanvasX-clickTolerance||e.clientY>lastMouseCanvasY+clickTolerance||e.clientY<lastMouseCanvasY-clickTolerance){return;}switch(_this19._mouseState){case MOUSE_FINDING_ORIGIN:if(mouseHovering){_this19._currentAngleMeasurement=_this19.angleMeasurementsPlugin.createMeasurement({id:math.createUUID(),origin:{entity:mouseHoverEntity,worldPos:mouseWorldPos},corner:{entity:mouseHoverEntity,worldPos:mouseWorldPos},target:{entity:mouseHoverEntity,worldPos:mouseWorldPos},approximate:true});_this19._currentAngleMeasurement.clickable=false;_this19._currentAngleMeasurement.originVisible=true;_this19._currentAngleMeasurement.originWireVisible=true;_this19._currentAngleMeasurement.cornerVisible=false;_this19._currentAngleMeasurement.targetWireVisible=false;_this19._currentAngleMeasurement.targetVisible=false;_this19._currentAngleMeasurement.angleVisible=false;_this19._mouseState=MOUSE_FINDING_CORNER;_this19.angleMeasurementsPlugin.fire("measurementStart",_this19._currentAngleMeasurement);}break;case MOUSE_FINDING_CORNER:if(mouseHovering){_this19._currentAngleMeasurement.targetWireVisible=false;_this19._currentAngleMeasurement.targetVisible=true;_this19._currentAngleMeasurement.angleVisible=true;_this19._mouseState=MOUSE_FINDING_TARGET;}else{if(_this19._currentAngleMeasurement){_this19._currentAngleMeasurement.destroy();_this19._currentAngleMeasurement=null;_this19._mouseState=MOUSE_FINDING_ORIGIN;_this19.angleMeasurementsPlugin.fire("measurementCancel",_this19._currentAngleMeasurement);}}break;case MOUSE_FINDING_TARGET:if(mouseHovering){_this19._currentAngleMeasurement.targetVisible=true;_this19._currentAngleMeasurement.angleVisible=true;_this19._currentAngleMeasurement.clickable=true;_this19.angleMeasurementsPlugin.fire("measurementEnd",_this19._currentAngleMeasurement);_this19._currentAngleMeasurement=null;_this19._mouseState=MOUSE_FINDING_ORIGIN;}else{if(_this19._currentAngleMeasurement){_this19._currentAngleMeasurement.destroy();_this19._currentAngleMeasurement=null;_this19._mouseState=MOUSE_FINDING_ORIGIN;_this19.angleMeasurementsPlugin.fire("measurementCancel",_this19._currentAngleMeasurement);}}break;}});this._onMouseHoverOff=cameraControl.on(this._snapping?"hoverSnapOrSurfaceOff":"hoverOff",function(event){mouseHovering=false;if(pointerLens){pointerLens.visible=true;pointerLens.pointerPos=event.canvasPos;pointerLens.snappedCanvasPos=event.snappedCanvasPos||event.canvasPos;pointerLens.snapped=false;}_this19.markerDiv.style.marginLeft="-100px";_this19.markerDiv.style.marginTop="-100px";if(_this19._currentAngleMeasurement){switch(_this19._mouseState){case MOUSE_FINDING_ORIGIN:_this19._currentAngleMeasurement.originVisible=false;break;case MOUSE_FINDING_CORNER:_this19._currentAngleMeasurement.cornerVisible=false;_this19._currentAngleMeasurement.originWireVisible=false;_this19._currentAngleMeasurement.targetVisible=false;_this19._currentAngleMeasurement.targetWireVisible=false;_this19._currentAngleMeasurement.angleVisible=false;break;case MOUSE_FINDING_TARGET:_this19._currentAngleMeasurement.targetVisible=false;_this19._currentAngleMeasurement.targetWireVisible=false;_this19._currentAngleMeasurement.angleVisible=false;break;}canvas.style.cursor="default";}});this._active=true;}/**
|
|
2983
2985
|
* Deactivates this AngleMeasurementsMouseControl, making it unresponsive to input.
|
|
2984
2986
|
*
|
|
2985
2987
|
* Destroys any {@link AngleMeasurement} under construction by this AngleMeasurementsMouseControl.
|
|
2986
|
-
*/},{key:"deactivate",value:function deactivate(){if(!this._active){return;}if(this.pointerLens){this.pointerLens.visible=false;}this.reset();var canvas=this.scene.canvas.canvas;canvas.removeEventListener("mousedown",this._onMouseDown);canvas.removeEventListener("mouseup",this._onMouseUp);var cameraControl=this.angleMeasurementsPlugin.viewer.cameraControl;cameraControl.off(this._onMouseHoverSurface);cameraControl.off(this._onPickedSurface);cameraControl.off(this._onHoverNothing);cameraControl.off(this._onPickedNothing);this._currentAngleMeasurement=null;this._active=false;}/**
|
|
2988
|
+
*/},{key:"deactivate",value:function deactivate(){if(!this._active){return;}if(this.pointerLens){this.pointerLens.visible=false;}if(this._markerDiv){this._destroyMarkerDiv();}this.reset();var canvas=this.scene.canvas.canvas;canvas.removeEventListener("mousedown",this._onMouseDown);canvas.removeEventListener("mouseup",this._onMouseUp);var cameraControl=this.angleMeasurementsPlugin.viewer.cameraControl;cameraControl.off(this._onMouseHoverSurface);cameraControl.off(this._onPickedSurface);cameraControl.off(this._onHoverNothing);cameraControl.off(this._onPickedNothing);this._currentAngleMeasurement=null;this._active=false;}/**
|
|
2987
2989
|
* Resets this AngleMeasurementsMouseControl.
|
|
2988
2990
|
*
|
|
2989
2991
|
* Destroys any {@link AngleMeasurement} under construction by this AngleMeasurementsMouseControl.
|
|
2990
2992
|
*
|
|
2991
2993
|
* Does nothing if the AngleMeasurementsMouseControl is not active.
|
|
2992
|
-
*/},{key:"reset",value:function reset(){if(!this._active){return;}if(this._currentAngleMeasurement){this._currentAngleMeasurement.destroy();this._currentAngleMeasurement=null;}this._mouseState=MOUSE_FINDING_ORIGIN;}/**
|
|
2994
|
+
*/},{key:"reset",value:function reset(){if(!this._active){return;}this._destroyMarkerDiv();this._initMarkerDiv();if(this._currentAngleMeasurement){this._currentAngleMeasurement.destroy();this._currentAngleMeasurement=null;}this._mouseState=MOUSE_FINDING_ORIGIN;}/**
|
|
2993
2995
|
* Destroys this AngleMeasurementsMouseControl.
|
|
2994
2996
|
*/},{key:"destroy",value:function destroy(){this.deactivate();_get(_getPrototypeOf(AngleMeasurementsMouseControl.prototype),"destroy",this).call(this);}}]);return AngleMeasurementsMouseControl;}(AngleMeasurementsControl);/**
|
|
2995
2997
|
* {@link Viewer} plugin for measuring angles.
|
|
@@ -14486,7 +14488,7 @@ this._originDot.setVisible(this._visible&&this._originVisible);this._targetDot.s
|
|
|
14486
14488
|
* @param [cfg] Configuration
|
|
14487
14489
|
* @param {PointerLens} [cfg.pointerLens] A PointerLens to use to provide a magnified view of the cursor when snapping is enabled.
|
|
14488
14490
|
* @param {boolean} [cfg.snapping=true] Whether to initially enable snap-to-vertex and snap-to-edge for this DistanceMeasurementsMouseControl.
|
|
14489
|
-
*/function DistanceMeasurementsMouseControl(distanceMeasurementsPlugin){var _this71;var cfg=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,DistanceMeasurementsMouseControl);_this71=_super49.call(this,distanceMeasurementsPlugin.viewer.scene);_this71.pointerLens=cfg.pointerLens;_this71._active=false;var markerDiv=document.createElement('div');var canvas=
|
|
14491
|
+
*/function DistanceMeasurementsMouseControl(distanceMeasurementsPlugin){var _this71;var cfg=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,DistanceMeasurementsMouseControl);_this71=_super49.call(this,distanceMeasurementsPlugin.viewer.scene);_this71.pointerLens=cfg.pointerLens;_this71._active=false;_this71._currentDistanceMeasurement=null;_this71._currentDistanceMeasurementInitState={wireVisible:null,axisVisible:null,xAxisVisible:null,yaxisVisible:null,zAxisVisible:null,targetVisible:null};_this71._initMarkerDiv();_this71._onCameraControlHoverSnapOrSurface=null;_this71._onCameraControlHoverSnapOrSurfaceOff=null;_this71._onMouseDown=null;_this71._onMouseUp=null;_this71._onCanvasTouchStart=null;_this71._onCanvasTouchEnd=null;_this71._snapping=cfg.snapping!==false;_this71._mouseState=MOUSE_FIRST_CLICK_EXPECTED;_this71._attachPlugin(distanceMeasurementsPlugin,cfg);return _this71;}_createClass(DistanceMeasurementsMouseControl,[{key:"_initMarkerDiv",value:function _initMarkerDiv(){var markerDiv=document.createElement('div');markerDiv.setAttribute('id','myMarkerDiv');var canvas=this.scene.canvas.canvas;canvas.parentNode.insertBefore(markerDiv,canvas);markerDiv.style.background="black";markerDiv.style.border="2px solid blue";markerDiv.style.borderRadius="10px";markerDiv.style.width="5px";markerDiv.style.height="5px";markerDiv.style.margin="-200px -200px";markerDiv.style.zIndex="100";markerDiv.style.position="absolute";markerDiv.style.pointerEvents="none";this._markerDiv=markerDiv;}},{key:"_destroyMarkerDiv",value:function _destroyMarkerDiv(){if(this._markerDiv){var element=document.getElementById('myMarkerDiv');element.parentNode.removeChild(element);this._markerDiv=null;}}},{key:"_attachPlugin",value:function _attachPlugin(distanceMeasurementsPlugin){var cfg=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};/**
|
|
14490
14492
|
* The {@link DistanceMeasurementsPlugin} that owns this DistanceMeasurementsMouseControl.
|
|
14491
14493
|
* @type {DistanceMeasurementsPlugin}
|
|
14492
14494
|
*/this.distanceMeasurementsPlugin=distanceMeasurementsPlugin;/**
|
|
@@ -14514,17 +14516,17 @@ this._originDot.setVisible(this._visible&&this._originVisible);this._targetDot.s
|
|
|
14514
14516
|
* @returns {boolean} Whether snap-to-vertex and snap-to-edge are enabled for this DistanceMeasurementsMouseControl.
|
|
14515
14517
|
*/function get(){return this._snapping;}/**
|
|
14516
14518
|
* Activates this DistanceMeasurementsMouseControl, ready to respond to input.
|
|
14517
|
-
*/,set:function set(snapping){if(snapping!==this._snapping){this._snapping=snapping;this.deactivate();this.activate();}else{this._snapping=snapping;}}},{key:"activate",value:function activate(){var _this72=this;if(this._active){return;}this.fire("activated",true);var distanceMeasurementsPlugin=this.distanceMeasurementsPlugin;var scene=this.scene;var cameraControl=distanceMeasurementsPlugin.viewer.cameraControl;var canvas=scene.canvas.canvas;scene.input;var mouseHovering=false;var pointerWorldPos=math.vec3();var pointerCanvasPos=math.vec2();var pointerDownCanvasX;var pointerDownCanvasY;var clickTolerance=20;this._mouseState=MOUSE_FIRST_CLICK_EXPECTED;this._onCameraControlHoverSnapOrSurface=cameraControl.on(this._snapping?"hoverSnapOrSurface":"hoverSurface",function(event){var canvasPos=event.snappedCanvasPos||event.canvasPos;mouseHovering=true;pointerWorldPos.set(event.worldPos);pointerCanvasPos.set(event.canvasPos);if(_this72._mouseState===MOUSE_FIRST_CLICK_EXPECTED){_this72._markerDiv.style.marginLeft="".concat(canvasPos[0]-5,"px");_this72._markerDiv.style.marginTop="".concat(canvasPos[1]-5,"px");_this72._markerDiv.style.background="pink";if(event.snappedToVertex||event.snappedToEdge){if(_this72.pointerLens){_this72.pointerLens.visible=true;_this72.pointerLens.canvasPos=event.canvasPos;_this72.pointerLens.snappedCanvasPos=event.snappedCanvasPos||event.canvasPos;_this72.pointerLens.snapped=true;}_this72._markerDiv.style.background="greenyellow";_this72._markerDiv.style.border="2px solid green";}else{if(_this72.pointerLens){_this72.pointerLens.visible=true;_this72.pointerLens.canvasPos=event.canvasPos;_this72.pointerLens.snappedCanvasPos=event.canvasPos;_this72.pointerLens.snapped=false;}_this72._markerDiv.style.background="pink";_this72._markerDiv.style.border="2px solid red";}}else{_this72._markerDiv.style.marginLeft="-10000px";_this72._markerDiv.style.marginTop="-10000px";}canvas.style.cursor="pointer";if(_this72._currentDistanceMeasurement){_this72._currentDistanceMeasurement.wireVisible=_this72._currentDistanceMeasurementInitState.wireVisible;_this72._currentDistanceMeasurement.axisVisible=_this72._currentDistanceMeasurementInitState.axisVisible&&_this72.distanceMeasurementsPlugin.defaultAxisVisible;_this72._currentDistanceMeasurement.xAxisVisible=_this72._currentDistanceMeasurementInitState.xAxisVisible&&_this72.distanceMeasurementsPlugin.defaultXAxisVisible;_this72._currentDistanceMeasurement.yAxisVisible=_this72._currentDistanceMeasurementInitState.yAxisVisible&&_this72.distanceMeasurementsPlugin.defaultYAxisVisible;_this72._currentDistanceMeasurement.zAxisVisible=_this72._currentDistanceMeasurementInitState.zAxisVisible&&_this72.distanceMeasurementsPlugin.defaultZAxisVisible;_this72._currentDistanceMeasurement.targetVisible=_this72._currentDistanceMeasurementInitState.targetVisible;_this72._currentDistanceMeasurement.target.worldPos=pointerWorldPos.slice();_this72._markerDiv.style.marginLeft="-10000px";_this72._markerDiv.style.marginTop="-10000px";}});canvas.addEventListener('mousedown',this._onMouseDown=function(e){if(e.which!==1){return;}pointerDownCanvasX=e.clientX;pointerDownCanvasY=e.clientY;});canvas.addEventListener("mouseup",this._onMouseUp=function(e){if(e.which!==1){return;}if(e.clientX>pointerDownCanvasX+clickTolerance||e.clientX<pointerDownCanvasX-clickTolerance||e.clientY>pointerDownCanvasY+clickTolerance||e.clientY<pointerDownCanvasY-clickTolerance){return;}if(_this72._currentDistanceMeasurement){if(mouseHovering){_this72._currentDistanceMeasurement.clickable=true;_this72.distanceMeasurementsPlugin.fire("measurementEnd",_this72._currentDistanceMeasurement);_this72._currentDistanceMeasurement=null;}else{_this72._currentDistanceMeasurement.destroy();_this72.distanceMeasurementsPlugin.fire("measurementCancel",_this72._currentDistanceMeasurement);_this72._currentDistanceMeasurement=null;}}else{if(mouseHovering){_this72._currentDistanceMeasurement=distanceMeasurementsPlugin.createMeasurement({id:math.createUUID(),origin:{worldPos:pointerWorldPos.slice()},target:{worldPos:pointerWorldPos.slice()},approximate:true});_this72._currentDistanceMeasurementInitState.axisVisible=_this72._currentDistanceMeasurement.axisVisible&&_this72.distanceMeasurementsPlugin.defaultAxisVisible;_this72._currentDistanceMeasurementInitState.xAxisVisible=_this72._currentDistanceMeasurement.xAxisVisible&&_this72.distanceMeasurementsPlugin.defaultXAxisVisible;_this72._currentDistanceMeasurementInitState.yAxisVisible=_this72._currentDistanceMeasurement.yAxisVisible&&_this72.distanceMeasurementsPlugin.defaultYAxisVisible;_this72._currentDistanceMeasurementInitState.zAxisVisible=_this72._currentDistanceMeasurement.zAxisVisible&&_this72.distanceMeasurementsPlugin.defaultZAxisVisible;_this72._currentDistanceMeasurementInitState.wireVisible=_this72._currentDistanceMeasurement.wireVisible;_this72._currentDistanceMeasurementInitState.targetVisible=_this72._currentDistanceMeasurement.targetVisible;_this72._currentDistanceMeasurement.clickable=false;_this72.fire("measurementStart",_this72._currentDistanceMeasurement);}}});this._onCameraControlHoverSnapOrSurfaceOff=cameraControl.on(this._snapping?"hoverSnapOrSurfaceOff":"hoverOff",function(event){if(_this72.pointerLens){_this72.pointerLens.visible=true;_this72.pointerLens.canvasPos=event.canvasPos;_this72.pointerLens.snappedCanvasPos=event.snappedCanvasPos||event.canvasPos;}mouseHovering=false;_this72._markerDiv.style.marginLeft="-100px";_this72._markerDiv.style.marginTop="-100px";if(_this72._currentDistanceMeasurement){_this72._currentDistanceMeasurement.wireVisible=false;_this72._currentDistanceMeasurement.targetVisible=false;_this72._currentDistanceMeasurement.axisVisible=false;}canvas.style.cursor="default";});this._active=true;}/**
|
|
14519
|
+
*/,set:function set(snapping){if(snapping!==this._snapping){this._snapping=snapping;this.deactivate();this.activate();}else{this._snapping=snapping;}}},{key:"activate",value:function activate(){var _this72=this;if(this._active){return;}if(!this._markerDiv){this._initMarkerDiv();}this.fire("activated",true);var distanceMeasurementsPlugin=this.distanceMeasurementsPlugin;var scene=this.scene;var cameraControl=distanceMeasurementsPlugin.viewer.cameraControl;var canvas=scene.canvas.canvas;scene.input;var mouseHovering=false;var pointerWorldPos=math.vec3();var pointerCanvasPos=math.vec2();var pointerDownCanvasX;var pointerDownCanvasY;var clickTolerance=20;this._mouseState=MOUSE_FIRST_CLICK_EXPECTED;this._onCameraControlHoverSnapOrSurface=cameraControl.on(this._snapping?"hoverSnapOrSurface":"hoverSurface",function(event){var canvasPos=event.snappedCanvasPos||event.canvasPos;mouseHovering=true;pointerWorldPos.set(event.worldPos);pointerCanvasPos.set(event.canvasPos);if(_this72._mouseState===MOUSE_FIRST_CLICK_EXPECTED){_this72._markerDiv.style.marginLeft="".concat(canvasPos[0]-5,"px");_this72._markerDiv.style.marginTop="".concat(canvasPos[1]-5,"px");_this72._markerDiv.style.background="pink";if(event.snappedToVertex||event.snappedToEdge){if(_this72.pointerLens){_this72.pointerLens.visible=true;_this72.pointerLens.canvasPos=event.canvasPos;_this72.pointerLens.snappedCanvasPos=event.snappedCanvasPos||event.canvasPos;_this72.pointerLens.snapped=true;}_this72._markerDiv.style.background="greenyellow";_this72._markerDiv.style.border="2px solid green";}else{if(_this72.pointerLens){_this72.pointerLens.visible=true;_this72.pointerLens.canvasPos=event.canvasPos;_this72.pointerLens.snappedCanvasPos=event.canvasPos;_this72.pointerLens.snapped=false;}_this72._markerDiv.style.background="pink";_this72._markerDiv.style.border="2px solid red";}}else{_this72._markerDiv.style.marginLeft="-10000px";_this72._markerDiv.style.marginTop="-10000px";}canvas.style.cursor="pointer";if(_this72._currentDistanceMeasurement){_this72._currentDistanceMeasurement.wireVisible=_this72._currentDistanceMeasurementInitState.wireVisible;_this72._currentDistanceMeasurement.axisVisible=_this72._currentDistanceMeasurementInitState.axisVisible&&_this72.distanceMeasurementsPlugin.defaultAxisVisible;_this72._currentDistanceMeasurement.xAxisVisible=_this72._currentDistanceMeasurementInitState.xAxisVisible&&_this72.distanceMeasurementsPlugin.defaultXAxisVisible;_this72._currentDistanceMeasurement.yAxisVisible=_this72._currentDistanceMeasurementInitState.yAxisVisible&&_this72.distanceMeasurementsPlugin.defaultYAxisVisible;_this72._currentDistanceMeasurement.zAxisVisible=_this72._currentDistanceMeasurementInitState.zAxisVisible&&_this72.distanceMeasurementsPlugin.defaultZAxisVisible;_this72._currentDistanceMeasurement.targetVisible=_this72._currentDistanceMeasurementInitState.targetVisible;_this72._currentDistanceMeasurement.target.worldPos=pointerWorldPos.slice();_this72._markerDiv.style.marginLeft="-10000px";_this72._markerDiv.style.marginTop="-10000px";}});canvas.addEventListener('mousedown',this._onMouseDown=function(e){if(e.which!==1){return;}pointerDownCanvasX=e.clientX;pointerDownCanvasY=e.clientY;});canvas.addEventListener("mouseup",this._onMouseUp=function(e){if(e.which!==1){return;}if(e.clientX>pointerDownCanvasX+clickTolerance||e.clientX<pointerDownCanvasX-clickTolerance||e.clientY>pointerDownCanvasY+clickTolerance||e.clientY<pointerDownCanvasY-clickTolerance){return;}if(_this72._currentDistanceMeasurement){if(mouseHovering){_this72._currentDistanceMeasurement.clickable=true;_this72.distanceMeasurementsPlugin.fire("measurementEnd",_this72._currentDistanceMeasurement);_this72._currentDistanceMeasurement=null;}else{_this72._currentDistanceMeasurement.destroy();_this72.distanceMeasurementsPlugin.fire("measurementCancel",_this72._currentDistanceMeasurement);_this72._currentDistanceMeasurement=null;}}else{if(mouseHovering){_this72._currentDistanceMeasurement=distanceMeasurementsPlugin.createMeasurement({id:math.createUUID(),origin:{worldPos:pointerWorldPos.slice()},target:{worldPos:pointerWorldPos.slice()},approximate:true});_this72._currentDistanceMeasurementInitState.axisVisible=_this72._currentDistanceMeasurement.axisVisible&&_this72.distanceMeasurementsPlugin.defaultAxisVisible;_this72._currentDistanceMeasurementInitState.xAxisVisible=_this72._currentDistanceMeasurement.xAxisVisible&&_this72.distanceMeasurementsPlugin.defaultXAxisVisible;_this72._currentDistanceMeasurementInitState.yAxisVisible=_this72._currentDistanceMeasurement.yAxisVisible&&_this72.distanceMeasurementsPlugin.defaultYAxisVisible;_this72._currentDistanceMeasurementInitState.zAxisVisible=_this72._currentDistanceMeasurement.zAxisVisible&&_this72.distanceMeasurementsPlugin.defaultZAxisVisible;_this72._currentDistanceMeasurementInitState.wireVisible=_this72._currentDistanceMeasurement.wireVisible;_this72._currentDistanceMeasurementInitState.targetVisible=_this72._currentDistanceMeasurement.targetVisible;_this72._currentDistanceMeasurement.clickable=false;_this72.fire("measurementStart",_this72._currentDistanceMeasurement);}}});this._onCameraControlHoverSnapOrSurfaceOff=cameraControl.on(this._snapping?"hoverSnapOrSurfaceOff":"hoverOff",function(event){if(_this72.pointerLens){_this72.pointerLens.visible=true;_this72.pointerLens.canvasPos=event.canvasPos;_this72.pointerLens.snappedCanvasPos=event.snappedCanvasPos||event.canvasPos;}mouseHovering=false;_this72._markerDiv.style.marginLeft="-100px";_this72._markerDiv.style.marginTop="-100px";if(_this72._currentDistanceMeasurement){_this72._currentDistanceMeasurement.wireVisible=false;_this72._currentDistanceMeasurement.targetVisible=false;_this72._currentDistanceMeasurement.axisVisible=false;}canvas.style.cursor="default";});this._active=true;}/**
|
|
14518
14520
|
* Deactivates this DistanceMeasurementsMouseControl, making it unresponsive to input.
|
|
14519
14521
|
*
|
|
14520
14522
|
* Destroys any {@link DistanceMeasurement} under construction by this DistanceMeasurementsMouseControl.
|
|
14521
|
-
*/},{key:"deactivate",value:function deactivate(){if(!this._active){return;}this.fire("activated",false);if(this.pointerLens){this.pointerLens.visible=false;}this.reset();var canvas=this.scene.canvas.canvas;canvas.removeEventListener("mousedown",this._onMouseDown);canvas.removeEventListener("mouseup",this._onMouseUp);var cameraControl=this.distanceMeasurementsPlugin.viewer.cameraControl;cameraControl.off(this._onCameraControlHoverSnapOrSurface);cameraControl.off(this._onCameraControlHoverSnapOrSurfaceOff);if(this._currentDistanceMeasurement){this.distanceMeasurementsPlugin.fire("measurementCancel",this._currentDistanceMeasurement);this._currentDistanceMeasurement.destroy();this._currentDistanceMeasurement=null;}this._active=false;}/**
|
|
14523
|
+
*/},{key:"deactivate",value:function deactivate(){if(!this._active){return;}this.fire("activated",false);if(this.pointerLens){this.pointerLens.visible=false;}if(this._markerDiv){this._destroyMarkerDiv();}this.reset();var canvas=this.scene.canvas.canvas;canvas.removeEventListener("mousedown",this._onMouseDown);canvas.removeEventListener("mouseup",this._onMouseUp);var cameraControl=this.distanceMeasurementsPlugin.viewer.cameraControl;cameraControl.off(this._onCameraControlHoverSnapOrSurface);cameraControl.off(this._onCameraControlHoverSnapOrSurfaceOff);if(this._currentDistanceMeasurement){this.distanceMeasurementsPlugin.fire("measurementCancel",this._currentDistanceMeasurement);this._currentDistanceMeasurement.destroy();this._currentDistanceMeasurement=null;}this._active=false;}/**
|
|
14522
14524
|
* Resets this DistanceMeasurementsMouseControl.
|
|
14523
14525
|
*
|
|
14524
14526
|
* Destroys any {@link DistanceMeasurement} under construction by this DistanceMeasurementsMouseControl.
|
|
14525
14527
|
*
|
|
14526
14528
|
* Does nothing if the DistanceMeasurementsMouseControl is not active.
|
|
14527
|
-
*/},{key:"reset",value:function reset(){if(!this._active){return;}if(this._currentDistanceMeasurement){this.distanceMeasurementsPlugin.fire("measurementCancel",this._currentDistanceMeasurement);this._currentDistanceMeasurement.destroy();this._currentDistanceMeasurement=null;}}/**
|
|
14529
|
+
*/},{key:"reset",value:function reset(){if(!this._active){return;}this._destroyMarkerDiv();this._initMarkerDiv();if(this._currentDistanceMeasurement){this.distanceMeasurementsPlugin.fire("measurementCancel",this._currentDistanceMeasurement);this._currentDistanceMeasurement.destroy();this._currentDistanceMeasurement=null;}}/**
|
|
14528
14530
|
* Destroys this DistanceMeasurementsMouseControl.
|
|
14529
14531
|
*
|
|
14530
14532
|
* Destroys any {@link DistanceMeasurement} under construction by this DistanceMeasurementsMouseControl.
|