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().