@xeokit/xeokit-sdk 2.6.0-beta-5 → 2.6.0-beta-7

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.
@@ -12170,6 +12170,10 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
12170
12170
  const mouseWorldPos = math.vec3();
12171
12171
  const mouseHoverCanvasPos = math.vec2();
12172
12172
  this._currentAngleMeasurement = null;
12173
+
12174
+ const getTop = el => el.offsetTop + (el.offsetParent && getTop(el.offsetParent));
12175
+ const getLeft = el => el.offsetLeft + (el.offsetParent && getLeft(el.offsetParent));
12176
+
12173
12177
  this._onMouseHoverSurface = cameraControl.on(
12174
12178
  this._snapping
12175
12179
  ? "hoverSnapOrSurface"
@@ -12201,13 +12205,9 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
12201
12205
  mouseHoverCanvasPos.set(canvasPos);
12202
12206
  switch (this._mouseState) {
12203
12207
  case MOUSE_FINDING_ORIGIN:
12204
- const canvasBoundRect = canvas.getBoundingClientRect();
12205
- const scrollLeft = window.pageXOffset || document.documentElement.scrollLeft;
12206
- const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
12207
- const canvasLeftEdge = canvasBoundRect.left + scrollLeft;
12208
- const canvasTopEdge = canvasBoundRect.top + scrollTop;
12209
- this.markerDiv.style.left = `${canvasLeftEdge + canvasPos[0] - 5}px`;
12210
- this.markerDiv.style.top = `${canvasTopEdge + canvasPos[1] - 5}px`;
12208
+ this.markerDiv.style.left = `${getLeft(canvas) + canvasPos[0] - 5}px`;
12209
+ this.markerDiv.style.top = `${getTop(canvas) + canvasPos[1] - 5}px`;
12210
+
12211
12211
  break;
12212
12212
  case MOUSE_FINDING_CORNER:
12213
12213
  if (this._currentAngleMeasurement) {
@@ -85987,6 +85987,9 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
85987
85987
 
85988
85988
  this._mouseState = MOUSE_FIRST_CLICK_EXPECTED;
85989
85989
 
85990
+ const getTop = el => el.offsetTop + (el.offsetParent && getTop(el.offsetParent));
85991
+ const getLeft = el => el.offsetLeft + (el.offsetParent && getLeft(el.offsetParent));
85992
+
85990
85993
  this._onCameraControlHoverSnapOrSurface = cameraControl.on(
85991
85994
  this._snapping
85992
85995
  ? "hoverSnapOrSurface"
@@ -85997,16 +86000,8 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
85997
86000
  pointerCanvasPos.set(event.canvasPos);
85998
86001
  if (this._mouseState === MOUSE_FIRST_CLICK_EXPECTED) {
85999
86002
 
86000
- // const canvasBoundary = getCanvasBoundary();
86001
-
86002
- const canvasBoundRect = canvas.getBoundingClientRect();
86003
- const scrollLeft = window.pageXOffset || document.documentElement.scrollLeft;
86004
- const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
86005
- const canvasLeftEdge = canvasBoundRect.left + scrollLeft;
86006
- const canvasTopEdge = canvasBoundRect.top + scrollTop;
86007
-
86008
- this._markerDiv.style.left = `${canvasLeftEdge + canvasPos[0] - 5}px`;
86009
- this._markerDiv.style.top = `${canvasTopEdge + canvasPos[1] - 5}px`;
86003
+ this._markerDiv.style.left = `${getLeft(canvas) + canvasPos[0] - 5}px`;
86004
+ this._markerDiv.style.top = `${getTop(canvas) + canvasPos[1] - 5}px`;
86010
86005
 
86011
86006
  this._markerDiv.style.background = "pink";
86012
86007
  if (event.snappedToVertex || event.snappedToEdge) {
@@ -127606,9 +127601,9 @@ parsers[ParserV10.version] = ParserV10;
127606
127601
  * }
127607
127602
  *
127608
127603
  * // Gets the contents of the given .XKT file in an arraybuffer
127609
- * getXKT(xKTSrc, ok, error) {
127604
+ * getXKT(src, ok, error) {
127610
127605
  * console.log("MyDataSource#getXKT(" + xKTSrc + ", ... )");
127611
- * utils.loadArraybuffer(xKTSrc,
127606
+ * utils.loadArraybuffer(src,
127612
127607
  * (arraybuffer) => {
127613
127608
  * ok(arraybuffer);
127614
127609
  * },
@@ -128292,13 +128287,28 @@ class XKTLoaderPlugin extends Plugin {
128292
128287
  globalizeObjectIds: options.globalizeObjectIds
128293
128288
  });
128294
128289
  i++;
128295
- this.scheduleTask( loadNext, 100);
128290
+ this.scheduleTask(loadNext, 100);
128296
128291
  }, error);
128297
128292
  }
128298
128293
  };
128299
128294
  loadNext();
128300
128295
  };
128301
- const loadXKTs = (xktFiles, done, error) => {
128296
+ const loadXKTs_excludeTheirMetaModels = (xktFiles, done, error) => { // Load XKTs, ignore metamodels in the XKT
128297
+ let i = 0;
128298
+ const loadNext = () => {
128299
+ if (i >= xktFiles.length) {
128300
+ done();
128301
+ } else {
128302
+ this._dataSource.getXKT(`${baseDir}${xktFiles[i]}`, (arrayBuffer) => {
128303
+ this._parseModel(arrayBuffer, params, options, sceneModel, null /* Ignore metamodel in XKT */, manifestCtx);
128304
+ i++;
128305
+ this.scheduleTask(loadNext, 100);
128306
+ }, error);
128307
+ }
128308
+ };
128309
+ loadNext();
128310
+ };
128311
+ const loadXKTs_includeTheirMetaModels = (xktFiles, done, error) => { // Load XKTs, parse metamodels from the XKT
128302
128312
  let i = 0;
128303
128313
  const loadNext = () => {
128304
128314
  if (i >= xktFiles.length) {
@@ -128323,10 +128333,10 @@ class XKTLoaderPlugin extends Plugin {
128323
128333
  const metaModelFiles = manifestData.metaModelFiles;
128324
128334
  if (metaModelFiles) {
128325
128335
  loadJSONs(metaModelFiles, () => {
128326
- loadXKTs(xktFiles, finish, error);
128336
+ loadXKTs_excludeTheirMetaModels(xktFiles, finish, error);
128327
128337
  }, error);
128328
128338
  } else {
128329
- loadXKTs(xktFiles, finish, error);
128339
+ loadXKTs_includeTheirMetaModels(xktFiles, finish, error);
128330
128340
  }
128331
128341
  } else {
128332
128342
  this._dataSource.getManifest(params.manifestSrc, (manifestData) => {
@@ -128341,10 +128351,10 @@ class XKTLoaderPlugin extends Plugin {
128341
128351
  const metaModelFiles = manifestData.metaModelFiles;
128342
128352
  if (metaModelFiles) {
128343
128353
  loadJSONs(metaModelFiles, () => {
128344
- loadXKTs(xktFiles, finish, error);
128354
+ loadXKTs_excludeTheirMetaModels(xktFiles, finish, error);
128345
128355
  }, error);
128346
128356
  } else {
128347
- loadXKTs(xktFiles, finish, error);
128357
+ loadXKTs_includeTheirMetaModels(xktFiles, finish, error);
128348
128358
  }
128349
128359
  }, error);
128350
128360
  }
@@ -128384,56 +128394,6 @@ class XKTLoaderPlugin extends Plugin {
128384
128394
  }
128385
128395
  parser.parse(this.viewer, options, elements, sceneModel, metaModel, manifestCtx);
128386
128396
  }
128387
-
128388
- // _createDefaultMetaModelIfNeeded(sceneModel, params, options) {
128389
- //
128390
- // const metaModelId = sceneModel.id;
128391
- //
128392
- // if (!this.viewer.metaScene.metaModels[metaModelId]) {
128393
- //
128394
- // const metaModelData = {
128395
- // metaObjects: []
128396
- // };
128397
- //
128398
- // metaModelData.metaObjects.push({
128399
- // id: metaModelId,
128400
- // type: "default",
128401
- // name: metaModelId,
128402
- // parent: null
128403
- // });
128404
- //
128405
- // const entityList = sceneModel.entityList;
128406
- //
128407
- // for (let i = 0, len = entityList.length; i < len; i++) {
128408
- // const entity = entityList[i];
128409
- // if (entity.isObject) {
128410
- // metaModelData.metaObjects.push({
128411
- // id: entity.id,
128412
- // type: "default",
128413
- // name: entity.id,
128414
- // parent: metaModelId
128415
- // });
128416
- // }
128417
- // }
128418
- //
128419
- // const src = params.src;
128420
- //
128421
- // this.viewer.metaScene.createMetaModel(metaModelId, metaModelData, {
128422
- //
128423
- // includeTypes: options.includeTypes,
128424
- // excludeTypes: options.excludeTypes,
128425
- // globalizeObjectIds: options.globalizeObjectIds,
128426
- //
128427
- // getProperties: async (propertiesId) => {
128428
- // return await this._dataSource.getProperties(src, propertiesId);
128429
- // }
128430
- // });
128431
- //
128432
- // sceneModel.once("destroyed", () => {
128433
- // this.viewer.metaScene.destroyMetaModel(metaModelId);
128434
- // });
128435
- // }
128436
- // }
128437
128397
  }
128438
128398
 
128439
128399
  function getBaseDirectory(filePath) {
@@ -12166,6 +12166,10 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
12166
12166
  const mouseWorldPos = math.vec3();
12167
12167
  const mouseHoverCanvasPos = math.vec2();
12168
12168
  this._currentAngleMeasurement = null;
12169
+
12170
+ const getTop = el => el.offsetTop + (el.offsetParent && getTop(el.offsetParent));
12171
+ const getLeft = el => el.offsetLeft + (el.offsetParent && getLeft(el.offsetParent));
12172
+
12169
12173
  this._onMouseHoverSurface = cameraControl.on(
12170
12174
  this._snapping
12171
12175
  ? "hoverSnapOrSurface"
@@ -12197,13 +12201,9 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
12197
12201
  mouseHoverCanvasPos.set(canvasPos);
12198
12202
  switch (this._mouseState) {
12199
12203
  case MOUSE_FINDING_ORIGIN:
12200
- const canvasBoundRect = canvas.getBoundingClientRect();
12201
- const scrollLeft = window.pageXOffset || document.documentElement.scrollLeft;
12202
- const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
12203
- const canvasLeftEdge = canvasBoundRect.left + scrollLeft;
12204
- const canvasTopEdge = canvasBoundRect.top + scrollTop;
12205
- this.markerDiv.style.left = `${canvasLeftEdge + canvasPos[0] - 5}px`;
12206
- this.markerDiv.style.top = `${canvasTopEdge + canvasPos[1] - 5}px`;
12204
+ this.markerDiv.style.left = `${getLeft(canvas) + canvasPos[0] - 5}px`;
12205
+ this.markerDiv.style.top = `${getTop(canvas) + canvasPos[1] - 5}px`;
12206
+
12207
12207
  break;
12208
12208
  case MOUSE_FINDING_CORNER:
12209
12209
  if (this._currentAngleMeasurement) {
@@ -85983,6 +85983,9 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
85983
85983
 
85984
85984
  this._mouseState = MOUSE_FIRST_CLICK_EXPECTED;
85985
85985
 
85986
+ const getTop = el => el.offsetTop + (el.offsetParent && getTop(el.offsetParent));
85987
+ const getLeft = el => el.offsetLeft + (el.offsetParent && getLeft(el.offsetParent));
85988
+
85986
85989
  this._onCameraControlHoverSnapOrSurface = cameraControl.on(
85987
85990
  this._snapping
85988
85991
  ? "hoverSnapOrSurface"
@@ -85993,16 +85996,8 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl {
85993
85996
  pointerCanvasPos.set(event.canvasPos);
85994
85997
  if (this._mouseState === MOUSE_FIRST_CLICK_EXPECTED) {
85995
85998
 
85996
- // const canvasBoundary = getCanvasBoundary();
85997
-
85998
- const canvasBoundRect = canvas.getBoundingClientRect();
85999
- const scrollLeft = window.pageXOffset || document.documentElement.scrollLeft;
86000
- const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
86001
- const canvasLeftEdge = canvasBoundRect.left + scrollLeft;
86002
- const canvasTopEdge = canvasBoundRect.top + scrollTop;
86003
-
86004
- this._markerDiv.style.left = `${canvasLeftEdge + canvasPos[0] - 5}px`;
86005
- this._markerDiv.style.top = `${canvasTopEdge + canvasPos[1] - 5}px`;
85999
+ this._markerDiv.style.left = `${getLeft(canvas) + canvasPos[0] - 5}px`;
86000
+ this._markerDiv.style.top = `${getTop(canvas) + canvasPos[1] - 5}px`;
86006
86001
 
86007
86002
  this._markerDiv.style.background = "pink";
86008
86003
  if (event.snappedToVertex || event.snappedToEdge) {
@@ -127602,9 +127597,9 @@ parsers[ParserV10.version] = ParserV10;
127602
127597
  * }
127603
127598
  *
127604
127599
  * // Gets the contents of the given .XKT file in an arraybuffer
127605
- * getXKT(xKTSrc, ok, error) {
127600
+ * getXKT(src, ok, error) {
127606
127601
  * console.log("MyDataSource#getXKT(" + xKTSrc + ", ... )");
127607
- * utils.loadArraybuffer(xKTSrc,
127602
+ * utils.loadArraybuffer(src,
127608
127603
  * (arraybuffer) => {
127609
127604
  * ok(arraybuffer);
127610
127605
  * },
@@ -128288,13 +128283,28 @@ class XKTLoaderPlugin extends Plugin {
128288
128283
  globalizeObjectIds: options.globalizeObjectIds
128289
128284
  });
128290
128285
  i++;
128291
- this.scheduleTask( loadNext, 100);
128286
+ this.scheduleTask(loadNext, 100);
128292
128287
  }, error);
128293
128288
  }
128294
128289
  };
128295
128290
  loadNext();
128296
128291
  };
128297
- const loadXKTs = (xktFiles, done, error) => {
128292
+ const loadXKTs_excludeTheirMetaModels = (xktFiles, done, error) => { // Load XKTs, ignore metamodels in the XKT
128293
+ let i = 0;
128294
+ const loadNext = () => {
128295
+ if (i >= xktFiles.length) {
128296
+ done();
128297
+ } else {
128298
+ this._dataSource.getXKT(`${baseDir}${xktFiles[i]}`, (arrayBuffer) => {
128299
+ this._parseModel(arrayBuffer, params, options, sceneModel, null /* Ignore metamodel in XKT */, manifestCtx);
128300
+ i++;
128301
+ this.scheduleTask(loadNext, 100);
128302
+ }, error);
128303
+ }
128304
+ };
128305
+ loadNext();
128306
+ };
128307
+ const loadXKTs_includeTheirMetaModels = (xktFiles, done, error) => { // Load XKTs, parse metamodels from the XKT
128298
128308
  let i = 0;
128299
128309
  const loadNext = () => {
128300
128310
  if (i >= xktFiles.length) {
@@ -128319,10 +128329,10 @@ class XKTLoaderPlugin extends Plugin {
128319
128329
  const metaModelFiles = manifestData.metaModelFiles;
128320
128330
  if (metaModelFiles) {
128321
128331
  loadJSONs(metaModelFiles, () => {
128322
- loadXKTs(xktFiles, finish, error);
128332
+ loadXKTs_excludeTheirMetaModels(xktFiles, finish, error);
128323
128333
  }, error);
128324
128334
  } else {
128325
- loadXKTs(xktFiles, finish, error);
128335
+ loadXKTs_includeTheirMetaModels(xktFiles, finish, error);
128326
128336
  }
128327
128337
  } else {
128328
128338
  this._dataSource.getManifest(params.manifestSrc, (manifestData) => {
@@ -128337,10 +128347,10 @@ class XKTLoaderPlugin extends Plugin {
128337
128347
  const metaModelFiles = manifestData.metaModelFiles;
128338
128348
  if (metaModelFiles) {
128339
128349
  loadJSONs(metaModelFiles, () => {
128340
- loadXKTs(xktFiles, finish, error);
128350
+ loadXKTs_excludeTheirMetaModels(xktFiles, finish, error);
128341
128351
  }, error);
128342
128352
  } else {
128343
- loadXKTs(xktFiles, finish, error);
128353
+ loadXKTs_includeTheirMetaModels(xktFiles, finish, error);
128344
128354
  }
128345
128355
  }, error);
128346
128356
  }
@@ -128380,56 +128390,6 @@ class XKTLoaderPlugin extends Plugin {
128380
128390
  }
128381
128391
  parser.parse(this.viewer, options, elements, sceneModel, metaModel, manifestCtx);
128382
128392
  }
128383
-
128384
- // _createDefaultMetaModelIfNeeded(sceneModel, params, options) {
128385
- //
128386
- // const metaModelId = sceneModel.id;
128387
- //
128388
- // if (!this.viewer.metaScene.metaModels[metaModelId]) {
128389
- //
128390
- // const metaModelData = {
128391
- // metaObjects: []
128392
- // };
128393
- //
128394
- // metaModelData.metaObjects.push({
128395
- // id: metaModelId,
128396
- // type: "default",
128397
- // name: metaModelId,
128398
- // parent: null
128399
- // });
128400
- //
128401
- // const entityList = sceneModel.entityList;
128402
- //
128403
- // for (let i = 0, len = entityList.length; i < len; i++) {
128404
- // const entity = entityList[i];
128405
- // if (entity.isObject) {
128406
- // metaModelData.metaObjects.push({
128407
- // id: entity.id,
128408
- // type: "default",
128409
- // name: entity.id,
128410
- // parent: metaModelId
128411
- // });
128412
- // }
128413
- // }
128414
- //
128415
- // const src = params.src;
128416
- //
128417
- // this.viewer.metaScene.createMetaModel(metaModelId, metaModelData, {
128418
- //
128419
- // includeTypes: options.includeTypes,
128420
- // excludeTypes: options.excludeTypes,
128421
- // globalizeObjectIds: options.globalizeObjectIds,
128422
- //
128423
- // getProperties: async (propertiesId) => {
128424
- // return await this._dataSource.getProperties(src, propertiesId);
128425
- // }
128426
- // });
128427
- //
128428
- // sceneModel.once("destroyed", () => {
128429
- // this.viewer.metaScene.destroyMetaModel(metaModelId);
128430
- // });
128431
- // }
128432
- // }
128433
128393
  }
128434
128394
 
128435
128395
  function getBaseDirectory(filePath) {
@@ -2988,7 +2988,7 @@ _this18._initMarkerDiv();_this18._onMouseHoverSurface=null;_this18._onHoverNothi
2988
2988
  */function get(){return this._snapping;}/**
2989
2989
  * Activates this AngleMeasurementsMouseControl, ready to respond to input.
2990
2990
  */,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
2991
- }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:var canvasBoundRect=canvas.getBoundingClientRect();var scrollLeft=window.pageXOffset||document.documentElement.scrollLeft;var scrollTop=window.pageYOffset||document.documentElement.scrollTop;var canvasLeftEdge=canvasBoundRect.left+scrollLeft;var canvasTopEdge=canvasBoundRect.top+scrollTop;_this19.markerDiv.style.left="".concat(canvasLeftEdge+canvasPos[0]-5,"px");_this19.markerDiv.style.top="".concat(canvasTopEdge+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.left="-10000px";_this19.markerDiv.style.top="-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.left="-10000px";_this19.markerDiv.style.top="-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.left="-100px";_this19.markerDiv.style.top="-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;}/**
2991
+ }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;var getTop=function getTop(el){return el.offsetTop+(el.offsetParent&&getTop(el.offsetParent));};var getLeft=function getLeft(el){return el.offsetLeft+(el.offsetParent&&getLeft(el.offsetParent));};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.left="".concat(getLeft(canvas)+canvasPos[0]-5,"px");_this19.markerDiv.style.top="".concat(getTop(canvas)+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.left="-10000px";_this19.markerDiv.style.top="-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.left="-10000px";_this19.markerDiv.style.top="-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.left="-100px";_this19.markerDiv.style.top="-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;}/**
2992
2992
  * Deactivates this AngleMeasurementsMouseControl, making it unresponsive to input.
2993
2993
  *
2994
2994
  * Destroys any {@link AngleMeasurement} under construction by this AngleMeasurementsMouseControl.
@@ -19250,8 +19250,7 @@ this._originDot.setVisible(this._visible&&this._originVisible);this._targetDot.s
19250
19250
  * @returns {boolean} Whether snap-to-vertex and snap-to-edge are enabled for this DistanceMeasurementsMouseControl.
19251
19251
  */function get(){return this._snapping;}/**
19252
19252
  * Activates this DistanceMeasurementsMouseControl, ready to respond to input.
19253
- */,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 _this82=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(_this82._mouseState===MOUSE_FIRST_CLICK_EXPECTED){// const canvasBoundary = getCanvasBoundary();
19254
- var canvasBoundRect=canvas.getBoundingClientRect();var scrollLeft=window.pageXOffset||document.documentElement.scrollLeft;var scrollTop=window.pageYOffset||document.documentElement.scrollTop;var canvasLeftEdge=canvasBoundRect.left+scrollLeft;var canvasTopEdge=canvasBoundRect.top+scrollTop;_this82._markerDiv.style.left="".concat(canvasLeftEdge+canvasPos[0]-5,"px");_this82._markerDiv.style.top="".concat(canvasTopEdge+canvasPos[1]-5,"px");_this82._markerDiv.style.background="pink";if(event.snappedToVertex||event.snappedToEdge){if(_this82.pointerLens){_this82.pointerLens.visible=true;_this82.pointerLens.canvasPos=event.canvasPos;_this82.pointerLens.snappedCanvasPos=event.snappedCanvasPos||event.canvasPos;_this82.pointerLens.snapped=true;}_this82._markerDiv.style.background="greenyellow";_this82._markerDiv.style.border="2px solid green";}else{if(_this82.pointerLens){_this82.pointerLens.visible=true;_this82.pointerLens.canvasPos=event.canvasPos;_this82.pointerLens.snappedCanvasPos=event.canvasPos;_this82.pointerLens.snapped=false;}_this82._markerDiv.style.background="pink";_this82._markerDiv.style.border="2px solid red";}hoveredEntity=event.entity;}else{_this82._markerDiv.style.left="-10000px";_this82._markerDiv.style.top="-10000px";}canvas.style.cursor="pointer";if(_this82._currentDistanceMeasurement){_this82._currentDistanceMeasurement.wireVisible=_this82._currentDistanceMeasurementInitState.wireVisible;_this82._currentDistanceMeasurement.axisVisible=_this82._currentDistanceMeasurementInitState.axisVisible&&_this82.distanceMeasurementsPlugin.defaultAxisVisible;_this82._currentDistanceMeasurement.xAxisVisible=_this82._currentDistanceMeasurementInitState.xAxisVisible&&_this82.distanceMeasurementsPlugin.defaultXAxisVisible;_this82._currentDistanceMeasurement.yAxisVisible=_this82._currentDistanceMeasurementInitState.yAxisVisible&&_this82.distanceMeasurementsPlugin.defaultYAxisVisible;_this82._currentDistanceMeasurement.zAxisVisible=_this82._currentDistanceMeasurementInitState.zAxisVisible&&_this82.distanceMeasurementsPlugin.defaultZAxisVisible;_this82._currentDistanceMeasurement.targetVisible=_this82._currentDistanceMeasurementInitState.targetVisible;_this82._currentDistanceMeasurement.target.worldPos=pointerWorldPos.slice();_this82._markerDiv.style.left="-10000px";_this82._markerDiv.style.top="-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(_this82._currentDistanceMeasurement){if(mouseHovering){_this82._currentDistanceMeasurement.target.entity=hoveredEntity;hoveredEntity=null;_this82._currentDistanceMeasurement.clickable=true;_this82.distanceMeasurementsPlugin.fire("measurementEnd",_this82._currentDistanceMeasurement);_this82._currentDistanceMeasurement=null;}else{_this82._currentDistanceMeasurement.destroy();_this82.distanceMeasurementsPlugin.fire("measurementCancel",_this82._currentDistanceMeasurement);_this82._currentDistanceMeasurement=null;hoveredEntity=null;}}else{if(mouseHovering){_this82._currentDistanceMeasurement=distanceMeasurementsPlugin.createMeasurement({id:math.createUUID(),origin:{worldPos:pointerWorldPos.slice()},target:{worldPos:pointerWorldPos.slice()},approximate:true});_this82._currentDistanceMeasurementInitState.axisVisible=_this82._currentDistanceMeasurement.axisVisible&&_this82.distanceMeasurementsPlugin.defaultAxisVisible;_this82._currentDistanceMeasurementInitState.xAxisVisible=_this82._currentDistanceMeasurement.xAxisVisible&&_this82.distanceMeasurementsPlugin.defaultXAxisVisible;_this82._currentDistanceMeasurementInitState.yAxisVisible=_this82._currentDistanceMeasurement.yAxisVisible&&_this82.distanceMeasurementsPlugin.defaultYAxisVisible;_this82._currentDistanceMeasurementInitState.zAxisVisible=_this82._currentDistanceMeasurement.zAxisVisible&&_this82.distanceMeasurementsPlugin.defaultZAxisVisible;_this82._currentDistanceMeasurementInitState.wireVisible=_this82._currentDistanceMeasurement.wireVisible;_this82._currentDistanceMeasurementInitState.targetVisible=_this82._currentDistanceMeasurement.targetVisible;_this82._currentDistanceMeasurement.clickable=false;_this82._currentDistanceMeasurement.origin.entity=hoveredEntity;hoveredEntity=null;_this82.fire("measurementStart",_this82._currentDistanceMeasurement);}}});this._onCameraControlHoverSnapOrSurfaceOff=cameraControl.on(this._snapping?"hoverSnapOrSurfaceOff":"hoverOff",function(event){if(_this82.pointerLens){_this82.pointerLens.visible=true;_this82.pointerLens.canvasPos=event.canvasPos;_this82.pointerLens.snappedCanvasPos=event.snappedCanvasPos||event.canvasPos;}mouseHovering=false;_this82._markerDiv.style.left="-100px";_this82._markerDiv.style.top="-100px";if(_this82._currentDistanceMeasurement){_this82._currentDistanceMeasurement.wireVisible=false;_this82._currentDistanceMeasurement.targetVisible=false;_this82._currentDistanceMeasurement.axisVisible=false;}canvas.style.cursor="default";});this._active=true;}/**
19253
+ */,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 _this82=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;var getTop=function getTop(el){return el.offsetTop+(el.offsetParent&&getTop(el.offsetParent));};var getLeft=function getLeft(el){return el.offsetLeft+(el.offsetParent&&getLeft(el.offsetParent));};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(_this82._mouseState===MOUSE_FIRST_CLICK_EXPECTED){_this82._markerDiv.style.left="".concat(getLeft(canvas)+canvasPos[0]-5,"px");_this82._markerDiv.style.top="".concat(getTop(canvas)+canvasPos[1]-5,"px");_this82._markerDiv.style.background="pink";if(event.snappedToVertex||event.snappedToEdge){if(_this82.pointerLens){_this82.pointerLens.visible=true;_this82.pointerLens.canvasPos=event.canvasPos;_this82.pointerLens.snappedCanvasPos=event.snappedCanvasPos||event.canvasPos;_this82.pointerLens.snapped=true;}_this82._markerDiv.style.background="greenyellow";_this82._markerDiv.style.border="2px solid green";}else{if(_this82.pointerLens){_this82.pointerLens.visible=true;_this82.pointerLens.canvasPos=event.canvasPos;_this82.pointerLens.snappedCanvasPos=event.canvasPos;_this82.pointerLens.snapped=false;}_this82._markerDiv.style.background="pink";_this82._markerDiv.style.border="2px solid red";}hoveredEntity=event.entity;}else{_this82._markerDiv.style.left="-10000px";_this82._markerDiv.style.top="-10000px";}canvas.style.cursor="pointer";if(_this82._currentDistanceMeasurement){_this82._currentDistanceMeasurement.wireVisible=_this82._currentDistanceMeasurementInitState.wireVisible;_this82._currentDistanceMeasurement.axisVisible=_this82._currentDistanceMeasurementInitState.axisVisible&&_this82.distanceMeasurementsPlugin.defaultAxisVisible;_this82._currentDistanceMeasurement.xAxisVisible=_this82._currentDistanceMeasurementInitState.xAxisVisible&&_this82.distanceMeasurementsPlugin.defaultXAxisVisible;_this82._currentDistanceMeasurement.yAxisVisible=_this82._currentDistanceMeasurementInitState.yAxisVisible&&_this82.distanceMeasurementsPlugin.defaultYAxisVisible;_this82._currentDistanceMeasurement.zAxisVisible=_this82._currentDistanceMeasurementInitState.zAxisVisible&&_this82.distanceMeasurementsPlugin.defaultZAxisVisible;_this82._currentDistanceMeasurement.targetVisible=_this82._currentDistanceMeasurementInitState.targetVisible;_this82._currentDistanceMeasurement.target.worldPos=pointerWorldPos.slice();_this82._markerDiv.style.left="-10000px";_this82._markerDiv.style.top="-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(_this82._currentDistanceMeasurement){if(mouseHovering){_this82._currentDistanceMeasurement.target.entity=hoveredEntity;hoveredEntity=null;_this82._currentDistanceMeasurement.clickable=true;_this82.distanceMeasurementsPlugin.fire("measurementEnd",_this82._currentDistanceMeasurement);_this82._currentDistanceMeasurement=null;}else{_this82._currentDistanceMeasurement.destroy();_this82.distanceMeasurementsPlugin.fire("measurementCancel",_this82._currentDistanceMeasurement);_this82._currentDistanceMeasurement=null;hoveredEntity=null;}}else{if(mouseHovering){_this82._currentDistanceMeasurement=distanceMeasurementsPlugin.createMeasurement({id:math.createUUID(),origin:{worldPos:pointerWorldPos.slice()},target:{worldPos:pointerWorldPos.slice()},approximate:true});_this82._currentDistanceMeasurementInitState.axisVisible=_this82._currentDistanceMeasurement.axisVisible&&_this82.distanceMeasurementsPlugin.defaultAxisVisible;_this82._currentDistanceMeasurementInitState.xAxisVisible=_this82._currentDistanceMeasurement.xAxisVisible&&_this82.distanceMeasurementsPlugin.defaultXAxisVisible;_this82._currentDistanceMeasurementInitState.yAxisVisible=_this82._currentDistanceMeasurement.yAxisVisible&&_this82.distanceMeasurementsPlugin.defaultYAxisVisible;_this82._currentDistanceMeasurementInitState.zAxisVisible=_this82._currentDistanceMeasurement.zAxisVisible&&_this82.distanceMeasurementsPlugin.defaultZAxisVisible;_this82._currentDistanceMeasurementInitState.wireVisible=_this82._currentDistanceMeasurement.wireVisible;_this82._currentDistanceMeasurementInitState.targetVisible=_this82._currentDistanceMeasurement.targetVisible;_this82._currentDistanceMeasurement.clickable=false;_this82._currentDistanceMeasurement.origin.entity=hoveredEntity;hoveredEntity=null;_this82.fire("measurementStart",_this82._currentDistanceMeasurement);}}});this._onCameraControlHoverSnapOrSurfaceOff=cameraControl.on(this._snapping?"hoverSnapOrSurfaceOff":"hoverOff",function(event){if(_this82.pointerLens){_this82.pointerLens.visible=true;_this82.pointerLens.canvasPos=event.canvasPos;_this82.pointerLens.snappedCanvasPos=event.snappedCanvasPos||event.canvasPos;}mouseHovering=false;_this82._markerDiv.style.left="-100px";_this82._markerDiv.style.top="-100px";if(_this82._currentDistanceMeasurement){_this82._currentDistanceMeasurement.wireVisible=false;_this82._currentDistanceMeasurement.targetVisible=false;_this82._currentDistanceMeasurement.axisVisible=false;}canvas.style.cursor="default";});this._active=true;}/**
19255
19254
  * Deactivates this DistanceMeasurementsMouseControl, making it unresponsive to input.
19256
19255
  *
19257
19256
  * Destroys any {@link DistanceMeasurement} under construction by this DistanceMeasurementsMouseControl.
@@ -27271,9 +27270,9 @@ var _primitiveType4=eachGeometryPrimitiveType[_geometryIndex4];var primitiveName
27271
27270
  * }
27272
27271
  *
27273
27272
  * // Gets the contents of the given .XKT file in an arraybuffer
27274
- * getXKT(xKTSrc, ok, error) {
27273
+ * getXKT(src, ok, error) {
27275
27274
  * console.log("MyDataSource#getXKT(" + xKTSrc + ", ... )");
27276
- * utils.loadArraybuffer(xKTSrc,
27275
+ * utils.loadArraybuffer(src,
27277
27276
  * (arraybuffer) => {
27278
27277
  * ok(arraybuffer);
27279
27278
  * },
@@ -27706,56 +27705,9 @@ var _primitiveType4=eachGeometryPrimitiveType[_geometryIndex4];var primitiveName
27706
27705
  var metaModel=new MetaModel({metaScene:this.viewer.metaScene,id:modelId});this.viewer.scene.canvas.spinner.processes++;var finish=function finish(){// this._createDefaultMetaModelIfNeeded(sceneModel, params, options);
27707
27706
  sceneModel.finalize();metaModel.finalize();_this154.viewer.scene.canvas.spinner.processes--;sceneModel.once("destroyed",function(){_this154.viewer.metaScene.destroyMetaModel(metaModel.id);});_this154.scheduleTask(function(){if(sceneModel.destroyed){return;}sceneModel.scene.fire("modelLoaded",sceneModel.id);// FIXME: Assumes listeners know order of these two events
27708
27707
  sceneModel.fire("loaded",true,false);// Don't forget the event, for late subscribers
27709
- });};var error=function error(errMsg){_this154.viewer.scene.canvas.spinner.processes--;_this154.error(errMsg);sceneModel.fire("error",errMsg);};var nextId=0;var manifestCtx={getNextId:function getNextId(){return"".concat(modelId,".").concat(nextId++);}};if(params.metaModelSrc||params.metaModelData){if(params.metaModelSrc){var metaModelSrc=params.metaModelSrc;this._dataSource.getMetaModel(metaModelSrc,function(metaModelData){if(sceneModel.destroyed){return;}metaModel.loadData(metaModelData,{includeTypes:includeTypes,excludeTypes:excludeTypes,globalizeObjectIds:options.globalizeObjectIds});if(params.src){_this154._loadModel(params.src,params,options,sceneModel,null,manifestCtx,finish,error);}else{_this154._parseModel(params.xkt,params,options,sceneModel,null,manifestCtx);finish();}},function(errMsg){error("load(): Failed to load model metadata for model '".concat(modelId," from '").concat(metaModelSrc,"' - ").concat(errMsg));});}else if(params.metaModelData){metaModel.loadData(params.metaModelData,{includeTypes:includeTypes,excludeTypes:excludeTypes,globalizeObjectIds:options.globalizeObjectIds});if(params.src){this._loadModel(params.src,params,options,sceneModel,null,manifestCtx,finish,error);}else{this._parseModel(params.xkt,params,options,sceneModel,null,manifestCtx);finish();}}}else{if(params.src){this._loadModel(params.src,params,options,sceneModel,metaModel,manifestCtx,finish,error);}else if(params.xkt){this._parseModel(params.xkt,params,options,sceneModel,metaModel,manifestCtx);finish();}else if(params.manifestSrc||params.manifest){var baseDir=params.manifestSrc?getBaseDirectory(params.manifestSrc):"";var loadJSONs=function loadJSONs(metaDataFiles,done,error){var i=0;var loadNext=function loadNext(){if(i>=metaDataFiles.length){done();}else{_this154._dataSource.getMetaModel("".concat(baseDir).concat(metaDataFiles[i]),function(metaModelData){metaModel.loadData(metaModelData,{includeTypes:includeTypes,excludeTypes:excludeTypes,globalizeObjectIds:options.globalizeObjectIds});i++;_this154.scheduleTask(loadNext,100);},error);}};loadNext();};var loadXKTs=function loadXKTs(xktFiles,done,error){var i=0;var loadNext=function loadNext(){if(i>=xktFiles.length){done();}else{_this154._dataSource.getXKT("".concat(baseDir).concat(xktFiles[i]),function(arrayBuffer){_this154._parseModel(arrayBuffer,params,options,sceneModel,metaModel,manifestCtx);i++;_this154.scheduleTask(loadNext,100);},error);}};loadNext();};if(params.manifest){var manifestData=params.manifest;var xktFiles=manifestData.xktFiles;if(!xktFiles||xktFiles.length===0){error("load(): Failed to load model manifest - manifest not valid");return;}var metaModelFiles=manifestData.metaModelFiles;if(metaModelFiles){loadJSONs(metaModelFiles,function(){loadXKTs(xktFiles,finish,error);},error);}else{loadXKTs(xktFiles,finish,error);}}else{this._dataSource.getManifest(params.manifestSrc,function(manifestData){if(sceneModel.destroyed){return;}var xktFiles=manifestData.xktFiles;if(!xktFiles||xktFiles.length===0){error("load(): Failed to load model manifest - manifest not valid");return;}var metaModelFiles=manifestData.metaModelFiles;if(metaModelFiles){loadJSONs(metaModelFiles,function(){loadXKTs(xktFiles,finish,error);},error);}else{loadXKTs(xktFiles,finish,error);}},error);}}}return sceneModel;}},{key:"_loadModel",value:function _loadModel(src,params,options,sceneModel,metaModel,manifestCtx,done,error){var _this155=this;this._dataSource.getXKT(params.src,function(arrayBuffer){_this155._parseModel(arrayBuffer,params,options,sceneModel,metaModel,manifestCtx);done();},error);}},{key:"_parseModel",value:function _parseModel(arrayBuffer,params,options,sceneModel,metaModel,manifestCtx){if(sceneModel.destroyed){return;}var dataView=new DataView(arrayBuffer);var dataArray=new Uint8Array(arrayBuffer);var xktVersion=dataView.getUint32(0,true);var parser=parsers[xktVersion];if(!parser){this.error("Unsupported .XKT file version: "+xktVersion+" - this XKTLoaderPlugin supports versions "+Object.keys(parsers));return;}this.log("Loading .xkt V"+xktVersion);var numElements=dataView.getUint32(4,true);var elements=[];var byteOffset=(numElements+2)*4;for(var _i568=0;_i568<numElements;_i568++){var elementSize=dataView.getUint32((_i568+2)*4,true);elements.push(dataArray.subarray(byteOffset,byteOffset+elementSize));byteOffset+=elementSize;}parser.parse(this.viewer,options,elements,sceneModel,metaModel,manifestCtx);}// _createDefaultMetaModelIfNeeded(sceneModel, params, options) {
27710
- //
27711
- // const metaModelId = sceneModel.id;
27712
- //
27713
- // if (!this.viewer.metaScene.metaModels[metaModelId]) {
27714
- //
27715
- // const metaModelData = {
27716
- // metaObjects: []
27717
- // };
27718
- //
27719
- // metaModelData.metaObjects.push({
27720
- // id: metaModelId,
27721
- // type: "default",
27722
- // name: metaModelId,
27723
- // parent: null
27724
- // });
27725
- //
27726
- // const entityList = sceneModel.entityList;
27727
- //
27728
- // for (let i = 0, len = entityList.length; i < len; i++) {
27729
- // const entity = entityList[i];
27730
- // if (entity.isObject) {
27731
- // metaModelData.metaObjects.push({
27732
- // id: entity.id,
27733
- // type: "default",
27734
- // name: entity.id,
27735
- // parent: metaModelId
27736
- // });
27737
- // }
27738
- // }
27739
- //
27740
- // const src = params.src;
27741
- //
27742
- // this.viewer.metaScene.createMetaModel(metaModelId, metaModelData, {
27743
- //
27744
- // includeTypes: options.includeTypes,
27745
- // excludeTypes: options.excludeTypes,
27746
- // globalizeObjectIds: options.globalizeObjectIds,
27747
- //
27748
- // getProperties: async (propertiesId) => {
27749
- // return await this._dataSource.getProperties(src, propertiesId);
27750
- // }
27751
- // });
27752
- //
27753
- // sceneModel.once("destroyed", () => {
27754
- // this.viewer.metaScene.destroyMetaModel(metaModelId);
27755
- // });
27756
- // }
27757
- // }
27758
- }]);return XKTLoaderPlugin;}(Plugin);function getBaseDirectory(filePath){var pathArray=filePath.split('/');pathArray.pop();// Remove the file name or the last segment of the path
27708
+ });};var error=function error(errMsg){_this154.viewer.scene.canvas.spinner.processes--;_this154.error(errMsg);sceneModel.fire("error",errMsg);};var nextId=0;var manifestCtx={getNextId:function getNextId(){return"".concat(modelId,".").concat(nextId++);}};if(params.metaModelSrc||params.metaModelData){if(params.metaModelSrc){var metaModelSrc=params.metaModelSrc;this._dataSource.getMetaModel(metaModelSrc,function(metaModelData){if(sceneModel.destroyed){return;}metaModel.loadData(metaModelData,{includeTypes:includeTypes,excludeTypes:excludeTypes,globalizeObjectIds:options.globalizeObjectIds});if(params.src){_this154._loadModel(params.src,params,options,sceneModel,null,manifestCtx,finish,error);}else{_this154._parseModel(params.xkt,params,options,sceneModel,null,manifestCtx);finish();}},function(errMsg){error("load(): Failed to load model metadata for model '".concat(modelId," from '").concat(metaModelSrc,"' - ").concat(errMsg));});}else if(params.metaModelData){metaModel.loadData(params.metaModelData,{includeTypes:includeTypes,excludeTypes:excludeTypes,globalizeObjectIds:options.globalizeObjectIds});if(params.src){this._loadModel(params.src,params,options,sceneModel,null,manifestCtx,finish,error);}else{this._parseModel(params.xkt,params,options,sceneModel,null,manifestCtx);finish();}}}else{if(params.src){this._loadModel(params.src,params,options,sceneModel,metaModel,manifestCtx,finish,error);}else if(params.xkt){this._parseModel(params.xkt,params,options,sceneModel,metaModel,manifestCtx);finish();}else if(params.manifestSrc||params.manifest){var baseDir=params.manifestSrc?getBaseDirectory(params.manifestSrc):"";var loadJSONs=function loadJSONs(metaDataFiles,done,error){var i=0;var loadNext=function loadNext(){if(i>=metaDataFiles.length){done();}else{_this154._dataSource.getMetaModel("".concat(baseDir).concat(metaDataFiles[i]),function(metaModelData){metaModel.loadData(metaModelData,{includeTypes:includeTypes,excludeTypes:excludeTypes,globalizeObjectIds:options.globalizeObjectIds});i++;_this154.scheduleTask(loadNext,100);},error);}};loadNext();};var loadXKTs_excludeTheirMetaModels=function loadXKTs_excludeTheirMetaModels(xktFiles,done,error){// Load XKTs, ignore metamodels in the XKT
27709
+ var i=0;var loadNext=function loadNext(){if(i>=xktFiles.length){done();}else{_this154._dataSource.getXKT("".concat(baseDir).concat(xktFiles[i]),function(arrayBuffer){_this154._parseModel(arrayBuffer,params,options,sceneModel,null/* Ignore metamodel in XKT */,manifestCtx);i++;_this154.scheduleTask(loadNext,100);},error);}};loadNext();};var loadXKTs_includeTheirMetaModels=function loadXKTs_includeTheirMetaModels(xktFiles,done,error){// Load XKTs, parse metamodels from the XKT
27710
+ var i=0;var loadNext=function loadNext(){if(i>=xktFiles.length){done();}else{_this154._dataSource.getXKT("".concat(baseDir).concat(xktFiles[i]),function(arrayBuffer){_this154._parseModel(arrayBuffer,params,options,sceneModel,metaModel,manifestCtx);i++;_this154.scheduleTask(loadNext,100);},error);}};loadNext();};if(params.manifest){var manifestData=params.manifest;var xktFiles=manifestData.xktFiles;if(!xktFiles||xktFiles.length===0){error("load(): Failed to load model manifest - manifest not valid");return;}var metaModelFiles=manifestData.metaModelFiles;if(metaModelFiles){loadJSONs(metaModelFiles,function(){loadXKTs_excludeTheirMetaModels(xktFiles,finish,error);},error);}else{loadXKTs_includeTheirMetaModels(xktFiles,finish,error);}}else{this._dataSource.getManifest(params.manifestSrc,function(manifestData){if(sceneModel.destroyed){return;}var xktFiles=manifestData.xktFiles;if(!xktFiles||xktFiles.length===0){error("load(): Failed to load model manifest - manifest not valid");return;}var metaModelFiles=manifestData.metaModelFiles;if(metaModelFiles){loadJSONs(metaModelFiles,function(){loadXKTs_excludeTheirMetaModels(xktFiles,finish,error);},error);}else{loadXKTs_includeTheirMetaModels(xktFiles,finish,error);}},error);}}}return sceneModel;}},{key:"_loadModel",value:function _loadModel(src,params,options,sceneModel,metaModel,manifestCtx,done,error){var _this155=this;this._dataSource.getXKT(params.src,function(arrayBuffer){_this155._parseModel(arrayBuffer,params,options,sceneModel,metaModel,manifestCtx);done();},error);}},{key:"_parseModel",value:function _parseModel(arrayBuffer,params,options,sceneModel,metaModel,manifestCtx){if(sceneModel.destroyed){return;}var dataView=new DataView(arrayBuffer);var dataArray=new Uint8Array(arrayBuffer);var xktVersion=dataView.getUint32(0,true);var parser=parsers[xktVersion];if(!parser){this.error("Unsupported .XKT file version: "+xktVersion+" - this XKTLoaderPlugin supports versions "+Object.keys(parsers));return;}this.log("Loading .xkt V"+xktVersion);var numElements=dataView.getUint32(4,true);var elements=[];var byteOffset=(numElements+2)*4;for(var _i568=0;_i568<numElements;_i568++){var elementSize=dataView.getUint32((_i568+2)*4,true);elements.push(dataArray.subarray(byteOffset,byteOffset+elementSize));byteOffset+=elementSize;}parser.parse(this.viewer,options,elements,sceneModel,metaModel,manifestCtx);}}]);return XKTLoaderPlugin;}(Plugin);function getBaseDirectory(filePath){var pathArray=filePath.split('/');pathArray.pop();// Remove the file name or the last segment of the path
27759
27711
  return pathArray.join('/')+'/';}/*
27760
27712
  Copyright (c) 2013 Gildas Lormeau. All rights reserved.
27761
27713