SeaBee3GUICommunicator.H
00001 #ifndef SeaBee3GUICommunicator_H
00002 #define SeaBee3GUICommunicator_H
00003
00004 #include "Qt/ui/SeaBee3GUI.h"
00005 #include "Robots/RobotBrain/RobotBrainComponent.H"
00006
00007 class SeaBee3MainDisplayForm;
00008
00009 class SeaBee3GUICommunicator : public RobotBrainComponent
00010 {
00011 public:
00012 SeaBee3GUICommunicator(OptionManager& mgr,
00013 const std::string& descrName = "SeaBee3Communicator",
00014 const std::string& tagName = "SeaBee3Communicator");
00015
00016 virtual void updateMessage(const RobotSimEvents::EventMessagePtr& eMsg,
00017 const Ice::Current&);
00018
00019 virtual void registerTopics();
00020
00021 virtual void evolve();
00022
00023 void registerGUI(SeaBee3MainDisplayForm* form);
00024
00025 void toggleCamera(std::string id, bool active);
00026
00027 void updatePoseSettings(int updateSelect, int heading, int depth, int speed);
00028
00029 void updatePID(int pidSelect, float k, float p, float i, float d);
00030
00031 void enablePID();
00032
00033 void disablePID();
00034
00035 void SeaBeeInjectorMsg(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j);
00036
00037 private:
00038 SeaBee3MainDisplayForm *itsGUIForm;
00039
00040 bool itsGUIRegistered;
00041 IceUtil::Mutex itsGUIFormMutex;
00042
00043 Image<PixRGB<byte> > itsFwdImg;
00044 Image<PixRGB<byte> > itsDwnImg;
00045 IceUtil::Mutex itsImageMutex;
00046
00047 int itsFwdFrameCount;
00048 int itsLastFwdFrameCount;
00049 int itsDwnFrameCount;
00050 int itsLastDwnFrameCount;
00051
00052 };
00053
00054 #endif
00055