<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="l00048"name="l00048"></a><spanclass="lineno"> 48</span><spanclass="keyword">const</span> cv::Mat & scan, <spanclass="comment">// in /base_link frame</span></div>
<divclass="line"><aid="l00049"name="l00049"></a><spanclass="lineno"> 49</span> cv::Mat & empty,</div>
<divclass="line"><aid="l00050"name="l00050"></a><spanclass="lineno"> 50</span> cv::Mat & occupied,</div>
<divclass="line"><aid="l00057"name="l00057"></a><spanclass="lineno"> 57</span><spanclass="keyword">const</span> cv::Mat & scan, <spanclass="comment">// in /base_link frame</span></div>
<divclass="line"><aid="l00058"name="l00058"></a><spanclass="lineno"> 58</span><spanclass="keyword">const</span> cv::Point3f & viewpoint, <spanclass="comment">// /base_link -> /base_scan</span></div>
<divclass="line"><aid="l00059"name="l00059"></a><spanclass="lineno"> 59</span> cv::Mat & empty,</div>
<divclass="line"><aid="l00060"name="l00060"></a><spanclass="lineno"> 60</span> cv::Mat & occupied,</div>
<divclass="line"><aid="l00093"name="l00093"></a><spanclass="lineno"> 93</span><spanclass="keyword">const</span> cv::Mat & scanHit, <spanclass="comment">// in /base_link frame</span></div>
<divclass="line"><aid="l00094"name="l00094"></a><spanclass="lineno"> 94</span><spanclass="keyword">const</span> cv::Mat & scanNoHit, <spanclass="comment">// in /base_link frame</span></div>
<divclass="line"><aid="l00095"name="l00095"></a><spanclass="lineno"> 95</span><spanclass="keyword">const</span> cv::Point3f & viewpoint, <spanclass="comment">// /base_link -> /base_scan</span></div>
<divclass="line"><aid="l00096"name="l00096"></a><spanclass="lineno"> 96</span> cv::Mat & empty,</div>
<divclass="line"><aid="l00097"name="l00097"></a><spanclass="lineno"> 97</span> cv::Mat & occupied,</div>
<divclass="line"><aid="l00100"name="l00100"></a><spanclass="lineno"> 100</span><spanclass="keywordtype">float</span> scanMaxRange = 0.0f); <spanclass="comment">// would be set if unknownSpaceFilled=true</span></div>
<divclass="line"><aid="l00364"name="l00364"></a><spanclass="lineno"> 364</span><spanclass="keyword">const</span><spanclass="keyword">typename</span> pcl::PointCloud<PointT>::Ptr & cloud,</div>
<divclass="line"><aid="l00365"name="l00365"></a><spanclass="lineno"> 365</span><spanclass="keyword">const</span> pcl::IndicesPtr & indices,</div>
<divclass="line"><aid="l00366"name="l00366"></a><spanclass="lineno"> 366</span> pcl::IndicesPtr & ground,</div>
<divclass="line"><aid="l00367"name="l00367"></a><spanclass="lineno"> 367</span> pcl::IndicesPtr & obstacles,</div>
<divclass="line"><aid="l00383"name="l00383"></a><spanclass="lineno"> 383</span><spanclass="keyword">const</span><spanclass="keyword">typename</span> pcl::PointCloud<PointT>::Ptr & cloud,</div>
<divclass="line"><aid="l00384"name="l00384"></a><spanclass="lineno"> 384</span> pcl::IndicesPtr & ground,</div>
<divclass="line"><aid="l00385"name="l00385"></a><spanclass="lineno"> 385</span> pcl::IndicesPtr & obstacles,</div>
<divclass="line"><aid="l00414"name="l00414"></a><spanclass="lineno"> 414</span><spanclass="keyword">const</span><spanclass="keyword">typename</span> pcl::PointCloud<PointT>::Ptr & groundCloud,</div>
<divclass="line"><aid="l00415"name="l00415"></a><spanclass="lineno"> 415</span><spanclass="keyword">const</span><spanclass="keyword">typename</span> pcl::PointCloud<PointT>::Ptr & obstaclesCloud,</div>
<divclass="line"><aid="l00416"name="l00416"></a><spanclass="lineno"> 416</span> cv::Mat & ground,</div>
<divclass="line"><aid="l00417"name="l00417"></a><spanclass="lineno"> 417</span> cv::Mat & obstacles,</div>
<divclass="line"><aid="l00425"name="l00425"></a><spanclass="lineno"> 425</span><spanclass="keyword">const</span><spanclass="keyword">typename</span> pcl::PointCloud<PointT>::Ptr & cloud,</div>
<divclass="line"><aid="l00426"name="l00426"></a><spanclass="lineno"> 426</span><spanclass="keyword">const</span> pcl::IndicesPtr & groundIndices,</div>
<divclass="line"><aid="l00427"name="l00427"></a><spanclass="lineno"> 427</span><spanclass="keyword">const</span> pcl::IndicesPtr & obstaclesIndices,</div>
<divclass="line"><aid="l00428"name="l00428"></a><spanclass="lineno"> 428</span> cv::Mat & ground,</div>
<divclass="line"><aid="l00429"name="l00429"></a><spanclass="lineno"> 429</span> cv::Mat & obstacles,</div>
<divclass="line"><aid="l00460"name="l00460"></a><spanclass="lineno"> 460</span><spanclass="keyword">const</span><spanclass="keyword">typename</span> pcl::PointCloud<PointT>::Ptr & cloud,</div>
<divclass="line"><aid="l00461"name="l00461"></a><spanclass="lineno"> 461</span><spanclass="keyword">const</span> pcl::IndicesPtr & indices,</div>
<divclass="line"><aid="l00462"name="l00462"></a><spanclass="lineno"> 462</span> cv::Mat & ground,</div>
<divclass="line"><aid="l00463"name="l00463"></a><spanclass="lineno"> 463</span> cv::Mat & obstacles,</div>
<divclass="line"><aid="l00475"name="l00475"></a><spanclass="lineno"> 475</span><spanclass="keyword">const</span><spanclass="keyword">typename</span> pcl::PointCloud<PointT>::Ptr & cloud,</div>
<divclass="line"><aid="l00476"name="l00476"></a><spanclass="lineno"> 476</span> cv::Mat & ground,</div>
<divclass="line"><aid="l00477"name="l00477"></a><spanclass="lineno"> 477</span> cv::Mat & obstacles,</div>
<divclass="ttc"id="anamespacertabmap_1_1util3d_html_a281695150f5c02e6222d050f488a9d6b"><divclass="ttname"><ahref="namespacertabmap_1_1util3d.html#a281695150f5c02e6222d050f488a9d6b">rtabmap::util3d::rayTrace</a></div><divclass="ttdeci">void RTABMAP_CORE_EXPORT rayTrace(const cv::Point2i &start, const cv::Point2i &end, cv::Mat &grid, bool stopOnObstacle)</div><divclass="ttdoc">Performs a 2D ray tracing operation between two points on a grid map.</div></div>
<divclass="ttc"id="anamespacertabmap_1_1util3d_html_a3bdae076cc5054f35393b744f478b980"><divclass="ttname"><ahref="namespacertabmap_1_1util3d.html#a3bdae076cc5054f35393b744f478b980">rtabmap::util3d::projectCloudOnXYPlane</a></div><divclass="ttdeci">pcl::PointCloud< PointT >::Ptr projectCloudOnXYPlane(const typename pcl::PointCloud< PointT >&cloud)</div><divclass="ttdoc">Projects a point cloud onto the XY plane by setting all Z coordinates to zero.</div><divclass="ttdef"><b>Definition</b><ahref="util3d__mapping_8hpp_source.html#l00041">util3d_mapping.hpp:41</a></div></div>
<divclass="ttc"id="anamespacertabmap_1_1util3d_html_a7d90f3a00301f9f7c79cd6fc6cd663c2"><divclass="ttname"><ahref="namespacertabmap_1_1util3d.html#a7d90f3a00301f9f7c79cd6fc6cd663c2">rtabmap::util3d::occupancy2DFromCloud3D</a></div><divclass="ttdeci">void occupancy2DFromCloud3D(const typename pcl::PointCloud< PointT >::Ptr &cloud, const pcl::IndicesPtr &indices, cv::Mat &ground, cv::Mat &obstacles, float cellSize, float groundNormalAngle, int minClusterSize, bool segmentFlatObstacles, float maxGroundHeight)</div><divclass="ttdoc">Generates 2D ground and obstacle occupancy data from a 3D point cloud.</div><divclass="ttdef"><b>Definition</b><ahref="util3d__mapping_8hpp_source.html#l00309">util3d_mapping.hpp:309</a></div></div>
<divclass="ttc"id="anamespacertabmap_1_1util3d_html_aa4d323d39ec23ea314c22f0668ab11c4"><divclass="ttname"><ahref="namespacertabmap_1_1util3d.html#aa4d323d39ec23ea314c22f0668ab11c4">rtabmap::util3d::erodeMap</a></div><divclass="ttdeci">cv::Mat RTABMAP_CORE_EXPORT erodeMap(const cv::Mat &map)</div><divclass="ttdoc">Performs erosion on an occupancy grid map to reduce small noisy obstacles.</div></div>
<divclass="ttc"id="anamespacertabmap_1_1util3d_html_ab156e4308c21e118ea0aa164a5ae9812"><divclass="ttname"><ahref="namespacertabmap_1_1util3d.html#ab156e4308c21e118ea0aa164a5ae9812">rtabmap::util3d::occupancy2DFromGroundObstacles</a></div><divclass="ttdeci">void occupancy2DFromGroundObstacles(const typename pcl::PointCloud< PointT >::Ptr &cloud, const pcl::IndicesPtr &groundIndices, const pcl::IndicesPtr &obstaclesIndices, cv::Mat &ground, cv::Mat &obstacles, float cellSize)</div><divclass="ttdoc">Projects 3D ground and obstacle point clouds onto the 2D XY plane and voxelizes them into 2D occupanc...</div><divclass="ttdef"><b>Definition</b><ahref="util3d__mapping_8hpp_source.html#l00234">util3d_mapping.hpp:234</a></div></div>
<divclass="ttc"id="anamespacertabmap_1_1util3d_html_acb47883439442306b63f5bf234e87049"><divclass="ttname"><ahref="namespacertabmap_1_1util3d.html#acb47883439442306b63f5bf234e87049">rtabmap::util3d::convertImage8U2Map</a></div><divclass="ttdeci">cv::Mat RTABMAP_CORE_EXPORT convertImage8U2Map(const cv::Mat &map8U, bool pgmFormat=false)</div><divclass="ttdoc">Converts a grayscale occupancy image (CV_8U) to an occupancy grid map (CV_8S).</div></div>
<divclass="ttc"id="anamespacertabmap_1_1util3d_html_ae57dd8dcc488496a2c3872eba97eb4e4"><divclass="ttname"><ahref="namespacertabmap_1_1util3d.html#ae57dd8dcc488496a2c3872eba97eb4e4">rtabmap::util3d::convertMap2Image8U</a></div><divclass="ttdeci">cv::Mat RTABMAP_CORE_EXPORT convertMap2Image8U(const cv::Mat &map8S, bool pgmFormat=false)</div><divclass="ttdoc">Converts an occupancy grid map (CV_8S) to a grayscale image (CV_8U).</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>