traverseRoaming class More...
#include <traverseRoaming.h>
Public Member Functions | |
| traverseRoaming (double areaDimension, double speed, NeighborMap *Neighbors, GlobalCoordinator *coordinator, CollisionList *CollisionRect) | |
| virtual | ~traverseRoaming () |
| virtual void | move () |
| Defined in subclasses only. | |
traverseRoaming class
Simulates nodes roaming the area traversely.
Definition at line 34 of file traverseRoaming.h.
| traverseRoaming::traverseRoaming | ( | double | areaDimension, | |
| double | speed, | |||
| NeighborMap * | Neighbors, | |||
| GlobalCoordinator * | coordinator, | |||
| CollisionList * | CollisionRect | |||
| ) |
Definition at line 27 of file traverseRoaming.cc.
:MovementGenerator(areaDimension, speed, Neighbors, coordinator, CollisionRect) { target.x = areaDimension; target.y = areaDimension/2; position.x = 0; position.y = areaDimension/2; direction = target - position; direction.normalize(); }
| virtual traverseRoaming::~traverseRoaming | ( | ) | [inline, virtual] |
Definition at line 38 of file traverseRoaming.h.
{}
| void traverseRoaming::move | ( | ) | [virtual] |
Defined in subclasses only.
Implements MovementGenerator.
Definition at line 38 of file traverseRoaming.cc.
{
if( GlobalStatisticsAccess().get()->isMeasuring() ){
flock();
position += direction * speed;
if(testBounds()) {
position += direction * speed * 2;
testBounds();
}
if(target.distanceSqr(position) < speed * speed) {
coordinator->endSimulation();
}
}
}
1.7.1