#include <math.h>

// This is a hacked version of the real robot.h so that you can
// compile your programs without being on Maximal.  The stuff in the
// "MobilityGeometry" namespace below isn't real, but it's sufficient
// to make sure your code compiles.
// 

namespace MobilityGeometry {

  class pt {
  public:
    double x,y;
  };

  class SegmentData {
  public:
    pt org[16], end[16];
  };

  typedef SegmentData* SegmentData_var;

}


class Robot {
 public:

  Robot(int argc, char *argv[], bool verbose=false);

  void setVelocity(float v, float w);

  void forward(float dist);
  void turn(float theta);
  void setMaxVelocity(float v);
  void setAcceleration(float a);
  float getMaxVelocity();
  float getAcceleration();

  void getOdometry(float &x,float &y,float &theta);
  MobilityGeometry::SegmentData_var getSonar();
  MobilityGeometry::SegmentData_var getIR();

};

namespace omni_thread {

  void sleep(int d, int a);

}


namespace mbyUtility {

  int chars_ready();

}


