<!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> > <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 Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li 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 List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class 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> | <a href="#pub-static-methods">Static Public Member Functions</a> | <a href="#pub-attribs">Public Attributes</a> | <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 <<a class="el" href="_c_pose3_d_quat_p_d_f_gaussian_8h_source.html">mrpt/poses/CPose3DQuatPDFGaussian.h</a>></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"> </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"> </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"> </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"> </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"> </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> &init_Mean)</td></tr> <tr><td class="mdescLeft"> </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"> </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> &init_Mean, const <a class="el" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html">CMatrixDouble77</a> &init_Cov)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor with mean and covariance. <a href="#a144a7981dfb38d9927c2bfd5d46d5976"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </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> &o)</td></tr> <tr><td class="mdescLeft"> </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"> </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> &o)</td></tr> <tr><td class="mdescLeft"> </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 </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> &mean_pose) const </td></tr> <tr><td class="mdescLeft"> </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 </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> &<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> &mean_point) const </td></tr> <tr><td class="mdescLeft"> </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 </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> &o)</td></tr> <tr><td class="mdescLeft"> </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 </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> &o)</td></tr> <tr><td class="mdescLeft"> </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 </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> &o)</td></tr> <tr><td class="mdescLeft"> </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 </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 &file) const </td></tr> <tr><td class="mdescLeft"> </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 </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> &newReferenceBase)</td></tr> <tr><td class="mdescLeft"> </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 </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> &newReferenceBase)</td></tr> <tr><td class="mdescLeft"> </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 </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> &outPart) const </td></tr> <tr><td class="mdescLeft"> </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 </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< <a class="el" href="structmrpt_1_1dynamicsize__vector.html">vector_double</a> > &outSamples) const </td></tr> <tr><td class="mdescLeft"> </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 </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> &p1, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat_p_d_f.html">CPose3DQuatPDF</a> &p2)</td></tr> <tr><td class="mdescLeft"> </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 </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> &o) const </td></tr> <tr><td class="mdescLeft"> </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> </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"> </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 </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> &Ap)</td></tr> <tr><td class="mdescLeft"> </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 </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> &Ap)</td></tr> <tr><td class="mdescLeft"> </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 </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> &Ap)</td></tr> <tr><td class="mdescLeft"> </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 </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> &x) const </td></tr> <tr><td class="mdescLeft"> </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 </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> &x) const </td></tr> <tr><td class="mdescLeft"> </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 </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> &theOther)</td></tr> <tr><td class="mdescLeft"> </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 </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> &x, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &u, <a class="el" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html">CMatrixDouble77</a> &df_dx, <a class="el" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html">CMatrixDouble77</a> &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"> </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> </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"> </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> </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"> </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 </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"> </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> </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> </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> </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> * </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> * </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> * </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"> </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> * </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"> </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> * </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> </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 & 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"> )</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> </td> <td class="paramname"> <em>constructor_dummy_param</em> )</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 &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> & </td> <td class="paramname"> <em>init_Mean</em> )</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 &init_Mean, const CMatrixDouble77 &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> & </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> & </td> <td class="paramname"> <em>init_Cov</em> </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 &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> & </td> <td class="paramname"> <em>o</em> )</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 &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> & </td> <td class="paramname"> <em>o</em> )</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"> )</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"> )</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 &p1, const CPose3DQuatPDF &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> & </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> & </td> <td class="paramname"> <em>p2</em> </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 &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> & </td> <td class="paramname"> <em>newReferenceBase</em> )</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 &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> & </td> <td class="paramname"> <em>newReferenceBase</em> )</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< CPose3DQuat, 7 ></a>.</p> </div> </div> <a class="anchor" id="a581b00cf10b0c74ec442eeeee97de497"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::copyFrom" ref="a581b00cf10b0c74ec442eeeee97de497" args="(const CPose3DQuatPDF &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> & </td> <td class="paramname"> <em>o</em> )</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 &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> & </td> <td class="paramname"> <em>o</em> )</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 &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> & </td> <td class="paramname"> <em>o</em> )</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"> )</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"> )</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< vector_double > &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 </td> <td class="paramname"> <em>N</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">std::vector< <a class="el" href="structmrpt_1_1dynamicsize__vector.html">vector_double</a> > & </td> <td class="paramname"> <em>outSamples</em> </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< CPose3DQuat, 7 ></a>.</p> </div> </div> <a class="anchor" id="adcd3efa17d5d670601296dc620e3fa82"></a><!-- doxytag: member="mrpt::poses::CPose3DQuatPDFGaussian::drawSingleSample" ref="adcd3efa17d5d670601296dc620e3fa82" args="(CPose3DQuat &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> & </td> <td class="paramname"> <em>outPart</em> )</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< CPose3DQuat, 7 ></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"> )</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 &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> & </td> <td class="paramname"> <em>x</em> )</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 &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> & </td> <td class="paramname"> <em>x</em> )</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 &cov, CPose3DQuat &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> & </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> & </td> <td class="paramname"> <em>mean_point</em> </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 &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> & </td> <td class="paramname"> <em>mean_pose</em> )</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< CPose3DQuat, 7 ></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"> )</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 &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> & </td> <td class="paramname"> <em>o</em> )</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 &x, const CPose3DQuat &u, CMatrixDouble77 &df_dx, CMatrixDouble77 &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> & </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> & </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> & </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> & </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> * </td> <td class="paramname"> <em>out_x_oplus_u</em> = <code>NULL</code> </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 &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> & </td> <td class="paramname"> <em>theOther</em> )</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 &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> & </td> <td class="paramname"> <em>Ap</em> )</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 &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> & </td> <td class="paramname"> <em>Ap</em> )</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-" 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"> )</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-=" ref="a11ea18b69e90b0ed3b0f26a273be545b" args="(const CPose3DQuatPDFGaussian &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> & </td> <td class="paramname"> <em>Ap</em> )</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 &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 & </td> <td class="paramname"> <em>file</em> )</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< CPose3DQuat, 7 ></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>