xzw 1 year ago
parent
commit
8165b4fe56
3 changed files with 26 additions and 12 deletions
  1. 7 4
      public/lib/potree/potree.js
  2. 1 1
      public/lib/potree/potree.js.map
  3. 18 7
      src/sdk/cover/index.js

+ 7 - 4
public/lib/potree/potree.js

@@ -93391,7 +93391,7 @@ void main()
 
 		}
 
-		load (node) {
+		load (node, callback) {
 			if (node.loaded) {
 				return;
 			}
@@ -93410,7 +93410,7 @@ void main()
 				if (xhr.readyState === 4) {
 					if (xhr.status === 200 || xhr.status === 0) {
 						let buffer = xhr.response;
-						this.parse(node, buffer);
+						this.parse(node, buffer, callback);
 					} else {
 						console.log('Failed to load file! HTTP status: ' + xhr.status + ', file: ' + url);
 					}
@@ -93420,7 +93420,7 @@ void main()
 			xhr.send(null);
 		}
 
-		async parse(node, buffer){
+		async parse(node, buffer, callback){//add callback
 			let lf = new LASFile(buffer);
 			let handler = new LasLazBatcher(node);
 
@@ -93468,11 +93468,14 @@ void main()
 				await lf.close();
 
 				lf.isOpen = false;
+	            
 			}catch(e){
 				console.error("failed to close las/laz file!!!");
 				
 				throw e;
 			}
+	        
+	        callback(); //add
 		}
 
 		handle (node, url) {
@@ -120889,7 +120892,7 @@ ENDSEC
 	    
 	    
 	    setGroundPlaneImg(src){//设置地面图
-	        const s = 0.08;
+	        const s = 0.06;
 	        this.curGroundImgSrc = src;
 	        if(src){
 	            let map = texLoader$a.load(src,(tex)=>{

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


+ 18 - 7
src/sdk/cover/index.js

@@ -20,7 +20,7 @@ export const enter = (dom, mapDom, isLocal, lonlat) => {
         Potree.settings.urls.prefix = Potree.settings.urls.prefix7  
         Potree.settings.webSite = 'datav1' 
     }
-    
+    const mapBus = mitt(), sceneBus = mitt()
      
     
     const tagLimitDis = 8;
@@ -32,7 +32,7 @@ export const enter = (dom, mapDom, isLocal, lonlat) => {
     
     let {THREE} = Potree.mergeEditStart(dom, mapDom)
     let MergeEditor = viewer.modules.MergeEditor
-    let sceneBus = mitt()
+  
     
     viewer.addEventListener('camera_changed', e => {
         var camera = e.viewport.camera
@@ -47,6 +47,16 @@ export const enter = (dom, mapDom, isLocal, lonlat) => {
     })
     
     
+    /* mapBus.on('visible', v => {
+        //console.log('mapBus visible', v)
+        viewer.mapViewer.visible = v
+        if (v) {
+            viewer.mapViewer.mapLayer.needUpdate = true
+        }
+        viewer.mapViewer.dispatchEvent({type:'forceVisible',visible:v})
+    }) */
+    
+    
     {
         let index = 1; 
         //let setDisplay()
@@ -224,7 +234,7 @@ export const enter = (dom, mapDom, isLocal, lonlat) => {
     
     
     let sdk = {
-        sceneBus,
+        sceneBus, mapBus,
         getPositionByScreen(pos2d, hopeModelId ){//通过屏幕坐标获取真实坐标 . hopeModelId: 如果指定了模型,优先返回hopeModelId上的intersect
             //console.log('getPositionByScreen',hopeModelId)
             hopeModelId = null
@@ -418,12 +428,13 @@ export const enter = (dom, mapDom, isLocal, lonlat) => {
                 viewer.mapViewer = new Potree.MapViewer(mapArea)
                 viewer.mapViewer.initProjection() 
                 //focus
-                let boundSize = new THREE.Vector3(300,150,1).max(viewer.bound.boundSize)
-                setTimeout(()=>{
+                let boundSize = new THREE.Vector3(200,150,1).max(viewer.bound.boundSize)
+                
+                viewer.mapViewer.addEventListener('viewerResize',()=>{
                     viewer.mapViewer.moveTo(viewer.bound.center, boundSize,  0)
-                },100)
+                },{once:true})
                 
-            }
+            } 
         },