Public Member Functions

randomRoaming Class Reference

randomRoaming class More...

#include <randomRoaming.h>

Inheritance diagram for randomRoaming:
MovementGenerator

List of all members.

Public Member Functions

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

Detailed Description

randomRoaming class

Simulates nodes roaming the area randomly.

Definition at line 34 of file randomRoaming.h.


Constructor & Destructor Documentation

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

Definition at line 26 of file randomRoaming.cc.

              :MovementGenerator(areaDimension, speed, Neighbors, coordinator, CollisionRect)
{
    target.x = uniform(0.0, areaDimension);
    target.y = uniform(0.0, areaDimension);
}

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

Definition at line 38 of file randomRoaming.h.

{}


Member Function Documentation

void randomRoaming::move (  )  [virtual]

Defined in subclasses only.

Implements MovementGenerator.

Definition at line 33 of file randomRoaming.cc.

{
    flock();
    position += direction * speed;
    if(testBounds()) {
        position += direction * speed * 2;
        testBounds();
    }

    if(target.distanceSqr(position) < speed * speed) {
        target.x = uniform(0.0, areaDimension);
        target.y = uniform(0.0, areaDimension);
    }
}


The documentation for this class was generated from the following files: