Преглед изворни кода

Merge branch 'v1.7.0' of http://192.168.0.115:3000/bill/fuse-code into v1.7.0

bill пре 11 месеци
родитељ
комит
6eb23a459f
3 измењених фајлова са 17 додато и 8 уклоњено
  1. 9 7
      public/lib/potree/potree.js
  2. 1 1
      public/lib/potree/potree.js.map
  3. 7 0
      src/sdk/cover/index.js

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

@@ -21862,7 +21862,7 @@
 	        //model.rotation.setFromVector3(prop.rotation) 
 	        model.rotation.copy(prop.rotation);
 	      }
-	      if (prop.scale) {
+	      if (prop.scale != void 0) {
 	        model.scale.set(prop.scale, prop.scale, prop.scale);
 	      }
 	      if (model.isPointcloud) {
@@ -30245,7 +30245,9 @@
 	        this.cube.material.defines.depth_background = ''; //skybox的深度改得向后一些, 避免盖住chunk,造成坑坑洼洼
 
 	        this.addEventListener('endChangeMode', e => {
-	          viewer.objs.children.forEach(e => this.changeModelMat(e)); //干脆全部换,就不容易错
+	          viewer.objs.children.forEach(e => {
+	            if (e.panos) this.changeModelMat(e);
+	          }); //干脆全部换,就不容易错
 	        });
 	      }
 	    }
@@ -56129,7 +56131,7 @@
 	    var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
 	    var viewer = this.viewer;
 	    var camera = params.camera ? params.camera : viewer.scene.getActiveCamera();
-	    var rtEDL = (Potree.settings.pointEnableRT || Potree.settings.displayMode == 'showPanos' || viewer.useEDL) && Features.EXT_DEPTH.isSupported() && camera.type != "OrthographicCamera" && !params.dontRenderRtEDL && (params.rtEDL || this.getRtEDL(params.viewport)); // 平面相机不用depthTex直接打开depthTest?且不使用edl
+	    var rtEDL = (Potree.settings.pointEnableRT && Potree.settings.displayMode == 'showPointCloud' || Potree.settings.displayMode == 'showPanos' && viewer.images360.currentPano.pointcloud.hasDepthTex || viewer.useEDL) && Features.EXT_DEPTH.isSupported() && camera.type != "OrthographicCamera" && !params.dontRenderRtEDL && (params.rtEDL || this.getRtEDL(params.viewport)); // 平面相机不用depthTex直接打开depthTest?且不使用edl
 	    var useEDL = viewer.useEDL && rtEDL && Potree.settings.displayMode != 'showPanos';
 	    var target = params.target || null;
 	    var resolution = rtEDL && Potree.settings.useRTPoint ? new Vector2(rtEDL.width, rtEDL.height) : params.target ? new Vector2(params.target.width, params.target.height) : params.viewport ? params.viewport.resolution2 : this.viewer.renderer.getSize(new Vector2()); //截图时需要用target的大小
@@ -83115,7 +83117,7 @@
 	    if (fileInfo_.transform) {
 	      var setTransfrom = name => {
 	        var value = fileInfo_.transform[name];
-	        if (!value) return;
+	        if (value == void 0) return;
 	        if (value instanceof Array) {
 	          object[name].fromArray(value);
 	        } else {
@@ -83251,9 +83253,9 @@
 	      });
 	      tileset.addEventListener('tileLoaded', e => {
 	        //每一个tile加载完要更改透明度
-	        var opacity = result.model.parent == this.objs ? result.model.opacity : result.model.parent.opacity; //最多两层
-	        MergeEditor.changeOpacity(e.tileContent, opacity);
-	        viewer.images360.judgeModelMat(e.tileContent);
+	        var master = result.model.parent == this.objs ? result.model : result.model.parent; //最多两层 
+	        MergeEditor.changeOpacity(e.tileContent, master.opacity);
+	        if (master.panos) viewer.images360.judgeModelMat(e.tileContent);
 	        //set Layers ?
 	        Potree.Utils.setObjectLayers(e.tileContent, Potree.settings.showObjectsOnMap ? 'bothMapAndScene' : 'model');
 	      });

Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
public/lib/potree/potree.js.map


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

@@ -69,8 +69,15 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes }) => {
     
      
     //-------------------------------------
+    let modelAinB = (A,B)=>{ //B的expand(5m) bound完全包含A
+        let boundB = B.boundingBox.clone().expandByVector(new THREE.Vector3(5,5,5)).applyMatrix4(B.matrixWorld)
+        let boundA = A.boundingBox.clone().applyMatrix4(A.matrixWorld)
+        return boundB.containsBox(boundA) 
+    }
+    
     let changeMeshVisi = (object, show) => {
         if(show == void 0) show = Potree.settings.displayMode == 'showPointCloud' || object == viewer.images360.currentPano.pointcloud && Potree.settings.modelSkybox || object.showInPano  //showInPano: 装饰物,一直显示
+                                  || !object.panos && modelAinB(object, viewer.images360.currentPano.pointcloud)  //装饰物
         Potree.Utils.updateVisible(object, 'showPanos', show)
     }