|
INET Framework for OMNeT++/OMNEST
|
#include <RandomWPMobility.h>
Protected Member Functions | |
| virtual void | initialize (int) |
| Initializes mobility model parameters. | |
| virtual void | setTargetPosition () |
| Overridden from LineSegmentsMobilityBase. | |
| virtual void | fixIfHostGetsOutside () |
| Overridden from LineSegmentsMobilityBase. | |
Protected Attributes | |
| bool | nextMoveIsWait |
Random Waypoint mobility model. See NED file for more info.
| void RandomWPMobility::fixIfHostGetsOutside | ( | ) | [protected, virtual] |
Overridden from LineSegmentsMobilityBase.
Implements LineSegmentsMobilityBase.
{
raiseErrorIfOutside();
}
| void RandomWPMobility::initialize | ( | int | stage | ) | [protected, virtual] |
Initializes mobility model parameters.
Reimplemented from LineSegmentsMobilityBase.
{
LineSegmentsMobilityBase::initialize(stage);
if (stage == 0)
{
stationary = (par("speed").getType()=='L' || par("speed").getType()=='D') && (double)par("speed") == 0;
nextMoveIsWait = false;
}
}
| void RandomWPMobility::setTargetPosition | ( | ) | [protected, virtual] |
Overridden from LineSegmentsMobilityBase.
Implements LineSegmentsMobilityBase.
{
if (nextMoveIsWait)
{
simtime_t waitTime = par("waitTime");
targetTime += waitTime;
}
else
{
targetPos = getRandomPosition();
double speed = par("speed");
double distance = pos.distance(targetPos);
simtime_t travelTime = distance / speed;
targetTime += travelTime;
}
nextMoveIsWait = !nextMoveIsWait;
}
bool RandomWPMobility::nextMoveIsWait [protected] |
Referenced by initialize(), and setTargetPosition().