(一)关于几个基本类的认识
这个类是在看PF的ActionExtClear的初始化函数的时候,发现forcedMove(强制移动)和threholdRest(休息的阈值)的初始化的时候,突然发现没看懂是啥意思,他传进去一个name和一个defaultalue有什么用?
原来在ExtClear里面是继承的ExtAction类,而ExtAction里面有很多这样的函数:
**1、scenarioInfo(场景模型信息):**返回场景相关的属性
**2、agentInfo(智能体信息):**智能体自身世界观(设置及返回自身记录的当前时间周期,当前智能体的entityID编号,在地图中的X、Y坐标,自身所在地区的编号,听到的信息,看到的东西,自身的一些属性:灭火能力、当前水量、当前背上的人的编号)
**3、worldInfo(世界):**封装了一些与地图属性相关的函数,可以返回地图的具体信息
仿真系统运行过程中通过自身的感知信息和来自其它智能体的通信信息,救援智能体能够获得灾难空间的各种信息及其变化,包括智能体的异构类型、所处位置、自身状态以及灾难空间中其它对象的相关状态信息,
因此世界模型可以看成是描述状态信息的一个接口。
A) public StandardEntity getEntity() 根据函数名来判断,传入编号,返回实体
B) public Collection getEntitiesOfType() 此函数是传入类别,返回对应的实体集合
C) public Collection getObjectIDsInRange 返回所给区域内的实体ID
D) public Collection getFireBuildings 返回着火建筑的集合
E) public Collection getBuriedHumans 传入某建筑,返回建筑内被掩埋的人类集合
F) public Collection getBlockades 返回某条路上的所有路障的集合
G) public StandardEntity getPosition 返回某对象所在位置的实体
……
**4、moduleManager:**模块调用,主要是与config文件有关,负责各个模块具体调用的是哪个代码
**5、developData:**进行新增数据,只需要初始化和提交数据,无需改动
以上几个模块,1~3最常用,4~5无需详细了解。