#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 |
void RandomWPMobility::initialize | ( | int | stage | ) | [protected, virtual] |
Initializes mobility model parameters.
Reimplemented from LineSegmentsMobilityBase.
00026 { 00027 LineSegmentsMobilityBase::initialize(stage); 00028 00029 if (stage == 0) 00030 { 00031 stationary = (par("speed").getType()=='L' || par("speed").getType()=='D') && (double)par("speed") == 0; 00032 nextMoveIsWait = false; 00033 } 00034 }
void RandomWPMobility::setTargetPosition | ( | ) | [protected, virtual] |
Overridden from LineSegmentsMobilityBase.
Implements LineSegmentsMobilityBase.
00037 { 00038 if (nextMoveIsWait) 00039 { 00040 simtime_t waitTime = par("waitTime"); 00041 targetTime += waitTime; 00042 } 00043 else 00044 { 00045 targetPos = getRandomPosition(); 00046 double speed = par("speed"); 00047 double distance = pos.distance(targetPos); 00048 simtime_t travelTime = distance / speed; 00049 targetTime += travelTime; 00050 } 00051 00052 nextMoveIsWait = !nextMoveIsWait; 00053 }
void RandomWPMobility::fixIfHostGetsOutside | ( | ) | [protected, virtual] |
Overridden from LineSegmentsMobilityBase.
Implements LineSegmentsMobilityBase.
00056 { 00057 raiseErrorIfOutside(); 00058 }
bool RandomWPMobility::nextMoveIsWait [protected] |
Referenced by initialize(), and setTargetPosition().