@xeokit/xeokit-sdk 2.4.2-beta-19 → 2.4.2-beta-20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/xeokit-sdk.cjs.js +8 -0
- package/dist/xeokit-sdk.es.js +8 -0
- package/dist/xeokit-sdk.es5.js +2 -2
- package/dist/xeokit-sdk.min.cjs.js +1 -1
- package/dist/xeokit-sdk.min.es.js +1 -1
- package/dist/xeokit-sdk.min.es5.js +1 -1
- package/package.json +1 -1
- package/src/viewer/scene/CameraControl/lib/controllers/PickController.js +8 -0
package/dist/xeokit-sdk.cjs.js
CHANGED
|
@@ -87491,6 +87491,8 @@ class PickController {
|
|
|
87491
87491
|
|
|
87492
87492
|
this._lastPickedEntityId = null;
|
|
87493
87493
|
|
|
87494
|
+
this._lastHash = null;
|
|
87495
|
+
|
|
87494
87496
|
this._needFireEvents = 0;
|
|
87495
87497
|
}
|
|
87496
87498
|
|
|
@@ -87498,6 +87500,7 @@ class PickController {
|
|
|
87498
87500
|
* Immediately attempts a pick, if scheduled.
|
|
87499
87501
|
*/
|
|
87500
87502
|
update() {
|
|
87503
|
+
|
|
87501
87504
|
if (!this._configs.pointerEnabled) {
|
|
87502
87505
|
return;
|
|
87503
87506
|
}
|
|
@@ -87506,6 +87509,11 @@ class PickController {
|
|
|
87506
87509
|
return;
|
|
87507
87510
|
}
|
|
87508
87511
|
|
|
87512
|
+
const hash = `${~~this.pickCursorPos[0]}-${~~this.pickCursorPos[1]}-${this.scheduleSnapOrPick}-${this.schedulePickSurface}-${this.schedulePickEntity}`;
|
|
87513
|
+
if (this._lastHash === hash) {
|
|
87514
|
+
return;
|
|
87515
|
+
}
|
|
87516
|
+
|
|
87509
87517
|
this.picked = false;
|
|
87510
87518
|
this.pickedSurface = false;
|
|
87511
87519
|
this.snappedOrPicked = false;
|
package/dist/xeokit-sdk.es.js
CHANGED
|
@@ -87487,6 +87487,8 @@ class PickController {
|
|
|
87487
87487
|
|
|
87488
87488
|
this._lastPickedEntityId = null;
|
|
87489
87489
|
|
|
87490
|
+
this._lastHash = null;
|
|
87491
|
+
|
|
87490
87492
|
this._needFireEvents = 0;
|
|
87491
87493
|
}
|
|
87492
87494
|
|
|
@@ -87494,6 +87496,7 @@ class PickController {
|
|
|
87494
87496
|
* Immediately attempts a pick, if scheduled.
|
|
87495
87497
|
*/
|
|
87496
87498
|
update() {
|
|
87499
|
+
|
|
87497
87500
|
if (!this._configs.pointerEnabled) {
|
|
87498
87501
|
return;
|
|
87499
87502
|
}
|
|
@@ -87502,6 +87505,11 @@ class PickController {
|
|
|
87502
87505
|
return;
|
|
87503
87506
|
}
|
|
87504
87507
|
|
|
87508
|
+
const hash = `${~~this.pickCursorPos[0]}-${~~this.pickCursorPos[1]}-${this.scheduleSnapOrPick}-${this.schedulePickSurface}-${this.schedulePickEntity}`;
|
|
87509
|
+
if (this._lastHash === hash) {
|
|
87510
|
+
return;
|
|
87511
|
+
}
|
|
87512
|
+
|
|
87505
87513
|
this.picked = false;
|
|
87506
87514
|
this.pickedSurface = false;
|
|
87507
87515
|
this.snappedOrPicked = false;
|
package/dist/xeokit-sdk.es5.js
CHANGED
|
@@ -21285,9 +21285,9 @@ var eyeLookLen=math.lenVec3(math.subVec3(camera.look,camera.eye,math.vec3()));va
|
|
|
21285
21285
|
*/this.pickedSurface=false;/**
|
|
21286
21286
|
* Will hold the PickResult after after picking.
|
|
21287
21287
|
* @type {PickResult}
|
|
21288
|
-
*/this.pickResult=null;this._lastPickedEntityId=null;this._needFireEvents=0;}/**
|
|
21288
|
+
*/this.pickResult=null;this._lastPickedEntityId=null;this._lastHash=null;this._needFireEvents=0;}/**
|
|
21289
21289
|
* Immediately attempts a pick, if scheduled.
|
|
21290
|
-
*/_createClass(PickController,[{key:"update",value:function update(){if(!this._configs.pointerEnabled){return;}if(!this.schedulePickEntity&&!this.schedulePickSurface){return;}this.picked=false;this.pickedSurface=false;this.snappedOrPicked=false;this.hoveredSnappedOrSurfaceOff=false;var hasHoverSurfaceSubs=this._cameraControl.hasSubs("hoverSurface");if(this.scheduleSnapOrPick){var snapPickResult=this._scene.pick({canvasPos:this.pickCursorPos,snapRadius:this._configs.snapRadius,snapToVertex:this._configs.snapToVertex,snapToEdge:this._configs.snapToEdge});if(snapPickResult&&(snapPickResult.snappedToEdge||snapPickResult.snappedToVertex)){this.snapPickResult=snapPickResult;this.snappedOrPicked=true;this._needFireEvents++;}else{this.schedulePickSurface=true;// Fallback
|
|
21290
|
+
*/_createClass(PickController,[{key:"update",value:function update(){if(!this._configs.pointerEnabled){return;}if(!this.schedulePickEntity&&!this.schedulePickSurface){return;}var hash="".concat(~~this.pickCursorPos[0],"-").concat(~~this.pickCursorPos[1],"-").concat(this.scheduleSnapOrPick,"-").concat(this.schedulePickSurface,"-").concat(this.schedulePickEntity);if(this._lastHash===hash){return;}this.picked=false;this.pickedSurface=false;this.snappedOrPicked=false;this.hoveredSnappedOrSurfaceOff=false;var hasHoverSurfaceSubs=this._cameraControl.hasSubs("hoverSurface");if(this.scheduleSnapOrPick){var snapPickResult=this._scene.pick({canvasPos:this.pickCursorPos,snapRadius:this._configs.snapRadius,snapToVertex:this._configs.snapToVertex,snapToEdge:this._configs.snapToEdge});if(snapPickResult&&(snapPickResult.snappedToEdge||snapPickResult.snappedToVertex)){this.snapPickResult=snapPickResult;this.snappedOrPicked=true;this._needFireEvents++;}else{this.schedulePickSurface=true;// Fallback
|
|
21291
21291
|
this.snapPickResult=null;}}if(this.schedulePickSurface){if(this.pickResult&&this.pickResult.worldPos){var pickResultCanvasPos=this.pickResult.canvasPos;if(pickResultCanvasPos[0]===this.pickCursorPos[0]&&pickResultCanvasPos[1]===this.pickCursorPos[1]){this.picked=true;this.pickedSurface=true;this._needFireEvents+=hasHoverSurfaceSubs?1:0;this.schedulePickEntity=false;this.schedulePickSurface=false;if(this.scheduleSnapOrPick){this.snappedOrPicked=true;}else{this.hoveredSnappedOrSurfaceOff=true;}this.scheduleSnapOrPick=false;return;}}}if(this.schedulePickEntity){if(this.pickResult&&(this.pickResult.canvasPos||this.pickResult.snappedCanvasPos)){var _pickResultCanvasPos=this.pickResult.canvasPos||this.pickResult.snappedCanvasPos;if(_pickResultCanvasPos[0]===this.pickCursorPos[0]&&_pickResultCanvasPos[1]===this.pickCursorPos[1]){this.picked=true;this.pickedSurface=false;this.schedulePickEntity=false;this.schedulePickSurface=false;return;}}}if(this.schedulePickSurface||this.scheduleSnapOrPick&&!this.snapPickResult){this.pickResult=this._scene.pick({pickSurface:true,pickSurfaceNormal:false,canvasPos:this.pickCursorPos});if(this.pickResult){this.picked=true;if(this.scheduleSnapOrPick){this.snappedOrPicked=true;}else{this.pickedSurface=true;}this._needFireEvents++;}else if(this.scheduleSnapOrPick){this.hoveredSnappedOrSurfaceOff=true;this._needFireEvents++;}}else{// schedulePickEntity == true
|
|
21292
21292
|
this.pickResult=this._scene.pick({canvasPos:this.pickCursorPos});if(this.pickResult){this.picked=true;this.pickedSurface=false;this._needFireEvents++;}}this.scheduleSnapOrPick=false;this.schedulePickEntity=false;this.schedulePickSurface=false;}},{key:"fireEvents",value:function fireEvents(){if(this._needFireEvents===0){return;}if(this.hoveredSnappedOrSurfaceOff){this._cameraControl.fire("hoverSnapOrSurfaceOff",{canvasPos:this.pickCursorPos,pointerPos:this.pickCursorPos},true);}if(this.snappedOrPicked){if(this.snapPickResult){var pickResult=new PickResult();pickResult.snappedToVertex=this.snapPickResult.snappedToVertex;pickResult.snappedToEdge=this.snapPickResult.snappedToEdge;pickResult.worldPos=this.snapPickResult.worldPos;pickResult.canvasPos=this.pickCursorPos;pickResult.snappedCanvasPos=this.snapPickResult.snappedCanvasPos;this._cameraControl.fire("hoverSnapOrSurface",pickResult,true);this.snapPickResult=null;}else{this._cameraControl.fire("hoverSnapOrSurface",this.pickResult,true);}}if(this.picked&&this.pickResult&&(this.pickResult.entity||this.pickResult.worldPos)){if(this.pickResult.entity){var pickedEntityId=this.pickResult.entity.id;if(this._lastPickedEntityId!==pickedEntityId){if(this._lastPickedEntityId!==undefined){this._cameraControl.fire("hoverOut",{entity:this._scene.objects[this._lastPickedEntityId]},true);}this._cameraControl.fire("hoverEnter",this.pickResult,true);this._lastPickedEntityId=pickedEntityId;}}this._cameraControl.fire("hover",this.pickResult,true);if(this.pickResult.worldPos){this.pickedSurface=true;this._cameraControl.fire("hoverSurface",this.pickResult,true);}}else{if(this._lastPickedEntityId!==undefined){this._cameraControl.fire("hoverOut",{entity:this._scene.objects[this._lastPickedEntityId]},true);this._lastPickedEntityId=undefined;}this._cameraControl.fire("hoverOff",{canvasPos:this.pickCursorPos},true);}this.pickResult=null;this._needFireEvents=0;}}]);return PickController;}();/**
|
|
21293
21293
|
* @private
|