Simon Giraudot
30c352f025
Bugfix: OFF reader should accept comments and empty lines
2015-11-25 09:18:15 +01:00
Simon Giraudot
99d4fc84bd
Merge branch 'Point_set_processing_3-IO_ply-GF-old' into Point_set_processing_3-IO_ply-GF
2015-10-15 14:27:57 +02:00
Laurent Rineau
18cac48bae
Merge pull request #367 from sgiraudot/Point_set_processing-hierarchical_clustering-sgiraudot
...
New point set processing algorithm: Hierarchical clustering
2015-10-14 10:54:37 +02:00
Clement Jamin
145131e2e6
Use Real_timer in PSP3 and T3 since the algorithms might be parallel
2015-10-08 15:34:40 +02:00
Simon Giraudot
09d2c9e5a4
Revert removal of hack to handle char properly (std::stream treats boost::int8_t as char)
2015-10-08 10:18:16 +02:00
Simon Giraudot
39eef61847
Add headers
2015-10-08 10:08:39 +02:00
Simon Giraudot
f614ce4ea1
Remove useless includes
2015-10-08 10:08:20 +02:00
Simon Giraudot
833982a32f
Use boost fixed-width integer types for portability (and remove hack for reading ASCII 'char')
2015-10-08 09:52:45 +02:00
Simon Giraudot
eb430e2397
Harmonize template indentation and remove outdated header
2015-10-08 09:24:35 +02:00
Simon Giraudot
79ca962159
Merge branch 'Point_set_processing_3-IO_ply-GF-old' into Point_set_processing_3-IO_ply-GF
2015-10-08 08:48:39 +02:00
Simon Giraudot
512273ae5f
Update doc and tests
2015-10-08 08:47:14 +02:00
Simon Giraudot
0916c32ded
Fix numeric_limits::max bug (conflict with other max)
2015-10-08 07:59:56 +02:00
Simon Giraudot
b35e34238a
Bugfix: if 2 input points are equal, avoid infinite loop and terminate non-empty cluster
2015-10-07 16:00:54 +02:00
Simon Giraudot
a068249ac5
Minor code cleaning/rewriting
2015-10-07 16:00:53 +02:00
Simon Giraudot
e6054bfdeb
Rename function and files in accordance to content
2015-10-07 16:00:53 +02:00
Simon Giraudot
20698d4dde
Make the algorithm a simplification algorithm instead of a clustering one
2015-10-07 16:00:53 +02:00
Simon Giraudot
28cf05f189
Remove duplicate code (use PCA_util.h to assemble covariance matrix)
2015-10-07 16:00:52 +02:00
Simon Giraudot
648c19b6f6
Remove unused typedef warning
2015-10-07 16:00:52 +02:00
Simon Giraudot
b16f7605d6
Enhancement: keep current cluster an only build one side instead of two
2015-10-07 16:00:52 +02:00
Simon Giraudot
cf9b7230d8
Algorithm is faster if the plane is not constructed
2015-10-07 16:00:52 +02:00
Simon Giraudot
5df527d2f0
Correct preconditions
2015-10-07 16:00:52 +02:00
Simon Giraudot
bf8d876d6d
More on user manual and reference manual
2015-10-07 16:00:51 +02:00
Simon Giraudot
e6c757f463
Begin working on reference manual
2015-10-07 16:00:51 +02:00
Simon Giraudot
14567ae261
Add variant with default diagonalize traits
2015-10-07 16:00:51 +02:00
Simon Giraudot
fea22733ee
Speed up using list instead of queue (avoid multiple copies) + bugfix
2015-10-07 16:00:51 +02:00
Simon Giraudot
5ab793531c
Bugfix: if one of the two sides is empty, only treat the non-empty side
2015-10-07 16:00:51 +02:00
Simon Giraudot
ed2d3167e2
Stack is faster than queue in this case
2015-10-07 16:00:51 +02:00
Simon Giraudot
7babff9f05
Optimizations (using splice for lists and reference for queue.front())
2015-10-07 16:00:51 +02:00
Simon Giraudot
eb7266a42d
Cleaning/reorganizing code, use diagonalize_traits and add variants with default parameters and template deduction
2015-10-07 16:00:50 +02:00
Simon Giraudot
e8dd34cb21
Implemented the efficient computation of the second centroid.
...
The hierarchical clustering algorithm gets about 15% faster
(on test Eglise Fontaine, from 91s to 76s).
2015-10-07 16:00:50 +02:00
Simon Giraudot
ee1e7ee714
Added the alternative implementation of hierarchical clustering using
...
the Eigen library.
For now, both implementations are available (switchable with a
2015-10-07 16:00:50 +02:00
Pierre Alliez
00fad8756a
Add comments in hierarchical clustering and fix indentations
2015-10-07 16:00:50 +02:00
Simon Giraudot
b87d1bbc3e
Very first version of the hierarchical clustering added (work in
...
progress).
It contains somes functions that may be more relevant in some other
package :
* 2 functions to compute the covariance matrix of a 3D point set
* 2 functions to split a point set according to a plane
Also the function of the actual hierachical clustering algorithm.
2015-10-07 16:00:50 +02:00
Sebastien Loriot
62644a62aa
Merge pull request #318 from sgiraudot/CGAL-Solver-package-GF
...
Regroup solver interface in Solver_package
2015-10-07 15:54:48 +02:00
Simon Giraudot
30323c816a
Write PLY headers
2015-10-07 15:34:08 +02:00
Simon Giraudot
1e068b0844
Skeleton of write_ply_points.h file
2015-10-07 15:12:19 +02:00
Simon Giraudot
0004aed5bc
Bug fix: explicitly ask an integer when reading char/uchar from stream
2015-10-07 15:06:08 +02:00
Simon Giraudot
a8bea5e6d9
Handle detailed types (e.g. int16 instead of short)
2015-10-07 14:19:26 +02:00
Simon Giraudot
f732c100c3
Fix warnings and use union instead of reinterpret_cast
2015-10-07 14:08:03 +02:00
Simon Giraudot
c2e38b72a6
Merge branch 'Point_set_processing_3-IO_ply-GF-old' into Point_set_processing_3-IO_ply-GF
2015-10-07 13:52:06 +02:00
Simon Giraudot
fddcb24197
Polyhedron demo ply_to_xyz reader
2015-10-07 13:50:57 +02:00
Simon Giraudot
850f28ed07
Ply reader for point sets
2015-10-07 12:10:29 +02:00
Simon Giraudot
867a731d48
WIP: processing PLY header
2015-10-06 15:36:35 +02:00
Simon Giraudot
ac3dbad721
Skeleton of new read_ply_points.h file
2015-10-06 15:01:50 +02:00
Simon Giraudot
ac591cf257
Merge branch 'Point_set_processing_3-TBB-GF-old' into Point_set_processing_3-TBB-GF
2015-09-29 13:50:17 +02:00
Sébastien Loriot
da650cbd1c
Merge branch 'old/CGAL-Solver-packages-GF' into CGAL-Solver-package-GF
2015-09-26 15:47:54 +02:00
Simon Giraudot
13e4a76cd8
Merge branch 'Point_set_processing_3-TBB-GF-old' into Point_set_processing_3-TBB-GF
2015-09-24 12:45:58 +02:00
Sébastien Loriot
cdfc7f1c31
Merge branch 'old/CGAL-split_packages-GF' into CGAL-split_packages-GF
2015-09-23 10:08:41 +02:00
Sébastien Loriot
68aa21292a
Merge branch 'old/CGAL-Solver-packages-GF' into CGAL-Solver-package-GF
2015-09-21 07:34:18 +02:00
Simon Giraudot
a4f242a0cc
Replace Internal_diagonalize_traits by Diagonalize_traits + corrections in Concepts/Models
2015-09-16 11:41:26 +02:00
Andreas Fabri
58b7dc7319
fix typo
2015-09-16 09:29:09 +02:00
Simon Giraudot
b840307161
Generate compile-time error if Parallel_tag is used without TBB
2015-09-08 15:31:28 +02:00
Simon Giraudot
2c6e6e5e57
Update Reference Manual with additional template parameter
2015-09-08 12:38:34 +02:00
Simon Giraudot
935956a10f
Merge branch 'Point_set_processing_3-TBB-GF-old' into Point_set_processing_3-TBB-GF
2015-09-08 11:11:07 +02:00
Simon Giraudot
0afe0249f9
Bugfix: badly placed #ifdef caused bug if TBB was not used
2015-09-08 10:42:47 +02:00
Simon Giraudot
63f77a05a5
Merge branch 'CGAL-Solver-package-GF-old' into CGAL-Solver-package-GF
2015-09-07 10:01:12 +02:00
Simon Giraudot
136de97318
Bugfix: DiagonalizeTraits now really returns largest eigenvalue + inversion of parameters in voronoi_covariance is corrected.
2015-09-04 16:01:46 +02:00
Simon Giraudot
dd271ecca5
Revert "Bugfix: function extract_largest_(...) is now called extract_smallest_(...) to be consistent with what is actually extracted."
...
This reverts commit 8410aab93c .
2015-09-04 15:13:57 +02:00
Simon Giraudot
8410aab93c
Bugfix: function extract_largest_(...) is now called extract_smallest_(...) to be consistent with what is actually extracted.
2015-09-03 18:55:19 +02:00
Laurent Rineau
9bae0c0e63
Merge pull request #270 from sgiraudot/Polyhedron_demo-WLOP_plugin-sgiraudot
...
Polyhedron demo point set processing plugins
2015-09-03 17:22:54 +02:00
Simon Giraudot
26aab5fc5c
Use default diagonalization interface for VCM functions
2015-09-03 14:36:47 +02:00
Simon Giraudot
8f98d9dc0a
Fixed indentation issues
2015-08-31 10:09:54 +02:00
Simon Giraudot
28e5432c16
Renaming 'VCM' to 'diagonalize'
2015-08-31 08:30:01 +02:00
Sébastien Loriot
aed4e8b2fc
fix doc typos
2015-08-28 15:36:29 +02:00
Simon Giraudot
bd7ea48403
Propagating API change to Point_set_processing package (vcm_estimate_*)
2015-08-26 14:01:47 +02:00
Simon Giraudot
146378dd38
Fix compilation errors if TBB is missing (missing #ifdef in the files)
2015-08-24 10:22:54 +02:00
Simon Giraudot
abf9063561
Move Eigen_vcm_traits.h to Solver package
2015-08-20 16:43:58 +02:00
Simon Giraudot
05e0965655
Fix warnings of possible loss of data converting std::size_t to unsigned int
2015-08-19 15:22:17 +02:00
Simon Giraudot
bf70be5a52
Update function calls with concurrency tag
2015-08-19 11:59:22 +02:00
Simon Giraudot
84528727a1
Fix warning unused variable
2015-08-18 11:50:26 +02:00
Simon Giraudot
24c89aaf00
Added missing TBB includes
2015-08-18 11:49:25 +02:00
Simon Giraudot
77779ff559
PCA estimate normals parallelized with TBB
2015-08-18 11:16:46 +02:00
Simon Giraudot
0902708bfd
Removed useless namespace
2015-08-18 11:09:34 +02:00
Simon Giraudot
6f0113054a
Removed useless point counter
2015-08-18 11:08:28 +02:00
Andreas Fabri
67d72675fe
split packages
2015-08-17 23:46:59 +02:00
Simon Giraudot
9ae599848d
Compute average spaciong parallelized with TBB
2015-08-17 12:12:35 +02:00
Simon Giraudot
8fa51591d7
Added missing tbb include
2015-08-17 12:04:38 +02:00
Simon Giraudot
82d91da597
Removed unused propertymap attribute
2015-08-17 08:29:16 +02:00
Simon Giraudot
f85b38361a
Jet estimate normals parallelized with TBB
2015-08-17 08:28:09 +02:00
Simon Giraudot
34cc20a034
Removed useless function
2015-08-14 17:18:47 +02:00
Simon Giraudot
734c491ac8
Jet smoothing parallelized with TBB
2015-08-14 17:12:02 +02:00
Clement Jamin
3fac8e761a
Merge branch 'Point_set_shape_detection_3-cjamin-old' into Point_set_shape_detection_3-cjamin
2015-06-30 10:36:11 +02:00
Clement Jamin
ad91ed562f
Fix a warning
2015-06-26 19:20:31 +02:00
Sébastien Loriot
646650be81
disambiguate call to std::sqrt for MSVC10
2015-06-10 16:12:59 +02:00
Sébastien Loriot
966f0188b2
force use of std::sqrt
2015-06-08 12:06:23 +02:00
Sébastien Loriot
fb2a3a2f50
accomodate update of the halfspace intersection that is now outward oriented
2015-06-05 14:43:55 +02:00
Sébastien Loriot
11a75f1e3c
remove extra semi-columns
2015-06-05 14:32:04 +02:00
Sébastien Loriot
c2cd87865e
Merge branch 'old/gsoc2014-VCM_3-jmeyron' into gsoc2014-VCM_3-jmeyron
...
Conflicts:
Installation/changes.html
Point_set_processing_3/doc/Point_set_processing_3/PackageDescription.txt
Point_set_processing_3/doc/Point_set_processing_3/Point_set_processing_3.txt
Point_set_processing_3/doc/Point_set_processing_3/examples.txt
Point_set_processing_3/examples/Point_set_processing_3/CMakeLists.txt
Polyhedron/demo/Polyhedron/CMakeLists.txt
2015-06-04 11:27:56 +02:00
Sébastien Loriot
a2f05fb8bb
remove warning
2015-05-19 16:43:27 +02:00
Sébastien Loriot
bdba9d2c7c
do not convolve if nb neighbors <= 0
2015-05-19 16:09:41 +02:00
Sébastien Loriot
0036cc585e
add a switch to use constructions in the covariance computation
2015-05-19 15:28:28 +02:00
Sébastien Loriot
115e22ec29
copy input point to be able to use the insert by range of DT
2015-05-19 15:17:53 +02:00
Sébastien Loriot
1a51d32df9
size_t -> std::size_t
2015-05-19 15:06:14 +02:00
Sébastien Loriot
48b41d8610
avoid using a map to get the index of a point and use reserve
2015-05-19 15:04:36 +02:00
Sébastien Loriot
d43529c131
save the indexof the point covariance matrix to avoid a lookup in a map
2015-05-19 11:28:01 +02:00
Laurent Rineau
a2ffb7d6f8
Merge pull request #80 from afabri/CGAL-array_as_property_map_example-GF
...
Add an example for an array as property map
2015-05-18 11:17:23 +02:00
Andreas Fabri
b7f9849599
Replace CGAL::get() with CGAL::get_pointee_or_identity() and remove using get::
2015-04-30 11:31:21 +02:00
Sébastien Loriot
82e7da19a5
forgot to init the array
...
this is a bug in introduced in this commit:
|--
|commit 8bc716abf6
|Author: Sébastien Loriot <sebastien.loriot@cgal.org>
|Date: Mon Apr 20 17:59:52 2015 +0200
|
| directly use CGAL::cpp11::array rather than a custom class
|--
The initialization was done in the default construtor of the custom class
2015-04-29 23:31:21 +02:00
Sébastien Loriot
97c8a07289
remove experimental code to extract feature polylines that is not working good
...
update the demo plugin accordingly
2015-04-27 21:42:22 +02:00
Sébastien Loriot
c9131379e1
accomodate Pierre's review
2015-04-27 14:15:30 +02:00