Skip to content
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

MovingLeastSquares: reduce the number of instantiations to reduce com… #5764

Merged

Conversation

mvieth
Copy link
Member

@mvieth mvieth commented Jul 15, 2023

…pile time

PCL_XYZ_POINT_TYPES currently contains 18 types, so previously, MLS was instantiated for 18x18=324 different type combinations. However, among those were instantiations which are likely used by nobody (like pcl::MovingLeastSquares<pcl::PointWithRange, pcl::PointDEM>). With these changes, MLS is only instantiated 6x6+(18-6)=48 times. The most common type combinations should be covered, but if someone uses an uncommon combination, they have to add #define PCL_NO_PRECOMPILE before including pcl/surface/mls.h to avoid linker errors.

See also #3414

…pile time

PCL_XYZ_POINT_TYPES currently contains 18 types, so previously, MLS was instantiated for 18*18=324 different type combinations.
However, among those were instantiations which are likely used by nobody (like `pcl::MovingLeastSquares<pcl::PointWithRange, pcl::PointDEM>`).
With these changes, MLS is only instantiated 6*6+(18-6)=48 times. The most common type combinations should be covered, but if someone uses an uncommon combinations, they have to add `#define PCL_NO_PRECOMPILE` before including `pcl/surface/mls.h` to avoid linker errors.
@mvieth mvieth added changelog: enhancement Meta-information for changelog generation changelog: behavior change Meta-information for changelog generation module: surface labels Jul 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog: behavior change Meta-information for changelog generation changelog: enhancement Meta-information for changelog generation module: surface
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants