#include <BonnMotionMobility.h>
Inheritance diagram for BonnMotionMobility:

Protected Member Functions | |
| virtual | ~BonnMotionMobility () |
| virtual void | initialize (int) |
| Initializes mobility model parameters. | |
| virtual void | setTargetPosition () |
| Overridden from LineSegmentsMobilityBase. | |
| virtual void | fixIfHostGetsOutside () |
| Overridden from LineSegmentsMobilityBase. | |
Protected Attributes | |
| const BonnMotionFile::Line * | vecp |
| int | vecpos |
|
|
00060 {
00061 BonnMotionFileCache::deleteInstance();
00062 }
|
|
|
Overridden from LineSegmentsMobilityBase.
Implements LineSegmentsMobilityBase. 00083 {
00084 raiseErrorIfOutside();
00085 }
|
|
|
Initializes mobility model parameters.
Reimplemented from LineSegmentsMobilityBase. 00028 {
00029 LineSegmentsMobilityBase::initialize(stage);
00030
00031 EV << "initializing BonnMotionMobility stage " << stage << endl;
00032
00033 if (stage == 1)
00034 {
00035 int nodeId = par("nodeId");
00036 if (nodeId == -1)
00037 nodeId = parentModule()->index();
00038
00039 const char *fname = par("traceFile");
00040 const BonnMotionFile *bmFile = BonnMotionFileCache::instance()->getFile(fname);
00041
00042 vecp = bmFile->getLine(nodeId);
00043 if (!vecp)
00044 error("invalid nodeId %d -- no such line in file '%s'", nodeId, fname);
00045 vecpos = 0;
00046
00047 // obtain initial position
00048 const BonnMotionFile::Line& vec = *vecp;
00049 if (vec.size()>=3)
00050 {
00051 pos.x = vec[1];
00052 pos.y = vec[2];
00053 targetPos = pos;
00054 }
00055 updatePosition();
00056 }
00057 }
|
|
|
Overridden from LineSegmentsMobilityBase.
Implements LineSegmentsMobilityBase. 00065 {
00066 const BonnMotionFile::Line& vec = *vecp;
00067
00068 if (vecpos+2 >= vec.size())
00069 {
00070 stationary = true;
00071 return;
00072 }
00073
00074 targetTime = vec[vecpos];
00075 targetPos.x = vec[vecpos+1];
00076 targetPos.y = vec[vecpos+2];
00077 vecpos += 3;
00078
00079 EV << "TARGET: t=" << targetTime << " (" << targetPos.x << "," << targetPos.y << ")\n";
00080 }
|
|
|
|
|
|
|
1.4.1