C++ 计算车辆节点之间的距离
我是一个新手,尝试在MyVeinsApp.cc中实现加权p持久性。该公式中使用了发送节点和接收节点之间的距离。我看到了下面的两个函数C++ 计算车辆节点之间的距离,c++,simulation,omnet++,veins,sumo,C++,Simulation,Omnet++,Veins,Sumo,我是一个新手,尝试在MyVeinsApp.cc中实现加权p持久性。该公式中使用了发送节点和接收节点之间的距离。我看到了下面的两个函数 virtual Coord& getSenderPos(); virtual const Coord& getSenderPos() const {return const_cast<WaveShortMessage*>(this)->getSenderPos();} virtualcoord&getSenderPos(); 虚
virtual Coord& getSenderPos();
virtual const Coord& getSenderPos() const {return const_cast<WaveShortMessage*>(this)->getSenderPos();}
virtualcoord&getSenderPos();
虚拟常量坐标&getSenderPos()常量{return const_cast(this)->getSenderPos();}
我应该使用其中一种方法来计算节点之间的距离吗
请告知最佳方法。对于您显然需要两个位置的距离。通过询问移动模块和您收到的消息中发送者的位置,您可以获得当前节点的位置。然后,可以使用以下方法从计算两点之间的距离:
/**
* @brief Returns the distance to Coord 'a'.
*/
double distance(const Coord& a) const {
Coord dist(*this - a);
return dist.length();
}
对于距离,你显然需要两个位置。通过询问移动模块和您收到的消息中发送者的位置,您可以获得当前节点的位置。然后,可以使用以下方法从计算两点之间的距离:
/**
* @brief Returns the distance to Coord 'a'.
*/
double distance(const Coord& a) const {
Coord dist(*this - a);
return dist.length();
}
寻找应用程序实现的路径损耗模型。这可以在config.xml文件中的模拟模型类型中看到。 例如,默认情况下,veins4.7.1使用SimplePathLossModel。在该路径丢失模型(.cc文件)的行为描述中,可以看到变量 收信人 只要找到它们之间的长度,就有可能得到发送者和接收者之间的距离 加倍您的距离=(接收方POS发送方POS).length() 如果您像我一样使用Prefere调试标记,您可以通过在调试中使用以下命令打印它来查看此距离:
splmEV查找应用程序实现的路径损耗模型。这可以在config.xml文件中的模拟模型类型中看到。 例如,默认情况下,veins4.7.1使用SimplePathLossModel。在该路径丢失模型(.cc文件)的行为描述中,可以看到变量 收信人 只要找到它们之间的长度,就有可能得到发送者和接收者之间的距离 加倍您的距离=(接收方POS发送方POS).length() 如果您像我一样使用Prefere调试标记,您可以通过在调试中使用以下命令打印它来查看此距离: splmEV