Procházet zdrojové kódy

fix: raw.laserOssRoot raw.panoOssRoot

xzw před 5 měsíci
rodič
revize
183edde81f

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

@@ -21969,7 +21969,7 @@
 	    viewer.inputHandler.fixSelection = true; //不通过点击屏幕而切换transfrom选中状态
 	  }
 	  Potree.settings.sizeFitToLevel = true; //当type为衰减模式时自动根据level调节大小。每长一级,大小就除以2
-	  Potree.loadPointCloudScene = function (url, type, id, title, done, onError, prefix) {
+	  Potree.loadPointCloudScene = function (url, type, id, title, done, onError, prefix1, prefix2) {
 	    //对应4dkk的场景码
 	    var dataset, useLonLat;
 	    var loadCloud = _ref => {
@@ -22028,7 +22028,7 @@
 
 	          var timeStamp = originDataset.updateTime ? originDataset.updateTime.replace(/[^0-9]/ig, '') : ''; //每重算一次后缀随updateTime更新一次 
 	          //let cloudPath = `${Potree.settings.urls.prefix1}/${Potree.settings.webSite}/${sceneCode}/data/${sceneCode}/webcloud/cloud.js` 
-	          var cloudPath = "".concat(Potree.settings.urls.prefix1, "/").concat(originDataset.webBin); //webBin添加原因:每次裁剪之类的操作会换路径,因为oss文件缓存太严重,更新慢
+	          var cloudPath = "".concat(prefix2, "/").concat(originDataset.webBin); //webBin添加原因:每次裁剪之类的操作会换路径,因为oss文件缓存太严重,更新慢
 	          dataset = originDataset;
 	          loadCloud({
 	            cloudPath,
@@ -22037,7 +22037,7 @@
 	            timeStamp,
 	            color: originDataset.color
 	          });
-	        }, sceneCode, onError, prefix);
+	        }, sceneCode, onError, prefix1);
 	      };
 	      if (Potree.settings.queryCloudLonLatUrl) {
 	        Potree.loadControlPoint(ctlData => {
@@ -22347,6 +22347,7 @@
 	    } else {
 	      prop.url instanceof Array && (prop.url = prop.url[0]); //deal bug
 
+	      var cloudPrefix = Potree.settings.urls.getPrefix(1, prop);
 	      Potree.loadPointCloudScene(prop.url, prop.type, prop.modelId, prop.title, pointcloud => {
 	        {
 	          pointcloud.matrixAutoUpdate = true;
@@ -22367,7 +22368,7 @@
 	        } else {
 	          loadDone(pointcloud);
 	        }
-	      }, onError, prop.prefix);
+	      }, onError, prop.prefix, cloudPrefix);
 	    }
 	  };
 	  return {
@@ -22518,6 +22519,29 @@
 	      }
 	      return prefix;
 	    },
+	    setPrefix(num, url) {
+	      this.urls['prefix' + num] = url;
+	      if (num === 1) {
+	        this.urls.laserOSSRoot = url;
+	      } else if (num === 3) {
+	        this.urls.panoOSSRoot = url;
+	      }
+	    },
+	    getPrefix(num, object) {
+	      var prefix, name;
+	      if (num === 1) {
+	        name = 'laserOSSRoot';
+	      } else if (num === 3) {
+	        name = 'panoOSSRoot';
+	      }
+	      var getFromModel = () => {
+	        var _ref;
+	        var prop = (_ref = object.prop || object) === null || _ref === void 0 ? void 0 : _ref.raw;
+	        return prop && prop[name];
+	      };
+	      prefix = this.urls[name] || getFromModel() || this.urls['prefix' + num];
+	      return prefix;
+	    },
 	    templates: {}
 	  },
 	  transitionsTime: {
@@ -27197,7 +27221,8 @@
 	    if (Potree.settings.urls.templates.depthTex) {
 	      src = Potree.Common.replaceAll(Potree.settings.urls.templates.depthTex, '{sceneCode}', this.pointcloud.sceneCode) + "/".concat(this.originID, ".png");
 	    } else {
-	      src = "".concat(Potree.settings.urls.prefix1, "/").concat(mapping ? mapping + '/' : '').concat(Potree.settings.webSite, "/").concat(this.pointcloud.sceneCode, "/data/").concat(this.pointcloud.sceneCode, "/depthmap/").concat(this.originID, ".png");
+	      var prefix = Potree.settings.urls.getPrefix(1, this.pointcloud); //Potree.settings.urls.laserOSSRoot || this.pointcloud.prop?.raw?.laserOssRoot ||  Potree.settings.urls.prefix1
+	      src = "".concat(prefix, "/").concat(mapping ? mapping + '/' : '').concat(Potree.settings.webSite, "/").concat(this.pointcloud.sceneCode, "/data/").concat(this.pointcloud.sceneCode, "/depthmap/").concat(this.originID, ".png");
 	    }
 	    //console.log('开始下载depthImg', this.id)
 	    var texture = texLoader$3.load(src, () => {
@@ -29062,12 +29087,13 @@
 	  }
 	  getTiles(d, sceneNum, useV4url, pointcloud) {
 	    var v3OrV4Str = useV4url ? "/scene_view_data/".concat(sceneNum, "/images/") : "/images/images".concat(sceneNum, "/");
+	    var prefix = Potree.settings.urls.getPrefix(3, pointcloud); //Potree.settings.urls.panoOssRoot || pointcloud.prop?.raw?.panoOssRoot ||  Potree.settings.urls.prefix3
 	    if (Potree.settings.isLocal && !this.local2SrcFailed && pointcloud.datasetData.mapping && !Potree.settings.isLocal2) {
 	      //非离线包的话加mapping  
 
-	      return "".concat(Potree.settings.urls.prefix3, "/").concat(pointcloud.datasetData.mapping).concat(v3OrV4Str).concat(d);
+	      return "".concat(prefix, "/").concat(pointcloud.datasetData.mapping).concat(v3OrV4Str).concat(d);
 	    }
-	    return "".concat(Potree.settings.urls.prefix3).concat(v3OrV4Str).concat(d);
+	    return "".concat(prefix).concat(v3OrV4Str).concat(d);
 
 	    /* 
 	    if(Potree.settings.isLocal && !this.local2SrcFailed || useV4url){//新的地址  scene_view_data/场景码/images/tiles

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
public/lib/potree/potree.js.map


+ 2 - 2
src/sdk/cover/index.js

@@ -95,10 +95,10 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
     }
      
     if(laserOSSRoot != void 0){
-        Potree.settings.urls.prefix1 = laserOSSRoot 
+        Potree.settings.urls.setPrefix(1, laserOSSRoot)  //dep .. 
     }
     if(panoOSSRoot != void 0){
-        Potree.settings.urls.prefix3 = panoOSSRoot //tile
+        Potree.settings.urls.setPrefix(3, panoOSSRoot)  //tile
     }
     if(ossRoot){
         Potree.settings.urls.panoPrefix = ossRoot //vision.txt