traverseRoaming Class Reference

traverseRoaming class More...

#include <traverseRoaming.h>

Inheritance diagram for traverseRoaming:
MovementGenerator

List of all members.

Public Member Functions

 traverseRoaming (double areaDimension, double speed, NeighborMap *Neighbors, GlobalCoordinator *coordinator, CollisionList *CollisionRect)
virtual ~traverseRoaming ()
virtual void move ()
 Defined in subclasses only.

Detailed Description

traverseRoaming class

Simulates nodes roaming the area traversely.

Definition at line 34 of file traverseRoaming.h.


Constructor & Destructor Documentation

traverseRoaming::traverseRoaming ( double  areaDimension,
double  speed,
NeighborMap Neighbors,
GlobalCoordinator coordinator,
CollisionList CollisionRect 
)

Definition at line 27 of file traverseRoaming.cc.

00028               :MovementGenerator(areaDimension, speed, Neighbors, coordinator, CollisionRect)
00029 {
00030     target.x = areaDimension;
00031     target.y = areaDimension/2;
00032     position.x = 0;
00033     position.y = areaDimension/2;
00034     direction = target - position;
00035     direction.normalize();
00036 }

virtual traverseRoaming::~traverseRoaming (  )  [inline, virtual]

Definition at line 38 of file traverseRoaming.h.

00038 {}


Member Function Documentation

void traverseRoaming::move (  )  [virtual]

Defined in subclasses only.

Implements MovementGenerator.

Definition at line 38 of file traverseRoaming.cc.

00039 {
00040     if( GlobalStatisticsAccess().get()->isMeasuring() ){
00041         flock();
00042         position += direction * speed;
00043         if(testBounds()) {
00044             position += direction * speed * 2;
00045             testBounds();
00046         }
00047 
00048         if(target.distanceSqr(position) < speed * speed) {
00049             coordinator->endSimulation();
00050         }
00051     }
00052 }


The documentation for this class was generated from the following files:
Generated on Wed May 26 16:21:19 2010 for OverSim by  doxygen 1.6.3