ONE模拟器
MapBasedMovement extends MovementModel
MapBasedMovement做的事:
readMap读取地图并且以坐标的最小最大值重新计算坐标
readOkMapNodeTypes读取配置Group.okMaps,即该组所沿道路的编号,可以设置多条,用逗号隔开
Group.okMaps = 1
Group1.okMaps = 1,2
其他重要方法:
#复制一个MapBasedMovement
public MapBasedMovement(MapBasedMovement mbm){}
#返回两个相邻MapNode之间的(随机)坐标,两点组成的矩形内
public Coord getInitialLocation()
#获取静态变量的值
public SimMap getMap()
protected int[] getOkMapNodeTypes()
public Coord getLastLocation()
#获取路径
public Path getPath()
#获取随机节点
protected MapNode selectRandomOkNode(List<MapNode> nodes)
#检查是否可以从所有其他地图节点访问所有地图节点
private void checkMapConnectedness(List<MapNode> nodes)
#检查地图节点的所有坐标是否在最小和最大限制内
private void checkCoordValidity(List<MapNode> nodes)
#如果请求的地图文件与缓存的地图匹配,则检查地图缓存
private SimMap checkCache(Settings settings)
#返回一个新的实例
public MapBasedMovement replicate()
#将lastMapNode变量设置为最近的节点
public void setLocation(Coord lastWaypoint)