Browse Source

Merge branch 'dev' of http://192.168.0.115:3000/4dkankan/4dkankan_bim into dev

rindy 2 years ago
parent
commit
b91e8c33ff
1 changed files with 32 additions and 22 deletions
  1. 32 22
      src/utils/ConvertViews.js

+ 32 - 22
src/utils/ConvertViews.js

@@ -74,7 +74,7 @@ export default class ConvertViews extends THREE.EventDispatcher{
             let images360 = app.viewer.images360
             viewInfo = {
                 displayMode : app.Potree.settings.displayMode,
-                currentPano : images360.currentPano.id,
+                currentPano :  images360.currentPano && images360.currentPano.id,
                 isAtPano : images360.isAtPano(),
                 quaternionChanged : true,
                 
@@ -176,7 +176,7 @@ export default class ConvertViews extends THREE.EventDispatcher{
     flyToPano(app, panoId, o={}){
         if(app.sceneType == 'laser'){
             app.viewer.images360.flyToPano(Object.assign({},{ 
-                pano: app.viewer.images360.panos.getPano(panoId)
+                pano: app.viewer.images360.getPano(panoId)
             },o)) 
         }else{
             let player = app.app.core.get('Player')
@@ -412,27 +412,9 @@ export default class ConvertViews extends THREE.EventDispatcher{
        
         console.log('convertInfo', convertInfo, sourcePano, targetPano)
          
-        
-        if(targetApp.sceneType == 'bim'){
-            bimViewer = targetApp.viewer
-            bimViewer.getViewer().setTransitionAnimationState(false)
-            targetApp.CLOUD.GlobalData.WalkRotationSpeed = -0.2 //反向一下
-        }
-        
-        //this.syncView(sourceApp, targetApp)
-        if(targetApp.sceneType == 'bim' || this.ifCanChangePos(targetApp)){
-            
-            this.syncPosRot(sourceFakeApp.viewInfo, targetApp, convertInfo) 
+         
+        let selectBestPose = ()=>{
             
-        }else if(targetApp.sceneType == 'laser' ){
-            setTimeout(()=>{//一开始虽然是点云模式,但过后又变成showPano所以是没加载好
-                
-                this.syncPosRot(sourceFakeApp.viewInfo, targetApp, convertInfo) 
-            },1000)
-        
-        
-        }else{//bim -> 固定点位
-           
             let data = this.getTranPosData(sourceFakeApp.viewInfo, convertInfo ) 
   
             let panos = targetApp.fakeApp.panos;
@@ -453,6 +435,34 @@ export default class ConvertViews extends THREE.EventDispatcher{
 
             } 
             this.flyToPano(targetApp, panos2[0].id, prop)     
+            
+            
+        } 
+        
+        if(targetApp.sceneType == 'bim'){
+            bimViewer = targetApp.viewer
+            bimViewer.getViewer().setTransitionAnimationState(false)
+            targetApp.CLOUD.GlobalData.WalkRotationSpeed = -0.2 //反向一下
+        }
+        
+        //this.syncView(sourceApp, targetApp)
+        if(targetApp.sceneType == 'bim' /* || this.ifCanChangePos(targetApp) */){
+            
+            this.syncPosRot(sourceFakeApp.viewInfo, targetApp, convertInfo) 
+            
+        }else if(targetApp.sceneType == 'laser' ){
+            setTimeout(()=>{//一开始虽然是点云模式,但过后又变成showPano所以是没加载好
+                if(this.ifCanChangePos(targetApp) ){
+                    this.syncPosRot(sourceFakeApp.viewInfo, targetApp, convertInfo) 
+                }else{
+                    selectBestPose()
+                }
+                
+            },1000)
+        
+        
+        }else{//bim -> 固定点位
+            selectBestPose()
              
         }