2026-08-02 01:36:11 +00:00
<!-- HTML header for doxygen 1.9.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" lang = "en-US" >
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" />
< meta http-equiv = "X-UA-Compatible" content = "IE=11" />
< meta name = "generator" content = "Doxygen 1.9.8" />
< meta name = "viewport" content = "width=device-width, initial-scale=1" />
< title > RTAB-Map: PCL to 2D LaserScan</ title >
< link href = "tabs.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" src = "jquery.js" ></ script >
< script type = "text/javascript" src = "dynsections.js" ></ script >
2026-08-02 07:56:38 +00:00
< link href = "navtree.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" src = "resize.js" ></ script >
< script type = "text/javascript" src = "navtreedata.js" ></ script >
< script type = "text/javascript" src = "navtree.js" ></ script >
2026-08-02 01:36:11 +00:00
< link href = "search/search.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" src = "search/searchdata.js" ></ script >
< script type = "text/javascript" src = "search/search.js" ></ script >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" />
2026-08-02 17:35:14 +00:00
< link href = "doxygen-awesome.css" rel = "stylesheet" type = "text/css" />
< link href = "custom.css" rel = "stylesheet" type = "text/css" />
2026-08-02 01:36:11 +00:00
< script type = "text/javascript" > window . RTABMAP_DOC_ROOT = "" ;</ script >
< script type = "text/javascript" src = "../versions.js" ></ script >
< script type = "text/javascript" src = "version-switcher.js" ></ script >
2026-08-02 17:35:14 +00:00
< script type = "text/javascript" src = "doxygen-awesome-darkmode-toggle.js" ></ script >
< script type = "text/javascript" > DoxygenAwesomeDarkModeToggle . init ();</ script >
2026-08-02 01:36:11 +00:00
</ head >
< body >
< div id = "top" > <!-- do not remove this div, it is closed by doxygen! -->
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
< tr id = "projectrow" >
< td id = "projectalign" >
< div id = "projectname" > RTAB-Map< span id = "projectnumber" >   0.23.10</ span >
</ div >
2026-08-02 07:56:38 +00:00
< div id = "projectbrief" > Real-Time Appearance-Based Mapping</ div >
2026-08-02 01:36:11 +00:00
</ td >
</ tr >
</ tbody >
</ table >
</ div >
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox ( "searchBox" , "search/" , '.html' );
/* @license-end */
</ script >
< script type = "text/javascript" src = "menudata.js" ></ script >
< script type = "text/javascript" src = "menu.js" ></ script >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$ ( function () {
initMenu ( '' , true , false , 'search.php' , 'Search' );
$ ( document ). ready ( function () { init_search (); });
});
/* @license-end */
</ script >
< div id = "main-nav" ></ div >
</ div > <!-- top -->
2026-08-02 07:56:38 +00:00
< div id = "side-nav" class = "ui-resizable side-nav-resizable" >
< div id = "nav-tree" >
< div id = "nav-tree-contents" >
< div id = "nav-sync" class = "sync" ></ div >
</ div >
</ div >
< div id = "splitbar" style = "-moz-user-select:none;"
class = "ui-resizable-handle" >
</ div >
</ div >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$ ( document ). ready ( function (){ initNavTree ( 'group__LaserScan2dFromPointCloud.html' , '' ); initResizable (); });
/* @license-end */
</ script >
< div id = "doc-content" >
2026-08-02 01:36:11 +00:00
<!-- window showing the filter options -->
< div id = "MSearchSelectWindow"
onmouseover = "return searchBox.OnSearchSelectShow()"
onmouseout = "return searchBox.OnSearchSelectHide()"
onkeydown = "return searchBox.OnSearchSelectKey(event)" >
</ div >
<!-- iframe showing the search results (closed by default) -->
< div id = "MSearchResultsWindow" >
< div id = "MSearchResults" >
< div class = "SRPage" >
< div id = "SRIndex" >
< div id = "SRResults" ></ div >
< div class = "SRStatus" id = "Loading" > Loading...</ div >
< div class = "SRStatus" id = "Searching" > Searching...</ div >
< div class = "SRStatus" id = "NoMatches" > No Matches</ div >
</ div >
</ div >
</ div >
</ div >
< div class = "header" >
< div class = "summary" >
< a href = "#func-members" > Functions</ a > </ div >
< div class = "headertitle" >< div class = "title" > PCL to 2D LaserScan</ div ></ div >
</ div > <!--header-->
< div class = "contents" >
< p > Converts various PCL point cloud types into a unified 2D < a class = "el" href = "classrtabmap_1_1LaserScan.html" title = "Represents 2D or 3D laser scan data with support for multiple point data formats." > LaserScan</ a > format.
< a href = "#details" > More...</ a ></ p >
< table class = "memberdecls" >
< tr class = "heading" >< td colspan = "2" >< h2 class = "groupheader" >< a id = "func-members" name = "func-members" ></ a >
Functions</ h2 ></ td ></ tr >
< tr class = "memitem:gac0823dd28e488bef9499faee54ff8a4e" id = "r_gac0823dd28e488bef9499faee54ff8a4e" >< td class = "memItemLeft" align = "right" valign = "top" >< a id = "gac0823dd28e488bef9499faee54ff8a4e" name = "gac0823dd28e488bef9499faee54ff8a4e" ></ a >
< a class = "el" href = "classrtabmap_1_1LaserScan.html" > LaserScan</ a > RTABMAP_CORE_EXPORT  </ td >< td class = "memItemRight" valign = "bottom" >< b > rtabmap::util3d::laserScan2dFromPointCloud</ b > (const pcl::PointCloud< pcl::PointXYZ > & cloud, const < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > & transform=< a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > (), bool filterNaNs=true)</ td ></ tr >
< tr class = "memdesc:gac0823dd28e488bef9499faee54ff8a4e" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" >< code > PointXYZ</ code > → < a class = "el" href = "classrtabmap_1_1LaserScan.html#a38f5602d1411c204d54be9b3c7320007a4f3e7340e44a01b48ccaf8e1f8dca3e1" > LaserScan::kXY</ a > < br /></ td ></ tr >
< tr class = "separator:gac0823dd28e488bef9499faee54ff8a4e" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ga0898d06b1639f58ed92b66f311e786aa" id = "r_ga0898d06b1639f58ed92b66f311e786aa" >< td class = "memItemLeft" align = "right" valign = "top" >< a id = "ga0898d06b1639f58ed92b66f311e786aa" name = "ga0898d06b1639f58ed92b66f311e786aa" ></ a >
< a class = "el" href = "classrtabmap_1_1LaserScan.html" > LaserScan</ a > RTABMAP_CORE_EXPORT  </ td >< td class = "memItemRight" valign = "bottom" >< b > rtabmap::util3d::laserScan2dFromPointCloud</ b > (const pcl::PointCloud< pcl::PointXYZI > & cloud, const < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > & transform=< a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > (), bool filterNaNs=true)</ td ></ tr >
< tr class = "memdesc:ga0898d06b1639f58ed92b66f311e786aa" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" >< code > PointXYZI</ code > → < a class = "el" href = "classrtabmap_1_1LaserScan.html#a38f5602d1411c204d54be9b3c7320007abb92c193b2eb76045e1a141c2a42cc00" > LaserScan::kXYI</ a > (x, y, intensity) < br /></ td ></ tr >
< tr class = "separator:ga0898d06b1639f58ed92b66f311e786aa" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:gac278e2f3f54ed49b5d3a6afa606a466b" id = "r_gac278e2f3f54ed49b5d3a6afa606a466b" >< td class = "memItemLeft" align = "right" valign = "top" >< a id = "gac278e2f3f54ed49b5d3a6afa606a466b" name = "gac278e2f3f54ed49b5d3a6afa606a466b" ></ a >
< a class = "el" href = "classrtabmap_1_1LaserScan.html" > LaserScan</ a > RTABMAP_CORE_EXPORT  </ td >< td class = "memItemRight" valign = "bottom" >< b > rtabmap::util3d::laserScan2dFromPointCloud</ b > (const pcl::PointCloud< pcl::PointNormal > & cloud, const < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > & transform=< a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > (), bool filterNaNs=true)</ td ></ tr >
< tr class = "memdesc:gac278e2f3f54ed49b5d3a6afa606a466b" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" >< code > PointNormal</ code > → < a class = "el" href = "classrtabmap_1_1LaserScan.html#a38f5602d1411c204d54be9b3c7320007ad4c3ec9f057875ade4f21f52901bceb5" > LaserScan::kXYNormal</ a > (x, y, nx, ny, nz) < br /></ td ></ tr >
< tr class = "separator:gac278e2f3f54ed49b5d3a6afa606a466b" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:gae4e7c218a24fb8d5c3fd7143462d3070" id = "r_gae4e7c218a24fb8d5c3fd7143462d3070" >< td class = "memItemLeft" align = "right" valign = "top" >< a id = "gae4e7c218a24fb8d5c3fd7143462d3070" name = "gae4e7c218a24fb8d5c3fd7143462d3070" ></ a >
< a class = "el" href = "classrtabmap_1_1LaserScan.html" > LaserScan</ a > RTABMAP_CORE_EXPORT  </ td >< td class = "memItemRight" valign = "bottom" >< b > rtabmap::util3d::laserScan2dFromPointCloud</ b > (const pcl::PointCloud< pcl::PointXYZ > & cloud, const pcl::PointCloud< pcl::Normal > & normals, const < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > & transform=< a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > (), bool filterNaNs=true)</ td ></ tr >
< tr class = "memdesc:gae4e7c218a24fb8d5c3fd7143462d3070" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" >< code > PointXYZ + Normal</ code > → < a class = "el" href = "classrtabmap_1_1LaserScan.html#a38f5602d1411c204d54be9b3c7320007ad4c3ec9f057875ade4f21f52901bceb5" > LaserScan::kXYNormal</ a > (x, y, nx, ny, nz) < br /></ td ></ tr >
< tr class = "separator:gae4e7c218a24fb8d5c3fd7143462d3070" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ga6cb623d1b3ce9c244a7d4ef346a721db" id = "r_ga6cb623d1b3ce9c244a7d4ef346a721db" >< td class = "memItemLeft" align = "right" valign = "top" >< a id = "ga6cb623d1b3ce9c244a7d4ef346a721db" name = "ga6cb623d1b3ce9c244a7d4ef346a721db" ></ a >
< a class = "el" href = "classrtabmap_1_1LaserScan.html" > LaserScan</ a > RTABMAP_CORE_EXPORT  </ td >< td class = "memItemRight" valign = "bottom" >< b > rtabmap::util3d::laserScan2dFromPointCloud</ b > (const pcl::PointCloud< pcl::PointXYZINormal > & cloud, const < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > & transform=< a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > (), bool filterNaNs=true)</ td ></ tr >
< tr class = "memdesc:ga6cb623d1b3ce9c244a7d4ef346a721db" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" >< code > PointXYZINormal</ code > → < a class = "el" href = "classrtabmap_1_1LaserScan.html#a38f5602d1411c204d54be9b3c7320007a799064c7e31b99134871b5d7d2906f97" > LaserScan::kXYINormal</ a > (x, y, inensity, nx, ny, nz) < br /></ td ></ tr >
< tr class = "separator:ga6cb623d1b3ce9c244a7d4ef346a721db" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ga0354b321c4196232fb1183c3a322b5f8" id = "r_ga0354b321c4196232fb1183c3a322b5f8" >< td class = "memItemLeft" align = "right" valign = "top" >< a id = "ga0354b321c4196232fb1183c3a322b5f8" name = "ga0354b321c4196232fb1183c3a322b5f8" ></ a >
< a class = "el" href = "classrtabmap_1_1LaserScan.html" > LaserScan</ a > RTABMAP_CORE_EXPORT  </ td >< td class = "memItemRight" valign = "bottom" >< b > rtabmap::util3d::laserScan2dFromPointCloud</ b > (const pcl::PointCloud< pcl::PointXYZI > & cloud, const pcl::PointCloud< pcl::Normal > & normals, const < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > & transform=< a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > (), bool filterNaNs=true)</ td ></ tr >
< tr class = "memdesc:ga0354b321c4196232fb1183c3a322b5f8" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" >< code > PointXYZI + Normal</ code > → < a class = "el" href = "classrtabmap_1_1LaserScan.html#a38f5602d1411c204d54be9b3c7320007a799064c7e31b99134871b5d7d2906f97" > LaserScan::kXYINormal</ a > (x, y, inensity, nx, ny, nz) < br /></ td ></ tr >
< tr class = "separator:ga0354b321c4196232fb1183c3a322b5f8" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
</ table >
< a name = "details" id = "details" ></ a >< h2 class = "groupheader" > Detailed Description</ h2 >
< p > Converts various PCL point cloud types into a unified 2D < a class = "el" href = "classrtabmap_1_1LaserScan.html" title = "Represents 2D or 3D laser scan data with support for multiple point data formats." > LaserScan</ a > format. </ p >
< p > Returns only XY data, with optional intensity and/or normals.</ p >
2026-08-02 17:35:14 +00:00
< h3 > Output:</ h3 >
2026-08-02 01:36:11 +00:00
< ul >
< li >< code > PointXYZ</ code > → < a class = "el" href = "classrtabmap_1_1LaserScan.html#a38f5602d1411c204d54be9b3c7320007a4f3e7340e44a01b48ccaf8e1f8dca3e1" > LaserScan::kXY</ a ></ li >
< li >< code > PointXYZI</ code > → < a class = "el" href = "classrtabmap_1_1LaserScan.html#a38f5602d1411c204d54be9b3c7320007abb92c193b2eb76045e1a141c2a42cc00" > LaserScan::kXYI</ a > (x, y, intensity)</ li >
< li >< code > PointNormal</ code > or < code > PointXYZ + Normal</ code > → < a class = "el" href = "classrtabmap_1_1LaserScan.html#a38f5602d1411c204d54be9b3c7320007ad4c3ec9f057875ade4f21f52901bceb5" > LaserScan::kXYNormal</ a > (x, y, nx, ny, nz)</ li >
< li >< code > PointXYZINormal</ code > or < code > PointXYZI + Normal</ code > → < a class = "el" href = "classrtabmap_1_1LaserScan.html#a38f5602d1411c204d54be9b3c7320007a799064c7e31b99134871b5d7d2906f97" > LaserScan::kXYINormal</ a > (x, y, inensity, nx, ny, nz)</ li >
</ ul >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > cloud</ td >< td > The input cloud (2D assumed). </ td ></ tr >
< tr >< td class = "paramname" > normals</ td >< td > Optional normal cloud. </ td ></ tr >
< tr >< td class = "paramname" > transform</ td >< td > Optional transformation to apply. </ td ></ tr >
< tr >< td class = "paramname" > filterNaNs</ td >< td > Whether to ignore invalid points. </ td ></ tr >
</ table >
</ dd >
</ dl >
< dl class = "section return" >< dt > Returns</ dt >< dd > A 2D < a class = "el" href = "classrtabmap_1_1LaserScan.html" title = "Represents 2D or 3D laser scan data with support for multiple point data formats." > LaserScan</ a > .</ dd ></ dl >
< dl class = "section see" >< dt > See also</ dt >< dd >< a class = "el" href = "group__LaserScanFromPointCloud.html#ga078f5eae0077169e636ec76e03973edc" title = "Convert pcl::PCLPointCloud2 to rtabmap::LaserScan with all supported fields (see rtabmap::LaserScan::..." > laserScanFromPointCloud()</ a > for 3D extraction. </ dd ></ dl >
</ div > <!-- contents -->
2026-08-02 07:56:38 +00:00
</ div > <!-- doc-content -->
2026-08-02 01:36:11 +00:00
<!-- start footer part -->
2026-08-02 07:56:38 +00:00
< div id = "nav-path" class = "navpath" > <!-- id is needed for treeview function! -->
< ul >
< li class = "footer" > Generated by < a href = "https://www.doxygen.org/index.html" >< img class = "footer" src = "doxygen.svg" width = "104" height = "31" alt = "doxygen" /></ a > 1.9.8 </ li >
</ ul >
</ div >
2026-08-02 01:36:11 +00:00
</ body >
</ html >