PCL v1.11.0 Release Notes
Release Date: 2020-05-11 // almost 4 years ago-
Starting with PCL 1.11, PCL uses
std::shared_ptr
andstd::weak_ptr
instead of the boost smart pointers. The change leverages type aliases included with the 1.10.0 ๐ release. PCL 1.11 also introducespcl::index_t
which should be used for the size ๐ of point types instead ofint
,std::size_t
, etc. EOL for deprecated features ๐ is also explicitly mentioned in the deprecation compile time warningsNotable changes
๐ New features added to PCL
- [common] Provide dynamic and static pointer casts in namespace pcl to allow easy migration in future [#3770]
- [common] Add
ignore
function to remove Doxygen warnings for unused arguments [#3942] - ๐ [docs] Generate TODO list [#3937]
- ๐ฎ Force include order via clang-format [#3909]
- ๐ Change PCL smart pointers from
boost
tostd
[#3750] - [ci] Add pipeline for building PCL's environment docker image [#3843]
๐ Deprecation of public APIs, scheduled to be removed after two minor releases
- [common] Remove
#undef Success
in pcl_macros.h by extractingPCL_MAKE_ALIGNED_OPERATOR_NEW
into memory.h [#3654] - [common] Rename
point_traits.h
intotype_traits.h
[#3698] - [filters] Deprecating functions in non-speclialized Passthrough filter [#3888]
- [outofcore][registration] Homogenize deprecation with PCL_DEPRECATED [#3925]
- [cmake][visualization] Deprecate legacy OpenGL backend of VTK [#4065]
Removal of the public APIs deprecated in previous releases
- [io][recognition][tools] Remove very old deprecated headers [#3906]
- ๐ [docs] Remove backup (and defunct)
CMakeLists.txt
[#3915] - Remove use of VTK_EXCLUDE_STRSTREAM_HEADERS (unavailable since VTK 6.0.0) [#3939]
Behavior changes in classes, apps, or tools
- [io] Make grabbers move-only using
unique_ptr
[#3626]
API changes that did not go through the proper deprecation and removal cycle
- [io] Make grabbers move-only using
unique_ptr
[#3626] - [common] Add
pcl::index_t
; move some type declarations frompcl/pcl_macros.h
topcl/types.h
[#3651] - [filters] Clean up
Filter
andFilterIndices
, moveindices_
/input_
from public to protected section [#3726] - [registration] Better Generalized ICP optimizer gradient check management [#3854]
- ๐ Change PCL smart pointers from
boost
tostd
[#3750] - [registration] Removing deprecated method
setInputCloud
from public API [#4026]
ABI changes that are still API compatible
- [filters] NormalSpaceSampling - fix bucket assignment, remove use of raw distribution pointer, unit-test rewriting [#3862]
- [io] Add pcl::weak_ptr to have a single-switch move from boost:: to std:: weak pointers [#3753]
๐ Changes grouped by module
CMake:
- โ Add a stamp file to build documentation once [#3819]
- ๐ Fix compilation in OSX Catalina with OMP enabled [#3721]
- 0๏ธโฃ Show proper message in CMake config for default-off modules [#3927]
- ๐ [deprecation] Deprecate legacy OpenGL backend of VTK [#4065]
libpcl_2d:
- variable assigned a value which is never used [#3857]
- ๐ Fix issue with missing templating of
Keypoint
. Fixes coming from clang-doxy [#3898]
libpcl_common:
- ๐ [deprecation] Remove
#undef Success
in pcl_macros.h by extractingPCL_MAKE_ALIGNED_OPERATOR_NEW
into memory.h [#3654] - ๐ Fix issues with math defines on mingw-w64. [#3756]
- [API break] Add
pcl::index_t
; move some type declarations frompcl/pcl_macros.h
topcl/types.h
[#3651] - ๐ [deprecation] Rename
point_traits.h
intotype_traits.h
[#3698] - ๐ Improve
PCL_DEPRECATED
macro to include scheduled removal version [#3808] - ๐ Fix erroneous PCL version in deprecated message [#3824]
- Select OpenMP data sharing mode based on specific GCC versions [#3823]
- Define
PointIndices
based on the globalIndices
type alias [#3822] - ๐ Fix warning C4067: unexpected tokens following preprocessor directive- expected a newline [#3871]
- [new feature] Provide dynamic and static pointer casts in namespace pcl to allow easy migration in future [#3770]
- [new feature] Add
ignore
function to remove Doxygen warnings for unused arguments [#3942] - ๐ Fix excessive warnings on MSVC [#3964]
- ๐จ Refactoring
PCL_DEPRECATED
macro [#3945] - Correcting type mismatch [#3967]
- โ Removed empty file [#4019]
libpcl_filters:
- Clean up code duplication in
FilterIndices
derived classes [#3807] - [API break] Clean up
Filter
andFilterIndices
, moveindices_
/input_
from public to protected section [#3726] - ๐ [deprecation] Deprecating functions in non-speclialized Passthrough filter [#3888]
- [ABI break] NormalSpaceSampling - fix bucket assignment, remove use of raw distribution pointer, unit-test rewriting [#3862]
- โก๏ธ Optimize VoxelGrid Filter [#3853]
- ๐ Fix error due to multiple declarations of template member function specializations in convolution [#3971]
libpcl_io:
- [ABI break][API break][behavior change] Make grabbers move-only using
unique_ptr
[#3626] - [removal] Remove very old deprecated headers [#3906]
- [ABI break] Add pcl::weak_ptr to have a single-switch move from boost:: to std:: weak pointers [#3753]
- ๐ Use pcl::io::raw_read instead of direct call to POSIX function read [#4062]
libpcl_octree:
- ๐ Fix a memory leak in
OctreeBase::operator=
[#3787]
libpcl_outofcore:
- ๐ [deprecation] Homogenize deprecation with PCL_DEPRECATED [#3925]
libpcl_people:
- ๐ Missing include on windows [#3791]
libpcl_recognition:
- [removal] Remove very old deprecated headers [#3906]
libpcl_registration:
- [API break] Better Generalized ICP optimizer gradient check management [#3854]
- ๐ [deprecation] Homogenize deprecation with PCL_DEPRECATED [#3925]
- [API break] Removing deprecated method
setInputCloud
from public API [#4026]
libpcl_sample_consensus:
- ๐ Better performance, error handling and other improvements in SAC classes [#3642]
- ๐ Use better types for indices:
int
->index_t
,std::vector<int>
->Indices
[#3835]
libpcl_search:
- ๐ Use better types for indices:
int
->index_t
,std::vector<int>
->Indices
[#3840] - โ Add include for
pcl::isFinite
for compilation on VS2019 [#4056]
libpcl_segmentation:
- Check and warn user about missing normals in
OrganizedMultiPlaneSegmentation
[#3861]
libpcl_surface:
- ๐ Fix error due to multiple declarations of template member function specializations in Poisson4 [#3972]
- โฌ๏ธ Reduce time taken in
TextureMapping::sortFacesByCamera
fromO(faces*points)
toO(faces)
[#3981]
libpcl_visualization:
- Minor fix for converting unorganized PointClouds to VTK data [#3988]
- ๐ Fixes #4001 and #3452. [#4017]
- ๐ [deprecation] Deprecate legacy OpenGL backend of VTK [#4065]
- ๐ Fix rendering of points. [#4067]
๐ PCL Docs:
- ๐ Fix Doxygen warnings unrelated to documentation -- Part 1 [#3701]
- โก๏ธ update automatic code formatting info to clang-format [#3845]
- replace formula with math [#3846]
- ๐ Fix PCL_DEPRECATED usage in doxygen for a proper Deprecation List in documentation [#3905]
- [removal] Remove backup (and defunct)
CMakeLists.txt
[#3915] - [new feature] Generate TODO list [#3937]
- ๐ Improve output to match the text in tutorial by adding a newline [#4029]
- ๐ Fix typo in region growing tutorial [#4052]
- โ Add information regarding header include order [#4020]
PCL Tutorials:
- โ Add a unit test for ICP and modernize tutorial code [#3628]
PCL Examples:
- โ Remove unnecessary includes in examples [#4071]
PCL Tools:
- [removal] Remove very old deprecated headers [#3906]
CI:
- โ Temporary fix for skipping of certain tests [#3789]
- ๐ท Simplify Ubuntu CI using matrix strategy [#3783]
- Strip leading tag in commit message from changelog [#3847]
- Shift to clang-format-10 to resolve bug in clang-format-{7-9} [#3895]
- [new feature] Add pipeline for building PCL's environment docker image [#3843]
- ๐ Improve docker ci for other PRs [#4051]
- โ Remove unused variables from exceptions [#4064]
- ๐ท Removing hardcoded version number from tutorial CI [#4058]