New features added to PCL
- [common] Added the ability to redirect logging to a callable. [#6244]
- [registration] parallelize SAC-IA error metric with OpenMP [#6431]
- [registration] Add a part of the new rigid registration method [FRICP] [#6199]
Removal of the public APIs deprecated in previous releases
- [io][surface] Remove local source copied zlib files [#6399]
Behavior changes in classes, apps, or tools
- [cmake] Drop C++14 compatibility [#6403]
- [filters] Fix offset by one in RadiusOutlierRemoval and speed up radius search [#6488]
ABI changes that are still API compatible
- [search] Add override to KdTreeNanoflann functions [#6265]
- Fix MSVC_VERSION for Visual Studio 2022 [#6329]
- Fix build with Boost 1.89.0 [#6330]
- Enable compilation with Eigen 5.0.0 [#6354]
- [behavior change] Drop C++14 compatibility [#6403]
- Use same QT version as VTK. [#6406]
- Fix searching for dll paths, instead of adding .lib path. [#6410]
- Add x11 on linux when vtk 9.6+ [#6435]
- CMake: Add 'USES_TERMINAL' to custom target for Ninja [#6445]
- Provide namespaced alias targets (PCL::) in PCLConfig.cmake (#6397) [#6463]
- Split
point_types.hpppart intofield_traits.(h|hpp)[#6375] - [new feature] Added the ability to redirect logging to a callable. [#6244]
- fix cuda 13.3 errors [#6443]
- Add multithread support to boundary estimation [#6389]
- change SHOT estimation to a dynamic schedule [#6400]
- Stabilize ShapeContext3D azimuth orientation [#6398]
- Add OpenMP Parallelization to FarthestPointSampling [#6287]
- filters: address TODO in ModelOutlierRemoval compare content [#6401]
- filters: address TODOs for getMinMax3D to be templated and optimized [#6409]
- Reject out-of-grid centroid coordinates [#6465]
- [behavior change] Fix offset by one in RadiusOutlierRemoval and speed up radius search [#6488]
- Fix CUDA 12.9 transform_reduce ambiguity [#6386]
- Fix gpu module building with cuda 13.2 [#6424]
- gpu approx nearest unit test [#6452]
- [removal] Remove local source copied zlib files [#6399]
- Fix out-of-bounds read/write when parsing OBJ face indices [#6448]
- Support large polygons in PLY output [#6464]
- Avoid 32-bit overflow in ASCIIReader buffer sizing [#6487]
- fix out-of-bounds read when matching IFS header keywords [#6486]
- OctreeSearch: also support leaf types without getPointIndicesVector()… [#6467]
- fix missing iostream include in outofcore/include/pcl/outofcore/visualization/geometry.h [#6412]
- Remove unused linking with 'pcl_visualization' [#6444]
- Add const "guards" in correspondence estimation [#6346]
- Support parallel computation for NDT [#6376]
- [new feature] parallelize SAC-IA error metric with OpenMP [#6431]
- Increase tolerance in FPCSInitialAlignment test [#6446]
- Add a toggle in getFitnessScore to respect user-provided indices in Registration [#6441]
- [new feature] Add a part of the new rigid registration method [FRICP] [#6199]
- Extend correspondence estimation unit test with varying pointtypes [#6481]
- Parallelize SampleConsensusPrerejective [#6484]
- Optimize distance computations for cylinder [#6337]
- Fix SampleConsensusModel constructor to not use a virtual function [#6305]
- Better Cylinder Model Sampling [#6342]
- Better Cylinder Estimation Accuracy [#6338]
- Refactor Ellipse3D optimization kernel to internal namespace [#6430]
- sample_consensus: optimize Ellipse3D solver with computeDirect [#6436]
- Fix randomly failing sample consensus test [#6475]
- Add OpenMP threading to search [#6284]
- [ABI break] Add override to KdTreeNanoflann functions [#6265]
- Fix duplicate symbol errors when using
KdTreeNanoflann[#6336] - Reduce dependency on FLANN, move towards nanoflann as default [#6332]
- Replace more instances of KdTreeFLANN and pcl::search::KdTree [#6347]
- Replace more instances of KdTreeFLANN and pcl::search::KdTree (Part 2) [#6357]
- Move further towards KdTreeNanoflann [#6413]
- Move further towards KdTreeNanoflann [#6417]
- Extend BruteForce search to non-XYZ point types [#6457]
- Fix infinite loop in ConvexHull::reconstruct [#6383]
- [removal] Remove local source copied zlib files [#6399]
- Improve nurbs surface fitting efficiency with Eigen sparse matrix solver [#6379]
- Refactor PointcloudColorHandlerGenericField to deal with any field type [#6309]
- PCLVisualizer: make coordinate system actor unpickable [#5719]
- Replace deprecated VTK function [#6394]
- Add x11 on linux when vtk 9.6+ [#6435]
- Fix in PCLVisualizer::convertPointCloudToVTKPolyData: do not re-use v… [#6440]
- Replace deprecated/removed VTK functions [#6456]
- Remove unnecessary Cocoa import from vtkRenderWindowInteractorFix.mm [#6476]
- Fix
pcl_cc_tool_interfacelibrary build configuration [#6377]
- Fix sim_test_simple tool [#6353]
- Added new bugprone-* and readability-* clang-tidy checks [#6363]
- Update docker image Ubuntu versions [#6404]
- Bump version to 1.15.1 [#6327]
- Bump version post release [#6328]
- Gpu module spelling fixes [#6324]
- Fix macos opengl-related crashes by setting QSurfaceFormat [#6318]
- Fix uninitialized build warning [#6321]
- Update macos on ci [#6334]
- Remove unnecessary calculations from NDT constructor [#6333]
- Remove an unused cufft.h include [#6322]
- Replace exit with exception in geometry/mesh_base.h [#6341]
- Format point_cloud_editors include folder according to clang-format [#6343]
- Parse a file containing the files to be checked to clang-format [#6344]
- Remove remains from when tools was part of libraries. [#6358]
- Update vmImage for cI to solve space issue. [#6365]
- Change pcl gpu utils to an interface library [#6364]
- Add more bugprone-* clang-tidy checks, Part A [#6371]
- Improve error handling of
FittingSurface::initNurbsPCABoundingBox[#6381] - Add more bugprone-* clang-tidy checks, Part B [#6380]
- Fix macOS CI build [#6418]
- Fix typo in docs of getMaxBoxCoordinates functions in voxel grid [#6427]
- Added unit test for points almost on a line, that previously resulted in NAN values. [#6426]
- Fix typo in warning message about field casting [#6433]
- Update Ubuntu-variety CI [#6442]
- Update custom point type doc (4th coordinate is not set to 1) [#6362]
- Disable tutorials since they are build by readthedocs. [#6450]
- Add alignment unit test for IterativeClosestPointWithNormals [#6454]
- Bump ci checkout version [#6462]
- Fix PMF maximum window size precision [#6461]
- Reduce docker image size [#6455]
- Replace deprecated VTK and thrust functions, fix other problems with thrust [#6460]
- Fix misleading comment in ndt.hpp [#6478]
- Remove deprecated code before release 1.16 [#6472]
- Split
common/include/pcl/impl/point_types.hpp[#6367] - Handle zero-length maximum segments [#6490]
- Use FindGTest instead of FindGTestSoure.cmake [#6482]
- Use numeric_limits::lowest() instead of min() to seed running maxima [#6500]
- validate decompressed size against point layout in readBodyBinary [#6491]
- Reject voxel indices beyond int range in VoxelGridCovariance and VoxelGrid [#6492]