LocalizerControlInterface.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __INTERFACES_LOCALIZERCONTROLINTERFACE_H_
00025 #define __INTERFACES_LOCALIZERCONTROLINTERFACE_H_
00026
00027 #include <interface/interface.h>
00028 #include <interface/message.h>
00029 #include <interface/field_iterator.h>
00030
00031 namespace fawkes {
00032
00033 class LocalizerControlInterface : public Interface
00034 {
00035
00036 INTERFACE_MGMT_FRIENDS(LocalizerControlInterface)
00037
00038 public:
00039
00040
00041 private:
00042 #pragma pack(push,4)
00043
00044 typedef struct {
00045 int64_t timestamp_sec;
00046 int64_t timestamp_usec;
00047 char map_name[30];
00048
00049 } LocalizerControlInterface_data_t;
00050 #pragma pack(pop)
00051
00052 LocalizerControlInterface_data_t *data;
00053
00054 public:
00055
00056 class ResetMessage : public Message
00057 {
00058 private:
00059 #pragma pack(push,4)
00060
00061 typedef struct {
00062 int64_t timestamp_sec;
00063 int64_t timestamp_usec;
00064 float x;
00065 float y;
00066 float ori;
00067 float variance;
00068 } ResetMessage_data_t;
00069 #pragma pack(pop)
00070
00071 ResetMessage_data_t *data;
00072
00073 public:
00074 ResetMessage(const float ini_x, const float ini_y, const float ini_ori, const float ini_variance);
00075 ResetMessage();
00076 ~ResetMessage();
00077
00078 ResetMessage(const ResetMessage *m);
00079
00080 float x() const;
00081 void set_x(const float new_x);
00082 size_t maxlenof_x() const;
00083 float y() const;
00084 void set_y(const float new_y);
00085 size_t maxlenof_y() const;
00086 float ori() const;
00087 void set_ori(const float new_ori);
00088 size_t maxlenof_ori() const;
00089 float variance() const;
00090 void set_variance(const float new_variance);
00091 size_t maxlenof_variance() const;
00092 virtual Message * clone() const;
00093 };
00094
00095 virtual bool message_valid(const Message *message) const;
00096 private:
00097 LocalizerControlInterface();
00098 ~LocalizerControlInterface();
00099
00100 public:
00101
00102 char * map_name() const;
00103 void set_map_name(const char * new_map_name);
00104 size_t maxlenof_map_name() const;
00105 virtual Message * create_message(const char *type) const;
00106
00107 virtual void copy_values(const Interface *other);
00108 virtual const char * enum_tostring(const char *enumtype, int val) const;
00109
00110 };
00111
00112 }
00113
00114 #endif