Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 4bc66056a634db26a1f4d0845dc41ca6 > files > 3896

mrpt-doc-0.9.5-0.1.20110925svn2670.fc16.i686.rpm

<!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::graphs::CNetworkOfPoses2DCov 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> &gt; <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&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;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&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;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_1graphs.html">graphs</a>      </li>
      <li class="navelem"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov.html">CNetworkOfPoses2DCov</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">mrpt::graphs::CNetworkOfPoses2DCov Class Reference<div class="ingroups"><a class="el" href="group__mrpt__graphs__grp.html">[mrpt-graphs]</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="mrpt::graphs::CNetworkOfPoses2DCov" --><!-- doxytag: inherits="CNetworkOfPoses&lt; CPosePDFGaussian, map_traits_stdmap &gt;,mrpt::utils::CSerializable" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>The specialization of <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html" title="A directed graph of pose constraints, with edges being the relative pose between pairs of nodes inden...">CNetworkOfPoses</a> for poses of type CPosePDFGaussian, also implementing serialization. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html" title="A directed graph of pose constraints, with edges being the relative pose between pairs of nodes inden...">CNetworkOfPoses</a>, <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses2_d.html" title="The specialization of CNetworkOfPoses for poses of type CPose2D (not a PDF!), also implementing seria...">CNetworkOfPoses2D</a>, <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses3_d.html" title="The specialization of CNetworkOfPoses for poses of type CPose3D (not a PDF!), also implementing seria...">CNetworkOfPoses3D</a>, <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses2_d_inf.html" title="The specialization of CNetworkOfPoses for poses of type CPosePDFGaussianInf, also implementing serial...">CNetworkOfPoses2DInf</a>, <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses3_d_inf.html" title="The specialization of CNetworkOfPoses for poses of type CPose3DPDFGaussianInf, also implementing seri...">CNetworkOfPoses3DInf</a> </dd></dl>
</div>
<p><code>#include &lt;<a class="el" href="_c_network_of_poses_8h_source.html">mrpt/graphs/CNetworkOfPoses.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mrpt::graphs::CNetworkOfPoses2DCov:</div>
<div class="dyncontent">
<div class="center"><img src="classmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov__inherit__graph.png" border="0" usemap="#mrpt_1_1graphs_1_1_c_network_of_poses2_d_cov_inherit__map" alt="Inheritance graph"/></div>
<map name="mrpt_1_1graphs_1_1_c_network_of_poses2_d_cov_inherit__map" id="mrpt_1_1graphs_1_1_c_network_of_poses2_d_cov_inherit__map">
<area shape="rect" id="node2" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html" title="mrpt::graphs::CNetworkOfPoses\&lt; CPosePDFGaussian, map_traits_stdmap \&gt;" alt="" coords="1478,7,1957,33"/><area shape="rect" id="node4" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html" title="A directed graph of pose constraints, with edges being the relative pose between pairs of nodes inden..." alt="" coords="947,7,1160,33"/><area shape="rect" id="node6" href="classmrpt_1_1graphs_1_1_c_directed_graph.html" title="mrpt::graphs::CDirectedGraph\&lt; CPOSE, EDGE_ANNOTATIONS \&gt;" alt="" coords="477,7,896,33"/><area shape="rect" id="node8" href="classmrpt_1_1graphs_1_1_c_directed_graph.html" title="A directed graph with the argument of the template specifying the type of the annotations in the edge..." alt="" coords="5,7,203,33"/><area shape="rect" id="node10" href="classmrpt_1_1utils_1_1_c_serializable.html" title="The virtual base class which provides a unified interface for all persistent objects in MRPT..." alt="" coords="1635,57,1800,84"/><area shape="rect" id="node12" href="classmrpt_1_1utils_1_1_c_object.html" title="The virtual base class of all MRPT classes with a unified RTTI system." alt="" coords="985,57,1121,84"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Typedef's</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
<a class="el" href="classmrpt_1_1graphs_1_1_c_directed_graph.html">mrpt::graphs::CDirectedGraph</a><br class="typebreak"/>
&lt; CPOSE, EDGE_ANNOTATIONS &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a2b28a76b8b0f6db2ec2110511c28f828">BASE</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The base class "CDirectedGraph&lt;CPOSE,EDGE_ANNOTATIONS&gt;" */.  <a href="#a2b28a76b8b0f6db2ec2110511c28f828"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html">CNetworkOfPoses</a>&lt; CPOSE, <br class="typebreak"/>
MAPS_IMPLEMENTATION, <br class="typebreak"/>
NODE_ANNOTATIONS, <br class="typebreak"/>
EDGE_ANNOTATIONS &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a9e356853f95f522495be2883f2b125b9">self_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">My own type.  <a href="#a9e356853f95f522495be2883f2b125b9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef CPOSE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a33527a2b73636d0012ba4c511b05dea5">constraint_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of PDF poses in the contraints (edges) (=CPOSE template argument)  <a href="#a33527a2b73636d0012ba4c511b05dea5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef NODE_ANNOTATIONS&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#ae0f5e3857e0d7ccc77b7b2abd1c72abd">node_annotations_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The extra annotations in nodes, apart from a <em>constraint_no_pdf_t</em>.  <a href="#ae0f5e3857e0d7ccc77b7b2abd1c72abd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef EDGE_ANNOTATIONS&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a75e33fdd563d79b9eb5243b2ad12adcf">edge_annotations_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The extra annotations in edges, apart from a <em>constraint_t</em>.  <a href="#a75e33fdd563d79b9eb5243b2ad12adcf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef MAPS_IMPLEMENTATION&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a8f0d390603072e70a09aa819a47f1c4b">maps_implementation_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of map's implementation (=MAPS_IMPLEMENTATION template argument)  <a href="#a8f0d390603072e70a09aa819a47f1c4b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef CPOSE::type_value&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a11996ae62368446ff5d1dc514a9f6b9e">constraint_no_pdf_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of edges or their means if they are PDFs (that is, a simple "edge" value)  <a href="#a11996ae62368446ff5d1dc514a9f6b9e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
MAPS_IMPLEMENTATION::template <br class="typebreak"/>
<a class="el" href="classstd_1_1map.html">map</a>&lt; <a class="el" href="namespacemrpt_1_1utils.html#a718b4f99645b7e9f6501c9b7bb2a2fe7">TNodeID</a>, CPOSE &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#abdbfe33f29a34d4356768003a37cb8e2">global_poses_pdf_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A map from pose IDs to their global coordinates estimates, with uncertainty.  <a href="#abdbfe33f29a34d4356768003a37cb8e2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
MAPS_IMPLEMENTATION::template <br class="typebreak"/>
<a class="el" href="classstd_1_1map.html">map</a>&lt; <a class="el" href="namespacemrpt_1_1utils.html#a718b4f99645b7e9f6501c9b7bb2a2fe7">TNodeID</a>, global_pose_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a126602ce589ff9039d000fb95c32c0c6">global_poses_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A map from pose IDs to their global coordinates estimates, without uncertainty (the "most-likely value")  <a href="#a126602ce589ff9039d000fb95c32c0c6"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1utils_1_1_c_object_ptr.html">mrpt::utils::CObjectPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html#a534695890364f4b916bba07dad311bcf">duplicateGetSmartPtr</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer).  <a href="#a534695890364f4b916bba07dad311bcf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html">CObject</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html#a9ef7857a0b36059c078e195a0a65ac00">clone</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Cloning interface for smart pointers.  <a href="#a9ef7857a0b36059c078e195a0a65ac00"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">I/O file methods</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a412155ad1b3752c9777745d4a246407f">saveToTextFile</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;fileName) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves to a text file in the format used by TORO &amp; HoG-man (more on the format <a href="http://www.mrpt.org/Robotics_file_formats">here</a> ) For 2D graphs only VERTEX2 &amp; EDGE2 entries will be saved, and VERTEX3 &amp; EDGE3 entries for 3D graphs.  <a href="#a412155ad1b3752c9777745d4a246407f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#ad7a2677376c6255772509d0e82fee89f">loadFromTextFile</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;fileName, bool collapse_dup_edges=true)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads from a text file in the format used by TORO &amp; HoG-man (more on the format <a href="http://www.mrpt.org/Robotics_file_formats">here</a> ) Recognized line entries are: VERTEX2, VERTEX3, EDGE2, EDGE3, EQUIV.  <a href="#ad7a2677376c6255772509d0e82fee89f"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Utility methods</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a5050d30406681b2bc2dd62830d5bc85b">dijkstra_nodes_estimate</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Spanning tree computation of a simple estimation of the global coordinates of each node just from the information in all edges, sorted in a Dijkstra tree based on the current "root" node.  <a href="#a5050d30406681b2bc2dd62830d5bc85b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a4fbe45ec3544ca53d629a701b2f3913c">collapseDuplicatedEdges</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Look for duplicated edges (even in opposite directions) between all pairs of nodes and fuse them.  <a href="#a4fbe45ec3544ca53d629a701b2f3913c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#aca1c63c9a12604f985f30112325671ad">getGlobalSquareError</a> (bool ignoreCovariances=true) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the overall square error from all the pose constraints (edges) with respect to the global poses in  If <em>ignoreCovariances</em> is false, the squared Mahalanobis distance will be computed instead of the straight square error.  <a href="#aca1c63c9a12604f985f30112325671ad"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#ad85b9c5e002cedbb600cf1361b5fe965">getEdgeSquareError</a> (const typename <a class="el" href="classmrpt_1_1graphs_1_1_c_directed_graph.html#a8acbd51f416c2688ce308c7b04a0d41e">BASE::edges_map_t::const_iterator</a> &amp;itEdge, bool ignoreCovariances=true) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the square error of one pose constraints (edge) with respect to the global poses in  If <em>ignoreCovariances</em> is false, the squared Mahalanobis distance will be computed instead of the straight square error.  <a href="#ad85b9c5e002cedbb600cf1361b5fe965"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#aed449b8431bc7c752602c1acf3dca09f">getEdgeSquareError</a> (const <a class="el" href="namespacemrpt_1_1utils.html#a718b4f99645b7e9f6501c9b7bb2a2fe7">TNodeID</a> from_id, const <a class="el" href="namespacemrpt_1_1utils.html#a718b4f99645b7e9f6501c9b7bb2a2fe7">TNodeID</a> to_id, bool ignoreCovariances=true) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the square error of one pose constraints (edge) with respect to the global poses in  If <em>ignoreCovariances</em> is false, the squared Mahalanobis distance will be computed instead of the straight square error.  <a href="#aed449b8431bc7c752602c1acf3dca09f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#ad5aa90f5955844cee5f8ac5279409fd4">clear</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty all edges, nodes and set root to ID 0.  <a href="#ad5aa90f5955844cee5f8ac5279409fd4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#aaaa9239749ca20089ab0f6ac4904b763">nodeCount</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return number of nodes in the list  of global coordinates (may be differente that all nodes appearing in edges)  <a href="#aaaa9239749ca20089ab0f6ac4904b763"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Data members</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a126602ce589ff9039d000fb95c32c0c6">global_poses_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#ad7ed942c40716b8c387205ed4bb5423a">nodes</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The nodes (vertices) of the graph, with their estimated "global" (with respect to <em>root</em>) position, without an associated covariance.  <a href="#ad7ed942c40716b8c387205ed4bb5423a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacemrpt_1_1utils.html#a718b4f99645b7e9f6501c9b7bb2a2fe7">TNodeID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#adee1f9ffb91303fa1ea909eaa23c61bc">root</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The ID of the node that is the origin of coordinates, used as reference by all coordinates in .  <a href="#adee1f9ffb91303fa1ea909eaa23c61bc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a90863011f1177a9920171ede6b8ca8aa">edges_store_inverse_poses</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">False (default) if an edge i-&gt;j stores the normal relative pose of j as seen from i: <img class="formulaInl" alt="$ \Delta_i^j = j \ominus i $" src="form_101.png"/> True if an edge i-&gt;j stores the inverse relateive pose, that is, i as seen from j: <img class="formulaInl" alt="$ \Delta_i^j = i \ominus j $" src="form_102.png"/>.  <a href="#a90863011f1177a9920171ede6b8ca8aa"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html#acb51e4dd811d62c2696aee449d0a4715">classCObject</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&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a0b6b801e67bca3d8e0d355e7035f8013">writeToStream</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a> &amp;out, int *getVersion) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Introduces a pure virtual method responsible for writing to a <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">CStream</a>.  <a href="#a0b6b801e67bca3d8e0d355e7035f8013"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a73ba83035a64939cdc3aa1c0dfed23ec">readFromStream</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a> &amp;in, int version)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Introduces a pure virtual method responsible for loading from a <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">CStream</a> This can not be used directly be users, instead use "stream &gt;&gt; object;" for reading it from a stream or "stream &gt;&gt; object_ptr;" if the class is unknown apriori.  <a href="#a73ba83035a64939cdc3aa1c0dfed23ec"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
RTTI stuff</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a28ec2a03d277a8469b8ecfc81892afdf">classCSerializable</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::utils::CStream</a></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
RTTI stuff</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov_ptr.html">CNetworkOfPoses2DCovPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov.html#a854b4690afe8dd99b1b569bdd0d34353">SmartPtr</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1utils_1_1_c_l_a_s_s_i_n_i_t.html">mrpt::utils::CLASSINIT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov.html#af92b8b98672263e392439eec9a40660b">_init_CNetworkOfPoses2DCov</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov.html#acd6330b781f79ac714eba07c079f3e88">classCNetworkOfPoses2DCov</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov.html#ac05ef1ca4ee5b100b9667e6de987dfb6">classinfo</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov.html#ada85f14a90c23b5ed21239b62635a427">_GetBaseClass</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const <br class="typebreak"/>
<a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov.html#aa3233185f11b1b8028004324200cd221">GetRuntimeClass</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns information about the class of an object in runtime.  <a href="#aa3233185f11b1b8028004324200cd221"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmrpt_1_1utils_1_1_c_object.html">mrpt::utils::CObject</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov.html#abdae8c21f63f137061ccb70cad7a00a4">duplicate</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a copy of the object, indepently of its class.  <a href="#abdae8c21f63f137061ccb70cad7a00a4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classmrpt_1_1utils_1_1_c_object.html">mrpt::utils::CObject</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov.html#a255208df8e44f3fafdcaba6fcf37f8df">CreateObject</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov_ptr.html">CNetworkOfPoses2DCovPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov.html#a86a48d4c2e7046dc96e4ca32542d4043">Create</a> ()</td></tr>
</table>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a2b28a76b8b0f6db2ec2110511c28f828"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::BASE" ref="a2b28a76b8b0f6db2ec2110511c28f828" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classmrpt_1_1graphs_1_1_c_directed_graph.html">mrpt::graphs::CDirectedGraph</a>&lt;CPOSE,EDGE_ANNOTATIONS&gt; <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a2b28a76b8b0f6db2ec2110511c28f828">mrpt::graphs::CNetworkOfPoses::BASE</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The base class "CDirectedGraph&lt;CPOSE,EDGE_ANNOTATIONS&gt;" */. </p>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00111">111</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="a11996ae62368446ff5d1dc514a9f6b9e"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::constraint_no_pdf_t" ref="a11996ae62368446ff5d1dc514a9f6b9e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef CPOSE::type_value <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a11996ae62368446ff5d1dc514a9f6b9e">mrpt::graphs::CNetworkOfPoses::constraint_no_pdf_t</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The type of edges or their means if they are PDFs (that is, a simple "edge" value) </p>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00119">119</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="a33527a2b73636d0012ba4c511b05dea5"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::constraint_t" ref="a33527a2b73636d0012ba4c511b05dea5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef CPOSE <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a33527a2b73636d0012ba4c511b05dea5">mrpt::graphs::CNetworkOfPoses::constraint_t</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The type of PDF poses in the contraints (edges) (=CPOSE template argument) </p>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00114">114</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="a75e33fdd563d79b9eb5243b2ad12adcf"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::edge_annotations_t" ref="a75e33fdd563d79b9eb5243b2ad12adcf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef EDGE_ANNOTATIONS <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a75e33fdd563d79b9eb5243b2ad12adcf">mrpt::graphs::CNetworkOfPoses::edge_annotations_t</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The extra annotations in edges, apart from a <em>constraint_t</em>. </p>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00116">116</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="abdbfe33f29a34d4356768003a37cb8e2"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::global_poses_pdf_t" ref="abdbfe33f29a34d4356768003a37cb8e2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef MAPS_IMPLEMENTATION::template <a class="el" href="classstd_1_1map.html">map</a>&lt;<a class="el" href="namespacemrpt_1_1utils.html#a718b4f99645b7e9f6501c9b7bb2a2fe7">TNodeID</a>,CPOSE&gt; <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#abdbfe33f29a34d4356768003a37cb8e2">mrpt::graphs::CNetworkOfPoses::global_poses_pdf_t</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A map from pose IDs to their global coordinates estimates, with uncertainty. </p>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00131">131</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="a126602ce589ff9039d000fb95c32c0c6"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::global_poses_t" ref="a126602ce589ff9039d000fb95c32c0c6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef MAPS_IMPLEMENTATION::template <a class="el" href="classstd_1_1map.html">map</a>&lt;<a class="el" href="namespacemrpt_1_1utils.html#a718b4f99645b7e9f6501c9b7bb2a2fe7">TNodeID</a>,global_pose_t&gt; <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a126602ce589ff9039d000fb95c32c0c6">mrpt::graphs::CNetworkOfPoses::global_poses_t</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A map from pose IDs to their global coordinates estimates, without uncertainty (the "most-likely value") </p>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00134">134</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8f0d390603072e70a09aa819a47f1c4b"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::maps_implementation_t" ref="a8f0d390603072e70a09aa819a47f1c4b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef MAPS_IMPLEMENTATION <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a8f0d390603072e70a09aa819a47f1c4b">mrpt::graphs::CNetworkOfPoses::maps_implementation_t</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The type of map's implementation (=MAPS_IMPLEMENTATION template argument) </p>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00118">118</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae0f5e3857e0d7ccc77b7b2abd1c72abd"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::node_annotations_t" ref="ae0f5e3857e0d7ccc77b7b2abd1c72abd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef NODE_ANNOTATIONS <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#ae0f5e3857e0d7ccc77b7b2abd1c72abd">mrpt::graphs::CNetworkOfPoses::node_annotations_t</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The extra annotations in nodes, apart from a <em>constraint_no_pdf_t</em>. </p>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00115">115</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9e356853f95f522495be2883f2b125b9"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::self_t" ref="a9e356853f95f522495be2883f2b125b9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html">CNetworkOfPoses</a>&lt;CPOSE,MAPS_IMPLEMENTATION,NODE_ANNOTATIONS,EDGE_ANNOTATIONS&gt; <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a9e356853f95f522495be2883f2b125b9">mrpt::graphs::CNetworkOfPoses::self_t</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>My own type. </p>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00112">112</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="a854b4690afe8dd99b1b569bdd0d34353"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::SmartPtr" ref="a854b4690afe8dd99b1b569bdd0d34353" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov_ptr.html">CNetworkOfPoses2DCovPtr</a> <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov.html#a854b4690afe8dd99b1b569bdd0d34353">mrpt::graphs::CNetworkOfPoses2DCov::SmartPtr</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>A typedef for the associated smart pointer </p>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00309">309</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ada85f14a90c23b5ed21239b62635a427"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::_GetBaseClass" ref="ada85f14a90c23b5ed21239b62635a427" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>* mrpt::graphs::CNetworkOfPoses2DCov::_GetBaseClass </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a471a2d4e8bf14cdc749d43ffb8066a12">mrpt::utils::CSerializable</a>.</p>

</div>
</div>
<a class="anchor" id="ad5aa90f5955844cee5f8ac5279409fd4"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::clear" ref="ad5aa90f5955844cee5f8ac5279409fd4" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::graphs::CNetworkOfPoses::clear </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Empty all edges, nodes and set root to ID 0. </p>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00234">234</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9ef7857a0b36059c078e195a0a65ac00"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::clone" ref="a9ef7857a0b36059c078e195a0a65ac00" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1utils_1_1_c_object.html">CObject</a>* mrpt::utils::CObject::clone </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Cloning interface for smart pointers. </p>

<p>Reimplemented in <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#acb2597d6d93b406501d9f3530eb56adf">mrpt::opengl::CRenderizable</a>, and <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable_display_list.html#ac164cb1d2cf682778ce52967cbd56469">mrpt::opengl::CRenderizableDisplayList</a>.</p>

<p>Definition at line <a class="el" href="_c_object_8h_source.html#l00154">154</a> of file <a class="el" href="_c_object_8h_source.html">CObject.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4fbe45ec3544ca53d629a701b2f3913c"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::collapseDuplicatedEdges" ref="a4fbe45ec3544ca53d629a701b2f3913c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::graphs::CNetworkOfPoses::collapseDuplicatedEdges </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Look for duplicated edges (even in opposite directions) between all pairs of nodes and fuse them. </p>
<p>Upon return, only one edge remains between each pair of nodes with the mean &amp; covariance (or information matrix) corresponding to the Bayesian fusion of all the Gaussians. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Overall number of removed edges. </dd></dl>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00201">201</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="a86a48d4c2e7046dc96e4ca32542d4043"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::Create" ref="a86a48d4c2e7046dc96e4ca32542d4043" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov_ptr.html">CNetworkOfPoses2DCovPtr</a> mrpt::graphs::CNetworkOfPoses2DCov::Create </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a255208df8e44f3fafdcaba6fcf37f8df"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::CreateObject" ref="a255208df8e44f3fafdcaba6fcf37f8df" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classmrpt_1_1utils_1_1_c_object.html">mrpt::utils::CObject</a>* mrpt::graphs::CNetworkOfPoses2DCov::CreateObject </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a5050d30406681b2bc2dd62830d5bc85b"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::dijkstra_nodes_estimate" ref="a5050d30406681b2bc2dd62830d5bc85b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::graphs::CNetworkOfPoses::dijkstra_nodes_estimate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Spanning tree computation of a simple estimation of the global coordinates of each node just from the information in all edges, sorted in a Dijkstra tree based on the current "root" node. </p>
<p>Note that "global" coordinates are with respect to the node with the ID specified in <em>root</em>. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>This method takes into account the value of <em>edges_store_inverse_poses</em> </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd>node, root </dd></dl>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00195">195</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="abdae8c21f63f137061ccb70cad7a00a4"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::duplicate" ref="abdae8c21f63f137061ccb70cad7a00a4" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classmrpt_1_1utils_1_1_c_object.html">mrpt::utils::CObject</a>* mrpt::graphs::CNetworkOfPoses2DCov::duplicate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a copy of the object, indepently of its class. </p>

<p>Implements <a class="el" href="classmrpt_1_1utils_1_1_c_object.html#aa1070e173c5f7e307b09c53f1fd256e2">mrpt::utils::CObject</a>.</p>

</div>
</div>
<a class="anchor" id="a534695890364f4b916bba07dad311bcf"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::duplicateGetSmartPtr" ref="a534695890364f4b916bba07dad311bcf" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1utils_1_1_c_object_ptr.html">mrpt::utils::CObjectPtr</a> mrpt::utils::CObject::duplicateGetSmartPtr </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer). </p>

<p>Definition at line <a class="el" href="_c_object_8h_source.html#l00151">151</a> of file <a class="el" href="_c_object_8h_source.html">CObject.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad85b9c5e002cedbb600cf1361b5fe965"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::getEdgeSquareError" ref="ad85b9c5e002cedbb600cf1361b5fe965" args="(const typename BASE::edges_map_t::const_iterator &amp;itEdge, bool ignoreCovariances=true) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::graphs::CNetworkOfPoses::getEdgeSquareError </td>
          <td>(</td>
          <td class="paramtype">const typename <a class="el" href="classmrpt_1_1graphs_1_1_c_directed_graph.html#a8acbd51f416c2688ce308c7b04a0d41e">BASE::edges_map_t::const_iterator</a> &amp;&#160;</td>
          <td class="paramname"><em>itEdge</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>ignoreCovariances</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the square error of one pose constraints (edge) with respect to the global poses in  If <em>ignoreCovariances</em> is false, the squared Mahalanobis distance will be computed instead of the straight square error. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>On global poses not in <em>nodes</em> </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00220">220</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="aed449b8431bc7c752602c1acf3dca09f"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::getEdgeSquareError" ref="aed449b8431bc7c752602c1acf3dca09f" args="(const TNodeID from_id, const TNodeID to_id, bool ignoreCovariances=true) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::graphs::CNetworkOfPoses::getEdgeSquareError </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespacemrpt_1_1utils.html#a718b4f99645b7e9f6501c9b7bb2a2fe7">TNodeID</a>&#160;</td>
          <td class="paramname"><em>from_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespacemrpt_1_1utils.html#a718b4f99645b7e9f6501c9b7bb2a2fe7">TNodeID</a>&#160;</td>
          <td class="paramname"><em>to_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>ignoreCovariances</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the square error of one pose constraints (edge) with respect to the global poses in  If <em>ignoreCovariances</em> is false, the squared Mahalanobis distance will be computed instead of the straight square error. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>On edge not existing or global poses not in <em>nodes</em> </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00226">226</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="aca1c63c9a12604f985f30112325671ad"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::getGlobalSquareError" ref="aca1c63c9a12604f985f30112325671ad" args="(bool ignoreCovariances=true) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::graphs::CNetworkOfPoses::getGlobalSquareError </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>ignoreCovariances</em> = <code>true</code></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the overall square error from all the pose constraints (edges) with respect to the global poses in  If <em>ignoreCovariances</em> is false, the squared Mahalanobis distance will be computed instead of the straight square error. </p>
<dl class="see"><dt><b>See also:</b></dt><dd>getEdgeSquareError </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>On global poses not in <em>nodes</em> </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00208">208</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa3233185f11b1b8028004324200cd221"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::GetRuntimeClass" ref="aa3233185f11b1b8028004324200cd221" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>* mrpt::graphs::CNetworkOfPoses2DCov::GetRuntimeClass </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns information about the class of an object in runtime. </p>

<p>Reimplemented from <a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a6861b16159daafd1651d6e0d27f39c58">mrpt::utils::CSerializable</a>.</p>

</div>
</div>
<a class="anchor" id="ad7a2677376c6255772509d0e82fee89f"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::loadFromTextFile" ref="ad7a2677376c6255772509d0e82fee89f" args="(const std::string &amp;fileName, bool collapse_dup_edges=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::graphs::CNetworkOfPoses::loadFromTextFile </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>fileName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>collapse_dup_edges</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Loads from a text file in the format used by TORO &amp; HoG-man (more on the format <a href="http://www.mrpt.org/Robotics_file_formats">here</a> ) Recognized line entries are: VERTEX2, VERTEX3, EDGE2, EDGE3, EQUIV. </p>
<p>If an unknown entry is found, a warning is dumped to std::cerr (only once for each unknown keyword). An exception will be raised if trying to load a 3D graph into a 2D class (in the opposite case, missing 3D data will default to zero). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fileName</td><td>The file to load. </td></tr>
    <tr><td class="paramname">collapse_dup_edges</td><td>If true, <em>collapseDuplicatedEdges</em> will be called automatically after loading (note that this operation may take significant time for very large graphs). </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd>loadFromBinaryFile, <a class="el" href="eigen__plugins_8h.html#abea6659e38ab7a50b625ea1a4af3ec72" title="Save matrix to a text file, compatible with MATLAB text format (see also the methods of matrix classe...">saveToTextFile</a> </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">On</td><td>any error, as a malformed line or loading a 3D graph in a 2D graph. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00180">180</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="aaaa9239749ca20089ab0f6ac4904b763"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::nodeCount" ref="aaaa9239749ca20089ab0f6ac4904b763" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::graphs::CNetworkOfPoses::nodeCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return number of nodes in the list  of global coordinates (may be differente that all nodes appearing in edges) </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1graphs_1_1_c_directed_graph.html#aac62b79ce4e35b186bf12427ef72f77e" title="Count how many different node IDs appear in the graph edges.">mrpt::graphs::CDirectedGraph::countDifferentNodesInEdges</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00244">244</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="a73ba83035a64939cdc3aa1c0dfed23ec"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::readFromStream" ref="a73ba83035a64939cdc3aa1c0dfed23ec" args="(mrpt::utils::CStream &amp;in, int version)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::utils::CSerializable::readFromStream </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a> &amp;&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>version</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected, pure virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Introduces a pure virtual method responsible for loading from a <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">CStream</a> This can not be used directly be users, instead use "stream &gt;&gt; object;" for reading it from a stream or "stream &gt;&gt; object_ptr;" if the class is unknown apriori. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">in</td><td>The input binary stream where the object data must read from. </td></tr>
    <tr><td class="paramname">version</td><td>The version of the object stored in the stream: use this version number in your code to know how to read the incoming data. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>On any error, see <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html#a1b8cd3d084b5a95a3f65c6eed6e7cc6d" title="Reads a block of bytes from the stream into Buffer On any error, or if ZERO bytes are read...">CStream::ReadBuffer</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">CStream</a> </dd></dl>

<p>Implemented in <a class="el" href="classmrpt_1_1math_1_1_c_matrix_d.html#a0194e57ec48c1dfc6aa00c23d3409143">mrpt::math::CMatrixD</a>, and <a class="el" href="classmrpt_1_1math_1_1_c_matrix.html#a12db95e8c32d48d2d2483936dec516a7">mrpt::math::CMatrix</a>.</p>

</div>
</div>
<a class="anchor" id="a412155ad1b3752c9777745d4a246407f"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::saveToTextFile" ref="a412155ad1b3752c9777745d4a246407f" args="(const std::string &amp;fileName) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::graphs::CNetworkOfPoses::saveToTextFile </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> &amp;&#160;</td>
          <td class="paramname"><em>fileName</em></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Saves to a text file in the format used by TORO &amp; HoG-man (more on the format <a href="http://www.mrpt.org/Robotics_file_formats">here</a> ) For 2D graphs only VERTEX2 &amp; EDGE2 entries will be saved, and VERTEX3 &amp; EDGE3 entries for 3D graphs. </p>
<p>Note that EQUIV entries will not be saved, but instead several EDGEs will be stored between the same node IDs. </p>
<dl class="see"><dt><b>See also:</b></dt><dd>saveToBinaryFile, <a class="el" href="eigen__plugins_8h.html#a0c26c9ec75a3731fef5d8c216af718c5">loadFromTextFile</a> </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">On</td><td>any error </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00167">167</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0b6b801e67bca3d8e0d355e7035f8013"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::writeToStream" ref="a0b6b801e67bca3d8e0d355e7035f8013" args="(mrpt::utils::CStream &amp;out, int *getVersion) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::utils::CSerializable::writeToStream </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a> &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>getVersion</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [protected, pure virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Introduces a pure virtual method responsible for writing to a <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">CStream</a>. </p>
<p>This can not be used directly be users, instead use "stream &lt;&lt; object;" for writing it to a stream. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>The output binary stream where object must be dumped. </td></tr>
    <tr><td class="paramname">getVersion</td><td>If NULL, the object must be dumped. If not, only the version of the object dump must be returned in this pointer. This enables the versioning of objects dumping and backward compatibility with previously stored data. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classstd_1_1exception.html" title="STL class.">std::exception</a></td><td>On any error, see <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html#a276005e7110c9de74ff3277b3f7bf621" title="Writes a block of bytes to the stream from Buffer.">CStream::WriteBuffer</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1utils_1_1_c_stream.html" title="This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...">CStream</a> </dd></dl>

<p>Implemented in <a class="el" href="classmrpt_1_1math_1_1_c_matrix_d.html#a767e787b52208ab4dd46ba7f5e2fd224">mrpt::math::CMatrixD</a>, and <a class="el" href="classmrpt_1_1math_1_1_c_matrix.html#a059d7eaf80dab9c7435154146d2b7dbf">mrpt::math::CMatrix</a>.</p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a6fec28a53e20dfc1c4d046c26f9f7b48"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::mrpt::utils::CStream" ref="a6fec28a53e20dfc1c4d046c26f9f7b48" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classmrpt_1_1utils_1_1_c_stream.html">mrpt::utils::CStream</a><code> [friend, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented in <a class="el" href="classmrpt_1_1slam_1_1_c_random_field_grid_map2_d.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::slam::CRandomFieldGridMap2D</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_points_map.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::slam::CPointsMap</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_observation.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::slam::CObservation</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_metric_map.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::slam::CMetricMap</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::opengl::CRenderizable</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::poses::CPose3DQuatPDF</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_point_p_d_f.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::poses::CPointPDF</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::poses::CPose3DPDF</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose_p_d_f.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::poses::CPosePDF</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_point2_d_p_d_f.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::poses::CPoint2DPDF</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_renderizable_display_list.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::opengl::CRenderizableDisplayList</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_action.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::slam::CAction</a>, <a class="el" href="classmrpt_1_1detectors_1_1_c_detectable_object.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::detectors::CDetectableObject</a>, <a class="el" href="classmrpt_1_1opengl_1_1_c_textured_object.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::opengl::CTexturedObject</a>, and <a class="el" href="classmrpt_1_1reactivenav_1_1_c_holonomic_log_file_record.html#a6fec28a53e20dfc1c4d046c26f9f7b48">mrpt::reactivenav::CHolonomicLogFileRecord</a>.</p>

<p>Definition at line <a class="el" href="_c_serializable_8h_source.html#l00056">56</a> of file <a class="el" href="_c_serializable_8h_source.html">CSerializable.h</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="af92b8b98672263e392439eec9a40660b"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::_init_CNetworkOfPoses2DCov" ref="af92b8b98672263e392439eec9a40660b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1utils_1_1_c_l_a_s_s_i_n_i_t.html">mrpt::utils::CLASSINIT</a> <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov.html#af92b8b98672263e392439eec9a40660b">mrpt::graphs::CNetworkOfPoses2DCov::_init_CNetworkOfPoses2DCov</a><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00309">309</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="acd6330b781f79ac714eba07c079f3e88"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::classCNetworkOfPoses2DCov" ref="acd6330b781f79ac714eba07c079f3e88" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov.html#acd6330b781f79ac714eba07c079f3e88">mrpt::graphs::CNetworkOfPoses2DCov::classCNetworkOfPoses2DCov</a><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00309">309</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="acb51e4dd811d62c2696aee449d0a4715"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::classCObject" ref="acb51e4dd811d62c2696aee449d0a4715" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> <a class="el" href="classmrpt_1_1utils_1_1_c_object.html#acb51e4dd811d62c2696aee449d0a4715">mrpt::utils::CObject::classCObject</a><code> [static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_object_8h_source.html#l00139">139</a> of file <a class="el" href="_c_object_8h_source.html">CObject.h</a>.</p>

</div>
</div>
<a class="anchor" id="a28ec2a03d277a8469b8ecfc81892afdf"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::classCSerializable" ref="a28ec2a03d277a8469b8ecfc81892afdf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> <a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a28ec2a03d277a8469b8ecfc81892afdf">mrpt::utils::CSerializable::classCSerializable</a><code> [static, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_serializable_8h_source.html#l00056">56</a> of file <a class="el" href="_c_serializable_8h_source.html">CSerializable.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac05ef1ca4ee5b100b9667e6de987dfb6"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::classinfo" ref="ac05ef1ca4ee5b100b9667e6de987dfb6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>* <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses2_d_cov.html#ac05ef1ca4ee5b100b9667e6de987dfb6">mrpt::graphs::CNetworkOfPoses2DCov::classinfo</a><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00309">309</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="a90863011f1177a9920171ede6b8ca8aa"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::edges_store_inverse_poses" ref="a90863011f1177a9920171ede6b8ca8aa" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a90863011f1177a9920171ede6b8ca8aa">mrpt::graphs::CNetworkOfPoses::edges_store_inverse_poses</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>False (default) if an edge i-&gt;j stores the normal relative pose of j as seen from i: <img class="formulaInl" alt="$ \Delta_i^j = j \ominus i $" src="form_101.png"/> True if an edge i-&gt;j stores the inverse relateive pose, that is, i as seen from j: <img class="formulaInl" alt="$ \Delta_i^j = i \ominus j $" src="form_102.png"/>. </p>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00153">153</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad7ed942c40716b8c387205ed4bb5423a"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::nodes" ref="ad7ed942c40716b8c387205ed4bb5423a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#a126602ce589ff9039d000fb95c32c0c6">global_poses_t</a> <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#ad7ed942c40716b8c387205ed4bb5423a">mrpt::graphs::CNetworkOfPoses::nodes</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The nodes (vertices) of the graph, with their estimated "global" (with respect to <em>root</em>) position, without an associated covariance. </p>
<dl class="see"><dt><b>See also:</b></dt><dd>dijkstra_nodes_estimate </dd></dl>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00145">145</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.h</a>.</p>

</div>
</div>
<a class="anchor" id="adee1f9ffb91303fa1ea909eaa23c61bc"></a><!-- doxytag: member="mrpt::graphs::CNetworkOfPoses2DCov::root" ref="adee1f9ffb91303fa1ea909eaa23c61bc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespacemrpt_1_1utils.html#a718b4f99645b7e9f6501c9b7bb2a2fe7">TNodeID</a> <a class="el" href="classmrpt_1_1graphs_1_1_c_network_of_poses.html#adee1f9ffb91303fa1ea909eaa23c61bc">mrpt::graphs::CNetworkOfPoses::root</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The ID of the node that is the origin of coordinates, used as reference by all coordinates in . </p>
<p>By default, root is the ID "0". </p>

<p>Definition at line <a class="el" href="_c_network_of_poses_8h_source.html#l00148">148</a> of file <a class="el" href="_c_network_of_poses_8h_source.html">CNetworkOfPoses.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>