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