Я получаю очки такого края: List<mxPoint> points = graph.getView().getState(edgeCell).getAbsolutePoints();
в событии: mxEvent.CHANGE
.
Это, насколько я знаю, событие, которое срабатывает после изменения точек ребра. В том же событии edgeCell.getGeometry().getPoints();
возвращает только одну точку, я полагаю, центральную.
Когда я пытаюсь применить это изменение программно (устанавливаю те же точки на новое ребро), оно не работает с graph.getView().getState(edgeCell).setAbsolutePoints(points);
. Кажется, что точки передаются в состояние, но изменение не применяется к графику. Может быть, я должен вызвать какое-то событие.
Затем я попытался установить эти точки на геометрию ребра, эти изменения применяются к графику, однако это вызывает проблемы с позиционированием. Я считаю, что это потому, что абсолютные точки (абсолютное позиционирование) отличаются от геометрических.
Любая помощь в том, как мне действовать?