Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 2f6559b7006594cad03af173263c219e > files > 3933

mrpt-doc-0.9.4-0.1.20110110svn2383.fc15.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>The MRPT project: mrpt::poses::CPose3DQuatPDFGaussian 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.2 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div 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 id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
          <span 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>
          </span><span class="right"></span>
        </div>
      </li>
    </ul>
  </div>
  <div 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="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath">
    <ul>
      <li><a class="el" href="namespacemrpt.html">mrpt</a>      </li>
      <li><a class="el" href="namespacemrpt_1_1poses.html">poses</a>      </li>
      <li><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html">CPose3DQuatPDFGaussian</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a>  </div>
  <div class="headertitle">
<h1>mrpt::poses::CPose3DQuatPDFGaussian Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="mrpt::poses::CPose3DQuatPDFGaussian" --><!-- doxytag: inherits="mrpt::poses::CPose3DQuatPDF" --><hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Declares a class that represents a Probability Density function (PDF) of a 3D pose using a quaternion <img class="formulaInl" alt="$ p(\mathbf{x}) = [x ~ y ~ z ~ qr ~ qx ~ qy ~ qz]^\top $" src="form_68.png"/>. </p>
<p>This class implements that PDF using a mono-modal Gaussian distribution. See <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f.html" title="Declares a class that represents a Probability Density Function (PDF) of a 3D pose (6D actually)...">mrpt::poses::CPose3DQuatPDF</a> for more details, or <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f.html" title="Declares a class that represents a Probability Density Function (PDF) of a 3D pose (6D actually)...">mrpt::poses::CPose3DPDF</a> for classes based on Euler angles instead.</p>
<p>Uncertainty of pose composition operations ( <img class="formulaInl" alt="$ y = x \oplus u $" src="form_63.png"/>) is implemented in the methods "CPose3DQuatPDFGaussian::operator+=" and "CPose3DQuatPDFGaussian::jacobiansPoseComposition".</p>
<p>For further details on implemented methods and the theory behind them, see <a href="http://www.mrpt.org/6D_poses:equivalences_compositions_and_uncertainty">this report</a>.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html" title="A class used to store a 3D pose as a translation (x,y,z) and a quaternion (qr,qx,qy,qz).">CPose3DQuat</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f.html" title="Declares a class that represents a Probability Density Function (PDF) of a 3D pose (6D actually)...">CPose3DQuatPDF</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f.html" title="Declares a class that represents a Probability Density Function (PDF) of a 3D pose (6D actually)...">CPose3DPDF</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_pose3_d_quat_p_d_f_gaussian_8h_source.html#l00057">57</a> of file <a class="el" href="_c_pose3_d_quat_p_d_f_gaussian_8h_source.html">CPose3DQuatPDFGaussian.h</a>.</p>

<p><code>#include &lt;<a class="el" href="_c_pose3_d_quat_p_d_f_gaussian_8h_source.html">mrpt/poses/CPose3DQuatPDFGaussian.h</a>&gt;</code></p>
<!-- startSectionHeader --><div class="dynheader">
Inheritance diagram for mrpt::poses::CPose3DQuatPDFGaussian:<!-- endSectionHeader --></div>
<!-- startSectionSummary --><!-- endSectionSummary --><!-- startSectionContent --><div class="dyncontent">
<div class="center"><img src="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian__inherit__graph.png" border="0" usemap="#mrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian_inherit__map" alt="Inheritance graph"/></div>
<map name="mrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian_inherit__map" id="mrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian_inherit__map">
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center><!-- endSectionContent --></div>

<p><a href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a0525cb9e72f2d2fde6879e3a23970803">CPose3DQuatPDFGaussian</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor - set all values to zero.  <a href="#a0525cb9e72f2d2fde6879e3a23970803"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a62f17c6b9929e43ad69d3655f7e712cc">CPose3DQuatPDFGaussian</a> (<a class="el" href="namespacemrpt_1_1math.html#a8ab289d85828809b390d477f824a908a">TConstructorFlags_Quaternions</a> constructor_dummy_param)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor which left all the member uninitialized, for using when speed is critical - as argument, use UNINITIALIZED_QUATERNION.  <a href="#a62f17c6b9929e43ad69d3655f7e712cc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#ac0a5c6eb579f249d030c790aed288205">CPose3DQuatPDFGaussian</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;init_Mean)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor from a default mean value, covariance equals to zero.  <a href="#ac0a5c6eb579f249d030c790aed288205"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a144a7981dfb38d9927c2bfd5d46d5976">CPose3DQuatPDFGaussian</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;init_Mean, const <a class="el" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html">CMatrixDouble77</a> &amp;init_Cov)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor with mean and covariance.  <a href="#a144a7981dfb38d9927c2bfd5d46d5976"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a0fda5f4c9470dc1eb735cb4b67e1373e">CPose3DQuatPDFGaussian</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose_p_d_f_gaussian.html">CPosePDFGaussian</a> &amp;o)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor from a Gaussian 2D pose PDF (sets to 0 the missing variables).  <a href="#a0fda5f4c9470dc1eb735cb4b67e1373e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#ab3246934cb6feb9349aaf4130fbc9f70">CPose3DQuatPDFGaussian</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f_gaussian.html">CPose3DPDFGaussian</a> &amp;o)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor from an equivalent Gaussian in Euler angles representation.  <a href="#ab3246934cb6feb9349aaf4130fbc9f70"></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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a2de8a38d2ddda3f723ac01c92295620a">getMean</a> (<a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;mean_pose) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an estimate of the pose, (the mean, or mathematical expectation of the PDF).  <a href="#a2de8a38d2ddda3f723ac01c92295620a"></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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#ac0ff19e3debdbe04272f578b3dbd8d9c">getCovarianceAndMean</a> (<a class="el" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html">CMatrixDouble77</a> &amp;<a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a98e9ac30bf4e14e62d00dd5096734469">cov</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;mean_point) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an estimate of the pose covariance matrix (7x7 cov matrix) and the mean, both at once.  <a href="#ac0ff19e3debdbe04272f578b3dbd8d9c"></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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a581b00cf10b0c74ec442eeeee97de497">copyFrom</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f.html">CPose3DQuatPDF</a> &amp;o)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy operator, translating if necesary (for example, between particles and gaussian representations)  <a href="#a581b00cf10b0c74ec442eeeee97de497"></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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a7f15197bf108fdc040b58578947a33cd">copyFrom</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose_p_d_f.html">CPosePDF</a> &amp;o)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy operator, translating if necesary (for example, between particles and gaussian representations)  <a href="#a7f15197bf108fdc040b58578947a33cd"></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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#af76ea6325729d7c5e1dc171277e36802">copyFrom</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f_gaussian.html">CPose3DPDFGaussian</a> &amp;o)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy operator, translating if necesary (for example, between particles and gaussian representations)  <a href="#af76ea6325729d7c5e1dc171277e36802"></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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a847f311f6701885163930974e1ab5df3">saveToTextFile</a> (const std::string &amp;file) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save the PDF to a text file, containing the 3D pose in the first line (x y z qr qx qy qz), then the covariance matrix in the next 7 lines.  <a href="#a847f311f6701885163930974e1ab5df3"></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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a9e1ff4a4d57b47d956dc9cee69fb5750">changeCoordinatesReference</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;newReferenceBase)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This can be used to convert a PDF from local coordinates to global, providing the point (newReferenceBase) from which "to project" the current pdf.  <a href="#a9e1ff4a4d57b47d956dc9cee69fb5750"></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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a59c0205aea68cf7a2a39b326030e5b80">changeCoordinatesReference</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;newReferenceBase)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This can be used to convert a PDF from local coordinates to global, providing the point (newReferenceBase) from which "to project" the current pdf.  <a href="#a59c0205aea68cf7a2a39b326030e5b80"></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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#adcd3efa17d5d670601296dc620e3fa82">drawSingleSample</a> (<a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;outPart) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws a single sample from the distribution.  <a href="#adcd3efa17d5d670601296dc620e3fa82"></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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#add75ad35e3dbc6e8f5ed4215a8126f38">drawManySamples</a> (size_t N, std::vector&lt; <a class="el" href="structmrpt_1_1dynamicsize__vector.html">vector_double</a> &gt; &amp;outSamples) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws a number of samples from the distribution, and saves as a list of 1x7 vectors, where each row contains a (x,y,z,qr,qx,qy,qz) datum.  <a href="#add75ad35e3dbc6e8f5ed4215a8126f38"></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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a0412cb799f10afb7eefb04cf8acd5ef1">bayesianFusion</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f.html">CPose3DQuatPDF</a> &amp;p1, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f.html">CPose3DQuatPDF</a> &amp;p2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Bayesian fusion of two points gauss.  <a href="#a0412cb799f10afb7eefb04cf8acd5ef1"></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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a5cd9c8c0ae61c9722470f37fdb13dc82">inverse</a> (<a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f.html">CPose3DQuatPDF</a> &amp;o) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a new PDF such as: NEW_PDF = (0,0,0) - THIS_PDF.  <a href="#a5cd9c8c0ae61c9722470f37fdb13dc82"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html">CPose3DQuatPDFGaussian</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#ab6cab269d16e848e6f5f8032a56a673d">operator-</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Unary - operator, returns the PDF of the inverse pose.  <a href="#ab6cab269d16e848e6f5f8032a56a673d"></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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a76378f723918dc8ac1c0b53633f78bc5">operator+=</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;Ap)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Makes: thisPDF = thisPDF + Ap, where "+" is pose composition (both the mean, and the covariance matrix are updated).  <a href="#a76378f723918dc8ac1c0b53633f78bc5"></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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a9615e72b0ecb0b0ff8fa599bbbdc6b0c">operator+=</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html">CPose3DQuatPDFGaussian</a> &amp;Ap)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Makes: thisPDF = thisPDF + Ap, where "+" is pose composition (both the mean, and the covariance matrix are updated) (see formulas in jacobiansPoseComposition ).  <a href="#a9615e72b0ecb0b0ff8fa599bbbdc6b0c"></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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a11ea18b69e90b0ed3b0f26a273be545b">operator-=</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html">CPose3DQuatPDFGaussian</a> &amp;Ap)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Makes: thisPDF = thisPDF - Ap, where "-" is pose inverse composition (both the mean, and the covariance matrix are updated).  <a href="#a11ea18b69e90b0ed3b0f26a273be545b"></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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a2bf67def3b591bd6d3a6d9af85bbe5fe">evaluatePDF</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;x) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the PDF at a given point.  <a href="#a2bf67def3b591bd6d3a6d9af85bbe5fe"></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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a0a077ed3346933cd698b9e40e73a5c38">evaluateNormalizedPDF</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;x) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the ratio PDF(x) / PDF(MEAN), that is, the normalized PDF in the range [0,1].  <a href="#a0a077ed3346933cd698b9e40e73a5c38"></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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a3dc573028317451f63169041f240bd19">mahalanobisDistanceTo</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html">CPose3DQuatPDFGaussian</a> &amp;theOther)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the Mahalanobis distance between the centers of two Gaussians.  <a href="#a3dc573028317451f63169041f240bd19"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#aa35605ffc24f236aafdc4900d56c03fe">jacobiansPoseComposition</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;x, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;u, <a class="el" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html">CMatrixDouble77</a> &amp;df_dx, <a class="el" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html">CMatrixDouble77</a> &amp;df_du, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> *out_x_oplus_u=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This static method computes the two Jacobians of a pose composition operation $f(x,u)= x  u$.  <a href="#aa35605ffc24f236aafdc4900d56c03fe"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a3c04628f52823fb9046a9ef1998c6020">mean</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The mean value.  <a href="#a3c04628f52823fb9046a9ef1998c6020"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html">CMatrixDouble77</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a98e9ac30bf4e14e62d00dd5096734469">cov</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The 7x7 covariance matrix.  <a href="#a98e9ac30bf4e14e62d00dd5096734469"></a><br/></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">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a413a8dacbabae53d5a9945f300bde4f7">assureSymmetry</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Assures the symmetry of the covariance matrix (eventually certain operations in the math-coprocessor lead to non-symmetric matrixes!)  <a href="#a413a8dacbabae53d5a9945f300bde4f7"></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">typedef <a class="el" href="structmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian_ptr.html">CPose3DQuatPDFGaussianPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a3e95d8a65a7acead6d42037945d5013a">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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a8265affbe3276490966b0c0dcbe8b04c">_init_CPose3DQuatPDFGaussian</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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#ad8812e14e61d65dfe68a9772a64a95c6">classCPose3DQuatPDFGaussian</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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a9116ea8b2a4ab5f1a7aa62545266ed5d">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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#abc73197606fa14b0ec8596c18f3b4d2d">_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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#adaf430914145be621d47f74890f5559d">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="#adaf430914145be621d47f74890f5559d"></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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#ad33b8d9da7a6f510520c342cb1ba81bd">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="#ad33b8d9da7a6f510520c342cb1ba81bd"></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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a110087115fdcf17215cb06b9c110b65e">CreateObject</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian_ptr.html">CPose3DQuatPDFGaussianPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#acf13a7e8b0e135245e79d12b2c8f6d2f">Create</a> ()</td></tr>
</table>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a3e95d8a65a7acead6d42037945d5013a"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::SmartPtr" ref="a3e95d8a65a7acead6d42037945d5013a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian_ptr.html">CPose3DQuatPDFGaussianPtr</a> <a class="el" href="structmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian_ptr.html">mrpt::poses::CPose3DQuatPDFGaussian::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_pose3_d_quat_p_d_f_gaussian_8h_source.html#l00060">60</a> of file <a class="el" href="_c_pose3_d_quat_p_d_f_gaussian_8h_source.html">CPose3DQuatPDFGaussian.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a0525cb9e72f2d2fde6879e3a23970803"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::CPose3DQuatPDFGaussian" ref="a0525cb9e72f2d2fde6879e3a23970803" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::poses::CPose3DQuatPDFGaussian::CPose3DQuatPDFGaussian </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default constructor - set all values to zero. </p>

</div>
</div>
<a class="anchor" id="a62f17c6b9929e43ad69d3655f7e712cc"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::CPose3DQuatPDFGaussian" ref="a62f17c6b9929e43ad69d3655f7e712cc" args="(TConstructorFlags_Quaternions constructor_dummy_param)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::poses::CPose3DQuatPDFGaussian::CPose3DQuatPDFGaussian </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacemrpt_1_1math.html#a8ab289d85828809b390d477f824a908a">TConstructorFlags_Quaternions</a>&#160;</td>
          <td class="paramname"> <em>constructor_dummy_param</em>&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor which left all the member uninitialized, for using when speed is critical - as argument, use UNINITIALIZED_QUATERNION. </p>

</div>
</div>
<a class="anchor" id="ac0a5c6eb579f249d030c790aed288205"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::CPose3DQuatPDFGaussian" ref="ac0a5c6eb579f249d030c790aed288205" args="(const CPose3DQuat &amp;init_Mean)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::poses::CPose3DQuatPDFGaussian::CPose3DQuatPDFGaussian </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;&#160;</td>
          <td class="paramname"> <em>init_Mean</em>&#160;)</td>
          <td><code> [explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor from a default mean value, covariance equals to zero. </p>

</div>
</div>
<a class="anchor" id="a144a7981dfb38d9927c2bfd5d46d5976"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::CPose3DQuatPDFGaussian" ref="a144a7981dfb38d9927c2bfd5d46d5976" args="(const CPose3DQuat &amp;init_Mean, const CMatrixDouble77 &amp;init_Cov)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::poses::CPose3DQuatPDFGaussian::CPose3DQuatPDFGaussian </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;&#160;</td>
          <td class="paramname"> <em>init_Mean</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html">CMatrixDouble77</a> &amp;&#160;</td>
          <td class="paramname"> <em>init_Cov</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor with mean and covariance. </p>

</div>
</div>
<a class="anchor" id="a0fda5f4c9470dc1eb735cb4b67e1373e"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::CPose3DQuatPDFGaussian" ref="a0fda5f4c9470dc1eb735cb4b67e1373e" args="(const CPosePDFGaussian &amp;o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::poses::CPose3DQuatPDFGaussian::CPose3DQuatPDFGaussian </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose_p_d_f_gaussian.html">CPosePDFGaussian</a> &amp;&#160;</td>
          <td class="paramname"> <em>o</em>&#160;)</td>
          <td><code> [explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor from a Gaussian 2D pose PDF (sets to 0 the missing variables). </p>

</div>
</div>
<a class="anchor" id="ab3246934cb6feb9349aaf4130fbc9f70"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::CPose3DQuatPDFGaussian" ref="ab3246934cb6feb9349aaf4130fbc9f70" args="(const CPose3DPDFGaussian &amp;o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::poses::CPose3DQuatPDFGaussian::CPose3DQuatPDFGaussian </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f_gaussian.html">CPose3DPDFGaussian</a> &amp;&#160;</td>
          <td class="paramname"> <em>o</em>&#160;)</td>
          <td><code> [explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor from an equivalent Gaussian in Euler angles representation. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="abc73197606fa14b0ec8596c18f3b4d2d"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::_GetBaseClass" ref="abc73197606fa14b0ec8596c18f3b4d2d" 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::poses::CPose3DQuatPDFGaussian::_GetBaseClass </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f.html#a8fe1bc47f91c792ad3638aaae10e7de2">mrpt::poses::CPose3DQuatPDF</a>.</p>

</div>
</div>
<a class="anchor" id="a413a8dacbabae53d5a9945f300bde4f7"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::assureSymmetry" ref="a413a8dacbabae53d5a9945f300bde4f7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose3DQuatPDFGaussian::assureSymmetry </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assures the symmetry of the covariance matrix (eventually certain operations in the math-coprocessor lead to non-symmetric matrixes!) </p>

</div>
</div>
<a class="anchor" id="a0412cb799f10afb7eefb04cf8acd5ef1"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::bayesianFusion" ref="a0412cb799f10afb7eefb04cf8acd5ef1" args="(const CPose3DQuatPDF &amp;p1, const CPose3DQuatPDF &amp;p2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose3DQuatPDFGaussian::bayesianFusion </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f.html">CPose3DQuatPDF</a> &amp;&#160;</td>
          <td class="paramname"> <em>p1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f.html">CPose3DQuatPDF</a> &amp;&#160;</td>
          <td class="paramname"> <em>p2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Bayesian fusion of two points gauss. </p>
<p>distributions, then save the result in this object. The process is as follows:<br/>
</p>
<ul>
<li>(x1,S1): Mean and variance of the p1 distribution.</li>
<li>(x2,S2): Mean and variance of the p2 distribution.</li>
<li>(x,S): Mean and variance of the resulting distribution.</li>
</ul>
<p>S = (S1<sup>-1</sup> + S2<sup>-1</sup>)<sup>-1</sup>; x = S * ( S1<sup>-1</sup>*x1 + S2<sup>-1</sup>*x2 ); </p>

<p>Implements <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f.html#a45694ec4703e01bbd1de8ed10ee67f63">mrpt::poses::CPose3DQuatPDF</a>.</p>

</div>
</div>
<a class="anchor" id="a9e1ff4a4d57b47d956dc9cee69fb5750"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::changeCoordinatesReference" ref="a9e1ff4a4d57b47d956dc9cee69fb5750" args="(const CPose3DQuat &amp;newReferenceBase)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose3DQuatPDFGaussian::changeCoordinatesReference </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;&#160;</td>
          <td class="paramname"> <em>newReferenceBase</em>&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This can be used to convert a PDF from local coordinates to global, providing the point (newReferenceBase) from which "to project" the current pdf. </p>
<p>Result PDF substituted the currently stored one in the object. </p>

</div>
</div>
<a class="anchor" id="a59c0205aea68cf7a2a39b326030e5b80"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::changeCoordinatesReference" ref="a59c0205aea68cf7a2a39b326030e5b80" args="(const CPose3D &amp;newReferenceBase)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose3DQuatPDFGaussian::changeCoordinatesReference </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;&#160;</td>
          <td class="paramname"> <em>newReferenceBase</em>&#160;)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This can be used to convert a PDF from local coordinates to global, providing the point (newReferenceBase) from which "to project" the current pdf. </p>
<p>Result PDF substituted the currently stored one in the object. </p>

<p>Implements <a class="el" href="classmrpt_1_1utils_1_1_c_probability_density_function.html#a5c1ecff0993cf6c91054b1557d2bae61">mrpt::utils::CProbabilityDensityFunction&lt; CPose3DQuat, 7 &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a581b00cf10b0c74ec442eeeee97de497"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::copyFrom" ref="a581b00cf10b0c74ec442eeeee97de497" args="(const CPose3DQuatPDF &amp;o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose3DQuatPDFGaussian::copyFrom </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f.html">CPose3DQuatPDF</a> &amp;&#160;</td>
          <td class="paramname"> <em>o</em>&#160;)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy operator, translating if necesary (for example, between particles and gaussian representations) </p>

<p>Implements <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f.html#ae7342cd102896846ae6bff69cdd53674">mrpt::poses::CPose3DQuatPDF</a>.</p>

</div>
</div>
<a class="anchor" id="a7f15197bf108fdc040b58578947a33cd"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::copyFrom" ref="a7f15197bf108fdc040b58578947a33cd" args="(const CPosePDF &amp;o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose3DQuatPDFGaussian::copyFrom </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose_p_d_f.html">CPosePDF</a> &amp;&#160;</td>
          <td class="paramname"> <em>o</em>&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy operator, translating if necesary (for example, between particles and gaussian representations) </p>

</div>
</div>
<a class="anchor" id="af76ea6325729d7c5e1dc171277e36802"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::copyFrom" ref="af76ea6325729d7c5e1dc171277e36802" args="(const CPose3DPDFGaussian &amp;o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose3DQuatPDFGaussian::copyFrom </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f_gaussian.html">CPose3DPDFGaussian</a> &amp;&#160;</td>
          <td class="paramname"> <em>o</em>&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy operator, translating if necesary (for example, between particles and gaussian representations) </p>

</div>
</div>
<a class="anchor" id="acf13a7e8b0e135245e79d12b2c8f6d2f"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::Create" ref="acf13a7e8b0e135245e79d12b2c8f6d2f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian_ptr.html">CPose3DQuatPDFGaussianPtr</a> mrpt::poses::CPose3DQuatPDFGaussian::Create </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a110087115fdcf17215cb06b9c110b65e"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::CreateObject" ref="a110087115fdcf17215cb06b9c110b65e" 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::poses::CPose3DQuatPDFGaussian::CreateObject </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="add75ad35e3dbc6e8f5ed4215a8126f38"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::drawManySamples" ref="add75ad35e3dbc6e8f5ed4215a8126f38" args="(size_t N, std::vector&lt; vector_double &gt; &amp;outSamples) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose3DQuatPDFGaussian::drawManySamples </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"> <em>N</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="structmrpt_1_1dynamicsize__vector.html">vector_double</a> &gt; &amp;&#160;</td>
          <td class="paramname"> <em>outSamples</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Draws a number of samples from the distribution, and saves as a list of 1x7 vectors, where each row contains a (x,y,z,qr,qx,qy,qz) datum. </p>

<p>Reimplemented from <a class="el" href="classmrpt_1_1utils_1_1_c_probability_density_function.html#ab3b687f6fa18a5c45e9d427d59cdabfc">mrpt::utils::CProbabilityDensityFunction&lt; CPose3DQuat, 7 &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="adcd3efa17d5d670601296dc620e3fa82"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::drawSingleSample" ref="adcd3efa17d5d670601296dc620e3fa82" args="(CPose3DQuat &amp;outPart) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose3DQuatPDFGaussian::drawSingleSample </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;&#160;</td>
          <td class="paramname"> <em>outPart</em>&#160;)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Draws a single sample from the distribution. </p>

<p>Implements <a class="el" href="classmrpt_1_1utils_1_1_c_probability_density_function.html#a65e4913d9b9185676df65a868c2db718">mrpt::utils::CProbabilityDensityFunction&lt; CPose3DQuat, 7 &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="ad33b8d9da7a6f510520c342cb1ba81bd"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::duplicate" ref="ad33b8d9da7a6f510520c342cb1ba81bd" 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::poses::CPose3DQuatPDFGaussian::duplicate </td>
          <td>(</td>
          <td class="paramname">&#160;)</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="a0a077ed3346933cd698b9e40e73a5c38"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::evaluateNormalizedPDF" ref="a0a077ed3346933cd698b9e40e73a5c38" args="(const CPose3DQuat &amp;x) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::poses::CPose3DQuatPDFGaussian::evaluateNormalizedPDF </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;&#160;</td>
          <td class="paramname"> <em>x</em>&#160;)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Evaluates the ratio PDF(x) / PDF(MEAN), that is, the normalized PDF in the range [0,1]. </p>

</div>
</div>
<a class="anchor" id="a2bf67def3b591bd6d3a6d9af85bbe5fe"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::evaluatePDF" ref="a2bf67def3b591bd6d3a6d9af85bbe5fe" args="(const CPose3DQuat &amp;x) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::poses::CPose3DQuatPDFGaussian::evaluatePDF </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;&#160;</td>
          <td class="paramname"> <em>x</em>&#160;)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Evaluates the PDF at a given point. </p>

</div>
</div>
<a class="anchor" id="ac0ff19e3debdbe04272f578b3dbd8d9c"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::getCovarianceAndMean" ref="ac0ff19e3debdbe04272f578b3dbd8d9c" args="(CMatrixDouble77 &amp;cov, CPose3DQuat &amp;mean_point) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose3DQuatPDFGaussian::getCovarianceAndMean </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html">CMatrixDouble77</a> &amp;&#160;</td>
          <td class="paramname"> <em>cov</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;&#160;</td>
          <td class="paramname"> <em>mean_point</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns an estimate of the pose covariance matrix (7x7 cov matrix) and the mean, both at once. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a2de8a38d2ddda3f723ac01c92295620a" title="Returns an estimate of the pose, (the mean, or mathematical expectation of the PDF).">getMean</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a2de8a38d2ddda3f723ac01c92295620a"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::getMean" ref="a2de8a38d2ddda3f723ac01c92295620a" args="(CPose3DQuat &amp;mean_pose) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose3DQuatPDFGaussian::getMean </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;&#160;</td>
          <td class="paramname"> <em>mean_pose</em>&#160;)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns an estimate of the pose, (the mean, or mathematical expectation of the PDF). </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1utils_1_1_c_probability_density_function.html#a1ff793a924aa83262b4b264e9409e062" title="Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)">getCovariance</a> </dd></dl>

<p>Implements <a class="el" href="classmrpt_1_1utils_1_1_c_probability_density_function.html#a2ca77b4e485660a8995c627d4c110d05">mrpt::utils::CProbabilityDensityFunction&lt; CPose3DQuat, 7 &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="adaf430914145be621d47f74890f5559d"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::GetRuntimeClass" ref="adaf430914145be621d47f74890f5559d" 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::poses::CPose3DQuatPDFGaussian::GetRuntimeClass </td>
          <td>(</td>
          <td class="paramname">&#160;)</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_1poses_1_1_c_pose3_d_quat_p_d_f.html#aaad1c961b33c0c0e56824c94ea8abaf6">mrpt::poses::CPose3DQuatPDF</a>.</p>

</div>
</div>
<a class="anchor" id="a5cd9c8c0ae61c9722470f37fdb13dc82"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::inverse" ref="a5cd9c8c0ae61c9722470f37fdb13dc82" args="(CPose3DQuatPDF &amp;o) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose3DQuatPDFGaussian::inverse </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f.html">CPose3DQuatPDF</a> &amp;&#160;</td>
          <td class="paramname"> <em>o</em>&#160;)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a new PDF such as: NEW_PDF = (0,0,0) - THIS_PDF. </p>

<p>Implements <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f.html#a7f9019aef3323595e975ee7775e73def">mrpt::poses::CPose3DQuatPDF</a>.</p>

</div>
</div>
<a class="anchor" id="aa35605ffc24f236aafdc4900d56c03fe"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::jacobiansPoseComposition" ref="aa35605ffc24f236aafdc4900d56c03fe" args="(const CPose3DQuat &amp;x, const CPose3DQuat &amp;u, CMatrixDouble77 &amp;df_dx, CMatrixDouble77 &amp;df_du, CPose3DQuat *out_x_oplus_u=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void mrpt::poses::CPose3DQuatPDFGaussian::jacobiansPoseComposition </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;&#160;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;&#160;</td>
          <td class="paramname"> <em>u</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html">CMatrixDouble77</a> &amp;&#160;</td>
          <td class="paramname"> <em>df_dx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html">CMatrixDouble77</a> &amp;&#160;</td>
          <td class="paramname"> <em>df_du</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> *&#160;</td>
          <td class="paramname"> <em>out_x_oplus_u</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This static method computes the two Jacobians of a pose composition operation $f(x,u)= x  u$. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">out_x_oplus_u</td><td>If set to !=NULL, the result of "x+u" will be stored here (it will be computed internally anyway). To see the mathematical derivation of the formulas, refer to the technical report here:</p>
<ul>
<li><a href="http://www.mrpt.org/Probability_Density_Distributions_Over_Spatial_Representations">http://www.mrpt.org/Probability_Density_Distributions_Over_Spatial_Representations</a> </li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3dc573028317451f63169041f240bd19"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::mahalanobisDistanceTo" ref="a3dc573028317451f63169041f240bd19" args="(const CPose3DQuatPDFGaussian &amp;theOther)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::poses::CPose3DQuatPDFGaussian::mahalanobisDistanceTo </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html">CPose3DQuatPDFGaussian</a> &amp;&#160;</td>
          <td class="paramname"> <em>theOther</em>&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the Mahalanobis distance between the centers of two Gaussians. </p>
<p>The variables with a variance exactly equal to 0 are not taken into account in the process, but "infinity" is returned if the corresponding elements are not exactly equal. </p>

</div>
</div>
<a class="anchor" id="a9615e72b0ecb0b0ff8fa599bbbdc6b0c"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::operator+=" ref="a9615e72b0ecb0b0ff8fa599bbbdc6b0c" args="(const CPose3DQuatPDFGaussian &amp;Ap)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose3DQuatPDFGaussian::operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html">CPose3DQuatPDFGaussian</a> &amp;&#160;</td>
          <td class="paramname"> <em>Ap</em>&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Makes: thisPDF = thisPDF + Ap, where "+" is pose composition (both the mean, and the covariance matrix are updated) (see formulas in jacobiansPoseComposition ). </p>

</div>
</div>
<a class="anchor" id="a76378f723918dc8ac1c0b53633f78bc5"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::operator+=" ref="a76378f723918dc8ac1c0b53633f78bc5" args="(const CPose3DQuat &amp;Ap)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose3DQuatPDFGaussian::operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;&#160;</td>
          <td class="paramname"> <em>Ap</em>&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Makes: thisPDF = thisPDF + Ap, where "+" is pose composition (both the mean, and the covariance matrix are updated). </p>

</div>
</div>
<a class="anchor" id="ab6cab269d16e848e6f5f8032a56a673d"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::operator&#45;" ref="ab6cab269d16e848e6f5f8032a56a673d" args="() 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_quat_p_d_f_gaussian.html">CPose3DQuatPDFGaussian</a> mrpt::poses::CPose3DQuatPDFGaussian::operator- </td>
          <td>(</td>
          <td class="paramname">&#160;)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Unary - operator, returns the PDF of the inverse pose. </p>

<p>Definition at line <a class="el" href="_c_pose3_d_quat_p_d_f_gaussian_8h_source.html#l00152">152</a> of file <a class="el" href="_c_pose3_d_quat_p_d_f_gaussian_8h_source.html">CPose3DQuatPDFGaussian.h</a>.</p>

<p>References <a class="el" href="_array_cwise_unary_ops_8h_source.html#l00119">inverse()</a>, and <a class="el" href="_c_quaternion_8h_source.html#l00042">mrpt::math::UNINITIALIZED_QUATERNION</a>.</p>

</div>
</div>
<a class="anchor" id="a11ea18b69e90b0ed3b0f26a273be545b"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::operator&#45;=" ref="a11ea18b69e90b0ed3b0f26a273be545b" args="(const CPose3DQuatPDFGaussian &amp;Ap)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose3DQuatPDFGaussian::operator-= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html">CPose3DQuatPDFGaussian</a> &amp;&#160;</td>
          <td class="paramname"> <em>Ap</em>&#160;)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Makes: thisPDF = thisPDF - Ap, where "-" is pose inverse composition (both the mean, and the covariance matrix are updated). </p>

</div>
</div>
<a class="anchor" id="a847f311f6701885163930974e1ab5df3"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::saveToTextFile" ref="a847f311f6701885163930974e1ab5df3" args="(const std::string &amp;file) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::poses::CPose3DQuatPDFGaussian::saveToTextFile </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"> <em>file</em>&#160;)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Save the PDF to a text file, containing the 3D pose in the first line (x y z qr qx qy qz), then the covariance matrix in the next 7 lines. </p>

<p>Implements <a class="el" href="classmrpt_1_1utils_1_1_c_probability_density_function.html#ae6a5bafd2ff6139be00648848faf4cd8">mrpt::utils::CProbabilityDensityFunction&lt; CPose3DQuat, 7 &gt;</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a8265affbe3276490966b0c0dcbe8b04c"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::_init_CPose3DQuatPDFGaussian" ref="a8265affbe3276490966b0c0dcbe8b04c" 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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a8265affbe3276490966b0c0dcbe8b04c">mrpt::poses::CPose3DQuatPDFGaussian::_init_CPose3DQuatPDFGaussian</a><code> [static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_pose3_d_quat_p_d_f_gaussian_8h_source.html#l00060">60</a> of file <a class="el" href="_c_pose3_d_quat_p_d_f_gaussian_8h_source.html">CPose3DQuatPDFGaussian.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad8812e14e61d65dfe68a9772a64a95c6"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::classCPose3DQuatPDFGaussian" ref="ad8812e14e61d65dfe68a9772a64a95c6" 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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#ad8812e14e61d65dfe68a9772a64a95c6">mrpt::poses::CPose3DQuatPDFGaussian::classCPose3DQuatPDFGaussian</a><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_pose3_d_quat_p_d_f_gaussian_8h_source.html#l00060">60</a> of file <a class="el" href="_c_pose3_d_quat_p_d_f_gaussian_8h_source.html">CPose3DQuatPDFGaussian.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9116ea8b2a4ab5f1a7aa62545266ed5d"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::classinfo" ref="a9116ea8b2a4ab5f1a7aa62545266ed5d" 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_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a9116ea8b2a4ab5f1a7aa62545266ed5d">mrpt::poses::CPose3DQuatPDFGaussian::classinfo</a><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_pose3_d_quat_p_d_f_gaussian_8h_source.html#l00060">60</a> of file <a class="el" href="_c_pose3_d_quat_p_d_f_gaussian_8h_source.html">CPose3DQuatPDFGaussian.h</a>.</p>

</div>
</div>
<a class="anchor" id="a98e9ac30bf4e14e62d00dd5096734469"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::cov" ref="a98e9ac30bf4e14e62d00dd5096734469" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html">CMatrixDouble77</a> <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a98e9ac30bf4e14e62d00dd5096734469">mrpt::poses::CPose3DQuatPDFGaussian::cov</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The 7x7 covariance matrix. </p>

<p>Definition at line <a class="el" href="_c_pose3_d_quat_p_d_f_gaussian_8h_source.html#l00090">90</a> of file <a class="el" href="_c_pose3_d_quat_p_d_f_gaussian_8h_source.html">CPose3DQuatPDFGaussian.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3c04628f52823fb9046a9ef1998c6020"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::mean" ref="a3c04628f52823fb9046a9ef1998c6020" args="" -->
<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_quat.html">CPose3DQuat</a> <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f_gaussian.html#a3c04628f52823fb9046a9ef1998c6020">mrpt::poses::CPose3DQuatPDFGaussian::mean</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The mean value. </p>

<p>Definition at line <a class="el" href="_c_pose3_d_quat_p_d_f_gaussian_8h_source.html#l00087">87</a> of file <a class="el" href="_c_pose3_d_quat_p_d_f_gaussian_8h_source.html">CPose3DQuatPDFGaussian.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.2</a> for MRPT 0.9.4 SVN: at Mon Jan 10 22:30:30 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table> </body></html>