xzw 8 月之前
父節點
當前提交
969f688f56
共有 3 個文件被更改,包括 44 次插入19 次删除
  1. 40 14
      public/lib/potree/potree.js
  2. 1 1
      public/lib/potree/potree.js.map
  3. 3 4
      src/sdk/cover/index.js

+ 40 - 14
public/lib/potree/potree.js

@@ -17436,7 +17436,8 @@
 	    this.sizeInfo = options.sizeInfo;
 	    this.dontFixOrient = options.dontFixOrient;
 	    this.options = options;
-	    this.position.y = options.disToLine || 0; //离线距离
+	    //this.position.y = options.disToLine || 0 //离线距离
+	    options.transform2D && (this.position.x = options.transform2D.x, this.position.y = options.transform2D.y); //偏移
 
 	    this.matrixAutoUpdate = false;
 	    this.matrixMap = new Map();
@@ -17861,6 +17862,7 @@
 	    this.margin = options.margin;
 	    this.textAlign = options.textAlign || 'center';
 	    this.name = options.name;
+	    this.transform2Dpercent = options.transform2Dpercent;
 	    this.setText(options.text);
 	  }
 	  setText(text) {
@@ -17970,7 +17972,10 @@
 	    this.sprite.material.map = texture;
 	    var oldScale = this.sprite.scale.clone();
 	    this.sprite.scale.set(spriteWidth * 0.01 / r, spriteHeight * 0.01 / r, 1.0);
-	    oldScale.equals(this.sprite.scale) || this.sprite.waitUpdate(); //重新计算各个viewport的matrix 
+	    if (!oldScale.equals(this.sprite.scale)) {
+	      this.updateTransform2D();
+	      this.sprite.waitUpdate(); //重新计算各个viewport的matrix 
+	    }
 	  }
 	  roundRect(ctx, x, y, w, h, r) {
 	    ctx.beginPath();
@@ -17988,6 +17993,14 @@
 	    ctx.fill();
 	    ctx.stroke();
 	  }
+	  updateTransform2D() {
+	    if (this.transform2Dpercent) {
+	      ['x', 'y'].forEach(axis => {
+	        var percent = this.transform2Dpercent[axis];
+	        this.sprite.position.y = this.sprite.scale.y * percent;
+	      });
+	    }
+	  }
 	  dispose() {
 	    this.sprite.material.uniforms.map.value.dispose();
 	    this.parent && this.parent.remove(this);
@@ -22527,16 +22540,17 @@
 	    path: {
 	      label: labelorder,
 	      edge: labelorder,
-	      line: labelorder - 1,
-	      marker: labelorder
+	      line: labelorder,
+	      //会被edge遮住一些,不过无碍
+	      marker: labelorder + 1 //cover edge
 	    },
 	    tag: {
 	      label: labelorder,
 	      spot: labelorder,
 	      line: labelorder - 1,
 	      onMesh: {
-	        line: labelorder - 1,
-	        spot: labelorder - 2
+	        line: labelorder,
+	        spot: labelorder - 1
 	      }
 	    },
 	    magnifier: 50
@@ -40786,7 +40800,7 @@
 	  },
 	  renderOrder: Potree.config.renderOrders.measureLabel,
 	  pickOrder: Potree.config.renderOrders.measureLabel,
-	  disToLine: -0.15,
+	  transform2D: [0, -0.15],
 	  useDepth: true,
 	  // 2023.10 尽量不让数字被挡住
 	  clipDistance: 10,
@@ -40819,7 +40833,7 @@
 	  fontsize: 14 * textSizeRatio,
 	  renderOrder: Potree.config.renderOrders.measureLabelSub,
 	  pickOrder: Potree.config.renderOrders.measureLabelSub,
-	  disToLine: -0.13
+	  transform2D: [0, -0.13]
 	};
 	var angle = MathUtils.degToRad(5); //显示水平垂直辅助线的最小角度
 	var guideShowMinAngle = {
@@ -41676,7 +41690,7 @@
 	    var centerLabel = new TextSprite$2($.extend({}, mainLabelProp, {
 	      sizeInfo: labelSizeInfo,
 	      name,
-	      disToLine: 0,
+	      transform2D: null,
 	      fontsize: 16 * textSizeRatio
 	    }));
 	    centerLabel.addEventListener('mouseover', () => {
@@ -42249,7 +42263,11 @@
 	        renderOrder: Potree.config.renderOrders.path.label,
 	        pickOrder: Potree.config.renderOrders.path.label,
 	        clipDistance: 10,
-	        fadeFar: this.fadeFar
+	        fadeFar: this.fadeFar,
+	        transform2Dpercent: {
+	          x: 0,
+	          y: 0.5
+	        } //向上移动一半
 	      }));
 	      this.titleLabel.sprite.material.depthTest = false;
 	      var line = LineDraw.createFatLine([new Vector3(0, 0, 0), new Vector3(0, 0, titleLineHeight)], Object.assign({}, depthProps, {
@@ -42432,7 +42450,11 @@
 	        b: 0,
 	        a: 1
 	      },
-	      fadeFar: this.fadeFar
+	      fadeFar: this.fadeFar,
+	      transform2D: {
+	        x: 0,
+	        y: 0.3
+	      } //朝上偏移一些   配合最外层z混合增高
 	    }));
 	    if (hasHoverEvent) {
 	      label.addEventListener('mouseover', () => {
@@ -42457,7 +42479,7 @@
 	    var index = this.markers.indexOf(marker);
 	    if (this.markerLabels[index]) {
 	      this.markerLabels[index].position.copy(pos);
-	      this.markerLabels[index].position.z += 1;
+	      this.markerLabels[index].position.z += 0.2; //混合增高
 	      this.markerLabels[index].updatePose();
 	    }
 	  }
@@ -56602,7 +56624,11 @@
 	      //thick
 	      renderOrder: Potree.config.renderOrders.tag.label,
 	      pickOrder: Potree.config.renderOrders.tag.label,
-	      useDepth: true
+	      useDepth: true,
+	      transform2Dpercent: {
+	        x: 0,
+	        y: 0.5
+	      } //向上移动一半
 	    })); //更新sprite时,实际更新的是root: spot的矩阵
 	    this.setTitle(this.title);
 	    this.updateTitlePos();
@@ -56782,7 +56808,7 @@
 	    viewer.dispatchEvent('content_changed');
 	  }
 	  updateTitlePos() {
-	    this.onMesh || (this.titleLabel.position.y = titleHeight.uponSpot + (this.spot.scale.x + this.titleLabel.sprite.scale.y) / 2);
+	    this.onMesh || (this.titleLabel.position.y = titleHeight.uponSpot + this.spot.scale.x / 2);
 	  }
 	  changeMap(url) {
 	    var map = texLoader$8.load(url, () => {

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


+ 3 - 4
src/sdk/cover/index.js

@@ -1325,7 +1325,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
                 path = viewer.measuringTool.createMeasureFromData(info);
                 
                 if(props.line.position) {
-                    let pos = Potree.Utils.datasetPosTransform({toDataset:true, position: props.line.position,  datasetId: props.line.modelId, reverse: props.reverseDirection, showArrows: props.showDirection})
+                    let pos = Potree.Utils.datasetPosTransform({fromDataset:true, position: props.line.position,  datasetId: props.line.modelId })
                     path.updateTitlePos(pos) 
                 }
                  
@@ -1344,14 +1344,13 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes, laserRoot, laserOS
                     msg != void 0 && bus.emit('activePoint', msg )
                 }) 
                 path.addEventListener('titlePosChanged',(e)=>{
+                    console.log('titlePosChanged',path.title,e.position.clone())
                     bus.emit('linePositionChange', {
                         modelId: e.root.dataset_id, 
                         pos:  Potree.Utils.datasetPosTransform({toDataset:true, position: e.position.clone(),  datasetId: e.root.dataset_id })
                     }) 
                 })
-                /* path.addEventListener('titlePosChanged',(e)=>{
-                    
-                }) */
+                 
             }
             let funs = getMeasureFunction(path, bus)