Public Member Functions

greatGathering Class Reference

greatGathering class More...

#include <greatGathering.h>

Inheritance diagram for greatGathering:
MovementGenerator

List of all members.

Public Member Functions

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

Detailed Description

greatGathering class

Simulates many nodes gathering at one spot.

Definition at line 34 of file greatGathering.h.


Constructor & Destructor Documentation

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

Definition at line 26 of file greatGathering.cc.

               :MovementGenerator(areaDimension, speed, Neighbors, coordinator, CollisionRect)
{
    if(coordinator->getPeerCount() == 0) {
        target.x = uniform(areaDimension / 3, 2 * areaDimension / 3);
        target.y = uniform(areaDimension / 3, 2 * areaDimension / 3);
        coordinator->increasePositionSize();
        coordinator->setPosition(0, target);
        coordinator->increasePeerCount();
    }
    else {
        target = coordinator->getPosition(0);
    }
}

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

Definition at line 38 of file greatGathering.h.

{}


Member Function Documentation

void greatGathering::move (  )  [virtual]

Defined in subclasses only.

Implements MovementGenerator.

Definition at line 41 of file greatGathering.cc.

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


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