-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathCHANGELOG
373 lines (296 loc) · 14.7 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
Ponca changelog
--------------------------------------------------------------------------------
Current head (v.1.4 RC)
- Cmake
- [build] Enable exportation of projects linking to Ponca targets (#150)
- [install] Change output directory to `lib/cmake/Ponca` (#150)
- Bug-fixes and code improvements
- [spatialPartitioning] Fix compilation error with `MAX_NODE_COUNT` when compiled with MSVC (#152)
--------------------------------------------------------------------------------
v.1.3
This release introduces several improvements around the KdTre API, as well as bug fixes, new features and doc
(equations !!) 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)
--------------------------------------------------------------------------------
v.1.2
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)
--------------------------------------------------------------------------------
v.1.1
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)
--------------------------------------------------------------------------------
v.1.0
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
The changes introduced in this version mostly are introduced by PR #56.
- 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)
--------------------------------------------------------------------------------
v.0.3
- 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)
--------------------------------------------------------------------------------
v.0.2-patch1
- Buildchain
- [cmake] Fix several bugs with Eigen submodule (#26)
- 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)
--------------------------------------------------------------------------------
v.0.2
- 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)
--------------------------------------------------------------------------------
v.0.1
- Migrate from Patate: update naming
--------------------------------------------------------------------------------
Patate changelog
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
v.0.5
- Vitelotte
- Core
# Fixed a bug making LDLT solver fail with most versions of Eigen.
# Now support curved edges for rendering
# Improved Windows/Linux compatibility.
# Added Luv color space and fixed a few bugs.
# Added color space support (conversion and rendering)
# Removed redundant headers
# Fixed shader2cpp so that generated shaders are not modified on each compilations.
# Fixed errors and warnings
- Examples
# mvg_editor: display status bar message on selection
- Documentation
# Documentation for diffusion images and color spaces
- Grenaille
- Core
# Fix bugs in GLS derivatives computations
# API improvements:
- Add a method compute(Iterator begin, Iterator end) to hide the addNeighbor/finalize calls when using stl-like vertex containers
- GLS::tau and GLS::eta replaced by generic names: potential, normal. These names are also used by CovariancePlaneFit.
- Add a general CurvatureEstimator based on the availability of a dNormal() method. Make GLSCurvatureHelper deprecated. Principal curvature extraction has also been improved by computing the 2x2 shape operator
# Fix surfaceVariation() method to match Pauly's definition
# Improved covariance plane fitting (single pass + first orded spatial derivatives)
# Speed-up computation of eigenvector derivatives by by-passing the computation of the SVD to compute the pseudo-inverse of the matrix pencil
# Remove several warnings
- Cuda
# Improved compatibility with Cuda 7 (compilation + cross-compilation )
- Tests
# Fix fit_plane unit test
# Extend paraboloid unit test to check for covariance-plane derivatives
# Improve paraboloid unit test: add numerical differentiation, improve stability
- Examples
# Cuda and C++ examples can now be compiled using CMake
# Python examples are also installed in build dir
- General documentation
# Add deprecated page
# Added a clean changelog page and fixed images copy.
# Replace link to devel-list to patate-info registration page
# Add AMS math extensions
# Add a table listing methods implemented in Grenaille
- Other improvements
# Update CMake configuration to show Grenaille and Vitelotte source files in QtCreator
--------------------------------------------------------------------------------
v0.4
- Vitelotte
- Core
# First release of Vitelotte which include a datastructure for
mesh-based vector graphics, a FEM diffusion solver, an OpenGL renderer
and I/O in the mvg file format
- Examples
# tutorial: a simple application to demonstrate basic usage of Vitelotte
# mvgtk: a CLI tool to manipulate mvg files
# mvg_editor: a simple GUI tool to edit mvg files
# mvg_viewer: a lightweigh OpenGL viewer
- Doc
# Added the Vitelotte section, with user manual for the main
functionalities and basic explanations of the examples
- Grenaille
- Core
# Bugfixes and performance improvements in GLSCurvatureHelper
- Doc
# Minor changes: added formulas
- General documentation
# Updates Eigen/Cuda instructions
--------------------------------------------------------------------------------
v0.3.2
- Core
# New PrimitiveBase class (to be used with heritance for all new primitives)
# Plane primitive added
# New output state for fitting added (need another pass)
# New plane fitting technique, using covariance analysis
# Few updates
- Examples
# PCL wrapper added
# Plane fitting example added
- Tests
# Plane primitive tests added
# Plane fitting tests added
# Few updates in tests
- Documentation
# Few fixes in typo
# Few updates in credits and for new features
--------------------------------------------------------------------------------
v0.3.1
- Core
# few issues with cuda have been updated
- Exemple
# SSC gls examples updated
--------------------------------------------------------------------------------
v0.3
- Documentation
# New version with improved presentation, new examples, user manual, images, references, etc.
# Examples fixed.
# We now have a logo !
- Tests
# Now using ctest for the unit tests
# Few functional tests have been added
- Core
# Fits now have a state. The finalize() function can return it. See doc for more details.
# Fit degenerative cases are now well treated (for example plane case). Thus, it should no more produce QNaN values.
# Library cleaned of useless code / files.
# Code refactoring, we now follow some guidelines (see guidelines.txt).
--------------------------------------------------------------------------------
V0.1.2
- BugFix
# Fix space derivatives equals to NaN when the local query is (0,...,0)
- Documentation
# Update documentation on partial support of SelfAdjointEigenSolver in cuda
# Update documentation on GLSCurvatureHelper: new tutorial
- Functionalities
# Add a ready state in algebraic sphere that is set to true by the fitting kernels finalize method
# Add method to compare two GLS instances
# Add helper class to compute principal curvatures
- Improvements
# Use optimized storage order for derivatives vectors wrt space/space differentiation parameters
- Tests
# Add eigendecomposition test
- Cleaning
# Remove unused include directives