You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is more of an FYI for others and a suggestion for a fix... but when declaring the OrganizedFastMesh<PointT> object, compilation may fail depending on what PointT is typedef'd to be. Generally any point type that includes a normal component fails. Specifically:
Discovered this while trying to improve my Generalized ICP results with sparse LiDAR scans, using the methodology provided in Listing 12 of Registration with the Point Cloud Library.
This problem has been discussed elsewhere, in this mailing list thread and this rtab mapping issue but these threads treat the problem as a linker error, whereas my (very brief) testing suggests its a type declaration issue.
Expected Behavior
I expect the code below to compile and override the normals with the normals calculated from the mesh, or warn the user that the object cannot be compiled with this point type.
Current Behavior
If an incompatible point type is used, the code fails to compile with the following warning:
Indeed. The PCL being used has been pre-compiled for only a few point types. While this has several benefits, it locks-in the user of the library to the pre-decided point types. In order to use with any other type, you need to choose one of the following options:
compile PCL with PCL_NO_PRECOMPILE
define PCL_NO_PRECOMPILE before including any PCL header
This is more of an FYI for others and a suggestion for a fix... but when declaring the
OrganizedFastMesh<PointT>
object, compilation may fail depending on whatPointT
is typedef'd to be. Generally any point type that includes a normal component fails. Specifically:Your Environment
Context
Discovered this while trying to improve my Generalized ICP results with sparse LiDAR scans, using the methodology provided in Listing 12 of Registration with the Point Cloud Library.
This problem has been discussed elsewhere, in this mailing list thread and this rtab mapping issue but these threads treat the problem as a linker error, whereas my (very brief) testing suggests its a type declaration issue.
Expected Behavior
I expect the code below to compile and override the normals with the normals calculated from the mesh, or warn the user that the object cannot be compiled with this point type.
Current Behavior
If an incompatible point type is used, the code fails to compile with the following warning:
Code to Reproduce
The relevant code is:
Possible Solution
Modify the
OrganizedFastMesh
object so it can be compiled with aPointT
that includes a normal component, or warn the user that it won't work.The text was updated successfully, but these errors were encountered: