y.布局
类ParallelEdgeLayouter
java.lang.Object(java.lang.对象)y.布局。抽象布局阶段
y.布局。平行边缘布局器
- 所有实现的接口:
- 层外(Layour),布局阶段
公众阶级平行边缘布局器
- 延伸抽象布局阶段
平行边缘布局器
是一个布局阶段
布线连接同一对节点的平行边在图表中。
布局样式
平行边的边路径由平行线段组成。在端点处,边可以仍然是平行或连接成一个点
。
确定布线的主边缘高亮显示
概念
平行边缘布局器
执行四个基本步骤:
- 对于相同端点之间的每组平行边,该算法从输入图形中删除除一条外的所有边(剩余边称为前缘或主边)
- 调用
核心布局算法
关于无平行边图
- 重新插入以前删除的所有平行边
- 布置平行边,使其路径与关联主边的路径平行。
特征
平行边缘布局器
可以用作布局阶段
包装布局算法
无法处理平行边。然后它将隐藏平行边这核心布局算法
并接管他们的路线。
如果没有核心布局算法
已指定,平行边缘布局器
可以独自工作。它将仅对平行边进行布线,并保持其余图形不变。注意,由于平行边的路径与相关主边的路径平行,主边缘在调用平行边缘布局器
。
要找出此阶段的路由边缘数据接受程序
可以用图形注册钥匙路由_并行_边缘_ DPKEY
.核心布局期间隐藏的平行边,以及然后按此阶段进行路由标记。前缘未标记。如果平行边缘需要进一步考虑,例如放置标签及其标签(核心布局不能这样做,因为他们被隐藏了)。
平行边可以是相同两个节点之间的所有边,忽略方向,也可以是仅当它们共享相同的源节点和目标节点时才被视为并行。因此,它们共享相同的方向
。
为了确保所有平行边的端口都位于末端节点上,第一段和最后一段可以是加入
然而,这些段将不平行。
有两种方法可以定义两条平行边之间的距离。首先,绝对距离可以是定义
。平行段将保持此距离。其次,距离可以是相对于节点边界确定
.取决于节点和它们之间的平行边数,平行边之间的距离被调整。这将在大多数情况下保持边缘笔直。
可以选择自定义主边缘
.所有平行于选定的边将被临时删除。
-
- 为了获得平行边的合适路线,相关的前缘/主缘必须具有合适的路线也是如此。这可以通过指定合适的
核心布局算法
或通过任何其他方法确保输入图形已经有合适的路径(例如,通过打电话LayoutTool.resetPaths(LayoutGraph)
)在应用平行边缘布局器
如果边缘应当接收直线路线)。
-
-
从类java.lang.Object继承的方法 |
clone,equals,finalize,getClass,hashCode,notify,notifyAll,toString,wait,wait |
范围_ PKEY
公共静态最终java.lang.Object作用域_DPKEY
- A类
数据提供程序
标记要布线的边缘的键
-
- 如果没有
数据提供程序
使用给定密钥注册,则所有边都将被路由。
LEADING_EDGE_DPKEY领导
公共静态最终java.lang.ObjectLEADING_EDGE_DPKEY领导
- A类
数据提供程序
指定主边的键标记的边不会被删除核心布局算法
所有边缘平行于主边将获得平行路径。
如果没有为平行边束指定前缘,则将自动确定前缘。如果有多个前缘,则选择第一个前缘。
路由_并行_边缘_ DPKEY
公共静态最终java.lang.Object路由并行数据集DPKEY
- A类
数据接受程序
用于发布已布线且未被视为前缘的平行边的键在数据接受程序
使用此键在图形中注册所有平行边没有标记前缘(主)。这样,很容易确定在堆芯布置图
。
知道在核心布局期间识别和隐藏了哪些平行边是有价值的信息用于需要专门处理此类边缘的用例。例如,常见的情况是需要放置这些边的边标签。核心布局无法执行此操作,因为隐藏了平行边。通用标记算法,其中只有平行边的标签受到影响,现在可以很容易地进行放置(请参见AbstractLabelingAlgorithm.setSelection(对象)
。
-
- 如果
平行边缘布局器
作为的一部分运行CanonicMultiStage布局器
,阶段就像标记
在这个阶段之后运行的已经使用使用此密钥注册的数据接收器发布的信息。这样例如,标记阶段可以以特定方式处理非前导、平行边缘的标记。
- 另请参阅:
LEADING_EDGE_DPKEY领导
隐藏边界
受保护的边缘列表 隐藏边界
- 包含隐藏在
核心布局算法
。
parallelEdges(平行边)
公众的边缘贴图 parallelEdges(平行边)
边缘贴图
将隐藏边与未隐藏的唯一平行边关联核心布局算法
。
线条距离
双重保护线条距离
- 保持在平行边之间指定的线距离。
平行边缘布局器
公众的平行边缘布局器(层外(Layour)核心层)
- 创建新的
平行边缘布局器
实例使用给定核心布局算法
。
- 参数:
核心布局器
-核心布局程序- 另请参阅:
AbstractLayoutStage.setCoreLayouter(外层)
平行边缘布局器
公众的平行边缘布局器()
- 创建新的
平行边缘布局器
实例的默认设置。
已启用定向模式
公共布尔值已启用定向模式()
- 返回是否应考虑边的方向。
在定向模式下,只有共享同一源节点和目标节点的边才会并行布线。边缘连接到相同的节点但在不同的方向上不会被视为并行。
在无向模式下,连接同一对节点的所有边都将并行布线。
- 退货:
真的
如果平行边的方向必须相同,假
否则
设置定向模式已启用
公共空虚设置定向模式已启用(布尔directedModeEnabled)
- 指定是否应考虑边的方向。
在定向模式下,只有共享同一源节点和目标节点的边才会并行布线。边缘连接到相同的节点但在不同的方向上不会被视为并行。
在无向模式下,连接同一对节点的所有边都将并行布线。
- 默认值:
- 默认值为false。连接同一对节点的所有边都被视为平行,忽略其方向。
- 参数:
启用直接模式
-真的
如果平行边的方向必须相同,假
否则- 示例图表:
假 |
真的 |
正在使用自适应线路距离
公共布尔值正在使用自适应线路距离()
- 返回是否应根据源节点和目标节点的大小。
如果启用,则选择边之间的距离,以便所有平行边都可以绘制为直线线,并且仍然连接到节点的边界。
- 退货:
真的
如果距离是根据节点边界确定的,假
否则- 另请参阅:
setUsingAdaptiveLineDistances(布尔值)
,setLineDistance(双精度)
使用自适应线路距离设置
公共空虚使用自适应线路距离设置(使用AdaptiveLineDistances的布尔值)
- 指定是否应根据源节点和目标节点的大小。
如果启用,则选择边之间的距离,以便可以将所有平行边绘制为直线线,并且仍然连接到节点的边界。
- 默认值:
- 默认值为true。平行边之间的距离根据节点的边界进行调整。
- 参数:
使用自适应直线距离
-真的
是否应根据节点的边界,假
否则- 另请参阅:
setLineDistance(双精度)
- 示例图表:
假 |
真的 |
设置线条距离
公共空虚设置线条距离(双倍距离)
- 指定平行运行的两条相邻边路径之间的距离。
距离必须为非负值。
-
- 如果
自适应线距
使用时,生成的距离可能小于规定的距离。
- 默认值:
- 默认值为10。
- 参数:
距离
-两平行边之间的距离- 投掷次数:
java.lang.Illegal参数异常
-如果指定距离小于0
- 另请参阅:
setUsingAdaptiveLineDistances(布尔值)
- 示例图表:
10 |
20 |
获取线路距离
公共双人间获取线路距离()
- 返回平行运行的两条相邻边路径之间的距离。
距离必须为非负值。
-
- 如果
自适应线距
使用时,得到的距离可能小于规定的距离。
- 退货:
- 两平行边之间的距离
- 另请参阅:
setLineDistance(双线)
,setUsingAdaptiveLineDistances(布尔值)
do布局
公共空虚do布局(LayoutGraph布局图图表)
- 将节点和边的排列委托给
核心布局算法
和路线平行边。
- 参数:
图表
-输入图形- 另请参阅:
Layouter.canLayout(LayoutGraph)
can布局
公共布尔值can布局(LayoutGraph布局图图表)
- 接受可以由
核心布局算法
全部移除后平行边。如果没有核心布局算法
,接受所有图形。
- 参数:
图表
-输入图形- 退货:
真的
如果没有核心布局算法或核心布局算法接受图形,假
否则- 另请参阅:
Layouter.doLayout(布局图)
布局平行边
保护空隙布局平行边(LayoutGraph布局图图形,边缘贴图平行边)
- 为所有平行边指定布局。
每个平行边的布局遵循未从核心布局算法
。
当核心布局算法
已完成。它可能被覆盖引入平行边的自定义布线。
- 参数:
图表
-核心布局后的图形parallelEdges(平行边)
-为每个主边提供所有平行边的贴图- 另请参阅:
setJoinEndsEnabled(布尔值)
,setUsingAdaptiveLineDistances(布尔值)
,setLeadingEdgeAdjustmentEnabled(布尔值)
查找并隐藏平行边
保护空隙查找并隐藏平行边(图表图表)
- 隐藏所有平行边,在图形中保留主边。
平行边缘布局器
检测给定图形的平行边。它隐藏了每一组平行边给定图形中除一条边外的所有边。
在调用之前调用此方法核心布局算法
。它可能被覆盖以更改前缘的选择。隐藏的边缘应存储在隐藏边界
启用un-hiding后来。
- 参数:
图表
-输入图形- 另请参阅:
setDirectedModeEnabled(布尔值)
,范围_ PKEY
isJoinEnds已启用
公共布尔值isJoinEnds已启用()
- 返回是否合并平行边的端点。
如果启用,则所有边都以非平行线段结束,这些线段在同一点连接到节点。否则,所有这些边的线段是平行的。在这种情况下,某些边可能无法连接到节点的边界。
- 退货:
真的
如果边缘在末端接合,假
否则- 另请参阅:
setJoinEndsEnabled(布尔值)
,setAbsJoinEndDistance(双精度)
,setRelJoinEndDistance(双精度)
已启用setJoinEndsEnabled
公共空虚已启用setJoinEndsEnabled(布尔joinEndsEnabled)
- 指定是否合并平行边的端点。
如果启用,则所有边都以非平行线段结束,这些线段在同一点连接到节点。否则,所有这些边的线段是平行的。在这种情况下,某些边可能无法连接到节点的边界。
- 默认值:
- 默认值为false。平行边只有平行线段。
- 参数:
joinEndsEnabled(已启用joinEnds)
-真的
如果边缘应在端部接合,假
否则- 另请参阅:
setAbsJoinEndDistance(双精度)
,setRelJoinEndDistance(双精度)
- 示例图表:
假 |
真的 |
获取AbsJoinEndDistance
公共双人间获取AbsJoinEndDistance()
- 返回从连接线的端点到第一个平行线段的绝对距离。
绝对距离必须为非负。
-
- 只有当平行边缘路径
加入
。
- 退货:
- 从端点到平行边的第一个/最后一个弯曲的绝对距离
- 另请参阅:
setAbsJoinEndDistance(双精度)
,setJoinEndsEnabled(布尔值)
,setRelJoinEndDistance(双精度)
设置AbsJoinEndDistance
公共空虚设置AbsJoinEndDistance(双absJoinEndDistance)
- 指定从连接线的端点到第一条平行线段的绝对距离。
绝对距离必须为非负。
-
- 仅当平行边路径为
加入
。
- 默认值:
- 默认值为20。
- 参数:
abs连接端距离
-从端点到平行边的第一个/最后一个弯曲的绝对距离- 投掷次数:
java.lang.Illegal参数异常
-如果指定的距离为负- 另请参阅:
setJoinEndsEnabled(布尔值)
,setRelJoinEndDistance(双)
- 示例图表:
20 |
10 |
获取RelJoinEndDistance
公共双人间获取RelJoinEndDistance()
- 返回从连接线的端点到第一个平行线段的相对距离。
该长度相对于相应的原始线段的长度。它需要在间隔[0,1]
。
-
- 仅当平行边路径为
加入
。
- 退货:
- 从端点到平行边的第一个/最后一个弯曲的相对距离
- 另请参阅:
setRelJoinEndDistance(双精度)
,setJoinEndsEnabled(布尔值)
,setAbsJoinEndDistance(双精度)
设置RelJoinEndDistance
公共空虚设置RelJoinEndDistance(双relJoinEndDistance)
- 指定从连接线的端点到第一条平行线段的相对距离。
该长度相对于相应的原始线段的长度。它需要在间隔[0,1]
。
-
- 仅当平行边路径为
加入
。
- 默认值:
- 默认值为0.1。
- 参数:
relJoinEnd距离
-从端点到平行边的第一个/最后一个弯曲的相对距离- 投掷次数:
java.lang.Illegal参数异常
-如果指定的相对距离小于0
或大于1
- 另请参阅:
setJoinEndsEnabled(布尔值)
,setAbsJoinEndDistance(双)
- 示例图表:
0.1 |
0.4 |
前缘调整已启用
公共布尔值前缘调整已启用()
- 返回是否调整前缘以获得更对称的结果。
-
- 启用此属性可能会更改主边缘的原始端口。
- 退货:
真的
如果调整前缘,假
否则- 另请参阅:
setLeadingEdgeAdjustmentEnabled(布尔值)
设置前缘调整已启用
公共空虚设置前缘调整已启用(布尔leadingEdgeAdjustmentEnabled)
- 指定是否调整前缘以获得更对称的结果。
-
- 启用此属性可能会更改主边缘的原始端口。
- 默认值:
- 默认值为true。调整前缘以获得更对称的结果。
- 参数:
前缘调整已启用
-真的
如果前缘需要调整,假
否则- 示例图表:
假 |
真的 |