View unanswered posts | View active topics It is currently 2020-07-08 21:02



Reply to topic  [ 4 posts ] 
 带折点的链路如何跟随节点移动? 
Author Message
新手上路

Joined: 2018-12-27 17:20
Posts: 13
Post 带折点的链路如何跟随节点移动?
你好,有折点的链路如何跟随节点同步移动。我们自己实现的方式如下。


// 设置缓存移动的时候初始的点

var tempPoint = null;

if (evt.kind == "liveMoveStart"){

tempPoint = network.getLogicalPoint(evt.event);

}

if (evt.kind == "liveMoveBetween"){

// 获得当前鼠标所点的位置在network上的坐标

var point = network.getLogicalPoint(evt.event);

var x = point.x - tempPoint.x;

var y = point.y - tempPoint.y;

// 缓存新的位置点

tempPoint = point;



// 获得选中的列表

var selectedList = network.getSelectionModel().getSelection();

selectedList.forEach(function (item) {

// 判断如果存在shapeLink则进行处理

if (item instanceof twaver.ShapeLink) {

var points = item.getPoints();

var newPoints = new twaver.List();

points.forEach(function (point) {

point.x += x;

point.y += y;

newPoints.add({

x: point.x,

y: point.y

});

});

// 重新设置points

item.setPoints(newPoints);

}

});
}
但是这样有一个问题就是,有时候跟节点移动的距离不一致。如下图123。
请问有什么好的方法。或者什么设置可以使链路中的折点跟节点同步移动呢?


Attachments:
123.png
123.png [ 364.91 KiB | Viewed 156 times ]
2020-06-14 20:37
Profile
TWaver开发组
User avatar

Joined: 2019-04-23 11:02
Posts: 69
Post Re: 带折点的链路如何跟随节点移动?
你的思路是正确的, 分析一下是什么原因导致距离不一致。
twaver暂时没提供这种方法,在特殊需求下也是通过计算来实现的


2020-06-18 17:55
Profile
新手上路

Joined: 2018-12-27 17:20
Posts: 13
Post Re: 带折点的链路如何跟随节点移动?
能咨询一下节点在移动前会进行哪些拦截或者过滤吗?
这个如果移动的时候有消息框显示出来,鼠标在消息框里进行里移动,移动之后就肯定会跟移动之前的相对位置不一致。


2020-06-30 10:47
Profile
TWaver开发组
User avatar

Joined: 2019-04-23 11:02
Posts: 69
Post Re: 带折点的链路如何跟随节点移动?
使用network.addInteractionListener 来监听鼠标事件,
当你遇到物体了就进不到 e.kind === 'liveMoveBetween'那里了,应该会停下吧?
实在不行考虑用原生的 addEventListener


2020-06-30 14:55
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 4 posts ] 

Who is online

Users browsing this forum: No registered users and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron