@xeokit/xeokit-sdk 2.4.2-beta-39 → 2.4.2-beta-41
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 +17 -5
- package/dist/xeokit-sdk.es.js +17 -5
- package/dist/xeokit-sdk.es5.js +2 -2
- 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 +3 -3
- package/package.json +1 -1
- package/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsMouseControl.js +10 -5
- package/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsMouseControl.js +7 -0
package/dist/xeokit-sdk.cjs.js
CHANGED
|
@@ -12015,7 +12015,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12015
12015
|
const cameraControl = this.angleMeasurementsPlugin.viewer.cameraControl;
|
|
12016
12016
|
const pointerLens = this.pointerLens;
|
|
12017
12017
|
let mouseHovering = false;
|
|
12018
|
-
let
|
|
12018
|
+
let hoveredEntity = null;
|
|
12019
12019
|
let lastMouseCanvasX = 0;
|
|
12020
12020
|
let lastMouseCanvasY = 0;
|
|
12021
12021
|
const mouseWorldPos = math.vec3();
|
|
@@ -12047,7 +12047,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12047
12047
|
}
|
|
12048
12048
|
const canvasPos = event.snappedCanvasPos || event.canvasPos;
|
|
12049
12049
|
mouseHovering = true;
|
|
12050
|
-
|
|
12050
|
+
hoveredEntity = event.entity;
|
|
12051
12051
|
mouseWorldPos.set(event.worldPos);
|
|
12052
12052
|
mouseHoverCanvasPos.set(canvasPos);
|
|
12053
12053
|
switch (this._mouseState) {
|
|
@@ -12062,6 +12062,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12062
12062
|
this._currentAngleMeasurement.cornerVisible = true;
|
|
12063
12063
|
this._currentAngleMeasurement.angleVisible = false;
|
|
12064
12064
|
this._currentAngleMeasurement.corner.worldPos = event.worldPos;
|
|
12065
|
+
this._currentAngleMeasurement.corner.entity = event.entity;
|
|
12065
12066
|
}
|
|
12066
12067
|
this.markerDiv.style.marginLeft = `-10000px`;
|
|
12067
12068
|
this.markerDiv.style.marginTop = `-10000px`;
|
|
@@ -12073,6 +12074,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12073
12074
|
this._currentAngleMeasurement.targetVisible = true;
|
|
12074
12075
|
this._currentAngleMeasurement.angleVisible = true;
|
|
12075
12076
|
this._currentAngleMeasurement.target.worldPos = event.worldPos;
|
|
12077
|
+
this._currentAngleMeasurement.target.entity = event.entity;
|
|
12076
12078
|
}
|
|
12077
12079
|
this.markerDiv.style.marginLeft = `-10000px`;
|
|
12078
12080
|
this.markerDiv.style.marginTop = `-10000px`;
|
|
@@ -12103,15 +12105,12 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12103
12105
|
this._currentAngleMeasurement = this.angleMeasurementsPlugin.createMeasurement({
|
|
12104
12106
|
id: math.createUUID(),
|
|
12105
12107
|
origin: {
|
|
12106
|
-
entity: mouseHoverEntity,
|
|
12107
12108
|
worldPos: mouseWorldPos
|
|
12108
12109
|
},
|
|
12109
12110
|
corner: {
|
|
12110
|
-
entity: mouseHoverEntity,
|
|
12111
12111
|
worldPos: mouseWorldPos
|
|
12112
12112
|
},
|
|
12113
12113
|
target: {
|
|
12114
|
-
entity: mouseHoverEntity,
|
|
12115
12114
|
worldPos: mouseWorldPos
|
|
12116
12115
|
},
|
|
12117
12116
|
approximate: true
|
|
@@ -12123,6 +12122,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12123
12122
|
this._currentAngleMeasurement.targetWireVisible = false;
|
|
12124
12123
|
this._currentAngleMeasurement.targetVisible = false;
|
|
12125
12124
|
this._currentAngleMeasurement.angleVisible = false;
|
|
12125
|
+
this._currentAngleMeasurement.origin.entity = hoveredEntity;
|
|
12126
12126
|
this._mouseState = MOUSE_FINDING_CORNER;
|
|
12127
12127
|
this.angleMeasurementsPlugin.fire("measurementStart", this._currentAngleMeasurement);
|
|
12128
12128
|
}
|
|
@@ -12132,11 +12132,13 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12132
12132
|
this._currentAngleMeasurement.targetWireVisible = false;
|
|
12133
12133
|
this._currentAngleMeasurement.targetVisible = true;
|
|
12134
12134
|
this._currentAngleMeasurement.angleVisible = true;
|
|
12135
|
+
this._currentAngleMeasurement.corner.entity = hoveredEntity;
|
|
12135
12136
|
this._mouseState = MOUSE_FINDING_TARGET;
|
|
12136
12137
|
} else {
|
|
12137
12138
|
if (this._currentAngleMeasurement) {
|
|
12138
12139
|
this._currentAngleMeasurement.destroy();
|
|
12139
12140
|
this._currentAngleMeasurement = null;
|
|
12141
|
+
hoveredEntity = null;
|
|
12140
12142
|
this._mouseState = MOUSE_FINDING_ORIGIN;
|
|
12141
12143
|
this.angleMeasurementsPlugin.fire("measurementCancel", this._currentAngleMeasurement);
|
|
12142
12144
|
}
|
|
@@ -12146,7 +12148,9 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12146
12148
|
if (mouseHovering) {
|
|
12147
12149
|
this._currentAngleMeasurement.targetVisible = true;
|
|
12148
12150
|
this._currentAngleMeasurement.angleVisible = true;
|
|
12151
|
+
this._currentAngleMeasurement.target.entity = hoveredEntity;
|
|
12149
12152
|
this._currentAngleMeasurement.clickable = true;
|
|
12153
|
+
hoveredEntity = null;
|
|
12150
12154
|
this.angleMeasurementsPlugin.fire("measurementEnd", this._currentAngleMeasurement);
|
|
12151
12155
|
this._currentAngleMeasurement = null;
|
|
12152
12156
|
this._mouseState = MOUSE_FINDING_ORIGIN;
|
|
@@ -12154,6 +12158,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12154
12158
|
if (this._currentAngleMeasurement) {
|
|
12155
12159
|
this._currentAngleMeasurement.destroy();
|
|
12156
12160
|
this._currentAngleMeasurement = null;
|
|
12161
|
+
hoveredEntity = null;
|
|
12157
12162
|
this._mouseState = MOUSE_FINDING_ORIGIN;
|
|
12158
12163
|
this.angleMeasurementsPlugin.fire("measurementCancel", this._currentAngleMeasurement);
|
|
12159
12164
|
}
|
|
@@ -50120,6 +50125,7 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
50120
50125
|
let pointerDownCanvasX;
|
|
50121
50126
|
let pointerDownCanvasY;
|
|
50122
50127
|
const clickTolerance = 20;
|
|
50128
|
+
let hoveredEntity = null;
|
|
50123
50129
|
|
|
50124
50130
|
this._mouseState = MOUSE_FIRST_CLICK_EXPECTED;
|
|
50125
50131
|
|
|
@@ -50154,6 +50160,7 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
50154
50160
|
this._markerDiv.style.background = "pink";
|
|
50155
50161
|
this._markerDiv.style.border = "2px solid red";
|
|
50156
50162
|
}
|
|
50163
|
+
hoveredEntity = event.entity;
|
|
50157
50164
|
} else {
|
|
50158
50165
|
this._markerDiv.style.marginLeft = `-10000px`;
|
|
50159
50166
|
this._markerDiv.style.marginTop = `-10000px`;
|
|
@@ -50192,6 +50199,8 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
50192
50199
|
}
|
|
50193
50200
|
if (this._currentDistanceMeasurement) {
|
|
50194
50201
|
if (mouseHovering) {
|
|
50202
|
+
this._currentDistanceMeasurement.target.entity = hoveredEntity;
|
|
50203
|
+
hoveredEntity = null;
|
|
50195
50204
|
this._currentDistanceMeasurement.clickable = true;
|
|
50196
50205
|
this.distanceMeasurementsPlugin.fire("measurementEnd", this._currentDistanceMeasurement);
|
|
50197
50206
|
this._currentDistanceMeasurement = null;
|
|
@@ -50199,6 +50208,7 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
50199
50208
|
this._currentDistanceMeasurement.destroy();
|
|
50200
50209
|
this.distanceMeasurementsPlugin.fire("measurementCancel", this._currentDistanceMeasurement);
|
|
50201
50210
|
this._currentDistanceMeasurement = null;
|
|
50211
|
+
hoveredEntity = null;
|
|
50202
50212
|
}
|
|
50203
50213
|
} else {
|
|
50204
50214
|
if (mouseHovering) {
|
|
@@ -50219,6 +50229,8 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
50219
50229
|
this._currentDistanceMeasurementInitState.wireVisible = this._currentDistanceMeasurement.wireVisible;
|
|
50220
50230
|
this._currentDistanceMeasurementInitState.targetVisible = this._currentDistanceMeasurement.targetVisible;
|
|
50221
50231
|
this._currentDistanceMeasurement.clickable = false;
|
|
50232
|
+
this._currentDistanceMeasurement.origin.entity = hoveredEntity;
|
|
50233
|
+
hoveredEntity = null;
|
|
50222
50234
|
this.fire("measurementStart", this._currentDistanceMeasurement);
|
|
50223
50235
|
}
|
|
50224
50236
|
}
|
package/dist/xeokit-sdk.es.js
CHANGED
|
@@ -12011,7 +12011,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12011
12011
|
const cameraControl = this.angleMeasurementsPlugin.viewer.cameraControl;
|
|
12012
12012
|
const pointerLens = this.pointerLens;
|
|
12013
12013
|
let mouseHovering = false;
|
|
12014
|
-
let
|
|
12014
|
+
let hoveredEntity = null;
|
|
12015
12015
|
let lastMouseCanvasX = 0;
|
|
12016
12016
|
let lastMouseCanvasY = 0;
|
|
12017
12017
|
const mouseWorldPos = math.vec3();
|
|
@@ -12043,7 +12043,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12043
12043
|
}
|
|
12044
12044
|
const canvasPos = event.snappedCanvasPos || event.canvasPos;
|
|
12045
12045
|
mouseHovering = true;
|
|
12046
|
-
|
|
12046
|
+
hoveredEntity = event.entity;
|
|
12047
12047
|
mouseWorldPos.set(event.worldPos);
|
|
12048
12048
|
mouseHoverCanvasPos.set(canvasPos);
|
|
12049
12049
|
switch (this._mouseState) {
|
|
@@ -12058,6 +12058,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12058
12058
|
this._currentAngleMeasurement.cornerVisible = true;
|
|
12059
12059
|
this._currentAngleMeasurement.angleVisible = false;
|
|
12060
12060
|
this._currentAngleMeasurement.corner.worldPos = event.worldPos;
|
|
12061
|
+
this._currentAngleMeasurement.corner.entity = event.entity;
|
|
12061
12062
|
}
|
|
12062
12063
|
this.markerDiv.style.marginLeft = `-10000px`;
|
|
12063
12064
|
this.markerDiv.style.marginTop = `-10000px`;
|
|
@@ -12069,6 +12070,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12069
12070
|
this._currentAngleMeasurement.targetVisible = true;
|
|
12070
12071
|
this._currentAngleMeasurement.angleVisible = true;
|
|
12071
12072
|
this._currentAngleMeasurement.target.worldPos = event.worldPos;
|
|
12073
|
+
this._currentAngleMeasurement.target.entity = event.entity;
|
|
12072
12074
|
}
|
|
12073
12075
|
this.markerDiv.style.marginLeft = `-10000px`;
|
|
12074
12076
|
this.markerDiv.style.marginTop = `-10000px`;
|
|
@@ -12099,15 +12101,12 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12099
12101
|
this._currentAngleMeasurement = this.angleMeasurementsPlugin.createMeasurement({
|
|
12100
12102
|
id: math.createUUID(),
|
|
12101
12103
|
origin: {
|
|
12102
|
-
entity: mouseHoverEntity,
|
|
12103
12104
|
worldPos: mouseWorldPos
|
|
12104
12105
|
},
|
|
12105
12106
|
corner: {
|
|
12106
|
-
entity: mouseHoverEntity,
|
|
12107
12107
|
worldPos: mouseWorldPos
|
|
12108
12108
|
},
|
|
12109
12109
|
target: {
|
|
12110
|
-
entity: mouseHoverEntity,
|
|
12111
12110
|
worldPos: mouseWorldPos
|
|
12112
12111
|
},
|
|
12113
12112
|
approximate: true
|
|
@@ -12119,6 +12118,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12119
12118
|
this._currentAngleMeasurement.targetWireVisible = false;
|
|
12120
12119
|
this._currentAngleMeasurement.targetVisible = false;
|
|
12121
12120
|
this._currentAngleMeasurement.angleVisible = false;
|
|
12121
|
+
this._currentAngleMeasurement.origin.entity = hoveredEntity;
|
|
12122
12122
|
this._mouseState = MOUSE_FINDING_CORNER;
|
|
12123
12123
|
this.angleMeasurementsPlugin.fire("measurementStart", this._currentAngleMeasurement);
|
|
12124
12124
|
}
|
|
@@ -12128,11 +12128,13 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12128
12128
|
this._currentAngleMeasurement.targetWireVisible = false;
|
|
12129
12129
|
this._currentAngleMeasurement.targetVisible = true;
|
|
12130
12130
|
this._currentAngleMeasurement.angleVisible = true;
|
|
12131
|
+
this._currentAngleMeasurement.corner.entity = hoveredEntity;
|
|
12131
12132
|
this._mouseState = MOUSE_FINDING_TARGET;
|
|
12132
12133
|
} else {
|
|
12133
12134
|
if (this._currentAngleMeasurement) {
|
|
12134
12135
|
this._currentAngleMeasurement.destroy();
|
|
12135
12136
|
this._currentAngleMeasurement = null;
|
|
12137
|
+
hoveredEntity = null;
|
|
12136
12138
|
this._mouseState = MOUSE_FINDING_ORIGIN;
|
|
12137
12139
|
this.angleMeasurementsPlugin.fire("measurementCancel", this._currentAngleMeasurement);
|
|
12138
12140
|
}
|
|
@@ -12142,7 +12144,9 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12142
12144
|
if (mouseHovering) {
|
|
12143
12145
|
this._currentAngleMeasurement.targetVisible = true;
|
|
12144
12146
|
this._currentAngleMeasurement.angleVisible = true;
|
|
12147
|
+
this._currentAngleMeasurement.target.entity = hoveredEntity;
|
|
12145
12148
|
this._currentAngleMeasurement.clickable = true;
|
|
12149
|
+
hoveredEntity = null;
|
|
12146
12150
|
this.angleMeasurementsPlugin.fire("measurementEnd", this._currentAngleMeasurement);
|
|
12147
12151
|
this._currentAngleMeasurement = null;
|
|
12148
12152
|
this._mouseState = MOUSE_FINDING_ORIGIN;
|
|
@@ -12150,6 +12154,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
|
|
|
12150
12154
|
if (this._currentAngleMeasurement) {
|
|
12151
12155
|
this._currentAngleMeasurement.destroy();
|
|
12152
12156
|
this._currentAngleMeasurement = null;
|
|
12157
|
+
hoveredEntity = null;
|
|
12153
12158
|
this._mouseState = MOUSE_FINDING_ORIGIN;
|
|
12154
12159
|
this.angleMeasurementsPlugin.fire("measurementCancel", this._currentAngleMeasurement);
|
|
12155
12160
|
}
|
|
@@ -50116,6 +50121,7 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
50116
50121
|
let pointerDownCanvasX;
|
|
50117
50122
|
let pointerDownCanvasY;
|
|
50118
50123
|
const clickTolerance = 20;
|
|
50124
|
+
let hoveredEntity = null;
|
|
50119
50125
|
|
|
50120
50126
|
this._mouseState = MOUSE_FIRST_CLICK_EXPECTED;
|
|
50121
50127
|
|
|
@@ -50150,6 +50156,7 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
50150
50156
|
this._markerDiv.style.background = "pink";
|
|
50151
50157
|
this._markerDiv.style.border = "2px solid red";
|
|
50152
50158
|
}
|
|
50159
|
+
hoveredEntity = event.entity;
|
|
50153
50160
|
} else {
|
|
50154
50161
|
this._markerDiv.style.marginLeft = `-10000px`;
|
|
50155
50162
|
this._markerDiv.style.marginTop = `-10000px`;
|
|
@@ -50188,6 +50195,8 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
50188
50195
|
}
|
|
50189
50196
|
if (this._currentDistanceMeasurement) {
|
|
50190
50197
|
if (mouseHovering) {
|
|
50198
|
+
this._currentDistanceMeasurement.target.entity = hoveredEntity;
|
|
50199
|
+
hoveredEntity = null;
|
|
50191
50200
|
this._currentDistanceMeasurement.clickable = true;
|
|
50192
50201
|
this.distanceMeasurementsPlugin.fire("measurementEnd", this._currentDistanceMeasurement);
|
|
50193
50202
|
this._currentDistanceMeasurement = null;
|
|
@@ -50195,6 +50204,7 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
50195
50204
|
this._currentDistanceMeasurement.destroy();
|
|
50196
50205
|
this.distanceMeasurementsPlugin.fire("measurementCancel", this._currentDistanceMeasurement);
|
|
50197
50206
|
this._currentDistanceMeasurement = null;
|
|
50207
|
+
hoveredEntity = null;
|
|
50198
50208
|
}
|
|
50199
50209
|
} else {
|
|
50200
50210
|
if (mouseHovering) {
|
|
@@ -50215,6 +50225,8 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
|
|
|
50215
50225
|
this._currentDistanceMeasurementInitState.wireVisible = this._currentDistanceMeasurement.wireVisible;
|
|
50216
50226
|
this._currentDistanceMeasurementInitState.targetVisible = this._currentDistanceMeasurement.targetVisible;
|
|
50217
50227
|
this._currentDistanceMeasurement.clickable = false;
|
|
50228
|
+
this._currentDistanceMeasurement.origin.entity = hoveredEntity;
|
|
50229
|
+
hoveredEntity = null;
|
|
50218
50230
|
this.fire("measurementStart", this._currentDistanceMeasurement);
|
|
50219
50231
|
}
|
|
50220
50232
|
}
|
package/dist/xeokit-sdk.es5.js
CHANGED
|
@@ -2979,7 +2979,7 @@ _this18._initMarkerDiv();_this18._onMouseHoverSurface=null;_this18._onHoverNothi
|
|
|
2979
2979
|
*/function get(){return this._snapping;}/**
|
|
2980
2980
|
* Activates this AngleMeasurementsMouseControl, ready to respond to input.
|
|
2981
2981
|
*/,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
|
|
2982
|
-
}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
|
|
2982
|
+
}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 hoveredEntity=null;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;hoveredEntity=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._currentAngleMeasurement.corner.entity=event.entity;}_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._currentAngleMeasurement.target.entity=event.entity;}_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:{worldPos:mouseWorldPos},corner:{worldPos:mouseWorldPos},target:{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._currentAngleMeasurement.origin.entity=hoveredEntity;_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._currentAngleMeasurement.corner.entity=hoveredEntity;_this19._mouseState=MOUSE_FINDING_TARGET;}else{if(_this19._currentAngleMeasurement){_this19._currentAngleMeasurement.destroy();_this19._currentAngleMeasurement=null;hoveredEntity=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.target.entity=hoveredEntity;_this19._currentAngleMeasurement.clickable=true;hoveredEntity=null;_this19.angleMeasurementsPlugin.fire("measurementEnd",_this19._currentAngleMeasurement);_this19._currentAngleMeasurement=null;_this19._mouseState=MOUSE_FINDING_ORIGIN;}else{if(_this19._currentAngleMeasurement){_this19._currentAngleMeasurement.destroy();_this19._currentAngleMeasurement=null;hoveredEntity=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
2983
|
* Deactivates this AngleMeasurementsMouseControl, making it unresponsive to input.
|
|
2984
2984
|
*
|
|
2985
2985
|
* Destroys any {@link AngleMeasurement} under construction by this AngleMeasurementsMouseControl.
|
|
@@ -14515,7 +14515,7 @@ this._originDot.setVisible(this._visible&&this._originVisible);this._targetDot.s
|
|
|
14515
14515
|
* @returns {boolean} Whether snap-to-vertex and snap-to-edge are enabled for this DistanceMeasurementsMouseControl.
|
|
14516
14516
|
*/function get(){return this._snapping;}/**
|
|
14517
14517
|
* Activates this DistanceMeasurementsMouseControl, ready to respond to input.
|
|
14518
|
-
*/,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
|
+
*/,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;var hoveredEntity=null;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";}hoveredEntity=event.entity;}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.target.entity=hoveredEntity;hoveredEntity=null;_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;hoveredEntity=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._currentDistanceMeasurement.origin.entity=hoveredEntity;hoveredEntity=null;_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
14519
|
* Deactivates this DistanceMeasurementsMouseControl, making it unresponsive to input.
|
|
14520
14520
|
*
|
|
14521
14521
|
* Destroys any {@link DistanceMeasurement} under construction by this DistanceMeasurementsMouseControl.
|