In voxel_grid_label.cpp, the implementation of VoxelGrid (from voxel_grid.hpp) must be hidden, otherwise VoxelGrid is instantiated again, but with the wrong visibility attributes (would overwrite the correct instantiation from voxel_grid.cpp). Same thing in sac_model_normal_plane.hpp: the implementation of SampleConsensusModelPlane must be hidden. The implementations of dist8 and dist4 are moved from sac_model_plane.hpp to sac_model_plane.h so that they are available when SampleConsensusModelNormalPlane is instantiated and the compiler can optimize.
In voxel_grid_label.cpp, the implementation of
VoxelGrid
(from voxel_grid.hpp) must be hidden, otherwiseVoxelGrid
is instantiated again, but with the wrong visibility attributes (would overwrite the correct instantiation fromvoxel_grid.cpp
). Same thing in sac_model_normal_plane.hpp: the implementation ofSampleConsensusModelPlane
must be hidden. The implementations ofdist8
anddist4
are moved from sac_model_plane.hpp to sac_model_plane.h so that they are available whenSampleConsensusModelNormalPlane
is instantiated and the compiler can optimize.Split off from https://github.com/PointCloudLibrary/pcl/pull/5779