Omnet++ 如何获取静脉中的RSU节点坐标?
我在我的模拟环境中使用了Omnet++ 如何获取静脉中的RSU节点坐标?,omnet++,veins,Omnet++,Veins,我在我的模拟环境中使用了Velse5.0 目前有4个RSU节点在使用中。omnetpp.ini代码如下: omnetpp.ini *.fRSU[0].mobility.x = 125 *.fRSU[0].mobility.y = 125 *.fRSU[0].mobility.z = 3 ... 这里是RSU:的C++代码 fRSUBehavior.cc posX = check_and_cast<BaseMobility*>(getSimulation() -> getMod
Velse5.0
目前有4个RSU节点在使用中。omnetpp.ini
代码如下:
omnetpp.ini
*.fRSU[0].mobility.x = 125
*.fRSU[0].mobility.y = 125
*.fRSU[0].mobility.z = 3
...
这里是RSU:
的C++代码 fRSUBehavior.ccposX = check_and_cast<BaseMobility*>(getSimulation() -> getModuleByPath("fRSU[0].mobility.x")) -> getPositionAt(simTime()).x;
posY = check_and_cast<BaseMobility*>(getSimulation() -> getModuleByPath("fRSU[0].mobility.y")) -> getPositionAt(simTime()).y;
EV << "X: " << posX << " Y: " << posY << std::endl;
posX=check_和_cast(getSimulation()->getModuleByPath(“fRSU[0].mobility.x”)->getPositionAt(simTime()).x;
posY=check_和_cast(getSimulation()->getModuleByPath(“fRSU[0].mobility.y”)->getPositionAt(simTime()).y;
EVgetModuleByPath(“fRSU[0].mobility.x”)
不太可能工作。模块名称很可能是fRSU[0]。mobility
,也就是说,它不包括参数名称。很有可能,getModuleByPath
返回一个空指针,并且您的程序没有崩溃,但您正在读取一些合理的值。谢谢您的建议。你说得对。因此,我通过在与stage==1
对应的代码中替换fRSU[0].mobility
参数解决了这个问题。