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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xeokit/xeokit-sdk",
3
- "version": "2.4.2-beta-39",
3
+ "version": "2.4.2-beta-41",
4
4
  "description": "Web Programming Toolkit for 3D/2D BIM and AEC Graphics",
5
5
  "module": "./dist/xeokit-sdk.es.js",
6
6
  "main": "./dist/xeokit-sdk.cjs.js",
@@ -181,7 +181,7 @@ export class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
181
181
  const cameraControl = this.angleMeasurementsPlugin.viewer.cameraControl;
182
182
  const pointerLens = this.pointerLens;
183
183
  let mouseHovering = false;
184
- let mouseHoverEntity = false;
184
+ let hoveredEntity = null;
185
185
  let lastMouseCanvasX = 0;
186
186
  let lastMouseCanvasY = 0;
187
187
  const mouseWorldPos = math.vec3();
@@ -213,7 +213,7 @@ export class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
213
213
  }
214
214
  const canvasPos = event.snappedCanvasPos || event.canvasPos;
215
215
  mouseHovering = true;
216
- mouseHoverEntity = event.entity;
216
+ hoveredEntity = event.entity;
217
217
  mouseWorldPos.set(event.worldPos);
218
218
  mouseHoverCanvasPos.set(canvasPos);
219
219
  switch (this._mouseState) {
@@ -228,6 +228,7 @@ export class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
228
228
  this._currentAngleMeasurement.cornerVisible = true;
229
229
  this._currentAngleMeasurement.angleVisible = false;
230
230
  this._currentAngleMeasurement.corner.worldPos = event.worldPos;
231
+ this._currentAngleMeasurement.corner.entity = event.entity;
231
232
  }
232
233
  this.markerDiv.style.marginLeft = `-10000px`;
233
234
  this.markerDiv.style.marginTop = `-10000px`;
@@ -239,6 +240,7 @@ export class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
239
240
  this._currentAngleMeasurement.targetVisible = true;
240
241
  this._currentAngleMeasurement.angleVisible = true;
241
242
  this._currentAngleMeasurement.target.worldPos = event.worldPos;
243
+ this._currentAngleMeasurement.target.entity = event.entity;
242
244
  }
243
245
  this.markerDiv.style.marginLeft = `-10000px`;
244
246
  this.markerDiv.style.marginTop = `-10000px`;
@@ -269,15 +271,12 @@ export class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
269
271
  this._currentAngleMeasurement = this.angleMeasurementsPlugin.createMeasurement({
270
272
  id: math.createUUID(),
271
273
  origin: {
272
- entity: mouseHoverEntity,
273
274
  worldPos: mouseWorldPos
274
275
  },
275
276
  corner: {
276
- entity: mouseHoverEntity,
277
277
  worldPos: mouseWorldPos
278
278
  },
279
279
  target: {
280
- entity: mouseHoverEntity,
281
280
  worldPos: mouseWorldPos
282
281
  },
283
282
  approximate: true
@@ -289,6 +288,7 @@ export class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
289
288
  this._currentAngleMeasurement.targetWireVisible = false;
290
289
  this._currentAngleMeasurement.targetVisible = false;
291
290
  this._currentAngleMeasurement.angleVisible = false;
291
+ this._currentAngleMeasurement.origin.entity = hoveredEntity;
292
292
  this._mouseState = MOUSE_FINDING_CORNER;
293
293
  this.angleMeasurementsPlugin.fire("measurementStart", this._currentAngleMeasurement);
294
294
  }
@@ -298,11 +298,13 @@ export class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
298
298
  this._currentAngleMeasurement.targetWireVisible = false;
299
299
  this._currentAngleMeasurement.targetVisible = true;
300
300
  this._currentAngleMeasurement.angleVisible = true;
301
+ this._currentAngleMeasurement.corner.entity = hoveredEntity;
301
302
  this._mouseState = MOUSE_FINDING_TARGET;
302
303
  } else {
303
304
  if (this._currentAngleMeasurement) {
304
305
  this._currentAngleMeasurement.destroy();
305
306
  this._currentAngleMeasurement = null;
307
+ hoveredEntity = null;
306
308
  this._mouseState = MOUSE_FINDING_ORIGIN
307
309
  this.angleMeasurementsPlugin.fire("measurementCancel", this._currentAngleMeasurement);
308
310
  }
@@ -312,7 +314,9 @@ export class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
312
314
  if (mouseHovering) {
313
315
  this._currentAngleMeasurement.targetVisible = true;
314
316
  this._currentAngleMeasurement.angleVisible = true;
317
+ this._currentAngleMeasurement.target.entity = hoveredEntity;
315
318
  this._currentAngleMeasurement.clickable = true;
319
+ hoveredEntity = null;
316
320
  this.angleMeasurementsPlugin.fire("measurementEnd", this._currentAngleMeasurement);
317
321
  this._currentAngleMeasurement = null;
318
322
  this._mouseState = MOUSE_FINDING_ORIGIN;
@@ -320,6 +324,7 @@ export class AngleMeasurementsMouseControl extends AngleMeasurementsControl {
320
324
  if (this._currentAngleMeasurement) {
321
325
  this._currentAngleMeasurement.destroy();
322
326
  this._currentAngleMeasurement = null;
327
+ hoveredEntity = null;
323
328
  this._mouseState = MOUSE_FINDING_ORIGIN;
324
329
  this.angleMeasurementsPlugin.fire("measurementCancel", this._currentAngleMeasurement);
325
330
  }
@@ -191,6 +191,7 @@ export class DistanceMeasurementsMouseControl extends DistanceMeasurementsContro
191
191
  let pointerDownCanvasX;
192
192
  let pointerDownCanvasY;
193
193
  const clickTolerance = 20;
194
+ let hoveredEntity = null;
194
195
 
195
196
  this._mouseState = MOUSE_FIRST_CLICK_EXPECTED;
196
197
 
@@ -225,6 +226,7 @@ export class DistanceMeasurementsMouseControl extends DistanceMeasurementsContro
225
226
  this._markerDiv.style.background = "pink";
226
227
  this._markerDiv.style.border = "2px solid red";
227
228
  }
229
+ hoveredEntity = event.entity;
228
230
  } else {
229
231
  this._markerDiv.style.marginLeft = `-10000px`;
230
232
  this._markerDiv.style.marginTop = `-10000px`;
@@ -263,6 +265,8 @@ export class DistanceMeasurementsMouseControl extends DistanceMeasurementsContro
263
265
  }
264
266
  if (this._currentDistanceMeasurement) {
265
267
  if (mouseHovering) {
268
+ this._currentDistanceMeasurement.target.entity = hoveredEntity;
269
+ hoveredEntity = null;
266
270
  this._currentDistanceMeasurement.clickable = true;
267
271
  this.distanceMeasurementsPlugin.fire("measurementEnd", this._currentDistanceMeasurement);
268
272
  this._currentDistanceMeasurement = null;
@@ -270,6 +274,7 @@ export class DistanceMeasurementsMouseControl extends DistanceMeasurementsContro
270
274
  this._currentDistanceMeasurement.destroy();
271
275
  this.distanceMeasurementsPlugin.fire("measurementCancel", this._currentDistanceMeasurement);
272
276
  this._currentDistanceMeasurement = null;
277
+ hoveredEntity = null;
273
278
  }
274
279
  } else {
275
280
  if (mouseHovering) {
@@ -290,6 +295,8 @@ export class DistanceMeasurementsMouseControl extends DistanceMeasurementsContro
290
295
  this._currentDistanceMeasurementInitState.wireVisible = this._currentDistanceMeasurement.wireVisible;
291
296
  this._currentDistanceMeasurementInitState.targetVisible = this._currentDistanceMeasurement.targetVisible;
292
297
  this._currentDistanceMeasurement.clickable = false;
298
+ this._currentDistanceMeasurement.origin.entity = hoveredEntity;
299
+ hoveredEntity = null;
293
300
  this.fire("measurementStart", this._currentDistanceMeasurement);
294
301
  }
295
302
  }