#include <randomRoaming.h>
Inheritance diagram for randomRoaming:
Public Member Functions | |
randomRoaming (double areaDimension, double speed, std::map< TransportAddress, Vector > *Neighbors) | |
virtual void | move () |
Defined in subclasses only. |
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 }
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 }