端到端 连线以及节点位置更新相关代码调整

This commit is contained in:
qinoy 2023-07-17 11:18:38 +08:00
parent 538646b97a
commit d8cb9d2791
4 changed files with 15 additions and 6 deletions

View File

@ -421,7 +421,7 @@ class NodeCloseLinkerRender{
return new double[][]{
startPoi,
{fromX + fromW / 2, fromY + fromH + SubProcessConst.SHAPE_VERT_INTERVAL / 2},
{fromX - SubProcessConst.SHAPE_HORIZ_INTERVAL / 2, fromH + SubProcessConst.SHAPE_VERT_INTERVAL / 2},
{fromX - SubProcessConst.SHAPE_HORIZ_INTERVAL / 2, fromY + fromH + SubProcessConst.SHAPE_VERT_INTERVAL / 2},
{toX - SubProcessConst.SHAPE_HORIZ_INTERVAL / 2, toY + toH / 2},
{toX, toY + toH / 2}
};

View File

@ -163,7 +163,12 @@ public class LinkerPointCalculationHandle {
};
}
}else if (fromX > toX && fromY < toY){ // 目标节点在第三象限 横向布局的情况下 应该不会出现目标节点在第三象限的情况
ConsolePrinter.warn("[端到端功能][节点展开模块]处理连线时目标节点在[横向布局]的情况下出现在了第三象限");
return new double[][]{
{fromX + fromW / 2, fromY + fromH},
{fromX + fromW / 2, fromY + fromH + rowNodeDistanceWrapper(getNearBootomNodeDistance(fromBounding)) / 2},
{toX + toW / 2, fromY + fromH + rowNodeDistanceWrapper(getNearBootomNodeDistance(fromBounding)) / 2},
{toX + toW / 2, toY}
};
}
}
return new double[2][2];
@ -251,10 +256,14 @@ public class LinkerPointCalculationHandle {
{toX + toW / 2, toY}
};
}else {
// fromX < toX && fromY > toY 目标节点在第一象限 分析可知 纵向排布的情况下 应该不会出现目标节点在第一象限的情况
return new double[][]{
{fromX + fromW, fromY + fromH / 2},
{toX - rowNodeDistanceWrapper(getNearLeftNodeDistance(toBounding)) / 2, fromY + fromH / 2},
{toX - rowNodeDistanceWrapper(getNearLeftNodeDistance(toBounding)) / 2, toY + toH / 2},
{toX, toY + toH / 2}
};
}
}
return new double[2][2];
}
/**

View File

@ -55,10 +55,10 @@ public class NodeSubject implements Subject {
double x = props.getDoubleValue("x");
double y = props.getDoubleValue("y");
NodeObserver nodeObserver = new NodeObserver(definitionHandle, scopeShapeMonitor, key);
if (scopeX < x) {
if (scopeX + scopeW < x) {
addRightNodeObserver(nodeObserver);
}
if (scopeY < y) {
if (scopeY + scopeH < y) {
addBottomNodeObserver(nodeObserver);
}
}