Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #include <ros/console.h>
00038 #include <ompl/util/Console.h>
00039
00040 namespace ompl_inteface
00041 {
00042 class OutputHandlerROS : public ompl::msg::OutputHandler
00043 {
00044 public:
00045 OutputHandlerROS() : OutputHandler()
00046 {
00047 }
00048
00049 virtual void log(const std::string& text, ompl::msg::LogLevel level, const char* filename, int line)
00050 {
00051 switch (level)
00052 {
00053 case ompl::msg::LOG_INFO:
00054 {
00055 ROSCONSOLE_DEFINE_LOCATION(true, ::ros::console::levels::Info, std::string(ROSCONSOLE_ROOT_LOGGER_NAME) + ".omp"
00056 "l");
00057 if (ROS_UNLIKELY(__rosconsole_define_location__enabled))
00058 {
00059 ::ros::console::print(NULL, __rosconsole_define_location__loc.logger_,
00060 __rosconsole_define_location__loc.level_, filename, line, "", "%s", text.c_str());
00061 }
00062 }
00063 break;
00064 case ompl::msg::LOG_WARN:
00065 {
00066 ROSCONSOLE_DEFINE_LOCATION(true, ::ros::console::levels::Warn, std::string(ROSCONSOLE_ROOT_LOGGER_NAME) + ".omp"
00067 "l");
00068 if (ROS_UNLIKELY(__rosconsole_define_location__enabled))
00069 {
00070 ::ros::console::print(NULL, __rosconsole_define_location__loc.logger_,
00071 __rosconsole_define_location__loc.level_, filename, line, "", "%s", text.c_str());
00072 }
00073 }
00074 break;
00075 case ompl::msg::LOG_ERROR:
00076 {
00077 ROSCONSOLE_DEFINE_LOCATION(true, ::ros::console::levels::Error,
00078 std::string(ROSCONSOLE_ROOT_LOGGER_NAME) + ".ompl");
00079 if (ROS_UNLIKELY(__rosconsole_define_location__enabled))
00080 {
00081 ::ros::console::print(NULL, __rosconsole_define_location__loc.logger_,
00082 __rosconsole_define_location__loc.level_, filename, line, "", "%s", text.c_str());
00083 }
00084 }
00085 break;
00086 default:
00087
00088 {
00089 ROSCONSOLE_DEFINE_LOCATION(true, ::ros::console::levels::Debug,
00090 std::string(ROSCONSOLE_ROOT_LOGGER_NAME) + ".ompl");
00091 if (ROS_UNLIKELY(__rosconsole_define_location__enabled))
00092 {
00093 ::ros::console::print(NULL, __rosconsole_define_location__loc.logger_,
00094 __rosconsole_define_location__loc.level_, filename, line, "", "%s", text.c_str());
00095 }
00096 }
00097 break;
00098 }
00099 }
00100 };
00101
00102 struct RegisterOH
00103 {
00104 RegisterOH()
00105 {
00106 static OutputHandlerROS oh_ros;
00107 ompl::msg::useOutputHandler(&oh_ros);
00108 ompl::msg::setLogLevel(ompl::msg::LOG_DEBUG);
00109 }
00110 };
00111
00112 static RegisterOH proxy;
00113 }