OptoInspect3D Inline - alg3Dlib  3.4.0
Library for measured 3D data processing
What's new?

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