<divclass="line"><aid="l00005"name="l00005"></a><spanclass="lineno"> 5</span><spanclass="comment">Redistribution and use in source and binary forms, with or without</span></div>
<divclass="line"><aid="l00006"name="l00006"></a><spanclass="lineno"> 6</span><spanclass="comment">modification, are permitted provided that the following conditions are met:</span></div>
<divclass="line"><aid="l00007"name="l00007"></a><spanclass="lineno"> 7</span><spanclass="comment"> * Redistributions of source code must retain the above copyright</span></div>
<divclass="line"><aid="l00008"name="l00008"></a><spanclass="lineno"> 8</span><spanclass="comment"> notice, this list of conditions and the following disclaimer.</span></div>
<divclass="line"><aid="l00009"name="l00009"></a><spanclass="lineno"> 9</span><spanclass="comment"> * Redistributions in binary form must reproduce the above copyright</span></div>
<divclass="line"><aid="l00010"name="l00010"></a><spanclass="lineno"> 10</span><spanclass="comment"> notice, this list of conditions and the following disclaimer in the</span></div>
<divclass="line"><aid="l00011"name="l00011"></a><spanclass="lineno"> 11</span><spanclass="comment"> documentation and/or other materials provided with the distribution.</span></div>
<divclass="line"><aid="l00012"name="l00012"></a><spanclass="lineno"> 12</span><spanclass="comment"> * Neither the name of the Universite de Sherbrooke nor the</span></div>
<divclass="line"><aid="l00013"name="l00013"></a><spanclass="lineno"> 13</span><spanclass="comment"> names of its contributors may be used to endorse or promote products</span></div>
<divclass="line"><aid="l00014"name="l00014"></a><spanclass="lineno"> 14</span><spanclass="comment"> derived from this software without specific prior written permission.</span></div>
<divclass="line"><aid="l00016"name="l00016"></a><spanclass="lineno"> 16</span><spanclass="comment">THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND</span></div>
<divclass="line"><aid="l00017"name="l00017"></a><spanclass="lineno"> 17</span><spanclass="comment">ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED</span></div>
<divclass="line"><aid="l00018"name="l00018"></a><spanclass="lineno"> 18</span><spanclass="comment">WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE</span></div>
<divclass="line"><aid="l00019"name="l00019"></a><spanclass="lineno"> 19</span><spanclass="comment">DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY</span></div>
<divclass="line"><aid="l00020"name="l00020"></a><spanclass="lineno"> 20</span><spanclass="comment">DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES</span></div>
<divclass="line"><aid="l00021"name="l00021"></a><spanclass="lineno"> 21</span><spanclass="comment">(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;</span></div>
<divclass="line"><aid="l00022"name="l00022"></a><spanclass="lineno"> 22</span><spanclass="comment">LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND</span></div>
<divclass="line"><aid="l00023"name="l00023"></a><spanclass="lineno"> 23</span><spanclass="comment">ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span></div>
<divclass="line"><aid="l00024"name="l00024"></a><spanclass="lineno"> 24</span><spanclass="comment">(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span></div>
<divclass="line"><aid="l00025"name="l00025"></a><spanclass="lineno"> 25</span><spanclass="comment">SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div>
<divclass="line"><aid="l00044"name="l00044"></a><spanclass="lineno"> 44</span><spanclass="keywordtype">int</span> RTABMAP_CORE_EXPORT getCorrespondencesCount(<spanclass="keyword">const</span> pcl::PointCloud<pcl::PointXYZ>::ConstPtr & cloud_source,</div>
<divclass="line"><aid="l00045"name="l00045"></a><spanclass="lineno"> 45</span><spanclass="keyword">const</span> pcl::PointCloud<pcl::PointXYZ>::ConstPtr & cloud_target,</div>
<divclass="line"><aid="l00102"name="l00102"></a><spanclass="lineno"> 102</span><spanclass="keyword">const</span> pcl::PointCloud<pcl::PointXYZ>::ConstPtr & cloud1,</div>
<divclass="line"><aid="l00103"name="l00103"></a><spanclass="lineno"> 103</span><spanclass="keyword">const</span> pcl::PointCloud<pcl::PointXYZ>::ConstPtr & cloud2,</div>
<divclass="line"><aid="l00140"name="l00140"></a><spanclass="lineno"> 140</span><spanclass="keyword">const</span> pcl::PointCloud<pcl::PointNormal>::ConstPtr & cloudA,</div>
<divclass="line"><aid="l00141"name="l00141"></a><spanclass="lineno"> 141</span><spanclass="keyword">const</span> pcl::PointCloud<pcl::PointNormal>::ConstPtr & cloudB,</div>
<divclass="line"><aid="l00143"name="l00143"></a><spanclass="lineno"> 143</span><spanclass="keywordtype">double</span> maxCorrespondenceAngle, <spanclass="comment">// <=0 means that we don't care about normal angle difference</span></div>
<divclass="line"><aid="l00149"name="l00149"></a><spanclass="lineno"> 149</span><spanclass="keyword">const</span> pcl::PointCloud<pcl::PointXYZINormal>::ConstPtr & cloudA,</div>
<divclass="line"><aid="l00150"name="l00150"></a><spanclass="lineno"> 150</span><spanclass="keyword">const</span> pcl::PointCloud<pcl::PointXYZINormal>::ConstPtr & cloudB,</div>
<divclass="line"><aid="l00152"name="l00152"></a><spanclass="lineno"> 152</span><spanclass="keywordtype">double</span> maxCorrespondenceAngle, <spanclass="comment">// <=0 means that we don't care about normal angle difference</span></div>
<divclass="line"><aid="l00158"name="l00158"></a><spanclass="lineno"> 158</span><spanclass="keyword">const</span> pcl::PointCloud<pcl::PointXYZ>::ConstPtr & cloudA,</div>
<divclass="line"><aid="l00159"name="l00159"></a><spanclass="lineno"> 159</span><spanclass="keyword">const</span> pcl::PointCloud<pcl::PointXYZ>::ConstPtr & cloudB,</div>
<divclass="line"><aid="l00166"name="l00166"></a><spanclass="lineno"> 166</span><spanclass="keyword">const</span> pcl::PointCloud<pcl::PointXYZI>::ConstPtr & cloudA,</div>
<divclass="line"><aid="l00167"name="l00167"></a><spanclass="lineno"> 167</span><spanclass="keyword">const</span> pcl::PointCloud<pcl::PointXYZI>::ConstPtr & cloudB,</div>
<divclass="line"><aid="l00200"name="l00200"></a><spanclass="lineno"> 200</span><spanclass="keyword">const</span> pcl::PointCloud<pcl::PointXYZ>::ConstPtr & cloud_source,</div>
<divclass="line"><aid="l00201"name="l00201"></a><spanclass="lineno"> 201</span><spanclass="keyword">const</span> pcl::PointCloud<pcl::PointXYZ>::ConstPtr & cloud_target,</div>
<divclass="line"><aid="l00219"name="l00219"></a><spanclass="lineno"> 219</span><spanclass="keyword">const</span> pcl::PointCloud<pcl::PointXYZI>::ConstPtr & cloud_source,</div>
<divclass="line"><aid="l00220"name="l00220"></a><spanclass="lineno"> 220</span><spanclass="keyword">const</span> pcl::PointCloud<pcl::PointXYZI>::ConstPtr & cloud_target,</div>
<divclass="line"><aid="l00256"name="l00256"></a><spanclass="lineno"> 256</span><spanclass="keyword">const</span> pcl::PointCloud<pcl::PointNormal>::ConstPtr & cloud_source,</div>
<divclass="line"><aid="l00257"name="l00257"></a><spanclass="lineno"> 257</span><spanclass="keyword">const</span> pcl::PointCloud<pcl::PointNormal>::ConstPtr & cloud_target,</div>
<divclass="line"><aid="l00275"name="l00275"></a><spanclass="lineno"> 275</span><spanclass="keyword">const</span> pcl::PointCloud<pcl::PointXYZINormal>::ConstPtr & cloud_source,</div>
<divclass="line"><aid="l00276"name="l00276"></a><spanclass="lineno"> 276</span><spanclass="keyword">const</span> pcl::PointCloud<pcl::PointXYZINormal>::ConstPtr & cloud_target,</div>
<divclass="ttc"id="aclassrtabmap_1_1Transform_html"><divclass="ttname"><ahref="classrtabmap_1_1Transform.html">rtabmap::Transform</a></div><divclass="ttdoc">Represents a 3D rigid body transformation (rotation + translation).</div><divclass="ttdef"><b>Definition</b><ahref="Transform_8h_source.html#l00052">Transform.h:53</a></div></div>
<divclass="ttc"id="agroup__ComputeVarianceAndCorrespondences_html_gaf474f9fb6eaaf532e9b18af63b9e1665"><divclass="ttname"><ahref="group__ComputeVarianceAndCorrespondences.html#gaf474f9fb6eaaf532e9b18af63b9e1665">rtabmap::util3d::computeVarianceAndCorrespondences</a></div><divclass="ttdeci">void RTABMAP_CORE_EXPORT computeVarianceAndCorrespondences(const pcl::PointCloud< pcl::PointNormal >::ConstPtr &cloudA, const pcl::PointCloud< pcl::PointNormal >::ConstPtr &cloudB, double maxCorrespondenceDistance, double maxCorrespondenceAngle, double &variance, int &correspondencesOut, bool reciprocal)</div><divclass="ttdoc">Compute with variance and correspondences of pcl::PointNormal point cloud type.</div></div>
<divclass="ttc"id="anamespacertabmap_1_1util3d_html_a56797352c7d47f815c694bc4ccb1faea"><divclass="ttname"><ahref="namespacertabmap_1_1util3d.html#a56797352c7d47f815c694bc4ccb1faea">rtabmap::util3d::transformFromXYZCorrespondencesSVD</a></div><divclass="ttdeci">Transform RTABMAP_CORE_EXPORT transformFromXYZCorrespondencesSVD(const pcl::PointCloud< pcl::PointXYZ >&cloud1, const pcl::PointCloud< pcl::PointXYZ >&cloud2)</div><divclass="ttdoc">Estimates the rigid 3D transformation between two point clouds using SVD.</div></div>
<divclass="ttc"id="anamespacertabmap_1_1util3d_html_a6ac0f56608f1760d60eda7861b8dc303"><divclass="ttname"><ahref="namespacertabmap_1_1util3d.html#a6ac0f56608f1760d60eda7861b8dc303">rtabmap::util3d::icpPointToPlane</a></div><divclass="ttdeci">Transform RTABMAP_CORE_EXPORT icpPointToPlane(const pcl::PointCloud< pcl::PointNormal >::ConstPtr &cloud_source, const pcl::PointCloud< pcl::PointNormal >::ConstPtr &cloud_target, double maxCorrespondenceDistance, int maximumIterations, bool &hasConverged, pcl::PointCloud< pcl::PointNormal >&cloud_source_registered, float epsilon=0.0f, bool icp2D=false, float ransacOutlierRatio=0.0f, int *iterationsDone=nullptr)</div><divclass="ttdoc">Performs Iterative Closest Point (ICP) alignment using a point-to-plane error metric.</div></div>
<divclass="ttc"id="anamespacertabmap_1_1util3d_html_aab3ff771d2b43075bb8e7ca6e730c37c"><divclass="ttname"><ahref="namespacertabmap_1_1util3d.html#aab3ff771d2b43075bb8e7ca6e730c37c">rtabmap::util3d::transformFromXYZCorrespondences</a></div><divclass="ttdeci">Transform RTABMAP_CORE_EXPORT transformFromXYZCorrespondences(const pcl::PointCloud< pcl::PointXYZ >::ConstPtr &cloud1, const pcl::PointCloud< pcl::PointXYZ >::ConstPtr &cloud2, double inlierThreshold=0.02, int iterations=100, int refineModelIterations=10, double refineModelSigma=3.0, std::vector< int > *inliers=0, cv::Mat *variance=0)</div><divclass="ttdoc">Estimates a rigid transformation between two point clouds using RANSAC with optional refinement.</div></div>
<divclass="ttc"id="anamespacertabmap_1_1util3d_html_af9f16d681288b1f91ce6e5a8ee9f6967"><divclass="ttname"><ahref="namespacertabmap_1_1util3d.html#af9f16d681288b1f91ce6e5a8ee9f6967">rtabmap::util3d::icp</a></div><divclass="ttdeci">Transform RTABMAP_CORE_EXPORT icp(const pcl::PointCloud< pcl::PointXYZ >::ConstPtr &cloud_source, const pcl::PointCloud< pcl::PointXYZ >::ConstPtr &cloud_target, double maxCorrespondenceDistance, int maximumIterations, bool &hasConverged, pcl::PointCloud< pcl::PointXYZ >&cloud_source_registered, float epsilon=0.0f, bool icp2D=false, float ransacOutlierRatio=0.0f, int *iterationsDone=nullptr)</div><divclass="ttdoc">Performs Iterative Closest Point (ICP) alignment between two point clouds and returns the resulting t...</div></div>
<liclass="footer">Generated by <ahref="https://www.doxygen.org/index.html"><imgclass="footer"src="doxygen.svg"width="104"height="31"alt="doxygen"/></a> 1.9.8 </li>