New in version 3.3.1 (May 2023)
-
Fixed a bug in ALG3D_removeOutliers (wrong points were removed)
-
Fixed a bug causing the DLL to crash if multiple instances were running
New in version 3.3.0 (February 2023)
-
Added a function to locate the nearest neighbor and the corresponding triangle on a mesh (ALG3D_findNearestPointAndTriangle2Mesh)
New in version 3.2.3 (February 2023)
-
Fixed a bug in ALG3D_computeRegistration/ALG3D_computeRegistrationTree when only one rotation axis is activated
New in version 3.2.2 (January 2023)
-
Fixed a bug in ALG3D_computeRegistrationCorrespondences when only one rotation axis is activated and extended documentation on possible edge cases
-
Numerous internal bug fixes
New in version 3.2.1 (October 2022)
-
Added function to get triangle points from triangle index (required for the result intersection functions which return the index of the intersected triangle; the ALG3D_createMesh function removes invalid triangles, so the index does not correspond to the original triangles passed to ALG3D_createMesh)
-
The DLL now loads without a dongle, but the functions are locked
-
ALG3D_dongleConnected only returns 1 if a version 3 dongle is connected
-
Numerous internal bug fixes
New in version 3.2 (August 2021)
-
Added function to subdivide long edges in a triangle mesh, which can result in improved performance for registration and distance computations (see ALG3D_subdivideLongEdges)
-
Added function to registrate multiple datasets simultaneously(see ALG3D_computeMultiViewRegistration)
-
Numerous internal bug fixes
New in version 3.1.1 (May 2021)
-
Bugfix in minimum enclosing and minimum zone approximation functions for certain numerical edge cases
New in version 3.1 (Mar 2021)
-
The library is now splitted into 3 modules (best-fit, registration, filtering) that must be purchased individually
-
Added functions to sample points on a triangle mesh (see ALG3D_sampleMesh)
-
Added functions to perform raytracing on a triangle mesh (see ALG3D_raytracing_allIntersections)
-
Numerous internal bug fixes
New in version 3.0 (Dec 2020)
-
New major version with API changes (see API-Changes in version 3 for more information)
-
Significant speed improvements of allmost all Preprocessing and filtering (reduction in runtime over all algorithms up to -30%)
-
Major rework of the internal handling of triangle meshes (reduction in runtime up to -80%)
-
Drastically reduced memory consumption of the KdTree through new internal design (reduction down to 30% of previous version)
-
Improved parallelization of numerous algorithms and internal data structures, which leads to better performance on modern multicore systems
New in version 2.7 (Apr 2020)
-
Improved overall performance through better utilization of multiple cores
-
Added faster versions of already existing functions that work with precomputed values
-
Added functions to compute approximated normal vectors, which a are little less precise but much faster to compute
-
Added function that adapts the thinning of a point cloud based on the local surface curvatures
-
Added function to compute the optimal transformation between two point clouds if correspondences are given
-
Added new version of the ICP algorithm that integrates surface normals into the registration process
-
Added function to detect and remove outliers from the point cloud
New in version 2.6 (Dec 2018)
-
Improved performance for best-fit and registration algorithms
-
Maximum inscribed cylinder (Pferch cylinder) added
-
Maximum inscribed sphere (Pferch sphere) added
-
New point cloud thinning function (ALG3D_computeThinningToPointNumber) for homogeneous thinning to a given number of points
-
Replaced ALG3D_computeThinning interface with ALG3D_computeThinningToNeighborhood for homogeneous thinning to a given neighborhood radius
-
Fixed Visual Studio 2017 compiler warnings in example code
-
Functions added to get library and algorithms version
-
Function added that returns the dongle's license information
-
Removed instable ALG3D_getLibraryInfo function
New in version 2.5 (Nov 2018)
-
Improved speed for distances and registration of points to mesh
-
Chebyshev(Minimum-Zone)-best fit torus added
-
convenience function for distance computations to point clouds added
-
convenience function for distance computations to meshes added
-
Overall performance optimization and minor fixes in the underlying library
New in version 2.4 (Jul 2018)
-
Chebyshev(Minimum-Zone)-best fit 3D line added
-
Minimum Enclosing Cylinder (MC) added
-
Minimum Enclosing Planes (MC) added
-
Algorithm for 3D convex hull added
-
Improved speed of Least-squares approximation methods
-
Improved numerical stability and precision for Chebyshev approximation methods
-
Overall performance optimization and minor fixes
-
ICP: improved performance and stability for meshes (Least-Squares and Chebyshev)
-
ICP: rotation center can optionally be fixed at the origin
New in version 2.3 (Feb 2018)
-
ICP: Revised implementation for meshes and point clouds with improved numerical stability and faster convergence
-
ICP: Resulting transformation is no longer automatically applied to the point set
-
ICP: Unified definition of degrees-of-freedom constraints for meshes and point clouds
-
Minimum Enclosing Sphere (MC) added
-
Chebyshev(Minimum-Zone)-best fit cone added
-
Improved speed and numerical stability for Chebyshev approximation methods
New in version 2.2 (Jul 2017)
-
Performance improvements for nearest-neighbour-queries between two point clouds
-
Minor improvements for some degenerate cases in best-fit cylinders and cones
New in version 2.1 (Apr 2017)
-
New algorithms and interfaces for smoothing: Gaussian, shape preserving, feature preserving
-
Chebyshev(Minimum-Zone)-best fit for plane, sphere, cylinder added
-
Algorithms for computing surface feature (curvatures, edges, density) added
-
ICP-registration: new options to control degrees of freedoms
-
ICP-registration: Minimax(Chebyshev)-minimization for alignment to triangle meshes added
-
Least-squares fit for torus added
-
Distances of points to torus added
-
Projections of points to sphere, cylinder, cone and torus added
-
findKNearestNeighbors function now accepts a starting value
New in version 2.0 (Oct 2016)
-
All deprecated functions have been removed
-
Support for Windows XP and 32-Bit applications discontinued
-
New license model independend from single functions
-
Number of usable cores/threads now unlimited
-
Functions have been grouped into modules with new header files
-
Improved stability and performance for Pointcloud-to-Pointcloud registration
-
New algorithm for fast Pointcloud-To-Mesh registration added
-
Algorithm to compute surface normals added
-
K-nearest neighbour query for KdTree added
-
Fast algorithm for combined smoothing and thinning added
-
Improved performance for best-fit cylinder
-
Gaussian point cloud smoothing added
-
Function for clostest-point-to-triangle added
-
Function for minimum bounding circle for triangles added
-
Function to manually check if a valid dongle is connected added
-
Function to manually set the maximum number of threads used internally added