#include <QList>
class Bee;
class Cell;
class Hive
{
public:
Hive( int w, int h );
~Hive(void);
void setSize( int w, int h ) { width = w; height = h; };
void paint();
void step();
virtual void doEvent();
void takeBee( Bee* b );
void dropBee( Bee* b );
protected:
QList<Cell*> cells;
private:
void computeForces();
int width, height;
QList<Bee*> bees;
//Physical constants.
static float kc; //electrostatic constant
static float wallcharge; //charge on the hive walls
static float wallfirm; //wall firmness (spring constant)
static float cellfirm; //cell firmness (spring constant)
};