瀏覽代碼

fix: 看看tileRes = 2k

xzw 11 月之前
父節點
當前提交
147507b90a
共有 3 個文件被更改,包括 25 次插入12 次删除
  1. 12 6
      public/lib/potree/potree.js
  2. 1 1
      public/lib/potree/potree.js.map
  3. 12 5
      src/sdk/cover/index.js

+ 12 - 6
public/lib/potree/potree.js

@@ -27807,7 +27807,7 @@
 	      //2048
 	      this.queueTilesInDirectionForPano(i, tileDownloader, this.priorityCriteria.pano, c, this.priorityCriteria.cameraPosition, this.priorityCriteria.cameraDirs, TilePrioritizer.DIRECTIONAL_FOV_NARROW);
 	    }
-	    if (this.canDownloadSize(h)) {
+	    if (this.canDownloadSize(h) && this.priorityCriteria.pano.pointcloud.tileRes != '2k') {
 	      //4096
 	      this.queueTilesInDirectionForPano(i, tileDownloader, this.priorityCriteria.pano, h, this.priorityCriteria.cameraPosition, this.priorityCriteria.cameraDirs, TilePrioritizer.DIRECTIONAL_FOV_NARROW);
 	    }
@@ -27822,7 +27822,7 @@
 	      //2048
 	      this.queueTilesInDirectionForPano(i, tileDownloader, this.priorityCriteria.pano, c, this.priorityCriteria.cameraPosition, this.priorityCriteria.cameraDirs, TilePrioritizer.DIRECTIONAL_FOV);
 	    }
-	    if (this.canDownloadSize(h)) {
+	    if (this.canDownloadSize(h) && this.priorityCriteria.pano.pointcloud.tileRes != '2k') {
 	      //4096
 	      this.queueTilesInDirectionForPano(i, tileDownloader, this.priorityCriteria.pano, h, this.priorityCriteria.cameraPosition, this.priorityCriteria.cameraDirs, TilePrioritizer.DIRECTIONAL_FOV);
 	    }
@@ -28886,6 +28886,7 @@
 	      tileIndex = o.tileIndex,
 	      sceneCode = o.pano.pointcloud.sceneCode,
 	      useV4url = Potree.settings.useV4url && o.pano.pointcloud.datasetData.sceneVersion == 'V4'; //v4的全景图等路径不一样  
+	    var resolution = o.pano.pointcloud.tileRes || '4k';
 	    var metadata = {
 	      sceneScheme: 10
 	    };
@@ -28906,7 +28907,7 @@
 	    } else {
 	      //阿里云oss的规则   if (metadata.sceneScheme == 10) 
 
-	      d = 'tiles/4k/' + id + '_skybox' + h + '.jpg?x-oss-process=';
+	      d = 'tiles/' + resolution + '/' + id + '_skybox' + h + '.jpg?x-oss-process=';
 	      if (e[panoSize] == '512') {
 	        d += 'image/resize,h_512';
 	      } else {
@@ -28915,7 +28916,7 @@
 	          //https://4dkk.4dage.com/images/imagesx4iqYDG3/tiles/4k/122_skybox0.jpg?x-oss-process=image/resize,m_lfit,w_1024/crop,w_512,h_512,x_511,y_0
 	          d += 'image/resize,m_lfit,w_' + panoSize + '/crop,w_512,h_512,';
 	        } else {
-	          d = 'tiles/4k/' + id + '_skybox' + h + '.jpg?x-oss-process=image/crop,w_512,h_512,';
+	          d = 'tiles/' + resolution + '/' + id + '_skybox' + h + '.jpg?x-oss-process=image/crop,w_512,h_512,';
 	        }
 	        //起始位置
 	        if (t.tileX == 0) {
@@ -29318,7 +29319,7 @@
 	  }
 	  queueTileUpload(e, t, i) {
 	    var n = this.getActiveRenderTargetDescriptor(e.panoId);
-	    if (this.isRenderTargetDescriptorValid(n) && e.downloaded && !this.isTileUploaded(e) && (!e.uploadQueued || i) && (!(e.panoSize > this.qualityManager.getMaxNavPanoSize()) || this.zoomingActive)) {
+	    if (this.isRenderTargetDescriptorValid(n) && e.downloaded && !this.isTileUploaded(e) && (!e.uploadQueued || i) && (!(e.panoSize > this.qualityManager.getMaxNavPanoSize()) || this.zoomingActive && viewer.images360.getPano(e.panoId).tileRes != '2k')) {
 	      var r = this.getUploadQueueForPano(e.panoId);
 	      //console.log(window.sceneName, 'queueTileUpload: ', e.panoId, e.tileIndex,   i)
 	      if (i) {
@@ -32182,6 +32183,10 @@
 	          this.panoRenderer.renderPanoTiles(pano.id, null, !1, !1);
 	          pano.setZoomed(ifZoom);
 	        };
+	        if (currentPano.pointcloud.tileRes == '2k') {
+	          //融合页面
+	          return currentPano.zoomed && o(currentPano, !1);
+	        }
 	        if (r && (!currentPano.zoomed || this.qualityManager.zoomLevelResolution && this.qualityManager.zoomLevelResolution != '4k')) {
 	          //needZoom
 	          currentPano.zoomed || o(currentPano, !0);
@@ -92801,7 +92806,7 @@
 	  }
 	  return loadFile(path, null, callback);
 	}
-	function load4dkkPanos(sceneCode, model, done) {
+	function load4dkkPanos(sceneCode, model, done, tileRes) {
 	  //加载四维看看的漫游点并转换
 	  model.is4dkkModel = true;
 	  model.panos = [];
@@ -92823,6 +92828,7 @@
 	  model.datasetData = {
 	    sceneVersion: 'V4'
 	  };
+	  model.tileRes = tileRes;
 	  model.sceneCode = sceneCode;
 	  model.bound = new THREE.Box3();
 	  var path = "https://4dkk.4dage.com/scene_view_data/".concat(sceneCode, "/images/vision.txt");

文件差異過大導致無法顯示
+ 1 - 1
public/lib/potree/potree.js.map


+ 12 - 5
src/sdk/cover/index.js

@@ -148,8 +148,13 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes }) => {
             }
         }
     })
-
-    viewer.inputHandler.addEventListener('keydown', (e)=>{
+    
+    viewer.images360.addEventListener('endChangeMode',(e)=>{
+        sceneBus.emit('modeChange', e.mode == 'showPanos' ? 'pano' : 'fuse')
+    }) 
+    
+    
+    /* viewer.inputHandler.addEventListener('keydown', (e)=>{
         if(e.event.key == "e" ){ 
            MergeEditor.transformControls.mode = 'rotate'
         }else if(e.event.key == "w"){
@@ -157,7 +162,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes }) => {
         }else if(e.event.key == "s"){
             MergeEditor.transformControls.mode = 'scale'
         }
-    })
+    }) */
 
     viewer.addEventListener('webglError', e => {
         console.error('viewer webglError: ' + e)
@@ -520,6 +525,8 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes }) => {
                 }else{
                     console.warn('没有找到漫游点',o)
                 }
+            }else if(requestInPano){
+                requestInPano.result_.flyOutPano()
             }
             
 
@@ -772,7 +779,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes }) => {
                 if (props.fromType == 6 || props.fromType == 4 || props.fromType == 0 || props.fromType == 1) {
                     Potree.load4dkkPanos(props.raw.num, model, () => {
                         bus.emit('loadDone')
-                    })
+                    },    props.fromType == 0 ? '2k' : '4k' ) //看看场景是2k
                 } else {
                     bus.emit('loadDone')
                 }
@@ -813,7 +820,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes }) => {
                 getDefaultRotation,
 
                 supportPano() {  //是否支持全景图
-                    return model.panos && model.panos.length > 0
+                    return model?.panos?.length > 0
                 },
                 flyInPano(pano, {dontFly, quaternion, duration}={}) {//  飞入全景图
                     requestInPano = model