Skip to content

Releases: poncateam/ponca

v2.0.alpha0

04 Dec 14:02
59b9db4

Choose a tag to compare

v2.0.alpha0 Pre-release
Pre-release

v.2.0.alpha0
This release introduces the first API changes toward v2.0 + bug fixes and doc improvements.

  • API

    • [fitting] Refactor weight functions. Now supports local/global fitting (#177)
    • [fitting] Add compact and non-compact weight kernels (#177)
    • [fitting] Add changeBasis method for Plane and Line primitives (#177)
    • [fitting] Make projectDescent available for any Basket (#177)
  • Bug-fixes and code improvements

    • [fitting] Add [[nodiscard]] qualifier when required (#221)
    • [fitting] Fix uninitialized variables (#221)
    • [fitting] AlgebraicSphere: fix bug on projection for the planar case (#177)
  • Tests

    • [fitting] Add barycenter test (#177)
    • [fitting] Add change_basis test (#177)
    • [fitting] Minor improvements (#221)
  • Examples

    • [all] Update examples according to API change (#177)
  • Docs

    • [fitting] Add missing documentation (MeanPositionDer, MeanNormalDer) (#222)
    • [fitting] Fix issues in documentation (MeanNormal) (#222)
    • [fitting] Update doc according to API change (#177)
    • [fitting] Minor improvements (#221)

v1.4

09 Oct 22:34
40f245e

Choose a tag to compare

This release includes many bugfixes and code improvements, including better tests and examples.

  • API

    • [fitting] Refactor the Weighting function initialization to avoid misuse (#167)
    • [fitting] Add class NoWeightFunc to skip weight computation (#144)
    • [fitting] Add ComputeObject and changed basket to inherit the compute methods from it (#188)
    • [fitting] Add features in CovarianceFitBase (#191)
    • [fitting] Generalised smooth weight kernel to any dimension (#159)
    • [fitting] Adding the MLS computation (#187)
  • Cmake

    • [build] Enable exportation of projects linking to Ponca targets (#150)
    • [install] Change output directory to lib/cmake/Ponca (#150)
    • [build] Fix the compilation of pcl_wrapper on newer CMake version by enabling the use of the C language (#156)
  • Bug-fixes and code improvements

    • [spatialPartitioning] Fix compilation error with MAX_NODE_COUNT when compiled with MSVC (#152)
    • [spatialPartitioning] Fix compilation error with AppleClang: wrong initializers ordering (#154)
    • [spatialPartitioning] Fix issues with KdTreeCustomizableNode copy and move constructors(#192)
    • [fitting] Fix typo in code (#182)
    • [fitting] Fix unsafe use of m_ul in OrientedSphereFit for degenerated cases (#202)
    • [fitting] Streamlining compute functions declaration (#194, #210)
    • [spatialPartitioning] Adding missing PONCA_MULTIARCH_STD_MATH call (#205)
    • [all] Added static cast to remove warnings (#203)
    • [all] Fixing include directives for std lib (#214)
  • Tests

    • [fitting] Split Basket test in subtests (#96)
    • [fitting] Fix random failure in Basket and Projection tests (#96,#162)
    • [fitting] Minor fix in the basket test (#186,#193)
    • [fitting] Adding the MLS test (#187)
  • Examples

    • [ssgls] Fix compilation error with CUDA due to compiler mismatch (#96)
    • [pcl] Fix compilation error due to outdated API usage (#96)
    • [nanoflann] Add missing include directive (#96)
  • CI/Actions

    • Fix automatic doc deployment (#158,#176)
    • Print error log on tests failure (#162)
    • save time by installing PCL and configuring examples only if tests are ok (#208)
  • Docs

    • [fitting] Updated the Fit user manual to account for the change of use of the curvature estimator (#172)
    • [fitting] Improve concept and capabilities descriptions (#207)
    • [doc] Removed the release digest (#160)

v.1.3

11 Jul 13:44
576dd57

Choose a tag to compare

This release introduces several improvements around the KdTre API, as well as bug fixes, new features and doc for the fitting module.

  • Silent Breaking Changes

    • [fitting] Fix bad design where public barycenter() function was expressed in local coordinate (#141)
  • API

    • [SpatialPartitioning] Change part of the kdtree API (#123)
    • [spatialPartitioning] Refactor KdTree into KdTreeDense + KdTreeSparse (#129)
    • [fitting] Add UnorientedSphereDer (#134)
  • Bug-fixes and code improvements

    • [all] Limit explicit use of exceptions and adapt to compilation mode (#135)
    • [fitting] Fix MeanNormal and MeanNormalDer classes for mean normal vector derivatives computation (#136)
  • Tests

    • [fitting] Compare single-pass covariance analysis with standard two-passes algorithm (#143)
  • Docs

    • [spatialPartitioning] Update KdTree docs to reflect the kdtree API refactor (#129)
    • [fitting] Add equations explaining how single-pass covariance analysis works (#143)

v1.2

15 Dec 14:19
32bffeb

Choose a tag to compare

This release introduces several bug fixes and minor improvements.

  • API

    • [spatialPartitioning] Optimize memory use in knngraph queries (#104)
    • [spatialPartitioning] Clean KdTree API (#122)
    • [spatialPartitioning] Simplify node customization (#128)
    • [fitting] Mark Base type as protected instead of private in CRTP classes (#119)
    • [fitting] Improve KdTreeNodes API by hiding internal memory layout, improve methods naming (#120)
  • Examples

    • Fix example cuda/ponca_ssgls (#109)
  • Bug-fixes and code improvements

    • [fitting] Use variadic template for basket extensions (#85)
    • [fitting] Fix current status issue (#108)
    • [fitting] Fix sphere fit eigen solver (#112)
    • [fitting] Fix a bug in AlgebraicSphere::primtiveGradient (#127)
    • [spatialPartitioning] Optimize memory use in knngraph queries (#104)
    • [spatialPartitioning] Fix potential compilation issues in KnnGraph (#111)
    • [spatialPartitioning] Fix debug macros in KnnGraphRangeQuery (#121)
    • [spatialPartitioning] Improve kdtree to_string to output data in YAML format (#125)

-Docs
- [fitting] Clarify documentation on FIT_RESULT (#108)

V1.1

31 Jul 16:16
0a48bd0

Choose a tag to compare

This release improves the Spatial Partitioning Package with new features and improved doc, as well as several bug fixes and API improvements.

  • API

    • [spatialPartitioning] Add kd-tree traits type (#80)
    • [spatialPartitioning] Add knn-graphs (#101)
    • [fitting] Add Primitive::getNumNeighbors (#86)
    • [fitting] Add Primitive::getWeightFunc (#99)
    • [fitting] Change naming convention and rational for principal curvatures in CurvatureEstimatorBase (#94)
    • [fitting] Add class MeanNormalDer to compute derivatives of the mean normal vector (#78)
  • Bug-fixes and code improvements

    • [spatialPartitioning] Fix unwanted function hiding with DryFit::setWeightFunc (#86)
    • [spatialPartitioning] Fix missing include directive in kdTreeTraits.h (#92)
    • [spatialPartitioning] Fix duplicated code in KdTree queries (see issue #47) (#88)
    • [fitting] Fix a potential bug when using multi-pass fitting (#89)
    • [fitting] Fix a bug in CovarianceFit (#93)
    • [fitting] Remove deadcode in Basket (#86)
    • [fitting] Fix a bug in dtau computation for scale-only derivation (#98)
    • [fitting] Fix a bug in MlsSphereFitDer weight derivatives (#97)
    • [ci] Fix Compiler is out of heap space error on Github (MSVC), by splitting tests (#87)
  • Tests

    • Fix WeightKernel test (failing on windows due to finite differences) (#91)
  • Docs

    • [spatialPartitioning] Update module page with a minimal doc and examples (#86, #92)
    • [spatialPartitioning] Add NanoFlann example (#86)
    • [fitting] Update documentation of AlgebraicSphere::changeBasis (#99)

V1.0

31 May 17:27
9feca1d

Choose a tag to compare

This release introduces several changes in the API in order to

  • improve the computation timings (we reported x1.2 to x1.4 gain depending on the situation)

  • reduce code duplication

  • ease the design of new estimators

  • API

    • [fitting] Factorize neighbors weight computation (#56)
    • [fitting] Factorize neighbors weight derivative computation (add class
      PrimitiveDer and BasketDiff) (#56)
    • [fitting] Add new classes for intermediate computation, which reduces code duplication across estimators: MeanPosition, MeanNormal, MeanPositionDer, CovarianceFit, CovarianceFitDer (#56)
    • [fitting] Improve genericity by allowing to build objets computing multiple fits at once (#56)
    • [fitting] Add a mechanism to detect conflicting computations (#56)
    • [fitting] Move iScaleDer out of internal namespace + name enum (#56)
    • [fitting] Rename normal() as primitiveGradient in MlsSphereFit (#72)
    • [fitting] Add new weight kernels (#71,#74)
    • [fitting] Add mechanism to check weight derivatives validity (#74)
  • Bug-fixes and code improvements

    • [fitting] Reduce objets sizes by removing unnecessary attributes (#56)
    • [fitting] Set default fields values (#56)
    • [fitting] Remove explicit implementation of default constructors (#56)
    • [fitting] Add macros to simplify headers writing (#56)
    • [fitting] Fix several warnings when compiling with MSVC (#56)
    • [fitting] Fix compilation error in GLSDer (#68)
    • [fitting] Fix a bug in barycenterDer computation (#72)
    • [fitting] Improve weight kernel testing (#71,#74)
  • Tests

    • [fitting] Update according to API changes (#56)
    • [fitting] Rewrite test on dNormal (#72)
  • Docs

    • Switch to doxygen-awesome-css (#56)
    • Fix several warnings (#56)
    • [common] Add main page (#56)
    • [common] Add concept page (#56)
    • [common] Reformat page User Manual (#56)
    • [fitting] Rewrite User Manual (#56)
    • [fitting] Rewrite Concept page (#56)
    • [fitting] Add mathematical details about barycenter and barycenterDer (#72)

v0.3

29 Jul 14:27
214eb7f

Choose a tag to compare

Release introducing the following changes:

  • API

    • [spatialpartitioning] Remove duplicated code and clean API (#32,#51)
    • [spatialpartitioning] Fix a bug in range queries (#46)
    • [spatialpartitioning] Add a counter of leaf in the KdTree (#55)
    • [spatialpartitioning] Add editInput on Queries to allow query re-usability between different request (#57)
    • [fitting] Add Line primitive and LeastSquaresLineFitting (#39)
    • [fitting] Rename several classes for better name consistency (#42)
    • [fitting] Add DryFit: a dummy fit object useful for debugging or monitoring (#52, #53)
    • [fitting] Improve convenience functions for basket: add compute(Range) and
      computeWithIds, which can be directly interfaced with kdtree queries (#53)
    • [fitting] Fix too sensitive AlgebraicSphere comparison (#53)
    • [common] Add missing include directive in stack.h (#59)
  • Buildchain

    • [cmake] Add option to hide IDE targets (#54)
  • Tests

    • [spatialpartitioning] Fix wrong test macro in kdtree tests (#46)
    • [fitting] Fix bug in basket test (#51)
    • [fitting] Disable test on windows when using long doubles (#53)
  • Dependencies

    • [eigen] Update default version to 3.4 (#53)
  • Doc

    • Rewrite documentation of the fitting package user manual and its classes. (#42)
    • Fix typo in user manual (#34)
    • Fix broken speed/quality comparisons for curvature estiators (#53)
    • Fix Mathjax configuration (#41)
    • Update author list (#42)

0.2 Alpha - Patch 1

04 May 15:21
7faa5c7

Choose a tag to compare

0.2 Alpha - Patch 1 Pre-release
Pre-release

Replaces https://github.com/poncateam/ponca/releases/tag/v0.2-alpha

API

- [spatialpartitioning] Add new package Space Partitioning (#20)
- [core][fitting] Rename Core module as Fitting (#9)
- [common] Add package common (#9)
- [api] New public entry points are the header files <Ponca/Ponca> and <Ponca/Fitting> (#9)

Buildchain

- [cmake] Fix several bugs with Eigen submodule (#17,#19,#26)
- [cmake] Allow use as submodule (#15)
- [cmake] Cmake package is now relocable (#9)

Tests

- Fix test on Algebraic Sphere projection (#27)
- Fix compilation error on Windows (github actions) for Basket test ( (#27)

Doc

- Fix online documentation (#29): broken reference list (issue #24)

CI/Actions

- Add automatic doc deployment (#29)

0.2 Alpha

30 Apr 10:11
29067ca

Choose a tag to compare

0.2 Alpha Pre-release
Pre-release

API

- [spatialpartitioning] Add new package Space Partitioning (#20)
- [core][fitting] Rename Core module as Fitting (#9)
- [common] Add package common (#9)
- [api] New public entry points are the header files <Ponca/Ponca> and <Ponca/Fitting> (#9)

Buildchain

- [cmake] Fix several bugs with Eigen submodule (#17,#19)
- [cmake] Allow use as submodule (#15)
- [cmake] Cmake package is now relocable (#9)