xzw 2 years ago
parent
commit
d4ccb1dce6
1 changed files with 6 additions and 5 deletions
  1. 6 5
      src/navigation/InputHandlerNew.js

+ 6 - 5
src/navigation/InputHandlerNew.js

@@ -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) //数据集多的时候卡顿