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