<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>mrpt::utils::CDebugOutputCapable Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> > <b>C++ reference</b> </div> <div align="right"> <a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a> </div> <!-- Generated by Doxygen 1.7.5 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <div class="left"> <form id="FSearchBox" action="search.php" method="get"> <img id="MSearchSelect" src="search/mag.png" alt=""/> <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"/> </form> </div><div class="right"></div> </div> </li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="namespacemrpt.html">mrpt</a> </li> <li class="navelem"><a class="el" href="namespacemrpt_1_1utils.html">utils</a> </li> <li class="navelem"><a class="el" href="classmrpt_1_1utils_1_1_c_debug_output_capable.html">CDebugOutputCapable</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-static-methods">Static Public Member Functions</a> </div> <div class="headertitle"> <div class="title">mrpt::utils::CDebugOutputCapable Class Reference<div class="ingroups"><a class="el" href="group__mrpt__base__grp.html">[mrpt-base]</a></div></div> </div> </div> <div class="contents"> <!-- doxytag: class="mrpt::utils::CDebugOutputCapable" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>This base class provides a common printf-like method to send debug information to std::cout, with the purpose of allowing its redirection to other streams if desired. </p> <p>By default, messages sent to "printf_debug" will be shown in the console (cout) and also in the stream passed to debugOutputSetStream, but the console output can be switched off with debugOutputEnableConsole(false).</p> <p>In addition, this class will send all the messages from "printf_debug" to the Visual Studio "Output Window" in debug mode (obviously, this is a feature only enabled under Windows).</p> <p>See <a class="el" href="classmrpt_1_1utils_1_1_c_debug_output_capable.html#ab78281b5d70d6e295a8527a10fea66de" title="Sends a formated text to "debugOut" if not NULL, or to cout otherwise.">CDebugOutputCapable::printf_debug</a>. </p> </div> <p><code>#include <<a class="el" href="_c_debug_output_capable_8h_source.html">mrpt/utils/CDebugOutputCapable.h</a>></code></p> <div class="dynheader"> Inheritance diagram for mrpt::utils::CDebugOutputCapable:</div> <div class="dyncontent"> <div class="center"><img src="classmrpt_1_1utils_1_1_c_debug_output_capable__inherit__graph.png" border="0" usemap="#mrpt_1_1utils_1_1_c_debug_output_capable_inherit__map" alt="Inheritance graph"/></div> <map name="mrpt_1_1utils_1_1_c_debug_output_capable_inherit__map" id="mrpt_1_1utils_1_1_c_debug_output_capable_inherit__map"> <area shape="rect" id="node3" href="classmrpt_1_1bayes_1_1_c_kalman_filter_capable.html" title="Virtual base for Kalman Filter (EKF,IEKF,UKF) implementations." alt="" coords="339,56,570,83"/><area shape="rect" id="node13" href="classmrpt_1_1bayes_1_1_c_particle_filter.html" title="This class acts as a common interface to the different interfaces (see CParticleFilter::TParticleFilt..." alt="" coords="363,107,546,133"/><area shape="rect" id="node15" href="classmrpt_1_1graphs_1_1_c_graph_partitioner.html" title="Algorithms for finding the min-normalized-cut of a weighted undirected graph." alt="" coords="351,157,558,184"/><area shape="rect" id="node17" href="classmrpt_1_1hmtslam_1_1_c_hierarchical_map_m_h_partition.html" title="Represents a set of nodes and arcs, posibly only a part of the whole hierarchical, multi-hypothesis map." alt="" coords="311,208,598,235"/><area shape="rect" id="node21" href="classmrpt_1_1hmtslam_1_1_c_h_m_t_s_l_a_m.html" title="An implementation of Hybrid Metric Topological SLAM (HMT-SLAM)." alt="" coords="360,259,549,285"/><area shape="rect" id="node23" href="classmrpt_1_1hwdrivers_1_1_c2_d_range_finder_abstract.html" title="This is the base, abstract class for "software drivers" interfaces to 2D scanners (laser range finder..." alt="" coords="319,309,590,336"/><area shape="rect" id="node33" href="classmrpt_1_1hwdrivers_1_1_c_board_i_r.html" title="A parser of NMEA commands, for connecting to a GPS by a serial port." alt="" coords="365,360,544,387"/><area shape="rect" id="node35" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html" title="The central class for camera grabbers in MRPT, implementing the "generic sensor" interface." alt="" coords="346,411,563,437"/><area shape="rect" id="node37" href="classmrpt_1_1hwdrivers_1_1_c_g_p_s_interface.html" title="A parser of NMEA commands, for connecting to a GPS by a serial port." alt="" coords="350,461,559,488"/><area shape="rect" id="node39" href="classmrpt_1_1hwdrivers_1_1_c_phidget_interface_kit_proximity_sensors.html" title=": An interface for the phidget Interface kit board (1018)." alt="" coords="283,512,627,539"/><area shape="rect" id="node41" href="classmrpt_1_1hwdrivers_1_1_c_robotic_head_interface.html" title="This "software driver" implements the communication protocol for interfacing a Robotic Head Board thr..." alt="" coords="326,563,583,589"/><area shape="rect" id="node43" href="classmrpt_1_1hwdrivers_1_1_c_tu_micos.html" title="This class implements initialization and comunication methods to control a Tilt Unit model DT-80..." alt="" coords="365,613,545,640"/><area shape="rect" id="node45" href="classmrpt_1_1math_1_1_c_levenberg_marquardt_templ.html" title="An implementation of the Levenberg-Marquardt algorithm for least-square minimization." alt="" coords="326,664,583,691"/><area shape="rect" id="node47" href="classmrpt_1_1math_1_1_r_a_n_s_a_c___template.html" title="A generic RANSAC implementation with models as matrices." alt="" coords="349,715,560,741"/><area shape="rect" id="node49" href="classmrpt_1_1reactivenav_1_1_c_abstract_reactive_navigation_system.html" title="This is the base class for any reactive navigation system." alt="" coords="280,765,629,792"/><area shape="rect" id="node53" href="classmrpt_1_1slam_1_1_c_consistent_observation_alignment.html" title="An algorithm for globally, consistent alignment of a sequence of observations." alt="" coords="308,816,601,843"/><area shape="rect" id="node55" href="classmrpt_1_1slam_1_1_c_detector_door_crossing.html" title="mrpt::slam::CDetectorDoorCrossing" alt="" coords="339,867,571,893"/><area shape="rect" id="node57" href="classmrpt_1_1slam_1_1_c_incremental_map_partitioner.html" title="This class can be used to make partitions on a map/graph build from observations taken at some poses/..." alt="" coords="327,917,582,944"/><area shape="rect" id="node59" href="classmrpt_1_1slam_1_1_c_metric_map_builder.html" title="This virtual class is the base for SLAM implementations." alt="" coords="353,968,556,995"/><area shape="rect" id="node65" href="classmrpt_1_1slam_1_1_c_metric_maps_alignment_algorithm.html" title="A base class for any algorithm able of maps alignment." alt="" coords="313,1019,596,1045"/><area shape="rect" id="node71" href="classmrpt_1_1slam_1_1_c_path_planning_method.html" title="A virtual base class for computing the optimal path for a robot from a origin location to a target po..." alt="" coords="343,1069,566,1096"/><area shape="rect" id="node75" href="classmrpt_1_1utils_1_1_c_server_t_c_p_socket.html" title="A TCP socket that can be wait for client connections to enter." alt="" coords="353,1120,557,1147"/><area shape="rect" id="node77" href="classmrpt_1_1utils_1_1_c_time_logger.html" title="A versatile "profiler" that logs the time spent within each pair of calls to enter(X)-leave(X), among other stats." alt="" coords="371,1171,538,1197"/><area shape="rect" id="node5" href="classmrpt_1_1slam_1_1_c_range_bearing_k_f_s_l_a_m.html" title="An implementation of EKF-based SLAM with range-bearing sensors, odometry, a full 6D robot pose..." alt="" coords="760,5,1069,32"/><area shape="rect" id="node7" href="classmrpt_1_1bayes_1_1_c_kalman_filter_capable.html" title="mrpt::bayes::CKalmanFilterCapable\< 3, 2, 2, 3 \>" alt="" coords="761,56,1068,83"/><area shape="rect" id="node11" href="classmrpt_1_1bayes_1_1_c_kalman_filter_capable.html" title="mrpt::bayes::CKalmanFilterCapable\< 7, 3, 3, 7 \>" alt="" coords="761,107,1068,133"/><area shape="rect" id="node9" href="classmrpt_1_1slam_1_1_c_range_bearing_k_f_s_l_a_m2_d.html" title="An implementation of EKF-based SLAM with range-bearing sensors, odometry, and a 2D (+heading) robot p..." alt="" coords="1121,56,1375,83"/><area shape="rect" id="node19" href="classmrpt_1_1hmtslam_1_1_c_hierarchical_m_h_map.html" title="The most high level class for storing hybrid, multi-hypothesis maps in a graph-based model..." alt="" coords="795,208,1034,235"/><area shape="rect" id="node25" href="classmrpt_1_1hwdrivers_1_1_c_hokuyo_u_r_g.html" title="This software driver implements the protocol SCIP-2.0 for interfacing HOKUYO URG, UTM and UXM laser s..." alt="" coords="812,259,1017,285"/><area shape="rect" id="node27" href="classmrpt_1_1hwdrivers_1_1_c_l_m_s100_eth.html" title="This "software driver" implements the communication protocol for interfacing a SICK LMS100 laser scan..." alt="" coords="815,309,1014,336"/><area shape="rect" id="node29" href="classmrpt_1_1hwdrivers_1_1_c_sick_laser_serial.html" title="This "software driver" implements the communication protocol for interfacing a SICK LMS 2XX laser sca..." alt="" coords="804,360,1025,387"/><area shape="rect" id="node31" href="classmrpt_1_1hwdrivers_1_1_c_sick_laser_u_s_b.html" title="This "software driver" implements the communication protocol for interfacing a SICK LMS2XX laser scan..." alt="" coords="807,411,1023,437"/><area shape="rect" id="node51" href="classmrpt_1_1reactivenav_1_1_c_reactive_navigation_system.html" title="Implements a reactive navigation system based on TP-Space, with an arbitrary holonomic reactive metho..." alt="" coords="765,765,1065,792"/><area shape="rect" id="node61" href="classmrpt_1_1slam_1_1_c_metric_map_builder_i_c_p.html" title="A class for very simple 2D SLAM based on ICP." alt="" coords="801,917,1028,944"/><area shape="rect" id="node63" href="classmrpt_1_1slam_1_1_c_metric_map_builder_r_b_p_f.html" title="This class implements a Rao-Blackwelized Particle Filter (RBPF) approach to map building (SLAM)..." alt="" coords="795,968,1034,995"/><area shape="rect" id="node67" href="classmrpt_1_1slam_1_1_c_grid_map_aligner.html" title="A class for aligning two multi-metric maps (with an occupancy grid maps and a points map..." alt="" coords="819,1019,1010,1045"/><area shape="rect" id="node69" href="classmrpt_1_1slam_1_1_c_i_c_p.html" title="Several implementations of ICP (Iterative closest point) algorithms for aligning two point maps or a ..." alt="" coords="852,1069,977,1096"/><area shape="rect" id="node73" href="classmrpt_1_1slam_1_1_c_path_planning_circular_robot.html" title="An implementation of CPathPlanningMethod." alt="" coords="785,1120,1044,1147"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="classmrpt_1_1utils_1_1_c_debug_output_capable-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_debug_output_capable.html#ac5e9cb7088e0cd14b27cc1de956c48c5">CDebugOutputCapable</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Default initialization. <a href="#ac5e9cb7088e0cd14b27cc1de956c48c5"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_debug_output_capable.html#af27cfe708b5114ab0f932b9e77e0fc1c">~CDebugOutputCapable</a> ()</td></tr> <tr><td colspan="2"><h2><a name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_debug_output_capable.html#ab78281b5d70d6e295a8527a10fea66de">printf_debug</a> (const char *frmt,...)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sends a formated text to "debugOut" if not NULL, or to cout otherwise. <a href="#ab78281b5d70d6e295a8527a10fea66de"></a><br/></td></tr> </table> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="ac5e9cb7088e0cd14b27cc1de956c48c5"></a><!-- doxytag: member="mrpt::utils::CDebugOutputCapable::CDebugOutputCapable" ref="ac5e9cb7088e0cd14b27cc1de956c48c5" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">mrpt::utils::CDebugOutputCapable::CDebugOutputCapable </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Default initialization. </p> <p>Definition at line <a class="el" href="_c_debug_output_capable_8h_source.html#l00055">55</a> of file <a class="el" href="_c_debug_output_capable_8h_source.html">CDebugOutputCapable.h</a>.</p> </div> </div> <a class="anchor" id="af27cfe708b5114ab0f932b9e77e0fc1c"></a><!-- doxytag: member="mrpt::utils::CDebugOutputCapable::~CDebugOutputCapable" ref="af27cfe708b5114ab0f932b9e77e0fc1c" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual mrpt::utils::CDebugOutputCapable::~CDebugOutputCapable </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_c_debug_output_capable_8h_source.html#l00056">56</a> of file <a class="el" href="_c_debug_output_capable_8h_source.html">CDebugOutputCapable.h</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="ab78281b5d70d6e295a8527a10fea66de"></a><!-- doxytag: member="mrpt::utils::CDebugOutputCapable::printf_debug" ref="ab78281b5d70d6e295a8527a10fea66de" args="(const char *frmt,...)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static void mrpt::utils::CDebugOutputCapable::printf_debug </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>frmt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Sends a formated text to "debugOut" if not NULL, or to cout otherwise. </p> <p>Referenced by <a class="el" href="_c_levenberg_marquardt_8h_source.html#l00098">mrpt::math::CLevenbergMarquardtTempl::execute()</a>.</p> </div> </div> </div> <br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150"> </td></tr> </table> </body></html>