@xeokit/xeokit-sdk 2.4.2-beta-39 → 2.4.2-beta-40

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.
@@ -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 mouseHoverEntity = false;
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
- mouseHoverEntity = event.entity;
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
  }
@@ -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 mouseHoverEntity = false;
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
- mouseHoverEntity = event.entity;
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
  }
@@ -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 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;}/**
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.