-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add auto type casting in io #3312
base: master
Are you sure you want to change the base?
Add auto type casting in io #3312
Conversation
On PCL all vertices and normals exist only in float32 format. However, a lot of libraries and tools use float64 format. In original version, PCL don't recognize fields if types are not equals. This commit add auto type casting in conversion from pcl::PCLPointCloud2 to pcl::PointCloud<PointT>. This is allow read files, which are use float64 format. To reproduce test case, was written simple unit test.
Hey, thanks for the effort, this is a very interesting contribution. I personally was hit by this limitation recently when I tried to load a PLY file with f64 fields. I'm very much in favor of merging this. However, since the implementation is not absolutely trivial, I'd like to have a closer look. I think it's important to make sure that we are not introducing bugs (obviously) and any noticeable time penalty (these conversion functions are used a lot in ROS code, so we will be affecting loooots of people). Unfortunately I don't have enough time to give this PR attention it deserves right now, but will try as soon as possible. |
remark from 3337 issue:
Done I am afraid this declaration from 3337 are not fully correct:
Master version of PCL already successfully read float64 fields into This means that all functions in pcl with same hypotheses potentially have errors. |
This pull request has been automatically marked as stale because it hasn't had Come back whenever you have time. We look forward to your contribution. |
On PCL all vertices and normals exist only in float32 format. However, a lot of libraries and tools use float64 format. In original version, PCL don't recognize fields if types are not equals.
This commit add auto type casting in conversion from pcl::PCLPointCloud2 to pcl::PointCloud. This is allow read files, which are use float64 format.
To reproduce test case, was written simple unit test.