Commit Graph

505 Commits

Author SHA1 Message Date
Sebastien Loriot 4f737d4682 Merge pull request #702 from afabri/CGAL-source-GF
Use source() not prefixed with boost::
2016-02-03 09:45:01 +01:00
Andreas Fabri b126649f37 less boost:: 2016-02-01 20:12:43 +01:00
Andreas Fabri 4c9c668dc9 deal with deprecated code 2016-02-01 15:52:52 +01:00
Andreas Fabri c772598ae6 Use source() not prefixed with boost:: 2016-02-01 09:56:57 +01:00
Andreas Fabri 6af27d6033 Add a typedef 2016-01-25 17:28:27 +01:00
Andreas Fabri 59a2acf16b Add const to & 2016-01-25 12:56:01 +01:00
Andreas Fabri 006dcf0c97 cast to get rid of warnings 2016-01-25 11:31:33 +01:00
Andreas Fabri 97134babbf remove/add #includes 2016-01-20 10:19:08 +01:00
Andreas Fabri d497120e5f clean Point_set_processing 2016-01-05 17:17:10 +01:00
Sébastien Loriot 81d638341a prevent internal namespace to be documented 2015-12-28 10:51:49 +01:00
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