|
@@ -407,9 +407,10 @@ export class InputHandler extends THREE.EventDispatcher {
|
|
|
|
|
|
|
|
|
//if(isTouch || !Potree.settings.intersectWhenHover ){
|
|
|
- if(!this.dragViewport.view.isFlying() && Potree.settings.intersectWhenHover && Potree.settings.editType != 'pano'){//漫游点编辑如果拖拽前getIntersect旋转会延迟
|
|
|
+ if(!this.dragViewport.view.isFlying() && Potree.settings.intersectWhenHover && Potree.settings.editType != 'pano' ){//漫游点编辑如果拖拽前getIntersect旋转会延迟
|
|
|
this.hoveredElements = this.getHoveredElements();
|
|
|
- this.intersect = this.getIntersect(viewport) //更新intersect,避免在没有mousemove但flyToPano后intersect未更新。
|
|
|
+ let dontIntersect = false
|
|
|
+ this.intersect = this.getIntersect(viewport,null,null,dontIntersect) //更新intersect,避免在没有mousemove但flyToPano后intersect未更新。
|
|
|
//this.intersect = this.getWholeIntersect()
|
|
|
}
|
|
|
if(!viewport)return //why add this?
|
|
@@ -975,11 +976,11 @@ export class InputHandler extends THREE.EventDispatcher {
|
|
|
let intersect
|
|
|
|
|
|
|
|
|
- if(e.onlyGetIntersect || Potree.settings.intersectWhenHover && (!this.drag || this.drag.object || viewport.alignment ) ){ //没有拖拽物体,但按下鼠标了的话,不intersect。触屏的就能直接避免intersect
|
|
|
+ if(e.onlyGetIntersect || (!this.drag || this.drag.object || viewport.alignment ) ){ //没有拖拽物体,但按下鼠标了的话,不intersect。触屏的就能直接避免intersect
|
|
|
|
|
|
- let dontIntersect = this.drag && viewport.alignment || isFlying /* viewer.images360.flying */ // flying 时可能卡顿
|
|
|
+ let dontIntersect = this.drag && viewport.alignment || isFlying || !Potree.settings.intersectWhenHover // flying 时可能卡顿
|
|
|
//console.log('dontIntersectPointcloud',dontIntersectPointcloud)
|
|
|
-
|
|
|
+
|
|
|
/* if(e.onlyGetIntersect ) */intersect = this.getIntersect(viewport, e.onlyGetIntersect, e.pickWindowSize, !!dontIntersect, e.whichPointcloud) //数据集多的时候卡顿
|
|
|
/* else Potree.Common.intervalTool.isWaiting('getIntersect', ()=>{
|
|
|
this.intersect = this.getIntersect(viewport, e.onlyGetIntersect, e.pickWindowSize, !!dontIntersect, e.whichPointcloud) //数据集多的时候卡顿
|