INET Framework for OMNeT++/OMNEST
RandomWPMobility Class Reference

#include <RandomWPMobility.h>

Inheritance diagram for RandomWPMobility:
LineSegmentsMobilityBase BasicMobility BasicModule INotifiable

List of all members.

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

Detailed Description

Random Waypoint mobility model. See NED file for more info.

Author:
Georg Lutz (georglutz AT gmx DOT de), Institut fuer Telematik, Universitaet Karlsruhe, http://www.tm.uka.de, 2004-2005
Andras Varga (generalized, ported to LineSegmentsMobilityBase)

Member Function Documentation

void RandomWPMobility::fixIfHostGetsOutside ( ) [protected, virtual]
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;
}

Member Data Documentation


The documentation for this class was generated from the following files: