搜索此API

y.布局.外部
类OrganicEdgeRouter

java.lang.Object(java.lang.对象)由扩展 y.layout.router。有机边缘路由器
所有实现的接口:
层外(Layour),布局阶段

公众阶级有机边缘路由器
扩展java.lang.Object
实施布局阶段

此边缘路由算法将有机路由应用于图的边缘。

布局样式

边缘以有机方式布线,即在节点周围的平滑曲线中,观察最小距离到节点。

在路由过程中,节点的位置被认为是固定的,路由器不会修改它们的位置或大小。

只要边路径应避免有机或循环跨越任何节点,就可以应用边路由算法布局样式。

概念

边缘布线算法使用力定向方法计算边缘路径。考虑节点当边缘尽可能短时,形成排斥力。

每条边被单独布线,并受其周围特定区域中节点的影响。该算法将添加弯曲到通过平衡力放置的边路径。

结果的质量在很大程度上取决于节点之间的空间大小。更准确地说每对节点之间的距离应至少为指定距离的两倍最小距离。如果节点没有必要保留其位置,则可以使用以下组合来确保删除重叠布局阶段节点扩大阶段

特征

设置最小距离(双精度)将使边与节点保持自定义距离。然而,如果没有节点之间有足够的空间,则此距离可能不足(即边缘将更靠近节点)。

有机边缘路由器能够重用现有折弯。边缘将包含这些弯板以及布局算法添加的其他弯板。另一个功能允许考虑弯曲,从而影响路线查找,但其绝对值未保留位置(请参见setExistingBendsConsiderationEnabled(布尔值))。

此边缘布线算法实现为布局阶段可以直接应用于图形,也可以使用核心布局算法

 

现场总结
静态java.lang.Object 路由_边缘_密钥
A类数据提供程序用于选择应布线的边的键
 
从接口y.layout继承的字段。层外(Layour)
边缘_ID_DPKEY,节点ID_DPKEY,节点_类型_DP键,选定的边缘,所选节点
 
构造方法摘要
有机边缘路由器()
创建新的有机边缘路由器实例的默认设置。
有机边缘路由器(双minNodeDistance)
创建新的有机边缘路由器边和节点之间具有自定义最小距离的实例。
有机边缘路由器(层外(Layour)堆芯)
创建新的有机边缘路由器使用给定的核心布局算法
 
方法摘要
布尔值 can布局(LayoutGraph布局图图表)
接受节点大小大于的所有图0以及指定的核心布局算法可以处理。
保护空隙 检查组节点大小(图形布局布局,java.lang.Object节点)
检查给定组节点的宽度或高度是否为0
保护空隙 检查节点大小(图形布局布局,java.lang.Object节点)
检查给定节点的宽度或高度是否为0
 布局阶段 创建节点扩展阶段()
返回一个布局阶段临时增加节点的大小以避免重叠。
空隙 do布局(LayoutGraph布局图图表)
执行输入图形边缘的有机布线。
 层外(Layour) 获取核心布局器()
返回在边缘布线之前排列图形的核心布局算法。
双倍的 获取最小距离()
返回算法应保证的节点和非相交边之间的最小距离。
布尔值 允许边缘节点重叠()
返回是否允许边跨节点。
布尔值 已启用现有折弯考虑()
返回初始折弯坐标是否影响路径布线,以便计算路线的总体形状往往相似。
布尔值 全部传送()
返回是在所有边上还是仅在违反距离的子集上执行重路由步骤。
布尔值 正在使用弯头()
返回确定边路径时是否保留初始折弯坐标。
空隙 设置核心层(层外(Layour)核心层)
指定在边缘布线之前排列图形的核心布局算法。
空隙 允许setEdgeNodeOverlapAllowed(允许布尔边节点重叠)
指定是否允许边跨越节点。
空隙 设置现有折弯考虑已启用(布尔值考虑现有折弯)
指定初始折弯坐标是否影响路径布线,以便计算路线往往具有相似的总体形状。
空隙 设置最小距离(双倍最小距离)
指定算法应保证节点和非偶发边之间的最小距离。
空隙 设置全部路由(布尔路由全部)
指定是在所有边上还是仅在违反距离的子集上执行重路由步骤。
空隙 设置使用弯头(布尔型keepExistingBends)
指定在确定边路径时是否保留初始折弯坐标。
 
从类java.lang.Object继承的方法
clone,equals,finalize,getClass,hashCode,notify,notifyAll,toString,wait,wait
 

字段详细信息

路线_ DGE_DPKEY

公共静态最终java.lang.Object路由_边缘_密钥
A类数据提供程序用于选择应布线的边的键

建造商详图

有机边缘路由器

公众的有机边缘路由器()
创建新的有机边缘路由器实例的默认设置。


有机边缘路由器

公众的有机边缘路由器(双倍minNodeDistance)
创建新的有机边缘路由器边和节点之间具有自定义最小距离的实例。

参数:
最小节点距离-边与节点之间的最小距离
投掷次数:
java.lang.Illegal参数异常-如果给定的最小距离为负

有机边缘路由器

公众的有机边缘路由器(层外(Layour)堆芯)
创建新的有机边缘路由器使用给定的核心布局算法

参数:
核心-核心布局算法
方法详细信息

can布局

公共布尔值can布局(LayoutGraph布局图图表)
接受节点大小大于的所有图0以及指定的核心布局算法可以处理。如果没有核心布局算法指定,所有没有零大小节点的通用图都是认可的。

指定人:
can布局在接口中层外(Layour)
参数:
图表-输入图形
退货:
真的如果核心布局算法可以处理给定的图形和此图不包含大小为的节点0,否则
另请参阅:
Layouter.doLayout(布局图)

允许边缘节点重叠

公共布尔值允许边缘节点重叠()
返回是否允许边跨节点。允许边与节点重叠将产生边缘更平滑,因为边缘路径可以更靠近节点。

 
如果节点不能放大的例如,因为节点不应移动,允许节点和边之间重叠可能会导致更好的结果,以防节点之间的距离都很小。这个最小距离无法始终保持。
退货:
真的如果允许边缘节点重叠,否则
另请参阅:
setEdgeNodeOverlapAllowed(布尔值),创建节点扩展阶段(),设置最小距离(双精度)

允许setEdgeNodeOverlapAllowed

公共空虚允许setEdgeNodeOverlapAllowed(允许布尔边节点重叠)
指定是否允许边跨越节点。允许边与节点重叠将产生边缘更平滑,因为边缘路径可以更靠近节点。

 
如果节点不能放大的例如,因为节点不应移动,允许节点和边之间重叠可能会导致更好的结果,以防节点之间的距离都很小。这个最小距离无法始终保持。
默认值:
默认值为true。允许边跨越节点。
参数:
允许边缘节点重叠-真的如果允许边缘节点重叠,否则
另请参阅:
创建节点扩展阶段(),设置最小距离(双精度)
示例图表:


真的

do布局

公共空虚do布局(LayoutGraph布局图图表)
执行输入图形边缘的有机布线。

指定人:
do布局在接口中层外(Layour)
 
在边缘布线过程中不会复制给定的图形,结果将立即显示应用于输入图形。
参数:
图表-输入图形
另请参阅:
Layouter.canLayout(LayoutGraph)

检查节点大小

保护空隙检查节点大小(图形布局布局,java.lang.Object节点)抛出java.lang.IllegalArgumentException
检查给定节点的宽度或高度是否为0此方法在中调用doLayout(布局图)核心布局算法被调用。可以覆盖它来删除/更改此检查。

参数:
布局-图形布局对象
节点-节点
投掷次数:
java.lang.Illegal参数异常-如果节点对象的宽度或高度为零
另请参阅:
checkGroupNodeSize(图形布局,对象)

检查组节点大小

保护空隙检查组节点大小(图形布局布局,java.lang.Object节点)抛出java.lang.IllegalArgumentException
检查给定组节点的宽度或高度是否为0此方法在中调用doLayout(布局图)核心布局算法被调用。可以覆盖它来删除/更改此检查。

参数:
布局-图形布局对象
节点-组节点
投掷次数:
java.lang.Illegal参数异常-如果组节点对象的宽度或高度为零
另请参阅:
checkNodeSize(图形布局,对象)

获取核心布局器

公众的层外(Layour) 获取核心布局器()
返回在边缘布线之前排列图形的核心布局算法。

指定人:
获取核心布局器在接口中布局阶段
退货:
排列图形的布局算法
另请参阅:
setCoreLayouter(层外)

设置核心层

公共空虚设置核心层(层外(Layour)核心层)
指定在边缘布线之前排列图形的核心布局算法。

指定人:
设置核心层在接口中布局阶段
默认值:
默认值为null。
参数:
核心布局器-排列图形的布局算法

获取最小距离

公共双人间获取最小距离()
返回算法应保证的节点和非相交边之间的最小距离。

距离还影响添加到路径中的折弯数(距离越大,折弯数越少)。

最小距离定义为非负值。

 
为了获得最佳效果,距离应至少为10
 
如果没有足够的空间,则可能无法遵守最小距离。
退货:
边与节点之间的非负最小距离
另请参阅:
设置最小距离(双精度)

设置最小距离

公共空虚设置最小距离(双倍最小距离)
指定算法应保证的节点和非相交边之间的最小距离。

距离还影响添加到路径中的折弯数(距离越大,折弯数越少)。

最小距离定义为非负值。

 
为了获得最佳效果,距离应至少为10
 
如果没有足够的空间,则可能无法遵守最小距离。
默认值:
默认值为10。
参数:
最小距离-边与节点之间的非负最小距离
投掷次数:
java.lang.Illegal参数异常-如果给定的最小距离为负
示例图表:

10

50

正在使用弯头

公共布尔值正在使用弯头()
返回确定边路径时是否保留初始折弯坐标。弯曲处为被视为固定节点并保持路径的一部分。

 
如果现有弯头不应完全固定,而应仅考虑布线,请使用属性setExistingBendsConsiderationEnabled(布尔值)而是禁用这个。
退货:
真的如果保持初始折弯坐标,否则
另请参阅:
setUsingBends(布尔值)

设置使用弯头

公共空虚设置使用弯头(布尔型keepExistingBends)
指定在确定边路径时是否保留初始折弯坐标。弯曲处为被视为固定节点并保持路径的一部分。

 
如果现有弯头不应完全固定,而应仅考虑布线,请使用属性setExistingBendsConsiderationEnabled(布尔值)而是禁用这个。
默认值:
默认值为false。输入图形中的折弯坐标不保持固定。
参数:
保持现有折弯-真的如果应保留初始折弯坐标,否则
示例图表:

初始图形


真的

已启用现有折弯考虑

公共布尔值已启用现有折弯考虑()
返回初始折弯坐标是否影响路径布线,以便计算路线的总体形状往往相似。

将考虑但不保留现有折弯坐标。如果要保留,启用属性setUsingBends(布尔值)

 
setUsingBends(布尔值)已启用。
退货:
真正的如果考虑现有的弯曲,否则
另请参阅:
setExistingBendsConsiderationEnabled(布尔值)

设置现有折弯考虑已启用

公共空虚设置已启用的现有折弯考虑(布尔值考虑现有折弯)
指定初始折弯坐标是否影响路径布线,以便计算路线的总体形状往往相似。

将考虑但不保留现有折弯坐标。如果要保留,启用属性setUsingBends(布尔值)

 
setUsingBends(布尔值)已启用。
默认值:
默认值为false。边布线不考虑输入图形中的折弯。
参数:
考虑现有弯管-真正的如果应考虑现有弯管,否则

全部传送

公共布尔值全部传送()
返回是在所有边上还是仅在违反距离的子集上执行重路由步骤。

如果只对边的子集进行重新布线,则只包括那些跨越节点或过于靠近节点的边。在重新布线期间,将向受排斥力影响的边添加更多折弯。

 
重新布线所有边缘将导致更有机的布线,该布线考虑到最小距离更接近。禁用此功能,即保留第一个计算路径所需的运行时间更少。
退货:
真的如果所有边都重新布线,如果只有一个子集被重新路由
另请参阅:
setRoutingAll(布尔值)

设置全部路由

公共空虚设置全部路由(布尔路由全部)
指定是在所有边上还是仅在违反距离的子集上执行重路由步骤。

如果只对边的子集进行重新布线,则只包括那些跨越节点或过于靠近节点的边。在重新布线期间,将向受排斥力影响的边添加更多折弯。

 
重新布线所有边缘将导致更有机的布线,该布线考虑到最小距离更接近。禁用此功能,即保留第一个计算的路径将占用较少的运行时间。
默认值:
默认值为false。只有距离节点太近的边才会重新布线。
参数:
路由全部-真的如果所有边都重新布线,如果只有一个子集被重新路由
示例图表:


真的

创建节点扩展阶段

公众的布局阶段 创建节点扩展阶段()
返回一个布局阶段临时增加节点的大小以避免重叠。

边缘将与节点保持更大的距离。因此,他们不会越过它们。

 
舞台应与删除重叠布局阶段,请参阅提供的示例。以下示例演示了如何使用此阶段:
有机边缘路由器=新的有机边缘路由器();CompositeLayoutStage cls=新的CompositelayoutStake();cls.appendStage(router.createNodeEnlargementStage());cls.appendStage(新的RemoveOverlapsLayoutStage(0));router.setCoreLayouter(cls);router.doLayout(图形);
退货:
这个布局阶段调整节点大小的

©版权所有2000-2022,
yWorks股份有限公司
保留所有权利。