y.layout.router.polyline
类PathSearchExtension
java.lang.Object(java.lang.对象)y.layout.router.polyline。路径搜索扩展
公共抽象类路径搜索扩展
- 扩展java.lang.Object
扩展被添加到路径搜索
影响搜索过程。
扩展包含由路径搜索
例如,计算下一个可能的步骤(即进入下一个分区单元)并决定何时达到目标。
这个路径搜索
按以下顺序使用回调:
初始化(PathSearchConfiguration)
initializeEdges(路径搜索上下文)
initializeCurrentEdge(路径搜索上下文)
initializeCurrentPathRequest(路径搜索上下文)
appendStartEntrances(列表)
计算开始入口成本(单元格入口)
calculateCosts(CellEntry、PartitionCell、OrthogonalInterval、EdgeCellInfo、double)
计算启发式成本(CellEntry)
有效目标入口(单元格入口)
finalizePath(路径)
或cancelCurrentPathRequest(路径搜索上下文)
finalizeCurrentEdge(路径搜索上下文)
或cancelCurrentEdge(路径搜索上下文)
finalizeEdges(PathSearchContext)
finalizePathSearchResult(路径搜索结果)
清理()
- 另请参阅:
路径搜索.addPathSearchExtension(路径搜索扩展)
,路径搜索上下文.getCurrentEdge()
-
-
从类java.lang.Object继承的方法 |
clone,equals,finalize,getClass,hashCode,notify,notifyAll,toString,wait,wait |
路径搜索扩展
公众的路径搜索扩展()
- 创建的新实例
路径搜索扩展
.
获取配置
受保护的路径搜索配置 获取配置()
- 返回用于路径搜索的配置。此属性在中初始化
初始化(PathSearchConfiguration)
.
- 退货:
- 用于路径搜索的配置
获取上下文
受保护的路径搜索上下文 获取上下文()
- 返回路径搜索的当前上下文。此属性在中初始化
initializeEdges(路径搜索上下文)
.
- 退货:
- 路径搜索的当前上下文
初始化
保护空隙初始化(路径搜索配置配置)
- 使用给定配置初始化此扩展以进行路径搜索。
此方法是由路径搜索
。它可以被重写以初始化带有必要设置的扩展,如分组
.
- 参数:
配置
-用于以下路径搜索的配置
initializeEdges(初始化边缘)
保护空隙initializeEdges(初始化边缘)(路径搜索上下文上下文)
- 使用包含计算路径的边列表的上下文初始化此扩展。这个方法可以在路径搜索期间多次调用。每次通话将由以下通话进行平衡
finalizeEdges(PathSearchContext)
和finalizePathSearchResult(路径搜索结果)
.可以覆盖它来初始化/重置布管边缘的设置(例如,最小距离)。
- 参数:
上下文
-包含应找到路径的边列表的上下文- 另请参阅:
路径搜索上下文.getEdges()
初始化CurrentEdge
保护空隙初始化CurrentEdge(路径搜索上下文上下文)
- 使用给定上下文中的当前边缘集初始化此扩展。对的每个边调用此方法
上下文
。每个调用都将通过调用其中一个来平衡finalizeCurrentEdge(路径搜索上下文)
或cancelCurrentEdge(路径搜索上下文)
.可以覆盖它来初始化/重置当前边的设置(例如,最小距离)。
- 参数:
上下文
-包含当前边缘的上下文- 另请参阅:
路径搜索上下文.getCurrentEdge()
initializeCurrentPathRequest(初始化当前路径请求)
保护空隙initializeCurrentPathRequest(初始化当前路径请求)(路径搜索上下文上下文)
- 使用当前
路径请求
在给定上下文中设置。对于上下文的每个请求都调用此方法当前边缘
.每次呼叫将通过呼叫任一finalizePath(路径)
或cancelCurrentPathRequest(路径搜索上下文)
.
可以重写此方法来修改应针对每个路径请求
.
- 参数:
上下文
-包含当前路径请求的上下文- 另请参阅:
路径搜索上下文.getCurrentRequest()
附加开始入口
保护空隙附加开始入口(java.util.List all StartEntrances)
- 附加附加开始
入口
用于当前边到给定边的路径搜索以前生成的所有入口的列表。在开始实际路径搜索之前调用此方法,以确定可能的起点。当前实现没有添加任何单元格入口
s.它可以被覆盖以添加单元格入口
s与特定的输入间隔,例如要考虑端口约束
第条。
- 参数:
所有开始入口
-以前生成的所有入口的列表
计算开始进入成本
双重保护计算起始进场成本(单元格入口start入口)
- 返回在给定入口中启动路径的成本。对当前边的每个开始入口调用此方法。
当前的实现不会为给定的Cell入口
。可以重写它以使以较低的特定间隔开始入口,成本较高。例如,允许超过端口约束
连接到源节点的位置变得更加昂贵。
- 参数:
start入口
-计算成本的起始入口- 退货:
- 在给定入口开始路径的成本
计算成本
双重保护计算成本(单元格入口当前入口,分区单元格输入单元格,正交间隔输入Interval,边缘细胞信息edgeCellInfo,双倍最大允许成本)
- 计算输入给定
分区单元格
通过给定的输入正交间隔
.给定的边缘细胞信息
描述当前入口进入的分区单元如果选择到相邻单元格的输入间隔,则将遍历。
这个最大允许成本
描述通过给定的输入间隔可能会导致。如果超过最大成本,则可能进一步增加成本的计算可能会被跳过,因为无论如何都不会选择此间隔。
这种实施不会增加任何成本。它可以被覆盖以增加成本,例如,如果通过给定的间隔将创建弯曲。
- 参数:
当前入口
-用于进入当前单元格的入口输入单元格
-应输入的相邻单元格enterInterval(输入间隔)
-用于进入相邻单元的间隔边缘单元格信息
-如果相邻单元格为按此输入间隔输入最大允许成本
-此输入间隔的最大允许成本- 退货:
- 通过输入间隔进入相邻小区的成本
计算启发式成本
双重保护计算启发式成本(单元格入口入口)
- 计算给定的
单元格入口
描述了将如果指定的单元格入口用作下一步,则起身完成路径。在评估到相邻单元格的每个输入间隔的成本后,对每个结果Cell入口
第条。
这种实施不会增加任何成本。它可以被覆盖以添加一些启发式成本,例如,如果边缘必须弯曲才能从给定的单元格入口
.
- 参数:
入口
-计算路径其余部分启发式成本的入口- 退货:
- 如果使用给定的小区入口作为下一步,则完成该路径将产生的最小成本
有效目标入口
受保护布尔值有效目标入口(单元格入口入口)
- 确定此扩展是否考虑给定的
单元格入口
作为有效的目标入口,即,路径可以以给定入口结束。每次a单元格入口
被选为下一步,所有注册的分机都会被询问此入口是否是有效的目标入口。仅当没有任何扩展返回时假
,一个路径
已创建。
此实现接受所有单元格入口
s作为有效目标。它可能会被覆盖以仅激活如果路线满足特定条件,则确定目标。
- 参数:
入口
-决定是否为有效目标入口的入口- 退货:
真的
如果小路可以以这个入口结束,假
否则
取消当前路径请求
保护空隙取消当前路径请求(路径搜索上下文上下文)
- 处理取消当前的路径搜索
路径请求
.当取消当前请求的路径搜索时,此回调会通知扩展。如果不是所有的边缘请求都成功,那么还需要对其进行路径搜索边缘将是取消
.
这个实现什么也不做。它可能被覆盖以进行处理或重置路径请求
-特定的例如,以前注册的侦听器。
- 参数:
上下文
-包含已取消路径搜索的请求的上下文- 另请参阅:
initializeCurrentPathRequest(路径搜索上下文)
,路径搜索上下文.getCurrentRequest()
finalizePath(最终路径)
保护空隙finalizePath(最终路径)(路径路径)
- 找到有效的目标入口并创建
路径
,将通知扩展插件找到的路径。如果路径搜索配置为计算边缘的多条可能路径,则继续路径搜索选择另一个未处理的单元格入口
.
这个实现什么也不做。它可能被覆盖以收集有关给定路径的一些信息影响后续边的路径搜索。
- 参数:
路径
-在上下文中为当前边缘找到的路径- 另请参阅:
路径搜索上下文.getCurrentEdge()
取消CurrentEdge
保护空隙取消CurrentEdge(路径搜索上下文上下文)
- 处理取消当前边的路径搜索。
当取消当前边的路径搜索时,此回调会通知扩展。然后,路径搜索将继续更改当前边缘的惩罚并重新初始化再次。
这个实现什么也不做。它可以被覆盖以重置某些特定于边缘的信息,例如删除以前添加的侦听器。
- 参数:
上下文
-包含已取消路径搜索的当前边缘的上下文- 另请参阅:
initializeCurrentEdge(y.layouter.polyline.PathSearchContext)
,finalizeEdges(PathSearchContext)
终结当前边缘
保护空隙finalizeCurrentEdge(路径搜索上下文上下文)
- 处理当前边的路径搜索的完成。
当为当前边缘找到足够的路径时,此回调会通知扩展。之后,路径搜索要么继续初始化上下文边缘列表中的下一个当前边缘,要么电话finalizeEdges(PathSearchContext)
如果此列表中的所有边都已处理。
这个实现什么也不做。它可以被覆盖以添加/重置某些特定于边缘的信息,例如删除以前添加的侦听器或添加新的开始入口。
- 参数:
上下文
-包含已完成路径搜索的当前边缘的上下文- 另请参阅:
initializeCurrentEdge(y.layouter.polyline.PathSearchContext)
,finalizeEdges(PathSearchContext)
finalizeEdges(最终确定边缘)
保护空隙finalizeEdges(最终确定边缘)(路径搜索上下文上下文)
- 处理所有标记边的完成。如果在上下文的边缘列表中为所有边缘找到了足够的路径,此回调将通知扩展。
- 参数:
上下文
-包含已找到路径的边列表的上下文- 另请参阅:
路径搜索上下文.getEdges()
最终确定路径搜索结果
保护空隙最终确定路径搜索结果(路径搜索结果路径搜索结果)
- 完成路径搜索结果。
此回调通知在当前上下文中为边选择的路径的扩展。打电话后终结边缘
,的路径搜索
决定找到哪一个用于每条边的路径,并将其添加到路径搜索结果
.
使用此回调,注册的扩展将在路径搜索之前收到此结果的通知初始化下一个要路由的边列表或通过调用结束路径搜索清理()
.本实施什么都不做。
- 参数:
路径搜索结果
-当前上下文边缘列表中边缘的路径搜索结果- 另请参阅:
initializeEdges(y.layouter.polyline.PathSearchContext)
,清理()
清理
保护空隙清理()
- 从使用当前
配置
和上下文
.