00001 #ifndef TF_REMAPPER_CPP_TF_REMAPPER_H 00002 #define TF_REMAPPER_CPP_TF_REMAPPER_H 00003 00004 #include <XmlRpc.h> 00005 #include <tf2_msgs/TFMessage.h> 00006 00007 namespace tf_remapper_cpp { 00008 00010 class TfRemapper { 00011 public: 00012 typedef std::map<std::string, std::string> MappingsType; 00013 00015 TfRemapper(); 00016 00021 explicit TfRemapper(MappingsType mappings, bool reverse = false); 00022 00030 explicit TfRemapper(const XmlRpc::XmlRpcValue& mappingsParam, bool reverse = false); 00031 00032 virtual ~TfRemapper(); 00033 00036 void doRemapping(tf2_msgs::TFMessage& message) const; 00037 00041 tf2_msgs::TFMessage doRemapping(const tf2_msgs::TFMessage& inMessage) const; 00042 00045 const MappingsType& getMappings() const; 00046 00047 protected: 00049 MappingsType mappings; 00050 }; 00051 00052 }; 00053 00054 #endif //TF_REMAPPER_CPP_TF_REMAPPER_H