xzw 8 mēneši atpakaļ
vecāks
revīzija
caf0828e3e
3 mainītis faili ar 68 papildinājumiem un 47 dzēšanām
  1. 51 26
      public/lib/potree/potree.js
  2. 1 1
      public/lib/potree/potree.js.map
  3. 16 20
      src/sdk/cover/index.js

+ 51 - 26
public/lib/potree/potree.js

@@ -17857,7 +17857,7 @@
 	      textMaxWidth = Math.max(textMaxWidth, textWidth);
 	      textHeightAll += metrics.fontBoundingBoxAscent + metrics.fontBoundingBoxDescent; //文字真实高度
 	    }
-	    var margin = (this.margin ? new Vector2().copy(this.margin) : new Vector2(this.fontsize, this.fontsize)).multiplyScalar(r);
+	    var margin = (this.margin ? new Vector2().copy(this.margin) : new Vector2(this.fontsize, this.fontsize * 0.8)).multiplyScalar(r);
 	    var lineSpace = (this.lineSpace || this.fontsize * 0.5) * r;
 	    var rectBorderThick = this.rectBorderThick * r,
 	      textBorderThick = this.textBorderThick * r;
@@ -42440,15 +42440,14 @@
 	        },
 	        borderRadius: 6,
 	        fontsize: this.fontsize || 13,
-	        fontWeight: '',
-	        //thick
 	        renderOrder: renderOrders.label,
-	        pickOrder: renderOrders.label
-	        //useDepth : true ,//暂时不遮挡
+	        pickOrder: renderOrders.label,
+	        clipDistance: 10 //消失距离   
 	      }));
 	      this.titleLabel.sprite.material.depthTest = false;
 	      var line = LineDraw.createLine([new Vector3(0, 0, 0), new Vector3(0, 0, titleLineHeight)], {
-	        color: '#ffffff'
+	        color: '#ffffff',
+	        transparent: true
 	      });
 	      line.renderOrder = renderOrders.line;
 	      group.add(line);
@@ -42456,7 +42455,7 @@
 	      this.titleLabel.position.z = titleLineHeight;
 	      this.add(group);
 	      this.setTitleVisi(this.titleLabel.parent, false, 'noPoint');
-	      this.setTitle(this.title);
+	      this.setTitle(Potree.settings.isOfficial ? '' : 'title');
 	      line.addEventListener('mouseover', e => {
 	        viewer.dispatchEvent({
 	          type: "CursorChange",
@@ -42486,12 +42485,15 @@
 	        });
 	      });
 	      line.addEventListener('drag', e => {
-	        group.position.copy(e.intersect.location);
-	        titleLabel.sprite.waitUpdate();
-	        this.dispatchEvent({
-	          type: 'titlePosChanged',
-	          root: e.intersect.pointcloud || e.intersect.object
-	        });
+	        var _e$intersect;
+	        if ((_e$intersect = e.intersect) !== null && _e$intersect !== void 0 && _e$intersect.location) {
+	          this.updateTitlePos(e.intersect.location);
+	          this.dispatchEvent({
+	            type: 'titlePosChanged',
+	            position: e.intersect.location,
+	            root: e.intersect.pointcloud || e.intersect.object
+	          });
+	        }
 	      });
 	    }
 	    {
@@ -42556,14 +42558,30 @@
 	    Potree.Utils.setObjectLayers(this, 'measure');
 	    this.initData(prop);
 	  }
+	  updateTitlePos(pos) {
+	    if (pos) {
+	      this.fixedTitlePos = pos;
+	    } else {
+	      if (!this.fixedTitlePos) {
+	        //居中
+	        pos = this.getCenter();
+	      }
+	    }
+	    if (pos) {
+	      this.titleLabel.parent.position.copy(pos);
+	      this.titleLabel.sprite.waitUpdate();
+	    }
+	  }
 	  createMarkerLabel(text, hasHoverEvent) {
 	    var label = new TextSprite$2($.extend({}, depthProps, {
 	      sizeInfo: labelSizeInfo$1,
 	      name: 'markerTitle',
-	      text: text || 'aaa',
-	      fontsize: this.fontsize,
+	      text: text || Potree.settings.isOfficial ? "" : 'point',
+	      fontsize: this.fontsize || 12,
 	      renderOrder: renderOrders.label,
 	      pickOrder: renderOrders.label,
+	      fontWeight: '',
+	      //thick
 	      backgroundColor: {
 	        r: 255,
 	        g: 255,
@@ -42591,19 +42609,18 @@
 	    label.measure = this;
 	    label.sprite.material.depthTestWhenPick = true;
 	    Potree.Utils.setObjectLayers(label, 'measure');
-	    label.position.z = 1;
+	    this.add(label);
 	    return label;
 	  }
 	  updateMarker(marker, pos) {
-	    var _this$markerLabels$in;
 	    marker.position.copy(pos);
 	    marker.position.z += 0.01;
 	    var index = this.markers.indexOf(marker);
-	    if (index == 0) {
-	      this.titleLabel.parent.position.copy(pos);
-	      this.titleLabel.sprite.waitUpdate();
+	    if (this.markerLabels[index]) {
+	      this.markerLabels[index].position.copy(pos);
+	      this.markerLabels[index].position.z += 1;
+	      this.markerLabels[index].sprite.waitUpdate();
 	    }
-	    (_this$markerLabels$in = this.markerLabels[index]) === null || _this$markerLabels$in === void 0 || _this$markerLabels$in.sprite.waitUpdate();
 	  }
 	  setPathWidth(w) {
 	    this.halfPathWidth = w / 2;
@@ -42678,6 +42695,7 @@
 	      this.setTitleVisi(this.titleLabel.parent, this.markers.length > 0, 'noPoint');
 	      if (this.titleLabel.parent.visible && !oldVisi) this.titleLabel.sprite.waitUpdate();
 	    }
+	    this.updateTitlePos();
 	  }
 	  addMarker() {
 	    var o = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -42723,13 +42741,12 @@
 	      this.isNew || viewer.measuringTool.history.afterChange(this);
 	      this.setMarkerSelected(marker, 'unclick');
 	    });
+	    var label = this.createMarkerLabel('');
+	    this.markerLabels = [...this.markerLabels.slice(0, index), label, ...this.markerLabels.slice(index, this.points.length)];
 	    super.addMarker(Object.assign(o, {
 	      index,
 	      marker
 	    }));
-	    var label = this.createMarkerLabel('');
-	    marker.add(label);
-	    this.markerLabels = [...this.markerLabels.slice(0, index), label, ...this.markerLabels.slice(index, this.points.length)];
 
 	    //this.updateEdge()
 	    return marker;
@@ -42751,6 +42768,7 @@
 	    viewer.dispatchEvent('content_changed');
 	  }
 	  setMarkerTitle(index, title) {
+	    if (!this.markerLabels[index]) return;
 	    this.markerLabels[index].setText(title);
 	    this.setTitleVisi(this.markerLabels[index], title instanceof Array || title.trim() != '', 'noText');
 	    viewer.dispatchEvent('content_changed');
@@ -42904,7 +42922,7 @@
 	  }
 	  setFadeFar(far) {
 	    //消失距离 
-	    var needsUpdate = far == void 0 != (this.fadeFar == void 0);
+	    var needsUpdate = far == void 0 != (this.fadeFar == void 0); //null为全部范围可见
 	    this.traverse(e => {
 	      var _e$material;
 	      if ((_e$material = e.material) !== null && _e$material !== void 0 && (_e$material = _e$material.uniforms) !== null && _e$material !== void 0 && _e$material.fadeFar) {
@@ -42917,7 +42935,7 @@
 	        needsUpdate && (e.material.needsUpdate = true);
 	      }
 	    });
-	    this.fadeFar = far; //null or 0为全部范围可见
+	    this.fadeFar = far;
 	    viewer.dispatchEvent('content_changed');
 	  }
 	  reDraw() {
@@ -62088,6 +62106,13 @@
 	      var $elem = $(e.target);
 	      viewer.tagTool.startInsertion();
 	    });
+	    pannel.find('li button[name="path"]').on('click', e => {
+	      var info = {
+	        type: 'Path',
+	        minMarkers: 2
+	      };
+	      viewer.measuringTool.startInsertion(info, () => {});
+	    });
 	  }
 	  initClippingModel() {
 	    //实时裁剪

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 1 - 1
public/lib/potree/potree.js.map


+ 16 - 20
src/sdk/cover/index.js

@@ -278,10 +278,12 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes }) => {
             //console.log('3d->2d highlight',e.state)
             bus.emit('highlight', e.state)
         })
-        measure.addEventListener('marker_dropped', (e) => {//拖拽结束后发送changeCallBack
+        let update = (e)=>{ //拖拽结束后发送changeCallBack
             if (measure.parent) {
                 //未被删除  
-                if(measure.type == 'Path'){ 
+                console.warn('changePoints', measure.dataset_points.length )   
+                if(measure.type == 'Path'){
+                 
                     bus.emit('changePoints', measure.dataset_points.map((p,i)=>{return {position:p.clone(), modelId:measure.points_datasets[i]}}))
                 }else{
                     bus.emit('update', [
@@ -290,7 +292,11 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes }) => {
                     ])
                 }
             }
-        })
+        }
+         
+        measure.addEventListener('marker_dropped', update)
+        measure.addEventListener('createDone', update)
+       
         return {
             /* quit: () => {
                 Potree.Log('quit结束且删除: ' + measure.id, '#00c7b2')
@@ -1116,21 +1122,8 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes }) => {
             let measure = viewer.measuringTool.startInsertion(
                 info,
                 () => {
-                    //done:
-                    /* bus.emit('submit',  {
-                        dataset_points: measure.dataset_points.map(p=>p.clone()) , 
-                        points_datasets: measure.points_datasets
-                    } ) //完成 */
-
-                    bus.emit('submit')
-                    bus.emit('update', [
-                        measure.dataset_points.map(p => p.clone()),
-                        measure.points_datasets
-                    ])
-
-
-
-
+                    //done: 
+                    bus.emit('submit') 
                 },
                 () => {
                     //cancel
@@ -1274,7 +1267,10 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes }) => {
                 
                 if(props.line.position) {
                     let pos = Potree.Utils.datasetPosTransform({toDataset:true, position: props.line.position,  datasetId: props.line.modelId })
-                    path.titleLabel.parent.position.copy(pos)
+                    path.updateTitlePos(pos)  
+                    
+                    
+                    
                 }
                 
             }
@@ -1286,7 +1282,7 @@ export const enter = ({ dom, mapDom, isLocal, lonlat, scenes }) => {
             path.addEventListener('titlePosChanged',(e)=>{
                 bus.emit('linePositionChange', {
                     modelId: e.root.dataset_id, 
-                    pos:  Potree.Utils.datasetPosTransform({toDataset:true, position: path.titleLabel.parent.position.clone(),  datasetId: e.root.dataset_id })
+                    pos:  Potree.Utils.datasetPosTransform({toDataset:true, position: e.position.clone(),  datasetId: e.root.dataset_id })
                 })
                  
             })