randomRoaming Class Reference

#include <randomRoaming.h>

Inheritance diagram for randomRoaming:

MovementGenerator List of all members.

Detailed Description

Simulates nodes roaming the area randomly.


Public Member Functions

 randomRoaming (double areaDimension, double speed, std::map< TransportAddress, Vector > *Neighbors)
virtual void move ()
 Defined in subclasses only.


Constructor & Destructor Documentation

randomRoaming::randomRoaming ( double  areaDimension,
double  speed,
std::map< TransportAddress, Vector > *  Neighbors 
)

00027               :MovementGenerator(areaDimension, speed, Neighbors)
00028 {
00029     position.setValue(uniform(-areaDimension, areaDimension), uniform(-areaDimension, areaDimension));
00030     flock();
00031     testBounds();
00032     target.setValue(uniform(-areaDimension, areaDimension), uniform(-areaDimension, areaDimension));
00033     direction = target - position;
00034     direction.normalize();
00035 }


Member Function Documentation

void randomRoaming::move (  )  [virtual]

Defined in subclasses only.

Implements MovementGenerator.

00038 {
00039     position += direction * speed;
00040     flock();
00041     testBounds();
00042     if(target.distsqr(position) < 4.0*speed*speed) {
00043         target.setValue(uniform(-areaDimension, areaDimension), uniform(-areaDimension, areaDimension));
00044     }
00045     direction = target - position;
00046     direction.normalize();
00047 }


The documentation for this class was generated from the following files:
Generated on Tue Jul 24 16:51:19 2007 for ITM OverSim by  doxygen 1.5.1