Commit Graph

538 Commits

Author SHA1 Message Date
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
Andreas Fabri 688e16b26a Add an example that works with built-in array as property map; Add using ::get 2015-04-24 08:55:38 +02:00
Sébastien Loriot 200229dcec eigen foo -> eigenfoo 2015-04-24 08:52:12 +02:00
Sébastien Loriot 90530f83ce greatest -> largest 2015-04-24 08:38:40 +02:00
Sébastien Loriot 3c7c06e539 rename variables 2015-04-23 15:46:59 +02:00
Sébastien Loriot 8adf56212d overlay -> overload 2015-04-23 15:22:40 +02:00
Andreas Fabri 52382276a8 Escape the word Index with '%' 2015-04-23 12:04:35 +02:00
Sébastien Loriot 94d84aebf7 fix compilation issues 2015-04-23 10:30:02 +02:00