Newer
Older
Grégoire Payen de La Garanderie
committed
#ifndef ROBOT_H_INCLUDED
#define ROBOT_H_INCLUDED
#include <QPainter>
#include <QKeyEvent>
Grégoire Payen de La Garanderie
committed
#include <boost/circular_buffer.hpp>
#include "PositionPlusAngle.h"
Grégoire Payen de La Garanderie
committed
class Robot
{
private:
bool manual;
b2World &world;
Grégoire Payen de La Garanderie
committed
public:
PositionPlusAngle pos;
PositionPlusAngle deriv;
boost::circular_buffer<PositionPlusAngle> olds;
class Asservissement* asservissement;
class OdoRobot* odometrie;
class Strategie* strategie;
b2Body* body;
b2Joint* joint;
class Element* elem;
unsigned int level;
Grégoire Payen de La Garanderie
committed
Robot(b2World &world);
Grégoire Payen de La Garanderie
committed
void paint(QPainter &p, int dt);
void keyPressEvent(QKeyEvent* evt,bool press);
void updateForces(int dt);
void interact(std::vector<class Element*> &elements);
void makeJoint();
Grégoire Payen de La Garanderie
committed
};
#endif //ROBOT_H_INCLUDED