I am new to VEINS and trying to implement weighted p-persistence inside MyVeinsApp.cc. Distance between the sending node and receiving is used in that formula. I saw the 2 functions below.
virtual Coord& getSenderPos();
virtual const Coord& getSenderPos() const {return const_cast<WaveShortMessage*>(this)->getSenderPos();}
Should I use one of those methods to calculate the distance between nodes?
Please advise on the best approach.
For the distance you obviously need the two positions. You can get the position of the current node by asking the mobility module and the position of the sender from the message you received. Then you can use the following method from Coord to calculate the distance between two points:
Look for the Path Loss Model implemented by your application. This can be seen in the Analog Model type within your config.xml file. For example, by default, veins4.7.1 uses SimplePathLossModel. In the behavior description of this path loss model (.cc file), you can see the variables
And by just finding the length between them, it is possible to have the distance between the sender and the receiver.
And if, like me, you use prefer the debugging tags, you can see this distance by printing it in the debug using:
Make sure to define splmEV.