瀏覽代碼

fix: 增加同时加载个数到2

xzw 1 年之前
父節點
當前提交
016bc0e7e6
共有 3 個文件被更改,包括 64 次插入53 次删除
  1. 34 32
      public/lib/potree/potree.js
  2. 1 1
      public/lib/potree/potree.js.map
  3. 29 20
      src/sdk/cover/index.js

File diff suppressed because it is too large
+ 34 - 32
public/lib/potree/potree.js


File diff suppressed because it is too large
+ 1 - 1
public/lib/potree/potree.js.map


+ 29 - 20
src/sdk/cover/index.js

@@ -671,7 +671,10 @@ export const enter = ({dom, mapDom, isLocal, lonlat, scenes }) => {
                         }, 0))
                          
                         readyToAddModel = true  //准备开始加载
-                        startLoad(autoLoads[0])
+                        loadNext()//startLoad(autoLoads[0])
+                        
+                        
+                        
                     },30) 
                 }
                 autoLoads.push(props)
@@ -686,19 +689,25 @@ export const enter = ({dom, mapDom, isLocal, lonlat, scenes }) => {
              
             let startLoad = (prop)=>{
                 //if(autoLoads.filter(e=>e.loaded).length>1)return console.log('取消加载', prop), prop.onError()
-                 
-                //return prop.onError()
+                Potree.Log(`--开始加载--`,     { font: {color: '#f68' }  }); 
+                console.log('id:', prop.id, ', title:', prop.title, ', filename:', Potree.Common.getNameFromURL(prop.url), ', modelType:', prop.modelType, prop ) 
+                
+                
                 prop.unlit = props.renderType != 'normal' 
                 prop.maximumScreenSpaceError = 60
                 Potree.addModel(prop,  prop.done , prop.progressFun, prop.onError)
                 prop.loading = true
-                
-                Potree.Log(`--开始加载--`, {
-                    font: {color: '#f68' }
-                });
-                console.log('id:', prop.id, 'title:', prop.title, ', filename:', Potree.Common.getNameFromURL(prop.url),  prop ) 
+                  
              }
             
+            
+            let loadNext = ()=>{ 
+                let haventLoad = autoLoads.filter(e=>!e.loading && !e.loadFinish);
+                let loading = autoLoads.filter(e=>e.loading); 
+                haventLoad.slice(0, maxLoadingCount - loading.length).forEach(e=>startLoad(e))   
+                return haventLoad.length>0
+            }
+            
             let spliceFromArr = (model,loaded)=>{
                 //let autoLoads.find()
                 props.loadFinish = true
@@ -711,19 +720,19 @@ export const enter = ({dom, mapDom, isLocal, lonlat, scenes }) => {
                     props.error = true 
                 }
                
-                let haventLoad = autoLoads.filter(e=>!e.loading && !e.loadFinish);
+                /* let haventLoad = autoLoads.filter(e=>!e.loading && !e.loadFinish);
                 if( haventLoad[0]){
                     startLoad(haventLoad[0])
-                     
-                    //this.addModel(autoLoads[0])
-                }else if(autoLoads.filter(e=>!e.loadFinish).length == 0 && autoLoads.filter(e=>e.loaded).length>0 && !props.isFirstLoad){//设置相机位置:当自动开始加载第一个模型时(其余的也跟着自动加载),等这批加载完后;  
-                    let autoLoadsDone = autoLoads.filter(e=>e.loaded).map(e=>e.model)
-                    console.log('所有模型加载完毕')
-                    autoLoads.filter(e=>e.loaded && e.show).forEach(e=>e.model.visible = true)
-                    
-                    MergeEditor.focusOn(autoLoadsDone, 1000, true, true)
-                    autoLoads.length = 0
-                    
+                      */
+                if(!loadNext()){
+                    if(autoLoads.filter(e=>!e.loadFinish).length == 0 && autoLoads.filter(e=>e.loaded).length>0 && !props.isFirstLoad){//设置相机位置:当自动开始加载第一个模型时(其余的也跟着自动加载),等这批加载完后;  
+                        let autoLoadsDone = autoLoads.filter(e=>e.loaded).map(e=>e.model)
+                        console.log('所有模型加载完毕')
+                        autoLoads.filter(e=>e.loaded && e.show).forEach(e=>e.model.visible = true)
+                        
+                        MergeEditor.focusOn(autoLoadsDone, 1000, true, true)
+                        autoLoads.length = 0
+                    }
                 }  
             }
             
@@ -876,7 +885,7 @@ export const enter = ({dom, mapDom, isLocal, lonlat, scenes }) => {
                 changeShow(show){ 
                     props.show = show  //for autoLoads show model
                     if(model){  
-                        Potree.Utils.updateVisible(model, 'changeShow', show)  
+                        Potree.Utils.updateVisible(model, 'datasetSelection', show)  
                         if(model.panos){
                             model.panos.forEach(e=>e.setEnable(show))
                         }