y.layout.router.polyline
类EdgeRouter
java.lang.Object(java.lang.对象)y.布局。抽象布局阶段
y.layout.router.多段线。边缘路由器
- 所有实现的接口:
- 层外(Layour),布局阶段
公众阶级边缘路由器
- 延伸抽象布局阶段
此边缘布线算法将折线布线应用于图形的边缘。
布局样式
默认情况下,边是以正交方式布线的,即它们仅由水平和垂直线段组成。还有两种其他布线样式:八线的
风格在水平段和垂直段之间插入其他倾斜段弯曲
将线段替换为平滑曲线的样式。
在路由过程中,节点的位置被认为是固定的,路由算法不会以任何方式修改其位置或大小。
边缘布线算法可以应用于需要使用正交八线布线边缘的任何地方或曲线段,而不跨越任何节点,同时保持图中节点的位置不变。一些潜在的应用包括电路设计、平面规划和导航地图。
具有默认设置的边缘布线算法的输出示例
具有八线布线和分组边缘的边缘布线算法的样本输出
具有八线布线和组节点的边缘布线算法的样本输出
具有曲线布线风格的边缘布线算法的样本输出
总线式布线的样本输出
概念
边缘布线算法基本上执行三个步骤来实现主边缘布线和额外的第四个步骤八线或曲线布线样式的边缘的台阶。
- 创建
分区
它将图形区域划分为几个分区单元格
第条。
- 通过
分区
使用路径搜索
.
- 根据之前使用计算的路径为边的线段指定坐标
基于通道的路径路由
.
- 在水平段和垂直段相交的位置插入非正交段,以获得具有布线样式的边
EdgeLayoutDescriptor。边缘_轮胎_动态
或为具有布线的边插入曲线段风格边缘布局描述符。边缘_样式_曲线
.
前两个步骤是可定制的。图形分区扩展
s能够影响分区
已创建。他们补充道分区单元格
和/或标记它们,以便稍后在过程。当前使用的分区扩展
可以丢弃或通过自定义实现进行扩展。
例如,扩展“节点分区”添加了一个分区单元格
到分区
对于每个节点并将其标记为属于节点。在路径搜索
,扩展“节点交叉”识别这些分区单元格
s并增加惩罚跨越节点的成本。边缘将围绕节点布线。
路径搜索扩展
的影响路径搜索
通过增加遍历成本分区单元格
s或缩小它们的间隔以允许对分区单元格
.当前使用的分区扩展
可以丢弃或通过自定义实现进行扩展。
使用边缘布局描述符
s、 可以向边缘添加单独的布局设置,如布线样式。它们使用键注册到图形中EDGE_LAYOUT_DESCRIPTOR_DPKEY(边缘_布局_描述符_ PKEY)
。如果没有为提供描述符边缘,边缘默认边缘布局描述符
用作回退值。
特征
路由算法支持两种方法来将特定一侧的边或甚至精确位置的边连接到节点。端口约束
为边的端口定义单个约束。实现更复杂的端口限制,几个端口候选
s或端口候选集
s可以指定给边或节点。如果边缘已注册端口候选
s连接到具有的节点端口候选集
第页,边缘路由器将尝试匹配这两个集合,以找到合适的端口。如果没有匹配的候选端口,a端口候选
最好为边缘指定。请注意,路由算法不考虑自定义端口候选集。候选人匹配器
实现。由于它们在同一节点同时存在可能不明确,因此不建议使用以下组合端口约束
s和端口候选
在同一个图中。
强大端口约束
s或固定端口候选
为组的边端点定义的支持组节点内的强/固定端口位置的节点特点。首先,如果有多个端口候选
s和一个不在组内,但是,例如,在其边界上,这样的候选人总是优先于内部候选人。当考虑到内部约束时,算法实际上从组的边界到港口位置。路上的障碍物与其他路线一样。组节点为也在由定义的一侧输入端口约束
或端口候选
.
A类分区网格
算法避免了单元格边界左键并重新输入。这样,如果源和目标都在同一个单元中,则边缘路由将保留在单元内。为了使此功能正常工作,需要将属性的值列描述符.getOriginalPosition()
,行描述符.getOriginalPosition()
列描述符.getOriginalWidth()
和行描述符.getOriginalHeight()
正确指定。执行边缘路由器
作为一个通过布局执行便利方法的独立算法(例如,值取自表网格可视化)。但是,如果路由器作为更复杂布局管道的一部分应用可能需要手动指定这些值。例如,如果之前有另一个算法计算网格位置值并将其存储在相应的“计算”属性中(例如。列描述符.getComputedPosition()
),以及之后边缘路由器
应该是应用,则应将第一个算法的“计算”值写入之前的“原始”值运行边缘路由器
.
可以对边进行分组,以便它们在管线的起点或终点共享公共线段。边缘组使用指定数据提供程序
为同一组中的所有边提供相同ID对象的。那些数据提供程序
使用键在图形中注册端口约束键。源组ID键
用于源组或键端口约束键。目标组ID键
针对目标群体。除了边缘分组,EdgeRouter还支持端口分组,其中节点上具有相同端口id的所有边缘将共享相同的端口位置,但仍独立路由(即,对于边缘组,不要共享多个线段)。要指定端口组,请使用数据提供程序
并注册到带键的图形端口约束键。源端口组ID_DPKEY
用于源端口组或密钥端口约束键。目标端口组ID_DPKEY
用于目标端口组。请注意,边缘可以与(源/目标)组或(源/目的)端口组id关联,但不是同时两者。
边缘可以按总线样式布线。应该共享公共总线段的边缘必须映射到相同的总线段总线描述符
(另请参见总线描述符数据库
). 算法试图对很大一部分进行路由使用公共总线段的边缘。根据所涉及的边/节点,但也可以使用总线描述符.setBusPoints(YPointPath)
.固定的边缘(即未标记路由)也可能属于总线。然后,公共汽车段将使用固定边的现有路径导出。这样,总线可以增量更新,例如,在现有总线结构中添加新边缘时。例如,总线路由在图的某些部分中非常有用,其中每个节点都与其他节点相连。
-
- 所有源/目标分组边共享相同的源/目标端口。因此,将它们分配给不同的固定端口位置(带有
端口约束
s或端口候选
s) 没有道理。
-
-
从类java.lang.Object继承的方法 |
clone,equals,finalize,getClass,hashCode,notify,notifyAll,toString,wait,wait |
EDGE_LAYOUT_DESCRIPTOR_DPKEY(边缘_布局_描述符_ PKEY)
公共静态最终java.lang.StringEDGE_LAYOUT_DESCRIPTOR_DPKEY(边缘_布局_描述符_ PKEY)
- A类
数据提供程序
用于指定单个边缘布局信息的键如果是这样数据提供程序
不包含边缘布局描述符
对于边缘,然后是布局算法将使用默认描述符
.
- 另请参阅:
getDefaultEdgeLayoutDescriptor()
,常量字段值
总线描述符数据库
公共静态final java.lang.Object总线描述符数据库
- A类
数据提供程序
为每个边缘指定总线描述符的键可以将边指定给总线描述符
实例;与同一描述符关联的所有边以总线方式路由。总线是一个由多条边共享的段,较短的段与这些边共享连接到实际节点的。注意,使用这样的总线表示在彼此顶部绘制多条边,单个边方向等信息可能是闭塞。
映射的总线描述符
允许配置由关联边缘形成的总线。
-
- 例如,在图中每个节点连接到每个节点的部分,总线路由可能非常有用其他节点。
-
中间点
对于作为总线结构一部分的边,将忽略。
- 另请参阅:
总线描述符
标签_CROSSING_COST_FACTOR_DPKEY
公共静态最终java.lang.String标签_CROSSING_COST_FACTOR_DPKEY
- A类
数据提供程序
衡量单独跨越每个标签的成本的关键如果标签的系数为0
然后允许穿过它。非常重要的标签应该得到一个高度因素。该系数乘以边缘必须穿过节点标签
或一个边缘标签
以便确定跨越此标签时产生的最终成本。
- 另请参阅:
获取默认边缘布局描述符()
,边缘布局描述符.getPenaltySettings()
,常量字段值
路线_全部_边缘
公共静态最后字节路线_全部_边缘
- 一个范围说明符,定义输入图的所有边都将被路由。
- 另请参阅:
setSphereOfAction(字节)
,常量字段值- 示例图表:
初始图形 | 由该边缘布线算法布线的所有边缘 |
路线_选定_边缘
公共静态最终字节路线_选定_边缘
- 一种范围说明符,用于定义仅对输入图的选定边进行路由。
边的选择状态由返回的布尔值确定由数据提供程序
用密钥注册获取选定边DpKey()
.
所有其他未选择的边缘将被视为具有固定路线。
- 另请参阅:
setSphereOfAction(字节)
,setSelectedEdgesDpKey(对象)
,常量字段值- 示例图表:
初始图形 | 仅选择(标记)由此边缘布线算法布线的边缘 |
路由_ DGES_AT_SELECTED_NODES
公共静态最终字节路由_ DGES_AT_SELECTED_NODES
- 一个范围说明符,定义只路由与选定节点相关的边。
节点的选择状态由返回的布尔值确定由数据提供程序
用密钥注册获取选定节点DpKey()
.
所有其他与非选定节点相关的边都将被视为具有固定路由。
- 另请参阅:
setSphereOfAction(字节)
,setSelectedNodesDpKey(对象)
,常量字段值- 示例图表:
初始图形 | 仅连接到由该边缘路由算法路由的选定(标记)节点的边缘 |
边缘路由器
公众的边缘路由器(层外(Layour)堆芯)
- 创建新的
边缘路由器
具有给定核心布局和默认设置的实例。
- 参数:
核心
-给定的堆芯布局器
边缘路由器
公众的边缘路由器()
- 创建新的
边缘路由器
实例的默认设置。
获取最大持续时间
公共长获取最大持续时间()
- 返回为边缘路由算法设置的时间限制(毫秒)。
最大持续时间必须大于或等于0
.
-
- 限制最大持续时间可能会导致版面质量降低。此外,实际运行时可能超过最大持续时间,因为边缘路由算法仍然需要找到有效的解决方案。
- 退货:
- 非负整数值
- 另请参阅:
设置最大持续时间(长)
设置最大持续时间
公共空虚设置最大持续时间(长最大持续时间)
- 指定边缘布线算法的时间限制(以毫秒为单位)。
最大持续时间必须大于或等于0
.
-
- 限制最大持续时间可能会导致版面质量降低。此外,实际运行时可能超过最大持续时间,因为边缘路由算法仍然需要找到有效的解决方案。
- 默认值:
- 默认值为
长。最大值(_V)
。边缘布线算法运行不受限制。
- 参数:
最大持续时间
-非负整数值- 投掷次数:
java.lang.Illegal参数异常
-如果最大持续时间为负
getDefaultEdgeLayoutDescriptor(获取默认边缘布局描述符)
公众的边缘布局描述符 getDefaultEdgeLayoutDescriptor(获取默认边缘布局描述符)()
- 返回
边缘布局描述符
用于所有没有特定边的边的实例已分配布局描述符。
- 退货:
- 默认值
边缘布局描述符
- 另请参阅:
EDGE_LAYOUT_DESCRIPTOR_DPKEY(边缘_布局_描述符_ PKEY)
getEdgeLayoutDescriptor(获取边缘布局描述符)
受保护的边缘布局描述符 getEdgeLayoutDescriptor(获取边缘布局描述符)(边缘边缘)
- 返回
边缘布局描述符
由提供的给定边的实例数据提供程序
它使用键注册到图形中EDGE_LAYOUT_DESCRIPTOR_DPKEY(边缘_布局_描述符_ PKEY)
.对于所有未指定特定布局描述符的边,返回的默认布局描述符获取默认边缘布局描述符()
遗嘱被分配。
可以重写此方法以创建边缘布局描述符
带有自定义配置。
- 参数:
边缘
-给定的边- 退货:
- 电流
边缘布局描述符
给定边的实例 - 另请参阅:
获取默认边缘布局描述符()
,EDGE_LAYOUT_DESCRIPTOR_DPKEY(边缘_布局_描述符_ PKEY)
已启用集成边缘标签
公共布尔值已启用集成边缘标记()
- 返回布局算法是否放置边缘标签。
启用此功能后,带有标签的边的路线可能会发生显著更改。算法找到标签的位置并在标签附近布线边,尝试考虑首选位置描述符
。为此,路线本身也许需要绕道而行,否则就没有必要了。这一点尤其正确如果标签的空间很小和/或标签很大。
-
- 启用此选项后,整体运行时可能会显著增加。因此,如果运行时间短是必需的,或者生成的管线有太多弯曲瑕疵(主要发生在空间不足的情况下),应用
通用标签
因为后处理步骤可以是一种替代方法。
- 退货:
真的
如果应该放置边缘标签,假
否则- 另请参阅:
setIntegratedEdgeLabelingEnabled(布尔值)
,setConsiderEdgeLabelsEnabled(布尔值)
设置IntegratedEdgeLabelingEnabled
公共空虚设置IntegratedEdgeLabelingEnabled(启用布尔值)
- 指定布局算法是否放置边缘标签。
启用此功能后,带有标签的边的路线可能会发生显著更改。算法找到标签的位置并在标签附近布线边,尝试考虑首选位置描述符
为此,路线本身也许需要绕道而行,否则就没有必要了。这一点尤其正确如果标签的空间很小和/或标签很大。
-
- 启用此选项后,整体运行时可能会显著增加。因此,如果运行时间短是必需的,或者生成的管线有太多弯曲瑕疵(主要发生在空间不足的情况下),应用
通用标签
因为后处理步骤可以是一种替代方法。
- 默认值:
- 默认值为false。已禁用集成边缘标签。
- 参数:
启用
-真的
如果应放置边缘标签,假
否则- 另请参阅:
setConsiderEdgeLabelsEnabled(布尔值)
启用多段线布线
公共布尔值启用多段线布线()
- 已弃用。 请改用边缘布局描述符上的布线样式特性。有关详细信息,请参阅文档。
- 返回路由算法是否使用非正交的八线线段路由边。
此属性已弃用!它被属性所取代EdgeLayoutDescriptor.setRoutingStyle(字节)
在边缘布局描述符。使用布线样式EdgeLayoutDescriptor。边缘_轮胎_ RTHOGONAL
和EdgeLayoutDescriptor。边缘_轮胎_动态
在八线和正交布线之间切换。使用描述符,如果需要,可以为每条边单独指定样式。
此属性仅影响使用默认布局描述符
.更改此属性值会更改属性EdgeLayoutDescriptor.setRoutingStyle(字节)
默认边缘布局描述符实例的。
- 退货:
真的
如果路由算法应该创建非正交的八线线段,假
否则- 另请参阅:
setPolylineRoutingEnabled(布尔值)
,获取首选多段线线段长度()
,获取最大多段线分段比率()
设置PolylineRoutingEnabled
公共空虚设置PolylineRoutingEnabled(布尔多段线RoutingEnabled)
- 已弃用。 请改用边缘布局描述符上的布线样式特性。有关详细信息,请参阅文档。
- 指定布管算法是否使用非正交的八线线段布管边。
此属性已弃用!它被属性所取代EdgeLayoutDescriptor.setRoutingStyle(字节)
在边缘布局描述符。使用布线样式EdgeLayoutDescriptor。边缘_轮胎_ RTHOGONAL
和EdgeLayoutDescriptor。边缘_样式_连续线性
在八线和正交布线之间切换。如果需要,可以使用描述符分别为每条边指定样式。
此属性仅影响使用默认布局描述符
.更改此属性值将更改属性EdgeLayoutDescriptor.setRoutingStyle(字节)
默认边缘布局描述符实例的。
- 默认值:
- 默认值为false。八线边布线被禁用,并且边是正交布线的。
- 参数:
多段线RoutingEnabled
-真的
如果路由算法创建非正交,八线线段,假
否则- 示例图表:
假 |
真的 |
获取首选多段线线段长度
公共双人间获取首选多段线线段长度()
- 已弃用。 改用边缘布局描述符上各自的首选长度属性。有关详细信息,请参阅文档。
- 返回(非正交)八线线段的首选长度。
此属性已弃用并替换为EdgeLayoutDescriptor.setPreferredOctilinerSegmentLength(双精度)
。由于属性位于描述符,它还允许单独定义每条边的首选长度。
此属性仅影响使用默认布局描述符
和使用布线样式EdgeLayoutDescriptor。边缘_轮胎_动态
。更改此属性的值更改属性边缘布局描述符.getPreferredOctilinerSegmentLength()
默认边缘布局描述符实例的。
- 退货:
- (非正交)多段线线段的首选长度
- 另请参阅:
setPreferredPolylineSegmentLength(双精度)
设置首选多段线线段长度
公共空虚设置首选多段线线段长度(双首选PolylineSegmentLength)
- 已弃用。 改用边缘布局描述符上各自的首选长度属性。有关详细信息,请参阅文档。
- 指定(非正交)八线线段的首选长度。
此属性已弃用并替换为EdgeLayoutDescriptor.setPreferredOctilinerSegmentLength(双精度)
。由于属性位于描述符,它还允许单独定义每条边的首选长度。
此属性仅影响使用默认布局描述符
和使用布线样式EdgeLayoutDescriptor。边缘_轮胎_动态
。更改此属性的值更改属性边缘布局描述符.getPreferredOctilinerSegmentLength()
默认边缘布局描述符实例的。
- 默认值:
- 默认值为30。
- 参数:
首选折线分段长度
-(非正交)八线线段的首选长度- 投掷次数:
java.lang.Illegal参数异常
-如果优选的八线线段长度为负- 示例图表:
首选段长度10 | 首选段长度50 |
获取最大多段线比率
公共双人间获取最大多段线比率()
- 已弃用。 改用边缘布局描述符上相应的最大线段比率属性。有关详细信息,请参阅文档。
- 返回段的水平/垂直部分与(非正交)八线部分之间的最大比率。
此属性已弃用并替换为EdgeLayoutDescriptor.setMaximumOctilineSegmentRatio(双精度)
。由于属性位于描述符,它还允许单独定义每条边的最大分段比率。
此属性仅影响使用默认布局描述符
和使用布线样式EdgeLayoutDescriptor。边缘_轮胎_动态
。更改此属性的值更改属性边缘布局描述符.getMaximumOctilineearSegmentRatio()
默认边缘布局描述符实例的。
- 退货:
- 最大折线线段比率
- 另请参阅:
setMaximumPolylineSegmentRatio(双精度)
设置最大多段线分段比率
公共空虚设置最大折线分段比率(两倍最大PolylineSegmentRatio)
- 已弃用。 改用边缘布局描述符上相应的最大线段比率属性。有关详细信息,请参阅文档。
- 指定线段的水平/垂直部分与(非正交)八线部分之间的最大比率。
此属性已弃用并替换为EdgeLayoutDescriptor.setMaximumOctilineSegmentRatio(双精度)
。由于属性位于描述符,它还允许单独定义每条边的最大分段比率。
此属性仅影响使用默认布局描述符
和使用布线样式EdgeLayoutDescriptor。边缘_轮胎_动态
。更改此属性的值更改属性边缘布局描述符.getMaximumOctilinearSegmentRatio()
默认边缘布局描述符实例的。
- 默认值:
- 默认值为0.3。
- 参数:
最大多段线分段比率
-最大八线线段比率- 投掷次数:
java.lang.Illegal参数异常
-如果最大段长度为负或大于0.5
- 示例图表:
比率0.3 ,从左到右的八线部分都覆盖了水平距离的三分之一 | 比率0.5 ,左右八线部分均覆盖水平距离的一半 |
重新路由已启用
公共布尔值重新路由已启用()
- 返回路由算法是否使用附加步骤来重新路由被视为有最坏的路。
-
- 只有在
最大持续时间
有尚未超过。
- 退货:
真的
如果将执行重新路由步骤,假
否则- 另请参阅:
setReroutingEnabled(布尔值)
设置重新路由已启用
公共空虚设置重新路由已启用(启用布尔重路由)
- 指定路由算法是否使用附加步骤重新路由要考虑的边有最坏的路。
-
- 只有在
最大持续时间
有尚未超过。
- 默认值:
- 默认值为false。不会执行重新路由步骤。
- 参数:
已启用重新路由
-真的
如果要执行重路由步骤,假
否则
设置操作范围
公共空虚设置球体操作(字节范围)
- 指定应布线的一组(子)边。
- 默认值:
- 默认值为
路线_全部_边缘
- 参数:
范围
-默认范围值之一- 投掷次数:
java.lang.Illegal参数异常
-如果给定范围未知- 另请参阅:
获取选定边DpKey()
获取操作范围
公共字节获取操作范围()
- 返回应布线的一组(子)边。
- 退货:
- 默认范围值之一
- 另请参阅:
setSphereOfAction(字节)
,获取选定边DpKey()
获取选定节点Dp密钥
公共java.lang.Object获取选定节点Dp密钥()
- 返回
数据提供程序
键查找节点的选择状态。如果范围
设置为路由_ DGES_AT_SELECTED_NODES
,只有边缘与选定节点相关的边将被路由,而所有其他边将被视为具有固定路线。
- 退货:
- 这个
数据提供程序
节点选择键 - 另请参阅:
setSphereOfAction(字节)
,setSelectedNodesDpKey(对象)
设置所选节点DpKey
公共空虚设置所选节点DpKey(java.lang.Object键)
- 指定
数据提供程序
键以查找节点的选择状态。如果范围
设置为路由_ DGES_AT_SELECTED_NODES
,只有边缘与选定节点相关的边将被路由,而所有其他边将被视为具有固定路线。
- 默认值:
- 默认值为
布局器。所选节点
- 参数:
钥匙
-的数据提供程序
节点选择键- 投掷次数:
java.lang.Illegal参数异常
-如果指定了数据提供程序
关键是无效的
- 另请参阅:
setSphereOfAction(字节)
,获取选定节点DpKey()
获取所选边DpKey
公共java.lang.Object获取选定边Dp键()
- 返回
数据提供程序
键查找边的选择状态。如果范围
设置为路线_选定_边缘
,仅选定边将进行布线,而所有其他边缘将被视为具有固定的布线。
- 退货:
- 这个
数据提供程序
边选择键 - 另请参阅:
setSphereOfAction(字节)
,setSelectedEdgesDpKey(对象)
设置所选边DpKey
公共空虚设置所选边DpKey(java.lang.Object selectedEdgesDpKey)
- 指定
数据提供程序
键查找边的选择状态。如果范围
设置为路线_选定_边缘
,仅选定边将进行布线,而所有其他边缘将被视为具有固定的布线。
- 默认值:
- 默认值为
布局器。选择的_边缘
- 参数:
所选边缘DpKey
-的数据提供程序
边选择键- 投掷次数:
java.lang.Illegal参数异常
-如果指定了数据提供程序
关键是无效的
- 另请参阅:
setSphereOfAction(字节)
,获取选定边DpKey()
getEdgeOrder比较器
公共java.util。比较器getEdgeOrderComparator()
- 返回自定义
比较器
定义边的处理顺序。
-
- 处理顺序可能会影响各个边缘路径的质量。布管边时,仅路径可以考虑已经布线的边和固定边(根本不会布线)。因此,边缘首先处理的边要比后面处理的边考虑更少的其他边路径,这可能会必须使用不太理想的替代路径。
-
- 定义边缘或端口组时,此属性定义的自定义处理顺序不完全服从。分组的边作为束一起布线。例如,假设edge0和edge2分组,并且边缘1应当在边缘0之后但在边缘2之前路由:分组的边缘被路由为束,在边缘1之前或之后都有。请注意,共享公共总线段的边也是如此,请参见
总线描述符数据库
.
- 退货:
- 电流
比较器
实例 - 另请参阅:
setEdgeOrderComparator(比较器)
,createDefaultEdgeOrderComparator(布局图、路径搜索配置)
setEdgeOrderComparator(setEdgeOrder比较器)
公共空虚setEdgeOrderComparator(setEdgeOrder比较器)(java.util.Comparator edgeOrderComparator)
- 指定自定义
比较器
定义边的处理顺序。
-
- 处理顺序可能会影响各个边路径的质量。布管边时,仅路径可以考虑已经布线的边和固定边(根本不会布线)。因此,边缘首先处理的边要比后面处理的边考虑更少的其他边路径,这可能会必须使用不太理想的替代路径。
-
- 定义边缘或端口组时,此属性定义的自定义处理顺序不完全服从。分组的边作为束一起布线。例如,假设edge0和edge2分组,边1应在边0之后但在边2之前布线:分组边作为束布线,要么在边缘1之前,要么在边缘1之后。请注意,共享公共总线段的边也是如此,请参见
总线描述符数据库
.
- 默认值:
- 默认值为null。没有自定义实例集,将应用默认实现。
- 参数:
edgeOrderComparator(边缘顺序比较器)
-电流比较器
实例
can布局
公共布尔值can布局(LayoutGraph布局图图表)
- 无例外地接受通用图形。
- 参数:
图表
-输入图形- 退货:
真的
对于所有输入图形- 另请参阅:
Layouter.doLayout(布局图)
已选定
受保护布尔值已选定(边缘边缘,图表图表)
- 返回是否选择了给定的边。
如果图形的所有边都由边缘路由器
即。,这个范围
设置为路线_全部_边缘
, 此实用程序方法返回真的
所有边缘。
可以重写此方法以确定是否或者不考虑选择给定的边。
- 参数:
边缘
-给定的边图表
-输入图形- 退货:
真的
如果选择了给定的边,假
否则
setConsidentNodeLabelsEnabled(设置考虑节点标签已启用)
公共空虚setConsidentNodeLabelsEnabled(设置考虑节点标签已启用)(布尔型considerNodeLabelsEnabled)
- 指定路由算法在计算时是否将节点的标签视为障碍边缘布线以避免重叠。
- 默认值:
- 默认值为false。不考虑节点标签。
- 参数:
considerNodeLabelsEnabled(考虑节点标签已启用)
-真的
如果应该考虑节点标签,假
否则- 另请参阅:
惩罚设置.getNodeLabelCrossingPenalty()
- 示例图表:
假 |
真的 |
已启用考虑节点标签
公共布尔值已启用isConsiderNodeLabels()
- 返回路由算法在计算时是否将节点标签视为障碍边缘布线以避免重叠。
- 退货:
真的
如果考虑节点标签,假
否则- 另请参阅:
setConsiderNodeLabelsEnabled(布尔值)
,惩罚设置.getNodeLabelCrossingPenalty()
设置IgnoreInnerNodeLabelsEnabled
公共空虚设置IgnoreInnerNodeLabelsEnabled(布尔ignoreInnerNodeLabelsEnabled)
- 指定此路由算法是否忽略所有者边界内的节点标签作为边缘路线的障碍物。
-
- 只有在节点标签为
已考虑
并且对于忽略组节点的内部节点标签特别有用。
- 默认值:
- 默认值为false。不忽略位于其所有者边界内的节点标签。
- 参数:
ignore内部节点标签已启用
-真的
如果路由算法应该忽略内部节点标签,假
否则- 另请参阅:
isConsidentNodeLabelsEnabled()
,惩罚设置.getNodeLabelCrossingPenalty()
,标签_CROSSING_COST_FACTOR_DPKEY
- 示例图表:
假 | 真的 |
已启用忽略内部节点标签
公共布尔值已启用忽略内部节点标签()
- 返回此路由算法是否忽略所有者边界内的节点标签作为边缘路线的障碍物。
-
- 只有在节点标签为
已考虑
并且对于忽略组节点的内部节点标签特别有用。
- 退货:
真的
如果路由算法忽略内部节点标签,假
否则- 另请参阅:
setIgnoreInnerNodeLabelsEnabled(布尔值)
,isConsidentNodeLabelsEnabled()
,惩罚设置.getNodeLabelCrossingPenalty()
,标签_CROSSING_COST_FACTOR_DPKEY
setConsiderEdgeLabelsEnabled(设置考虑边缘标签已启用)
公共空虚setConsiderEdgeLabelsEnabled(设置考虑边缘标签已启用)(布尔considerEdgeLabelsEnabled)
- 指定布线算法是否将不属于(子)集的边标签视为障碍计算边缘布线时要布线的边缘。
-
- 如果还应放置布管边缘的标签,请启用属性
setIntegratedEdgeLabelingEnabled(布尔值)
.
-
- 此选项仅在以下情况下生效
获取操作球()
设置为路线_选定_边缘
和a数据提供程序
具有键的实例获取所选边DpKey()
已在图形中注册。
- 默认值:
- 默认值为false。不考虑固定边的边标签。
- 参数:
已启用considerEdgeLabels
-真的
如果应考虑固定边缘的标签,假
否则- 另请参阅:
setSphereOfAction(字节)
,setSelectedEdgesDpKey(对象)
,惩罚设置.getEdgeLabelCrossingPenalty()
- 示例图表:
假 | 真的 |
已启用isConsider边缘标签
公共布尔值已启用isConsiderEdgeLabels()
- 返回路由算法是否将不属于(子)集的边缘标签视为障碍计算边缘布线时要布线的边缘。
-
- 如果还应放置布管边缘的标签,请启用属性
setIntegratedEdgeLabelingEnabled(布尔值)
.
-
- 此选项仅在以下情况下生效
获取操作球()
设置为路线_选定_边缘
和a数据提供程序
具有键的实例获取选定边DpKey()
已在图形中注册。
- 退货:
真的
如果考虑固定边的标签,假
否则- 另请参阅:
setConsiderEdgeLabelsEnabled(布尔值)
,setSphereOfAction(字节)
,setSelectedEdgesDpKey(对象)
,惩罚设置.getEdgeLabelCrossingPenalty()
获取网格
公众的网格 获取网格()
- 返回
网格
路由算法放置正交段的实例。
- 退货:
- 这个
网格
实例 - 另请参阅:
设置网格(网格)
设置网格
公共空虚设置网格(网格网格)
- 指定
网格
路由算法放置正交段的实例。
- 默认值:
- 默认值为null。未指定网格。
- 参数:
网格
-的网格
实例- 示例图表:
无网格 | 带间距的网格20 |
设置最小节点到边缘距离
公共空虚设置最小节点到边的距离(双倍最小节点到边缘距离)
- 指定边和节点边界之间的最小距离。
最小距离应为非负值。
- 默认值:
- 默认值为10。
- 参数:
最小节点到边缘距离
-非负最小距离- 投掷次数:
java.lang.Illegal参数异常
-如果最小点到边距离为负- 另请参阅:
惩罚设置.getMinimalNodeToEdgeDistancePenalty()
- 示例图表:
最小节点到边缘距离10 | 最小节点到边缘距离100 |
获取最小节点到边缘距离
公共双人间获取最小节点到边缘距离()
- 返回边和节点边界之间的最小距离。
最小距离应为非负值。
- 退货:
- 非负最小距离
- 另请参阅:
setMinimalNodeToEdgeDistance(双精度)
,惩罚设置.getMinimalNodeToEdgeDistancePenalty()
创建图形分区
受保护的图形分区 创建图形分区(障碍物分区分解)
- 创建一个
图形分区
将图形区域划分为几个矩形的实例。此实现创建了一个图形分区
使用电流障碍物分区
例如。
此方法由调用doLayout(布局图)
在计算边缘路线之前。为了创建新的图形分区
具有自定义配置的对象。
- 参数:
分解,分解
-电流障碍物分区
- 退货:
- 一
图形分区
实例 - 另请参阅:
configureGraphPartition(图形分区)
,获取注册分区扩展()
配置图形分区
保护空隙配置图形分区(图形分区隔板)
- 添加所有注册的
图形分区扩展
s个实例到给定的图形分区
例如。此方法由调用doLayout(布局图)
在计算边缘路线之前。为了调整图形分区
例如。
- 参数:
隔板
-给定的图形分区
实例- 另请参阅:
获取注册分区扩展()
,cleanupGraphPartition(图形分区)
清理图形分区
保护空隙清理图形分区(图形分区分区)
- 删除所有注册的
图形分区扩展
来自给定的图形分区
例如。此方法由调用doLayout(布局图)
在计算边缘路线之后。它可以被重写,以便为清理图形分区
例如。
- 参数:
隔板
-给定的图形分区
实例- 另请参阅:
configureGraphPartition(图形分区)
,获取注册分区扩展()
获取注册分区扩展
公共java.util。列表获取注册分区扩展()
- 返回所有已注册的
图形分区扩展
第条。
图形分区扩展
s可以添加到图形分区
为了创建新的障碍物
秒或可以从图形分区
例如。
默认情况下,以下内容图形分区扩展
s在给定的图形分区
实例:
- 最小节点到边缘距离分区
- 节点分区
- 分区网格分区
- 节点标签分区
- 边缘标签分区
- 固定边分区
- 外部强端口限制分区
- 退货:
- 包含所有已注册的
图形分区扩展
秒 - 另请参阅:
创建图形分区(障碍分区)
,configureGraphPartition(图形分区)
创建路径搜索
受保护的路径搜索 创建路径搜索()
- 创建一个
路径搜索
实例,该实例通过图形分区
.为了创建新的路径搜索
具有自定义配置的对象。
- 退货:
- 一
路径搜索
实例 - 另请参阅:
配置路径搜索(路径搜索)
,获取注册路径搜索扩展()
配置路径搜索
保护空隙配置路径搜索(路径搜索路径搜索)
- 添加所有注册的
路径搜索扩展
s到给定路径搜索
例如。此方法由调用doLayout(布局图)
在计算边缘路线之前。为了调整路径搜索
例如。
- 参数:
路径搜索
-一个路径搜索
实例- 另请参阅:
创建路径搜索()
,获取注册路径搜索扩展()
获取注册路径搜索扩展
公共java.util。列表获取注册路径搜索扩展()
- 返回所有已注册的
路径搜索扩展
第条。
路径搜索扩展
s可以添加到路径搜索
实例以影响路径搜索过程或可以从路径搜索
例如。
默认情况下,以下内容路径搜索扩展
s在注册路径搜索
实例:
- 固定成组边
- 节点交叉
- 最小节点到边缘距离
- 组节点交叉
- 最小组节点到边距离
- 节点标签交叉
- 边缘标签交叉
- 节点到边的折弯距离
- 弯曲
- 单调路线
- 边缘长度(Edge Length)
- 分区网格
- 港口限制
- 边缘分组
- 最小节点角距离
- 基于间隔的交叉
- 最小边到边距离和网格
- 最小首末段长度
- 交叉源和目标
- 退货:
- 包含所有已注册的
路径搜索扩展
秒 - 另请参阅:
创建路径搜索()
,配置路径搜索(路径搜索)
创建路径路由
受保护的基于通道的路径路由 创建路径路由()
- 创建一个
基于信道的路径路由
使用预先计算的边布线的实例路径
物体。此方法由调用doLayout(布局图)
在计算边缘路线之前。为了创建新的基于通道的路径路由
具有自定义配置的对象。
- 退货:
- 一
基于通道的路径路由
实例
创建障碍分解
受保护的动态障碍分解 创建障碍分解()
- 创建一个
动态障碍分解
由图形分区
划分图形矩形区域。此方法由调用doLayout(布局图)
在计算边缘路线之前。为了创建新的动态障碍分解
具有自定义配置的对象。
- 退货:
- 一
动态障碍分解
实例 - 另请参阅:
创建图形分区(障碍分区)
创建路径搜索上下文
受保护的路径搜索上下文 创建路径搜索上下文(路径搜索路径搜索,路径搜索配置配置)
- 创建一个
路径搜索上下文
为路径搜索算法提供上下文信息。此方法由调用doLayout(布局图)
在计算边缘路线之前。为了创建新的路径搜索上下文
具有自定义配置的对象。
- 参数:
路径搜索
-a给定路径搜索
实例配置
-路径搜索过程的给定配置- 退货:
- 一
路径搜索上下文
实例
创建配置
受保护的路径搜索配置 创建配置(LayoutGraph布局图图表,分组分组)
- 创建一个
路径搜索配置
在路径搜索过程中使用的。此方法由调用doLayout(布局图)
在计算边缘路线之前。为了创建新的路径搜索配置
具有自定义配置的对象。
- 参数:
图表
-输入图形分组
-图的分组结构- 退货:
- 一
路径搜索配置
实例
do布局
公共空虚do布局(LayoutGraph布局图图表)
- 执行输入图形边缘的布线。
该方法还为边缘布线过程准备图形。
-
- 在边缘布线过程中不会复制给定的图形,结果将立即显示应用于输入图形。
- 参数:
图表
-输入图形- 另请参阅:
Layouter.canLayout(LayoutGraph)
创建DefaultEdgeOrderComparator
受保护的java.util。比较器创建DefaultEdgeOrderComparator(LayoutGraph布局图图表,路径搜索配置配置)
- 创建默认值
比较器
实例来确定边的顺序,根据该顺序他们将被击败。此方法由调用doLayout(布局图)
在计算边缘路线之前。为了创建新的比较器
具有自定义配置的对象。
默认情况下,此方法返回默认实现的实例。
- 参数:
图表
-输入图形配置
-路径搜索过程的给定配置- 退货:
- 一
比较器
实例
检查节点大小
保护空隙检查节点大小(图形布局布局,java.lang.Object节点)抛出java.lang.IllegalArgumentException
- 检查给定节点的宽度/高度是否为零或负值。
此方法由调用doLayout(布局图)
对于输入图的每个节点。为了获得节点大小检查的自定义实现,可以重写它。
- 参数:
布局
-a给定图形布局
实例节点
-给定的节点对象- 投掷次数:
java.lang.Illegal参数异常
-如果节点对象的宽度/高度为零或负- 另请参阅:
checkGroupNodeSize(图形布局,对象)
检查组节点大小
保护空隙检查组节点大小(图形布局布局,java.lang.Object节点)抛出java.lang.IllegalArgumentException
- 检查给定组节点的宽度/高度是否为零或负值。
此方法由调用doLayout(布局图)
对于输入图的每个组节点。为了获得组节点大小检查的自定义实现,可以覆盖它。
- 参数:
布局
-a给定图形布局
实例节点
-给定的组节点对象- 投掷次数:
java.lang.Illegal参数异常
-如果组节点对象的宽度/高度为零或负值- 另请参阅:
checkNodeSize(图形布局,对象)
获取分区
公众的图形分区 获取分区()
- 返回
图形分区
路由过程中使用的实例。
-
- 如果路由进程未运行,
无效的
将返回。
- 退货:
- 电流
图形分区
实例