Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > e6f1a3debfddb2a6cccaab627266a0ea > files > 3981

mrpt-doc-0.9.0-0.5.fc14.x86_64.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>The MRPT project: mrpt::poses::CPose2D 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.6.2-20100208 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</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">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespacemrpt.html">mrpt</a>::<a class="el" href="namespacemrpt_1_1poses.html">poses</a>::<a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a>
  </div>
</div>
<div class="contents">
<h1>mrpt::poses::CPose2D Class Reference</h1><!-- doxytag: class="mrpt::poses::CPose2D" --><!-- doxytag: inherits="mrpt::poses::CPose" -->
<p>A class used to store a 2D pose.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_c_pose2_d_8h_source.html">mrpt/poses/CPose2D.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mrpt::poses::CPose2D:</div>
<div class="dynsection">
<div class="center"><img src="classmrpt_1_1poses_1_1_c_pose2_d__inherit__graph.png" border="0" usemap="#mrpt_1_1poses_1_1_c_pose2_d_inherit__map" alt="Inheritance graph"/></div>
<map name="mrpt_1_1poses_1_1_c_pose2_d_inherit__map" id="mrpt_1_1poses_1_1_c_pose2_d_inherit__map">
<area shape="rect" id="node2" href="classmrpt_1_1poses_1_1_c_pose.html" title="A virtual base class to represent a pose in 2D or 3D." alt="" coords="27,237,165,267"/><area shape="rect" id="node4" href="classmrpt_1_1poses_1_1_c_pose_or_point.html" title="The base class for 2D points, 3D points, 2D poses and 3D poses." alt="" coords="5,160,187,189"/><area shape="rect" id="node6" href="classmrpt_1_1utils_1_1_c_serializable.html" title="The virtual base class which provides a unified interface for all persistent objects..." alt="" coords="13,83,179,112"/><area shape="rect" id="node8" 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="28,5,164,35"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for mrpt::poses::CPose2D:</div>
<div class="dynsection">
<div class="center"><img src="classmrpt_1_1poses_1_1_c_pose2_d__coll__graph.png" border="0" usemap="#mrpt_1_1poses_1_1_c_pose2_d_coll__map" alt="Collaboration graph"/></div>
<map name="mrpt_1_1poses_1_1_c_pose2_d_coll__map" id="mrpt_1_1poses_1_1_c_pose2_d_coll__map">
<area shape="rect" id="node2" href="classmrpt_1_1poses_1_1_c_pose.html" title="A virtual base class to represent a pose in 2D or 3D." alt="" coords="27,261,165,291"/><area shape="rect" id="node4" href="classmrpt_1_1poses_1_1_c_pose_or_point.html" title="The base class for 2D points, 3D points, 2D poses and 3D poses." alt="" coords="5,181,187,211"/><area shape="rect" id="node6" href="classmrpt_1_1utils_1_1_c_serializable.html" title="The virtual base class which provides a unified interface for all persistent objects..." alt="" coords="13,101,179,131"/><area shape="rect" id="node8" 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="105,5,241,35"/><area shape="rect" id="node10" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html" title="A structure that holds runtime class type information." alt="" coords="203,101,392,131"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classmrpt_1_1poses_1_1_c_pose2_d-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a7c091d2014d0922816c3fcbc0bb08a30">CPose2D</a> (const double &amp;x=0, const double &amp;y=0, const double &amp;phi=0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor from an initial value of the pose.  <a href="#a7c091d2014d0922816c3fcbc0bb08a30"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#abe15d08e6cbcc58c300659197da08a22">CPose2D</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_point2_d.html">CPoint2D</a> &amp;)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor from a <a class="el" href="classmrpt_1_1poses_1_1_c_point2_d.html" title="A class used to store a 2D point.">CPoint2D</a> object.  <a href="#abe15d08e6cbcc58c300659197da08a22"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a68475a04b152cc8826eeb2c6b608b982">CPose2D</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Aproximation!! Avoid its use, since information is lost.  <a href="#a68475a04b152cc8826eeb2c6b608b982"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#ac441c9a7d11df9ea3d1e1c3dc7bbea44">CPose2D</a> (const <a class="el" href="structmrpt_1_1math_1_1_t_pose2_d.html">mrpt::math::TPose2D</a> &amp;)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor from lightweight object.  <a href="#ac441c9a7d11df9ea3d1e1c3dc7bbea44"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a0168f0119a445670ca6f3453104111cb">CPose2D</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_point3_d.html">CPoint3D</a> &amp;)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor from <a class="el" href="classmrpt_1_1poses_1_1_c_point3_d.html" title="A class used to store a 3D point.">CPoint3D</a> with information loss.  <a href="#a0168f0119a445670ca6f3453104111cb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a62679bcbf73d269199229bb1c73e61a1">phi</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the phi angle of the 2D pose (in radians).  <a href="#a62679bcbf73d269199229bb1c73e61a1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a172c710f8ba69c0545ec440021bbf6e5">phi</a> (double angle)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the phi angle of the 2D pose (in radians).  <a href="#a172c710f8ba69c0545ec440021bbf6e5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a3b13bb9180075ac5ccfdc62fb5060adc">phi_incr</a> (const double Aphi)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Increment the PHI angle (without checking the 2 PI range, call normalizePhi is needed).  <a href="#a3b13bb9180075ac5ccfdc62fb5060adc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a2fb82f99d8b6dff4c60ba3a3ee90360d">getAsVector</a> (<a class="el" href="structmrpt_1_1mrpt__base__vector.html">vector_double</a> &amp;v) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a 1x3 vector with [x y phi].  <a href="#a2fb82f99d8b6dff4c60ba3a3ee90360d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a3bbd649439693e8a0bf8e1706c366af5">getHomogeneousMatrix</a> (<a class="el" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html">CMatrixDouble44</a> &amp;out_HM) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the corresponding 4x4 homogeneous transformation matrix for the point(translation) or pose (translation+orientation).  <a href="#a3bbd649439693e8a0bf8e1706c366af5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a930b1d663a0523f23e2e02f68c04c787">operator+</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;D) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The operator <img class="formulaInl" alt="$ a = this \oplus D $" src="form_68.png"/> is the pose compounding operator.  <a href="#a930b1d663a0523f23e2e02f68c04c787"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a2ba3de5ebc968d76ce5c191c4c14d008">composeFrom</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;A, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;B)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes <img class="formulaInl" alt="$ this = A \oplus B $" src="form_69.png"/>.  <a href="#a2ba3de5ebc968d76ce5c191c4c14d008"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#af97c915a62fe8cf547f3e54db8c76e2f">operator+</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;D) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The operator <img class="formulaInl" alt="$ a = this \oplus D $" src="form_68.png"/> is the pose compounding operator.  <a href="#af97c915a62fe8cf547f3e54db8c76e2f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1poses_1_1_c_point2_d.html">CPoint2D</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#accebdce21e12f75e4a7b5b22b493100f">operator+</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_point2_d.html">CPoint2D</a> &amp;u) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The operator <img class="formulaInl" alt="$ u' = this \oplus u $" src="form_70.png"/> is the pose/point compounding operator.  <a href="#accebdce21e12f75e4a7b5b22b493100f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a70d683f22aab165cb388badfd15fc41e">composePoint</a> (double lx, double ly, double &amp;gx, double &amp;gy) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An alternative, slightly more efficient way of doing <img class="formulaInl" alt="$ G = P \oplus L $" src="form_71.png"/> with G and L being 2D points and P this 2D pose.  <a href="#a70d683f22aab165cb388badfd15fc41e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1poses_1_1_c_point3_d.html">CPoint3D</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a1754304d4fd62e9adefb7ed6dcff75bd">operator+</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_point3_d.html">CPoint3D</a> &amp;u) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The operator <img class="formulaInl" alt="$ u' = this \oplus u $" src="form_70.png"/> is the pose/point compounding operator.  <a href="#a1754304d4fd62e9adefb7ed6dcff75bd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a63e44062c1987adc66f4f3fd2eb67a44">operator-</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;b) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The operator <img class="formulaInl" alt="$ D = this \ominus b $" src="form_72.png"/> is the pose inverse compounding operator, the resulting pose D fulfils: <img class="formulaInl" alt="$ this = b \oplus D $" src="form_73.png"/>, that is: <img class="formulaInl" alt="$ b = a \oplus (b \ominus a) $" src="form_74.png"/>.  <a href="#a63e44062c1987adc66f4f3fd2eb67a44"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a822ab3b4e10ed8ed4f397d46a74d40ac">AddComponents</a> (<a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;p)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Scalar sum of components: This is diferent from poses composition, which is implemented as "+" operators in "CPose" derived classes.  <a href="#a822ab3b4e10ed8ed4f397d46a74d40ac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a66d862da0452e99199a9eef1263b5602">operator*=</a> (const double s)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Scalar multiplication.  <a href="#a66d862da0452e99199a9eef1263b5602"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a743ae7ff1f5461b57b4f967d2c07b8ed">operator+=</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;b)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make <img class="formulaInl" alt="$ this = this \oplus b $" src="form_75.png"/>.  <a href="#a743ae7ff1f5461b57b4f967d2c07b8ed"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a56c26b2a368ca3220552b68a6e21bb83">normalizePhi</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Forces "phi" to be in the range [-pi,pi];.  <a href="#a56c26b2a368ca3220552b68a6e21bb83"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a923f71e43765c84a643598294ce8c366">asString</a> (std::string &amp;s) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a human-readable textual representation of the object (eg: "[x y yaw]", yaw in degrees).  <a href="#a923f71e43765c84a643598294ce8c366"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a90146aa8bce8595470d09c68f87c720a">asString</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a0d4ba5c65bfd337c90443af16bc76c45">fromString</a> (const std::string &amp;s)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the current object value from a string generated by 'asString' (eg: "[0.02 1.04 -0.8]" ).  <a href="#a0d4ba5c65bfd337c90443af16bc76c45"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const double &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#aeee0a24ce5cc4fa4280886220bd7c5a3">operator[]</a> (unsigned int i) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#ad3c9665119fb344cd8c433d7bb728185">operator[]</a> (unsigned int i)</td></tr>
<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a99f7c6bfed7469b61388e7561d4dc4ea">m_phi</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The orientation of the pose, in radians.  <a href="#a99f7c6bfed7469b61388e7561d4dc4ea"></a><br/></td></tr>
<tr><td colspan="2"><h2>STL-like methods and typedefs</h2></td></tr>
<tr><td colspan="2"><p><a class="anchor" id="amgrp911bb342556a8dd173bb4fafb94ae789"></a> </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a9bc30ad12dcade0a9023e4b8afefeccfa616dbe81384c04593f6ceba6900ed3da">static_size</a> =  3
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#abd727842b33bdc996193542eac59d2cf">value_type</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The type of the elements.  <a href="#abd727842b33bdc996193542eac59d2cf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef double &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#af051b1929e209c4470b375cdf7b03e22">reference</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef const double &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a220e36934cab751a190f49a45a2a795e">const_reference</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a725f4e96a30744544f66353acd7f71b3">size_type</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::ptrdiff_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a0b1b58c488dfb4f06a0406b1a7e9110e">difference_type</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a725f4e96a30744544f66353acd7f71b3">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a94866b23ca1356e1f826dc7800f30053">size</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a8a91f9ec0643666245ae8dda4be55fe0">empty</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a725f4e96a30744544f66353acd7f71b3">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a11c5cc49eea67c0cf1b03e074f33c5d8">max_size</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a5c882c30f76dc451c77d0b6fa50c2fbb">resize</a> (const size_t n)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A class used to store a 2D pose. </p>
<p>A class used to store a 2D pose, including the 2D coordinate point and a heading (phi) angle. It is used in many situations, from defining a robot pose, maps relative poses, sensors,...</p>
<p>For a complete description of Points/Poses, see <a class="el" href="classmrpt_1_1poses_1_1_c_pose_or_point.html" title="The base class for 2D points, 3D points, 2D poses and 3D poses.">mrpt::poses::CPoseOrPoint</a>, or refer to the <a href="http://www.mrpt.org/2D_3D_Geometry">2D/3D Geometry tutorial</a> in the wiki.</p>
<div align="center"></div><div align="center"><table  class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0" style="border-collapse:collapse;border:none">
<tr>
<td width="576" colspan="2" style="width:432.2pt;border:solid windowtext 1.0pt;
  background:#E6E6E6;padding:0cm 5.4pt 0cm 5.4pt"><p class="starttd"></p>
<p class="endtd"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html" title="A class used to store a 2D pose.">poses::CPose2D</a>   </p>
</td></tr>
<tr>
<td width="288" style="width:216.1pt;border:solid windowtext 1.0pt;border-top:
  none;padding:0cm 5.4pt 0cm 5.4pt"><p class="starttd"></p>
<p class="endtd">Homogeneous transfomation matrix  </p>
</td><td width="288" style="width:216.1pt;border-top:none;border-left:none;
  border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0cm 5.4pt 0cm 5.4pt"><p class="starttd"></p>
<p class="endtd">Spatial representation   </p>
</td></tr>
<tr style="height:108.3pt">
<td width="288" style="width:216.1pt;border:solid windowtext 1.0pt;border-top:
  none;padding:0cm 5.4pt 0cm 5.4pt;height:108.3pt"><div align="center"> <table  border="0" cellspacing="0" cellpadding="0" width="67%" style="width:67.92%;border-collapse:collapse">
<tr style="height:20.6pt">
<td width="46" style="width:34.85pt;padding:0cm 5.4pt 0cm 5.4pt;height:20.6pt"><p class="starttd"></p>
<p class="endtd">cos<span style="font-family:Symbol">j</span>  </p>
</td><td width="46" style="width:34.85pt;padding:0cm 5.4pt 0cm 5.4pt;height:20.6pt"><p class="starttd"></p>
<p class="endtd">-sin<span style="font-family:Symbol">j</span>  </p>
</td><td width="46" style="width:34.85pt;padding:0cm 5.4pt 0cm 5.4pt;height:20.6pt"><p class="starttd"></p>
<p class="endtd">0  </p>
</td><td width="47" style="width:34.9pt;padding:0cm 5.4pt 0cm 5.4pt;height:20.6pt"><p class="starttd"></p>
<p class="endtd">x   </p>
</td></tr>
<tr style="height:20.6pt">
<td width="46" style="width:34.85pt;padding:0cm 5.4pt 0cm 5.4pt;height:20.6pt"><p class="starttd"></p>
<p class="endtd">sin<span style="font-family:Symbol">j</span>  </p>
</td><td width="46" style="width:34.85pt;padding:0cm 5.4pt 0cm 5.4pt;height:20.6pt"><p class="starttd"></p>
<p class="endtd">cos<span style="font-family:Symbol">j</span>  </p>
</td><td width="46" style="width:34.85pt;padding:0cm 5.4pt 0cm 5.4pt;height:20.6pt"><p class="starttd"></p>
<p class="endtd">0  </p>
</td><td width="47" style="width:34.9pt;padding:0cm 5.4pt 0cm 5.4pt;height:20.6pt"><p class="starttd"></p>
<p class="endtd">y   </p>
</td></tr>
<tr style="height:20.6pt">
<td width="46" style="width:34.85pt;padding:0cm 5.4pt 0cm 5.4pt;height:20.6pt"><p class="starttd"></p>
<p class="endtd">0  </p>
</td><td width="46" style="width:34.85pt;padding:0cm 5.4pt 0cm 5.4pt;height:20.6pt"><p class="starttd"></p>
<p class="endtd">0  </p>
</td><td width="46" style="width:34.85pt;padding:0cm 5.4pt 0cm 5.4pt;height:20.6pt"><p class="starttd"></p>
<p class="endtd">1  </p>
</td><td width="47" style="width:34.9pt;padding:0cm 5.4pt 0cm 5.4pt;height:20.6pt"><p class="starttd"></p>
<p class="endtd">0   </p>
</td></tr>
<tr style="height:20.6pt">
<td width="46" style="width:34.85pt;padding:0cm 5.4pt 0cm 5.4pt;height:20.6pt"><p class="starttd"></p>
<p class="endtd">0  </p>
</td><td width="46" style="width:34.85pt;padding:0cm 5.4pt 0cm 5.4pt;height:20.6pt"><p class="starttd"></p>
<p class="endtd">0  </p>
</td><td width="46" style="width:34.85pt;padding:0cm 5.4pt 0cm 5.4pt;height:20.6pt"><p class="starttd"></p>
<p class="endtd">0  </p>
</td><td width="47" style="width:34.9pt;padding:0cm 5.4pt 0cm 5.4pt;height:20.6pt"><p class="starttd"></p>
<p class="endtd">1   </p>
</td></tr>
</table>
</div> <p class="endtd"></p>
</td><td width="288" style="width:216.1pt;border-top:none;border-left:none;
  border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  padding:0cm 5.4pt 0cm 5.4pt;height:108.3pt"><p class="starttd"></p>
<div align="center">
<img src="CPose2D.gif" alt="CPose2D.gif"/>
</div>
   </td></tr>
</table>
</div><div align="center"></div><dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1poses_1_1_c_pose_or_point.html" title="The base class for 2D points, 3D points, 2D poses and 3D poses.">CPoseOrPoint</a>,<a class="el" href="classmrpt_1_1poses_1_1_c_point2_d.html" title="A class used to store a 2D point.">CPoint2D</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00154">154</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a220e36934cab751a190f49a45a2a795e"></a><!-- doxytag: member="mrpt::poses::CPose2D::const_reference" ref="a220e36934cab751a190f49a45a2a795e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef const double&amp; <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a220e36934cab751a190f49a45a2a795e">mrpt::poses::CPose2D::const_reference</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00294">294</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0b1b58c488dfb4f06a0406b1a7e9110e"></a><!-- doxytag: member="mrpt::poses::CPose2D::difference_type" ref="a0b1b58c488dfb4f06a0406b1a7e9110e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::ptrdiff_t <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a0b1b58c488dfb4f06a0406b1a7e9110e">mrpt::poses::CPose2D::difference_type</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00296">296</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>

</div>
</div>
<a class="anchor" id="af051b1929e209c4470b375cdf7b03e22"></a><!-- doxytag: member="mrpt::poses::CPose2D::reference" ref="af051b1929e209c4470b375cdf7b03e22" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef double&amp; <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#af051b1929e209c4470b375cdf7b03e22">mrpt::poses::CPose2D::reference</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00293">293</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>

</div>
</div>
<a class="anchor" id="a725f4e96a30744544f66353acd7f71b3"></a><!-- doxytag: member="mrpt::poses::CPose2D::size_type" ref="a725f4e96a30744544f66353acd7f71b3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::size_t <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a725f4e96a30744544f66353acd7f71b3">mrpt::poses::CPose2D::size_type</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00295">295</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>

</div>
</div>
<a class="anchor" id="abd727842b33bdc996193542eac59d2cf"></a><!-- doxytag: member="mrpt::poses::CPose2D::value_type" ref="abd727842b33bdc996193542eac59d2cf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef double <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#abd727842b33bdc996193542eac59d2cf">mrpt::poses::CPose2D::value_type</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The type of the elements. </p>

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00292">292</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>

</div>
</div>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a9bc30ad12dcade0a9023e4b8afefeccf"></a><!-- doxytag: member="mrpt::poses::CPose2D::@6" ref="a9bc30ad12dcade0a9023e4b8afefeccf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a9bc30ad12dcade0a9023e4b8afefeccfa616dbe81384c04593f6ceba6900ed3da"></a><!-- doxytag: member="static_size" ref="a9bc30ad12dcade0a9023e4b8afefeccfa616dbe81384c04593f6ceba6900ed3da" args="" -->static_size</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00299">299</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a7c091d2014d0922816c3fcbc0bb08a30"></a><!-- doxytag: member="mrpt::poses::CPose2D::CPose2D" ref="a7c091d2014d0922816c3fcbc0bb08a30" args="(const double &amp;x=0, const double &amp;y=0, const double &amp;phi=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::poses::CPose2D::CPose2D </td>
          <td>(</td>
          <td class="paramtype">const double &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double &amp;&nbsp;</td>
          <td class="paramname"> <em>y</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double &amp;&nbsp;</td>
          <td class="paramname"> <em>phi</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor from an initial value of the pose. </p>

</div>
</div>
<a class="anchor" id="abe15d08e6cbcc58c300659197da08a22"></a><!-- doxytag: member="mrpt::poses::CPose2D::CPose2D" ref="abe15d08e6cbcc58c300659197da08a22" args="(const CPoint2D &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::poses::CPose2D::CPose2D </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_point2_d.html">CPoint2D</a> &amp;&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor from a <a class="el" href="classmrpt_1_1poses_1_1_c_point2_d.html" title="A class used to store a 2D point.">CPoint2D</a> object. </p>

</div>
</div>
<a class="anchor" id="a68475a04b152cc8826eeb2c6b608b982"></a><!-- doxytag: member="mrpt::poses::CPose2D::CPose2D" ref="a68475a04b152cc8826eeb2c6b608b982" args="(const CPose3D &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::poses::CPose2D::CPose2D </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Aproximation!! Avoid its use, since information is lost. </p>

</div>
</div>
<a class="anchor" id="ac441c9a7d11df9ea3d1e1c3dc7bbea44"></a><!-- doxytag: member="mrpt::poses::CPose2D::CPose2D" ref="ac441c9a7d11df9ea3d1e1c3dc7bbea44" args="(const mrpt::math::TPose2D &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::poses::CPose2D::CPose2D </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_pose2_d.html">mrpt::math::TPose2D</a> &amp;&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor from lightweight object. </p>

</div>
</div>
<a class="anchor" id="a0168f0119a445670ca6f3453104111cb"></a><!-- doxytag: member="mrpt::poses::CPose2D::CPose2D" ref="a0168f0119a445670ca6f3453104111cb" args="(const CPoint3D &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::poses::CPose2D::CPose2D </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_point3_d.html">CPoint3D</a> &amp;&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor from <a class="el" href="classmrpt_1_1poses_1_1_c_point3_d.html" title="A class used to store a 3D point.">CPoint3D</a> with information loss. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a822ab3b4e10ed8ed4f397d46a74d40ac"></a><!-- doxytag: member="mrpt::poses::CPose2D::AddComponents" ref="a822ab3b4e10ed8ed4f397d46a74d40ac" args="(CPose2D &amp;p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose2D::AddComponents </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>p</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Scalar sum of components: This is diferent from poses composition, which is implemented as "+" operators in "CPose" derived classes. </p>

</div>
</div>
<a class="anchor" id="a90146aa8bce8595470d09c68f87c720a"></a><!-- doxytag: member="mrpt::poses::CPose2D::asString" ref="a90146aa8bce8595470d09c68f87c720a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string mrpt::poses::CPose2D::asString </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00252">252</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>

<p>References <a class="el" href="_c_pose2_d_8h_source.html#l00252">asString()</a>.</p>

<p>Referenced by <a class="el" href="_c_pose2_d_8h_source.html#l00252">asString()</a>.</p>

</div>
</div>
<a class="anchor" id="a923f71e43765c84a643598294ce8c366"></a><!-- doxytag: member="mrpt::poses::CPose2D::asString" ref="a923f71e43765c84a643598294ce8c366" args="(std::string &amp;s) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose2D::asString </td>
          <td>(</td>
          <td class="paramtype">std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>s</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a human-readable textual representation of the object (eg: "[x y yaw]", yaw in degrees). </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a0d4ba5c65bfd337c90443af16bc76c45" title="Set the current object value from a string generated by &#39;asString&#39; (eg: &quot;[0...">fromString</a> </dd></dl>

<p>Implements <a class="el" href="classmrpt_1_1poses_1_1_c_pose_or_point.html#a56b7197f922e368e999cecc81cd1d7ab">mrpt::poses::CPoseOrPoint</a>.</p>

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00251">251</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>

<p>References <a class="el" href="namespacemrpt.html#a3a27af794b658df5491e2b7678f8ccb8">mrpt::format()</a>, and <a class="el" href="utils__defs_8h_source.html#l00557">mrpt::utils::RAD2DEG()</a>.</p>

</div>
</div>
<a class="anchor" id="a2ba3de5ebc968d76ce5c191c4c14d008"></a><!-- doxytag: member="mrpt::poses::CPose2D::composeFrom" ref="a2ba3de5ebc968d76ce5c191c4c14d008" args="(const CPose2D &amp;A, const CPose2D &amp;B)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose2D::composeFrom </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>B</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Makes <img class="formulaInl" alt="$ this = A \oplus B $" src="form_69.png"/>. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>A or B can be "this" without problems. </dd></dl>

</div>
</div>
<a class="anchor" id="a70d683f22aab165cb388badfd15fc41e"></a><!-- doxytag: member="mrpt::poses::CPose2D::composePoint" ref="a70d683f22aab165cb388badfd15fc41e" args="(double lx, double ly, double &amp;gx, double &amp;gy) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose2D::composePoint </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>lx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>ly</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&nbsp;</td>
          <td class="paramname"> <em>gx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&nbsp;</td>
          <td class="paramname"> <em>gy</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>An alternative, slightly more efficient way of doing <img class="formulaInl" alt="$ G = P \oplus L $" src="form_71.png"/> with G and L being 2D points and P this 2D pose. </p>

</div>
</div>
<a class="anchor" id="a8a91f9ec0643666245ae8dda4be55fe0"></a><!-- doxytag: member="mrpt::poses::CPose2D::empty" ref="a8a91f9ec0643666245ae8dda4be55fe0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool mrpt::poses::CPose2D::empty </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00301">301</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0d4ba5c65bfd337c90443af16bc76c45"></a><!-- doxytag: member="mrpt::poses::CPose2D::fromString" ref="a0d4ba5c65bfd337c90443af16bc76c45" args="(const std::string &amp;s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose2D::fromString </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>s</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the current object value from a string generated by 'asString' (eg: "[0.02 1.04 -0.8]" ). </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a923f71e43765c84a643598294ce8c366" title="Returns a human-readable textual representation of the object (eg: &quot;[x y yaw]&quot;...">asString</a> </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>std::exception</em>&nbsp;</td><td>On invalid format </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classmrpt_1_1poses_1_1_c_pose_or_point.html#ad96b801d357d266c7b398533319e14d9">mrpt::poses::CPoseOrPoint</a>.</p>

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00258">258</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>

<p>References <a class="el" href="utils__defs_8h_source.html#l00375">ASSERTMSG_</a>, <a class="el" href="utils__defs_8h_source.html#l00548">mrpt::utils::DEG2RAD()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00929">mrpt::math::CMatrixTemplate&lt; T &gt;::fromMatlabStringFormat()</a>, <a class="el" href="_c_matrix_template_8h_source.html#l00481">mrpt::math::CMatrixTemplate&lt; T &gt;::get_unsafe()</a>, <a class="el" href="utils__defs_8h_source.html#l00534">mrpt::math::size()</a>, and <a class="el" href="utils__defs_8h_source.html#l00237">THROW_EXCEPTION</a>.</p>

</div>
</div>
<a class="anchor" id="a2fb82f99d8b6dff4c60ba3a3ee90360d"></a><!-- doxytag: member="mrpt::poses::CPose2D::getAsVector" ref="a2fb82f99d8b6dff4c60ba3a3ee90360d" args="(vector_double &amp;v) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose2D::getAsVector </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmrpt_1_1mrpt__base__vector.html">vector_double</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a 1x3 vector with [x y phi]. </p>

<p>Implements <a class="el" href="classmrpt_1_1poses_1_1_c_pose_or_point.html#a51b136649e16bc3f7ee5591210247f37">mrpt::poses::CPoseOrPoint</a>.</p>

</div>
</div>
<a class="anchor" id="a3bbd649439693e8a0bf8e1706c366af5"></a><!-- doxytag: member="mrpt::poses::CPose2D::getHomogeneousMatrix" ref="a3bbd649439693e8a0bf8e1706c366af5" args="(CMatrixDouble44 &amp;out_HM) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose2D::getHomogeneousMatrix </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html">CMatrixDouble44</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>out_HM</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the corresponding 4x4 homogeneous transformation matrix for the point(translation) or pose (translation+orientation). </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1poses_1_1_c_pose_or_point.html#a573fbc8166aa8c2ee04ff229a178fb10" title="Returns the corresponding inverse homogeneous transformation matrix for the point(translation)...">getInverseHomogeneousMatrix</a> </dd></dl>

<p>Implements <a class="el" href="classmrpt_1_1poses_1_1_c_pose_or_point.html#af56eab23027a9b1a6fc2f51530c9f028">mrpt::poses::CPoseOrPoint</a>.</p>

</div>
</div>
<a class="anchor" id="a11c5cc49eea67c0cf1b03e074f33c5d8"></a><!-- doxytag: member="mrpt::poses::CPose2D::max_size" ref="a11c5cc49eea67c0cf1b03e074f33c5d8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a725f4e96a30744544f66353acd7f71b3">size_type</a> mrpt::poses::CPose2D::max_size </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00302">302</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>

</div>
</div>
<a class="anchor" id="a56c26b2a368ca3220552b68a6e21bb83"></a><!-- doxytag: member="mrpt::poses::CPose2D::normalizePhi" ref="a56c26b2a368ca3220552b68a6e21bb83" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose2D::normalizePhi </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Forces "phi" to be in the range [-pi,pi];. </p>

</div>
</div>
<a class="anchor" id="a66d862da0452e99199a9eef1263b5602"></a><!-- doxytag: member="mrpt::poses::CPose2D::operator*=" ref="a66d862da0452e99199a9eef1263b5602" args="(const double s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose2D::operator*= </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>s</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Scalar multiplication. </p>

<p>Implements <a class="el" href="classmrpt_1_1poses_1_1_c_pose_or_point.html#a1cb5c9b1e646607ff079421484b1e581">mrpt::poses::CPoseOrPoint</a>.</p>

</div>
</div>
<a class="anchor" id="a1754304d4fd62e9adefb7ed6dcff75bd"></a><!-- doxytag: member="mrpt::poses::CPose2D::operator+" ref="a1754304d4fd62e9adefb7ed6dcff75bd" args="(const CPoint3D &amp;u) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1poses_1_1_c_point3_d.html">CPoint3D</a> mrpt::poses::CPose2D::operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_point3_d.html">CPoint3D</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>u</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The operator <img class="formulaInl" alt="$ u' = this \oplus u $" src="form_70.png"/> is the pose/point compounding operator. </p>

</div>
</div>
<a class="anchor" id="accebdce21e12f75e4a7b5b22b493100f"></a><!-- doxytag: member="mrpt::poses::CPose2D::operator+" ref="accebdce21e12f75e4a7b5b22b493100f" args="(const CPoint2D &amp;u) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1poses_1_1_c_point2_d.html">CPoint2D</a> mrpt::poses::CPose2D::operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_point2_d.html">CPoint2D</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>u</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The operator <img class="formulaInl" alt="$ u' = this \oplus u $" src="form_70.png"/> is the pose/point compounding operator. </p>

</div>
</div>
<a class="anchor" id="af97c915a62fe8cf547f3e54db8c76e2f"></a><!-- doxytag: member="mrpt::poses::CPose2D::operator+" ref="af97c915a62fe8cf547f3e54db8c76e2f" args="(const CPose3D &amp;D) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> mrpt::poses::CPose2D::operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>D</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The operator <img class="formulaInl" alt="$ a = this \oplus D $" src="form_68.png"/> is the pose compounding operator. </p>

</div>
</div>
<a class="anchor" id="a930b1d663a0523f23e2e02f68c04c787"></a><!-- doxytag: member="mrpt::poses::CPose2D::operator+" ref="a930b1d663a0523f23e2e02f68c04c787" args="(const CPose2D &amp;D) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> mrpt::poses::CPose2D::operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>D</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The operator <img class="formulaInl" alt="$ a = this \oplus D $" src="form_68.png"/> is the pose compounding operator. </p>

</div>
</div>
<a class="anchor" id="a743ae7ff1f5461b57b4f967d2c07b8ed"></a><!-- doxytag: member="mrpt::poses::CPose2D::operator+=" ref="a743ae7ff1f5461b57b4f967d2c07b8ed" args="(const CPose2D &amp;b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a>&amp; mrpt::poses::CPose2D::operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Make <img class="formulaInl" alt="$ this = this \oplus b $" src="form_75.png"/>. </p>

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00238">238</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>

</div>
</div>
<a class="anchor" id="a63e44062c1987adc66f4f3fd2eb67a44"></a><!-- doxytag: member="mrpt::poses::CPose2D::operator&#45;" ref="a63e44062c1987adc66f4f3fd2eb67a44" args="(const CPose2D &amp;b) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> mrpt::poses::CPose2D::operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>b</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The operator <img class="formulaInl" alt="$ D = this \ominus b $" src="form_72.png"/> is the pose inverse compounding operator, the resulting pose D fulfils: <img class="formulaInl" alt="$ this = b \oplus D $" src="form_73.png"/>, that is: <img class="formulaInl" alt="$ b = a \oplus (b \ominus a) $" src="form_74.png"/>. </p>

</div>
</div>
<a class="anchor" id="ad3c9665119fb344cd8c433d7bb728185"></a><!-- doxytag: member="mrpt::poses::CPose2D::operator[]" ref="ad3c9665119fb344cd8c433d7bb728185" args="(unsigned int i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double&amp; mrpt::poses::CPose2D::operator[] </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>i</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00278">278</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>

</div>
</div>
<a class="anchor" id="aeee0a24ce5cc4fa4280886220bd7c5a3"></a><!-- doxytag: member="mrpt::poses::CPose2D::operator[]" ref="aeee0a24ce5cc4fa4280886220bd7c5a3" args="(unsigned int i) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const double&amp; mrpt::poses::CPose2D::operator[] </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>i</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00267">267</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>

</div>
</div>
<a class="anchor" id="a172c710f8ba69c0545ec440021bbf6e5"></a><!-- doxytag: member="mrpt::poses::CPose2D::phi" ref="a172c710f8ba69c0545ec440021bbf6e5" args="(double angle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose2D::phi </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>angle</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the phi angle of the 2D pose (in radians). </p>

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00187">187</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>

</div>
</div>
<a class="anchor" id="a62679bcbf73d269199229bb1c73e61a1"></a><!-- doxytag: member="mrpt::poses::CPose2D::phi" ref="a62679bcbf73d269199229bb1c73e61a1" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::poses::CPose2D::phi </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the phi angle of the 2D pose (in radians). </p>

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00184">184</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>

<p>Referenced by <a class="el" href="_c_robot2_d_pose_estimator_8h_source.html#l00105">mrpt::poses::CRobot2DPoseEstimator::getLatestRobotPose()</a>.</p>

</div>
</div>
<a class="anchor" id="a3b13bb9180075ac5ccfdc62fb5060adc"></a><!-- doxytag: member="mrpt::poses::CPose2D::phi_incr" ref="a3b13bb9180075ac5ccfdc62fb5060adc" args="(const double Aphi)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose2D::phi_incr </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>Aphi</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Increment the PHI angle (without checking the 2 PI range, call normalizePhi is needed). </p>

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00189">189</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5c882c30f76dc451c77d0b6fa50c2fbb"></a><!-- doxytag: member="mrpt::poses::CPose2D::resize" ref="a5c882c30f76dc451c77d0b6fa50c2fbb" args="(const size_t n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void mrpt::poses::CPose2D::resize </td>
          <td>(</td>
          <td class="paramtype">const size_t&nbsp;</td>
          <td class="paramname"> <em>n</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00303">303</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>

<p>References <a class="el" href="namespacemrpt.html#a3a27af794b658df5491e2b7678f8ccb8">mrpt::format()</a>.</p>

</div>
</div>
<a class="anchor" id="a94866b23ca1356e1f826dc7800f30053"></a><!-- doxytag: member="mrpt::poses::CPose2D::size" ref="a94866b23ca1356e1f826dc7800f30053" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a725f4e96a30744544f66353acd7f71b3">size_type</a> mrpt::poses::CPose2D::size </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00300">300</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a99f7c6bfed7469b61388e7561d4dc4ea"></a><!-- doxytag: member="mrpt::poses::CPose2D::m_phi" ref="a99f7c6bfed7469b61388e7561d4dc4ea" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html#a99f7c6bfed7469b61388e7561d4dc4ea">mrpt::poses::CPose2D::m_phi</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The orientation of the pose, in radians. </p>

<p>Definition at line <a class="el" href="_c_pose2_d_8h_source.html#l00160">160</a> of file <a class="el" href="_c_pose2_d_8h_source.html">CPose2D.h</a>.</p>

</div>
</div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&nbsp;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.6.2-20100208</a> for MRPT 0.9.0 SVN: at Wed Jul 14 12:48:09 UTC 2010</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table> </body></html>