<!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::mrptEvent 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_1mrpt_event.html">mrptEvent</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-attribs">Public Attributes</a> | <a href="#pro-methods">Protected Member Functions</a> </div> <div class="headertitle"> <div class="title">mrpt::utils::mrptEvent 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::mrptEvent" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>The basic event type for the observer-observable pattern in MRPT. </p> <p>You can sub-class this base class to create custom event types, then tell between them in runtime with <a class="el" href="classmrpt_1_1utils_1_1mrpt_event.html#aa9971e6282c268bd4380e294bfb71b60">isOfType<T>()</a>, for example: </p> <div class="fragment"><pre class="fragment"> <span class="keywordflow">if</span> (e.isOfType<mrptEventOnDestroy>()) { <span class="keyword">const</span> mrptEventOnDestroy* ev = e.getAs<mrptEventOnDestroy>(); ev-> ... } </pre></div><dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1utils_1_1_c_observer.html" title="Inherit from this class to get notified about events from any CObservable object after subscribing to...">CObserver</a>, <a class="el" href="classmrpt_1_1utils_1_1_c_observable.html" title="Inherit from this class for those objects capable of being observed by a CObserver class...">CObservable</a> </dd></dl> </div> <p><code>#include <<a class="el" href="mrpt_event_8h_source.html">mrpt/utils/mrptEvent.h</a>></code></p> <div class="dynheader"> Inheritance diagram for mrpt::utils::mrptEvent:</div> <div class="dyncontent"> <div class="center"><img src="classmrpt_1_1utils_1_1mrpt_event__inherit__graph.png" border="0" usemap="#mrpt_1_1utils_1_1mrpt_event_inherit__map" alt="Inheritance graph"/></div> <map name="mrpt_1_1utils_1_1mrpt_event_inherit__map" id="mrpt_1_1utils_1_1mrpt_event_inherit__map"> <area shape="rect" id="node3" href="classmrpt_1_1gui_1_1mrpt_event3_d_window_grab_image_file.html" title="An event sent by a CDisplayWindow3D window when an image is saved after enabling this feature with CD..." alt="" coords="203,5,493,32"/><area shape="rect" id="node5" href="classmrpt_1_1gui_1_1mrpt_event_mouse_down.html" title="An event sent by a window upon a mouse click, giving the (x,y) pixel coordinates." alt="" coords="241,56,455,83"/><area shape="rect" id="node7" href="classmrpt_1_1gui_1_1mrpt_event_window_char.html" title="An event sent by a window upon a char pressed by the user." alt="" coords="240,107,456,133"/><area shape="rect" id="node9" href="classmrpt_1_1gui_1_1mrpt_event_window_resize.html" title="An event sent by a window upon resize." alt="" coords="233,157,463,184"/><area shape="rect" id="node11" href="classmrpt_1_1opengl_1_1mrpt_event_g_l_post_render.html" title="An event sent by an mrpt::opengl::COpenGLViewport after calling the scene OpenGL drawing primitives a..." alt="" coords="224,208,472,235"/><area shape="rect" id="node13" href="classmrpt_1_1opengl_1_1mrpt_event_g_l_pre_render.html" title="An event sent by an mrpt::opengl::COpenGLViewport just after clearing the viewport and setting the GL..." alt="" coords="227,259,469,285"/><area shape="rect" id="node15" href="classmrpt_1_1slam_1_1mrpt_event_metric_map_clear.html" title="Event emitted by a metric up upon call of clear()" alt="" coords="226,309,470,336"/><area shape="rect" id="node17" href="classmrpt_1_1slam_1_1mrpt_event_metric_map_insert.html" title="Event emitted by a metric up upon a succesful call to insertObservation()" alt="" coords="225,360,471,387"/><area shape="rect" id="node19" href="classmrpt_1_1utils_1_1mrpt_event_on_destroy.html" title="An event sent by any CObservable object (automatically) just before being destroyed and telling its o..." alt="" coords="243,411,453,437"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="classmrpt_1_1utils_1_1mrpt_event-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_1mrpt_event.html#a8a2e1e1de9f534f2eace62dcfbee7e7a">mrptEvent</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Default ctor. <a href="#a8a2e1e1de9f534f2eace62dcfbee7e7a"></a><br/></td></tr> <tr><td class="memTemplParams" colspan="2">template<class EVENTTYPE > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1mrpt_event.html#aa9971e6282c268bd4380e294bfb71b60">isOfType</a> () const </td></tr> <tr><td class="memTemplParams" colspan="2">template<class EVENTTYPE > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">const EVENTTYPE * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1mrpt_event.html#ab487ce428310b75d268edadff6be6c0c">getAs</a> () const </td></tr> <tr><td colspan="2"><h2><a name="pub-attribs"></a> Public Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__time__date.html#ga42674286d8d56afea013b6329bb7327a">mrpt::system::TTimeStamp</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1mrpt_event.html#aceba670cb9ef07097a20af98b5e40f61">timestamp</a></td></tr> <tr><td colspan="2"><h2><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1mrpt_event.html#acfe7c36c5c89d7efd437f83870171f0a">do_nothing</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Just to allow this class to be polymorphic. <a href="#acfe7c36c5c89d7efd437f83870171f0a"></a><br/></td></tr> </table> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a8a2e1e1de9f534f2eace62dcfbee7e7a"></a><!-- doxytag: member="mrpt::utils::mrptEvent::mrptEvent" ref="a8a2e1e1de9f534f2eace62dcfbee7e7a" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">mrpt::utils::mrptEvent::mrptEvent </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Default ctor. </p> <p>Definition at line <a class="el" href="mrpt_event_8h_source.html#l00060">60</a> of file <a class="el" href="mrpt_event_8h_source.html">mrptEvent.h</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="acfe7c36c5c89d7efd437f83870171f0a"></a><!-- doxytag: member="mrpt::utils::mrptEvent::do_nothing" ref="acfe7c36c5c89d7efd437f83870171f0a" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void mrpt::utils::mrptEvent::do_nothing </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [inline, protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Just to allow this class to be polymorphic. </p> <p>Reimplemented in <a class="el" href="classmrpt_1_1opengl_1_1mrpt_event_g_l_post_render.html#a542ed748df75229d5881f328afaa5bf4">mrpt::opengl::mrptEventGLPostRender</a>, <a class="el" href="classmrpt_1_1gui_1_1mrpt_event3_d_window_grab_image_file.html#aae9f0c9c79a47664165f927c9b0f7b7a">mrpt::gui::mrptEvent3DWindowGrabImageFile</a>, <a class="el" href="classmrpt_1_1opengl_1_1mrpt_event_g_l_pre_render.html#a17e4b0221e743d4dd47cf124e3f15870">mrpt::opengl::mrptEventGLPreRender</a>, <a class="el" href="classmrpt_1_1gui_1_1mrpt_event_mouse_down.html#ab27ba5fb02d35e41abc881119e9b25b3">mrpt::gui::mrptEventMouseDown</a>, <a class="el" href="classmrpt_1_1gui_1_1mrpt_event_window_resize.html#a551f070ee9724b870f4ee52aea566ff1">mrpt::gui::mrptEventWindowResize</a>, <a class="el" href="classmrpt_1_1gui_1_1mrpt_event_window_char.html#a92bc871ddd8b7ed913da2d8e4f352597">mrpt::gui::mrptEventWindowChar</a>, <a class="el" href="classmrpt_1_1utils_1_1mrpt_event_on_destroy.html#afd57a1b738e02f6fa49b972715dcc98c">mrpt::utils::mrptEventOnDestroy</a>, <a class="el" href="classmrpt_1_1slam_1_1mrpt_event_metric_map_insert.html#a79d11b319a5fd36ba189aa33260bc5b2">mrpt::slam::mrptEventMetricMapInsert</a>, and <a class="el" href="classmrpt_1_1slam_1_1mrpt_event_metric_map_clear.html#ac89507164a51f8e55206c60386e2600d">mrpt::slam::mrptEventMetricMapClear</a>.</p> <p>Definition at line <a class="el" href="mrpt_event_8h_source.html#l00057">57</a> of file <a class="el" href="mrpt_event_8h_source.html">mrptEvent.h</a>.</p> </div> </div> <a class="anchor" id="ab487ce428310b75d268edadff6be6c0c"></a><!-- doxytag: member="mrpt::utils::mrptEvent::getAs" ref="ab487ce428310b75d268edadff6be6c0c" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class EVENTTYPE > </div> <table class="memname"> <tr> <td class="memname">const EVENTTYPE* mrpt::utils::mrptEvent::getAs </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="mrpt_event_8h_source.html#l00066">66</a> of file <a class="el" href="mrpt_event_8h_source.html">mrptEvent.h</a>.</p> </div> </div> <a class="anchor" id="aa9971e6282c268bd4380e294bfb71b60"></a><!-- doxytag: member="mrpt::utils::mrptEvent::isOfType" ref="aa9971e6282c268bd4380e294bfb71b60" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class EVENTTYPE > </div> <table class="memname"> <tr> <td class="memname">bool mrpt::utils::mrptEvent::isOfType </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="mrpt_event_8h_source.html#l00063">63</a> of file <a class="el" href="mrpt_event_8h_source.html">mrptEvent.h</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="aceba670cb9ef07097a20af98b5e40f61"></a><!-- doxytag: member="mrpt::utils::mrptEvent::timestamp" ref="aceba670cb9ef07097a20af98b5e40f61" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__time__date.html#ga42674286d8d56afea013b6329bb7327a">mrpt::system::TTimeStamp</a> <a class="el" href="classmrpt_1_1utils_1_1mrpt_event.html#aceba670cb9ef07097a20af98b5e40f61">mrpt::utils::mrptEvent::timestamp</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="mrpt_event_8h_source.html#l00068">68</a> of file <a class="el" href="mrpt_event_8h_source.html">mrptEvent.h</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>