|
|
@@ -170,6 +170,7 @@ export class Path extends ctrlPolygon{
|
|
|
this.titleLabel.sprite.material.depthTest = false
|
|
|
let line = LineDraw.createFatLine([new THREE.Vector3(0,0,0), new THREE.Vector3(0,0, this.titleLineHeight)], Object.assign({},depthProps,{color: '#ffffff', lineWidth: 1, transparent:true, fadeFar: this.fadeFar}))
|
|
|
line.renderOrder = Potree.config.renderOrders.line
|
|
|
+ line.name = 'line'
|
|
|
this.titleLine = line
|
|
|
group.add(line)
|
|
|
group.add(this.titleLabel)
|
|
|
@@ -195,20 +196,36 @@ export class Path extends ctrlPolygon{
|
|
|
this.lineDragPoint.renderOrder = this.lineDragPoint.pickOrder = 10;
|
|
|
this.titleLabel.add(this.lineDragPoint)
|
|
|
|
|
|
+ let hoverState = {}, grabbingObject
|
|
|
+ let setDragPointState = (state)=>{
|
|
|
+ this.lineDragPoint.material = state ? dragPointMat.hover : dragPointMat.default
|
|
|
+ this.titleLabel.sprite.material.opacity = state ? 0.5 : 1
|
|
|
+ }
|
|
|
|
|
|
- line.addEventListener('mouseover',(e)=>{
|
|
|
- this.editEnable && CursorDeal.add('hoverGrab')
|
|
|
- });
|
|
|
+ let ifHover = ()=>{
|
|
|
+ if(this.editEnable && Object.values(hoverState).some(e=>e)){
|
|
|
+ CursorDeal.remove('hoverGrab')
|
|
|
+ }else{
|
|
|
+ CursorDeal.add('hoverGrab')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ [line, this.lineDragPoint].forEach(e=>e.addEventListener('mouseover',(e)=>{
|
|
|
+ hoverState[e.target.name] = 1
|
|
|
+ ifHover()
|
|
|
+ }));
|
|
|
+ [line, this.lineDragPoint].forEach(e=>e.addEventListener('mouseleave',(e)=>{
|
|
|
+ hoverState[e.target.name] = 0
|
|
|
+ ifHover()
|
|
|
+ }));
|
|
|
+
|
|
|
+
|
|
|
line.addEventListener('startDragging',(e)=>{
|
|
|
this.editEnable && CursorDeal.add('grabbing')
|
|
|
});
|
|
|
line.addEventListener('drop',(e)=>{
|
|
|
this.editEnable && CursorDeal.remove('grabbing')
|
|
|
});
|
|
|
- line.addEventListener('mouseleave',(e)=>{
|
|
|
- this.editEnable && CursorDeal.remove('hoverGrab')
|
|
|
-
|
|
|
- });
|
|
|
+
|
|
|
line.addEventListener('drag',(e)=>{
|
|
|
if(this.editEnable){//一旦用户拖动了title,title就固定了,不再随着path居中
|
|
|
let position
|