xzw hai 4 meses
pai
achega
82c8e03200
Modificáronse 3 ficheiros con 31 adicións e 26 borrados
  1. 16 13
      public/lib/potree/potree.js
  2. 1 1
      public/lib/potree/potree.js.map
  3. 14 12
      src/sdk/cover/index.js

+ 16 - 13
public/lib/potree/potree.js

@@ -76119,7 +76119,7 @@
 	      if (this.selected) {
 	        if (this.selected == model) return;else {
 	          var transToolAttached = !!this.transformControls.object;
-	          this.selectModel(this.selected, false, focus, by2d);
+	          this.selectModel(this.selected, false, focus /* , by2d */);
 	          transToolAttached && this.transformControls.attach(model);
 	        }
 	      }
@@ -76438,16 +76438,16 @@
 	      maxLineWidth: 300,
 	      transform2Dpercent: {
 	        x: 0,
-	        y: 1.3
+	        y: 0.5
 	      },
-	      //向上移动 
+	      //向上移动一半 
 	      textAlign: Potree.settings.isOfficial && 'left'
 	    });
 	    model.titleLabel = titleLabel;
 	    viewer.scene.scene.add(titleLabel);
 	    var updatePos = () => {
 	      titleLabel.position.copy(model.boundCenter);
-	      titleLabel.position.z += model.boundSize.z / 2; //暂时加载模型顶部,但也可能如果旋转了要在头顶
+	      titleLabel.position.z += model.boundSize.z * 0.55; //暂时加载模型顶部,但也可能如果旋转了要在头顶
 	      titleLabel.updatePose();
 	    };
 	    var setVisible = () => {
@@ -82442,6 +82442,7 @@
 	      });
 	    });
 	    posePathModels.forEach(model => {
+	      var _poseKeys;
 	      var pathKeys = this.pathKeys.get(model);
 	      var poseKeys = this.poseKeys.get(model);
 	      var atPath; //是否在path中 至多只有一个 
@@ -82472,7 +82473,7 @@
 	          model.dispatchEvent('rotation_changed');
 	        } //pose关键帧加到路径上是无效的(scale除外)!
 	      }
-	      if (poseKeys) {
+	      if ((_poseKeys = poseKeys) !== null && _poseKeys !== void 0 && _poseKeys.length) {
 	        tweens.scale = new Tween$1(poseKeys.map(e => e.time), poseKeys.map(e => e.scale));
 	        model.scale.copy(tweens.scale.lerp(time));
 	      } else {
@@ -82500,14 +82501,16 @@
 	        };
 	        lastPath && addPathToPoseKey(lastPath, 1);
 	        nextPath && addPathToPoseKey(nextPath, 0);
-	        tweens.pos = new Tween$1(poseKeys.map(e => e.time), poseKeys.map(e => e.pos));
-	        tweens.qua = new Tween$1(poseKeys.map(e => e.time), poseKeys.map(e => e.qua));
-	        var _position = tweens.pos.lerp(time);
-	        var _quaternion = tweens.qua.lerp(time);
-	        model.position.copy(_position);
-	        model.quaternion.copy(_quaternion);
-	        model.dispatchEvent('position_changed');
-	        model.dispatchEvent('rotation_changed');
+	        if (poseKeys.length) {
+	          tweens.pos = new Tween$1(poseKeys.map(e => e.time), poseKeys.map(e => e.pos));
+	          tweens.qua = new Tween$1(poseKeys.map(e => e.time), poseKeys.map(e => e.qua));
+	          var _position = tweens.pos.lerp(time);
+	          var _quaternion = tweens.qua.lerp(time);
+	          model.position.copy(_position);
+	          model.quaternion.copy(_quaternion);
+	          model.dispatchEvent('position_changed');
+	          model.dispatchEvent('rotation_changed');
+	        }
 	      }
 	    });
 	    var _loop = function _loop(keys) {

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
public/lib/potree/potree.js.map


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

@@ -190,7 +190,12 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
             Potree.Common.intervalTool.isWaiting('updateCamNear', ()=>{ 
                 updateCamNear()  
             }, 1000)
-            updateCamFar()    
+            updateCamFar() 
+            if(e.changeInfo.positionChanged){
+                viewer.objs.children.forEach(model=>{
+                    model.result_.updateVisiByRange && model.result_.updateVisiByRange()
+                })         
+            }            
         } 
         if (e.viewport.name == 'MainView' || e.viewport.name == 'top' ) {
             updateMap() 
@@ -264,13 +269,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
             //viewer.mainViewport.camera.position
             viewer.mainViewport.view.radius = 0.1 //使pivot在面前一丢丢距离
             viewer.setControls(viewer.orbitControls)
-            viewer.removeEventListener('camera_changed', camera_changed)
-            
-            
-            viewer.objs.children.forEach(model=>{
-                model.result_.updateVisiByRange && model.result_.updateVisiByRange()
-            })
-             
+            viewer.removeEventListener('camera_changed', camera_changed)  
         }
     }
     let requestInPano = false
@@ -718,7 +717,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
             }
             
             if (o.modelId != void 0) {
-                ['position', 'target'].forEach(e => { //热点
+                ['position', 'target', 'focusPos'].forEach(e => { //热点
                     if (o[e]) {
                         o[e] = Potree.Utils.datasetPosTransform({ fromDataset: true, datasetId: o.modelId, position: o[e] })
                     }
@@ -729,7 +728,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
             if (o.distance || o.maxDis) {
                 //o.isFlyToTag = true
                 let requestShowPano
-            let position = o.focusPos || o.target || o.position
+                let position = o.focusPos || o.target || o.position
                 if(o.isFlyToTag){
                     let r = sdk.canTurnToPanoMode(position, 5)//热点新需求:如果附近有漫游点就飞到全景模式
                     if(r){
@@ -1026,6 +1025,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
                 props.opacity < 100 && result.changeOpacity(props.opacity)
 
                 model.addEventListener('changeSelect', (e) => {
+                    
                     bus.emit('changeSelect', e.selected)
                 })
                 let lastState = {}
@@ -1501,8 +1501,10 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
                         // 更改模型名称
                         changeTitle(name){
                             model.name = name
-                            if(model.titleLabel){
-                                model.titleLabel.setText(name)
+                            
+                            if(model.titleLabel ){
+                                model.titleLabel.setText(name) 
+                                Potree.Utils.updateVisible(model.titleLabel, 'noText', name.trim() != '')
                                 viewer.dispatchEvent('content_changed')
                             }
                         },