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< NodeHandle, Vector > *Neighbors)
virtual void move ()
 Defined in subclasses only.


Constructor & Destructor Documentation

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

00004               :MovementGenerator(areaDimension, speed, Neighbors)
00005 {
00006     position.setValue(uniform(-areaDimension, areaDimension), uniform(-areaDimension, areaDimension));
00007     flock();
00008     testBounds();
00009     target.setValue(uniform(-areaDimension, areaDimension), uniform(-areaDimension, areaDimension));
00010     direction = target - position;
00011     direction.normalize();
00012 }


Member Function Documentation

void randomRoaming::move (  )  [virtual]

Defined in subclasses only.

Implements MovementGenerator.

00015 {
00016     position += direction * speed;
00017     flock();
00018     testBounds();
00019     if(target.distsqr(position) < 4.0*speed*speed) {
00020         target.setValue(uniform(-areaDimension, areaDimension), uniform(-areaDimension, areaDimension));
00021     }
00022     direction = target - position;
00023     direction.normalize();
00024 }


The documentation for this class was generated from the following files:
Generated on Wed Apr 4 13:37:06 2007 for ITM OverSim by  doxygen 1.4.7