|
@@ -47,7 +47,7 @@ const mainLabelProp = {
|
|
|
textColor: {r: textColor.r*255, g: textColor.g*255, b: textColor.b*255, a: 1.0},
|
|
|
textBorderColor: {r:255, g: 255, b:255, a: 1.0},
|
|
|
textBorderThick:3 ,
|
|
|
- fontsize: 15 * textSizeRatio,
|
|
|
+ fontsize: 14 * textSizeRatio,
|
|
|
borderRadius : 12, margin:{x:20,y:4},
|
|
|
renderOrder : Potree.config.renderOrders.measureLabel,
|
|
|
pickOrder: Potree.config.renderOrders.measureLabel,
|
|
@@ -66,7 +66,7 @@ const subLabelProp = {
|
|
|
textColor: {r: textColor.r*255, g: textColor.g*255, b: textColor.b*255, a: 1.0},
|
|
|
textBorderColor: {r:255, g: 255, b:255, a: 1.0},
|
|
|
textBorderThick:3 ,
|
|
|
- fontsize: 14 * textSizeRatio,
|
|
|
+ fontsize: 13 * textSizeRatio,
|
|
|
renderOrder : Potree.config.renderOrders.measureLabelSub,
|
|
|
pickOrder: Potree.config.renderOrders.measureLabelSub,
|
|
|
transform2D: {x:0, y:-0.13},
|
|
@@ -270,25 +270,18 @@ export class Measure extends ctrlPolygon{
|
|
|
|
|
|
|
|
|
|
|
|
- let setEdgeLabel = (label,p1,p2,distance)=>{//设置label位置和字
|
|
|
+ let setEdgeLabel = (label,p1,p2,distance,type)=>{//设置label位置和字
|
|
|
this.setEdgeLabelPos(label,p1,p2)
|
|
|
distance = distance == void 0 ? p1.distanceTo(p2) : distance;
|
|
|
//var text = viewer.unitConvert.convert(distance, 'distance', Potree.settings.precision, this.unitSystem, 1 , true)//distance要传0.1 这个factor
|
|
|
- var text = this.getConvertString(distance, 'distance')
|
|
|
+ var text = this.getConvertString(distance, 'distance')
|
|
|
+ this.showArea || type == 'addTitle' && (text = this.labelAddName(text))
|
|
|
label.setText(text)
|
|
|
return distance
|
|
|
}
|
|
|
|
|
|
|
|
|
- /* let setEdgeLabel = (label,p1,p2,distance)=>{//设置label位置和字
|
|
|
- this.setEdgeLabelPos(label,p1,p2)
|
|
|
-
|
|
|
- distance = distance == void 0 ? p1.distanceTo(p2) : distance;
|
|
|
- var text = this.labelText || viewer.unitConvert.convert(distance, 'distance', Potree.settings.precision , this.unitSystem, 0.001 , true, true)//distance要传0.1 这个factor
|
|
|
- label.setText(text)
|
|
|
-
|
|
|
- } */
|
|
|
-
|
|
|
+
|
|
|
let lastIndex = this.points.length - 1
|
|
|
|
|
|
|
|
@@ -309,7 +302,7 @@ export class Measure extends ctrlPolygon{
|
|
|
Utils.updateVisible(edgeLabel, 'shouldVisi', edgeLabel.shouldVisi, 2)
|
|
|
if(edgeLabel.shouldVisi){
|
|
|
edgeLabel.lineDir = new THREE.Vector3().subVectors(point,nextPoint).normalize() //[point,nextPoint]
|
|
|
- setEdgeLabel(edgeLabel,point,nextPoint,distance)
|
|
|
+ setEdgeLabel(edgeLabel,point,nextPoint,distance, this.measureType != 'MulDistance' && 'addTitle')
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -363,7 +356,7 @@ export class Measure extends ctrlPolygon{
|
|
|
if(this.showArea && this.points.length > 2){ // update area
|
|
|
|
|
|
let msg = this.getArea().string
|
|
|
-
|
|
|
+ msg = this.labelAddName(msg)
|
|
|
this.areaLabel.setPos(this.getCenter('areaPlaneCenter'))
|
|
|
this.areaLabel.setText(msg);
|
|
|
Utils.updateVisible(this.areaLabel, 'setVisible', true) //this.areaLabel.setVisible(true)
|
|
@@ -378,7 +371,8 @@ export class Measure extends ctrlPolygon{
|
|
|
|
|
|
if(this.showTotalDis){
|
|
|
let dis = this.getTotalDistance()
|
|
|
- let msg = this.getConvertString(dis, 'distance')
|
|
|
+ let msg = this.getConvertString(dis, 'distance')
|
|
|
+ msg = this.labelAddName(msg)
|
|
|
this.center = null
|
|
|
this.center = this.getCenter()
|
|
|
this.totalDisLabel.setPos(this.center);
|
|
@@ -389,6 +383,12 @@ export class Measure extends ctrlPolygon{
|
|
|
this.expands.forEach(e=>e.update(options))
|
|
|
};
|
|
|
|
|
|
+ labelAddName(msg){
|
|
|
+ if(Potree.config.measure.showName && this.title?.trim()){
|
|
|
+ msg = [this.title,msg]
|
|
|
+ }
|
|
|
+ return msg
|
|
|
+ }
|
|
|
|
|
|
getArea(){
|
|
|
let area
|
|
@@ -1109,8 +1109,7 @@ export class Measure extends ctrlPolygon{
|
|
|
|
|
|
let c = new THREE.Color().set(this.color).getHSL({ h: 0, s: 0, l: 0 })
|
|
|
let expandColor = new THREE.Color().setHSL(c.h, c.s, c.l >= 0.4 ? c.l - 0.3: c.l + 0.3)
|
|
|
- //new THREE.Color().setHSL(c.h, c.s > 0.5 ? c.s - 0.2 : c.s + 0.2, c.l >= 0.6 ? c.l - 0.1 : c.l + 0.1 )
|
|
|
-
|
|
|
+ let expandSelectedColor = new THREE.Color().setHSL(c.h, c.s > 0.5 ? c.s - 0.2 : c.s + 0.2, c.l >= 0.6 ? c.l - 0.1 : c.l + 0.1 )
|
|
|
|
|
|
colorObject = {
|
|
|
edgeDefault: LineDraw.createFatLineMat($.extend({},lineDepthInfo,{
|
|
@@ -1141,6 +1140,16 @@ export class Measure extends ctrlPolygon{
|
|
|
transparent: true,
|
|
|
opacity: config.measure.default.opacity,
|
|
|
})),
|
|
|
+
|
|
|
+ 'edgeExpand-selected': LineDraw.createFatLineMat($.extend({},lineDepthInfo,{
|
|
|
+ color: expandSelectedColor,
|
|
|
+ useDepth :true,
|
|
|
+ lineWidth: 2 ,
|
|
|
+ transparent: true,
|
|
|
+ opacity: config.measure.highlight.opacity,
|
|
|
+ })),
|
|
|
+
|
|
|
+
|
|
|
markerDefault: new DepthBasicMaterial($.extend({},lineDepthInfo,{
|
|
|
transparent: !0,
|
|
|
opacity: 1,
|
|
@@ -1662,6 +1671,13 @@ class ExpandLine extends ctrlPolygon{
|
|
|
this.area = {value:area, string: this.getConvertString(area, 'area') }
|
|
|
return this.area
|
|
|
}
|
|
|
+
|
|
|
+ setSelected(state){
|
|
|
+ this.edges.forEach(e=>{
|
|
|
+ e.material = this.measure.getMat(state ? 'edgeExpand-selected' : 'edgeExpand')
|
|
|
+ })
|
|
|
+ viewer.dispatchEvent('content_changed')
|
|
|
+ }
|
|
|
}
|
|
|
ExpandLine.prototype.getPoint2dInfo = Measure.prototype.getPoint2dInfo
|
|
|
ExpandLine.prototype.getConvertString = Measure.prototype.getConvertString
|