|
@@ -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() {
|
|
|
//实时裁剪
|