使用 Veins 识别节点类型
Identify node types using Veins
我在具有不同类型节点(汽车、行人等)的场景中使用静脉和 OMNeT++。出于评估目的,我使用基于 post (I also answered one of my related ).
的 TraCIScenarioManager::getManagedHosts 方法获取 std::map
现在,我想查看场景中每个节点的类型。更清楚地说,我想获得某种表明每个节点类型的列表(是行人吗?是公共汽车吗?)。有没有办法从地图上获取这个?有没有标识节点类型的属性?
我已经可以通过向其添加特定标签的消息来识别节点类型,但现在我需要获取与消息到达无关的节点类型。
非常感谢您提供的任何帮助。
TraCIScenarioManager::getManagedHosts
returns a std::map<std::string, cModule*>
将每个 SUMO 标识符映射到一个 OMNeT++ cModule*
。根据汽车、公共汽车等在您的模拟中有何不同,我可以想出多种方法来确定宿主模型的 SUMO 对象类型。
也许它们在 SUMO 中的命名不同?然后你可以使用 std::string
来区分它们。
也许它们在 OMNeT++ 中的命名不同?然后你可以用cModule*
的getFullName()
来区分它们。
也许他们使用不同的 C++ 类 作为其应用程序层的模型?然后你可以使用cModule*
的getSubmodule()
之类的东西来获取指向他们应用层模块的指针并检查这个指针的dynamic_cast<ApplicationOfACar*>
是否成功。
我在具有不同类型节点(汽车、行人等)的场景中使用静脉和 OMNeT++。出于评估目的,我使用基于
现在,我想查看场景中每个节点的类型。更清楚地说,我想获得某种表明每个节点类型的列表(是行人吗?是公共汽车吗?)。有没有办法从地图上获取这个?有没有标识节点类型的属性?
我已经可以通过向其添加特定标签的消息来识别节点类型,但现在我需要获取与消息到达无关的节点类型。
非常感谢您提供的任何帮助。
TraCIScenarioManager::getManagedHosts
returns a std::map<std::string, cModule*>
将每个 SUMO 标识符映射到一个 OMNeT++ cModule*
。根据汽车、公共汽车等在您的模拟中有何不同,我可以想出多种方法来确定宿主模型的 SUMO 对象类型。
也许它们在 SUMO 中的命名不同?然后你可以使用 std::string
来区分它们。
也许它们在 OMNeT++ 中的命名不同?然后你可以用cModule*
的getFullName()
来区分它们。
也许他们使用不同的 C++ 类 作为其应用程序层的模型?然后你可以使用cModule*
的getSubmodule()
之类的东西来获取指向他们应用层模块的指针并检查这个指针的dynamic_cast<ApplicationOfACar*>
是否成功。