Simon Giraudot
5649b0dd58
Protect std::min with parenthesis (illegal token error with VS)
2016-01-14 07:57:38 +01:00
Simon Giraudot
93637a28ef
Warning fixes: conversions from double to std::size_t
2016-01-13 15:17:25 +01:00
Simon Giraudot
24f98d687f
Bugfix: only compute centroid if non-empty point container
2016-01-13 09:09:11 +01:00
Simon Giraudot
5bfa2fdd7f
Add missing include (limits)
2016-01-13 08:03:02 +01:00
Simon Giraudot
40257fefb5
Merge branch 'Point_set_processing_3-Point_set_structuring-GF-old' into Point_set_processing_3-Point_set_structuring-GF
2016-01-12 11:53:09 +01:00
Simon Giraudot
f079c7538a
Disable VC++ warning
2016-01-11 14:44:31 +01:00
Simon Giraudot
3fd7a3fb81
Warning fix: use std::size_t instead of int
2016-01-11 08:38:18 +01:00
Simon Giraudot
8c55b470ee
Merge branch 'Point_set_processing_3-Point_set_structuring-GF' of github.com:CGAL/cgal-dev into Point_set_processing_3-Point_set_structuring-GF
2016-01-11 07:36:54 +01:00
Simon Giraudot
3a8937259c
Remove #define CGAL_PSP3_VERBOSE and add condition to warning displays
2016-01-11 07:36:09 +01:00
Andreas Fabri
f22051c8d0
Point -> const Point&
2016-01-09 10:21:11 +01:00
Andreas Fabri
f7c0dd44d2
fix VC++ problem with max()
2016-01-09 10:12:50 +01:00
Simon Giraudot
a33f7f89a8
Use std::numeric_limits<std::size_t>::max() instead of (std::size_t)(-1)
2016-01-06 15:13:58 +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
d2bf68506d
Speed up computation of corners
2015-12-14 11:56:42 +01:00
Simon Giraudot
5f771f6732
Bugfix: break instead of continue made some corners badly defined
2015-12-11 17:56:35 +01:00
Simon Giraudot
55b01dda63
Speed up computation of corners (early ending added)
2015-12-11 15:14:39 +01:00
Simon Giraudot
8d55bb7a58
Add a coherence_type enum for clearer result meanings
2015-12-09 11:58:19 +01:00
Simon Giraudot
7c0006c4e8
Bugfix: do not run algorithm if no plane available
2015-12-04 08:44:20 +01:00
Simon Giraudot
0cc0550067
Remove useless accessor + more specific coherence values
2015-12-03 14:06:30 +01:00
Simon Giraudot
2a9d90728b
Simplify notations by cleaning point set after algorithm
2015-12-02 14:08:11 +01:00
Simon Giraudot
82a08e343c
Handle freeform coherence + public access methods
2015-12-02 12:59:08 +01:00
Simon Giraudot
26477bdf37
Change name of variable
2015-12-01 15:44:41 +01:00
Simon Giraudot
04b20c04a5
Add citation of point set structuring paper
2015-12-01 15:30:54 +01:00
Simon Giraudot
9e581355a3
Beginning of work on manual
2015-12-01 15:22:34 +01:00
Simon Giraudot
7d7d1073b1
Cleaning comments and add verbose ifdef
2015-12-01 12:53:02 +01:00
Simon Giraudot
2b97a3063f
Also generate normals when structuring point set
2015-11-30 11:03:36 +01:00
Simon Giraudot
d3016c5185
Bugfix: deactive corner if too far away from point set
2015-11-30 08:24:37 +01:00
Simon Giraudot
7ba0d499bf
Filter Delaunay coherent facet with size parameter
2015-11-27 15:37:07 +01:00
Simon Giraudot
72a83bcbca
Method to get coherent Delaunay facets
2015-11-27 11:51:28 +01:00
Simon Giraudot
ca129b6684
Keep track of edge/corner indices
2015-11-27 09:38:37 +01:00
Simon Giraudot
5aac533a56
Merge branch 'Point_set_processing_3-Point_set_structuring-GF-old' into Point_set_processing_3-Point_set_structuring-GF
2015-11-26 14:48:54 +01:00
Simon Giraudot
37b446fc4e
Projection bugfix + empty corners bugfix + missing distance test added
2015-11-26 09:53:42 +01:00
Simon Giraudot
7fb11280e2
Corner directions + sampling refinement
2015-11-25 12:50:37 +01:00
Simon Giraudot
a1da4ab306
Refine sampling (WIP)
2015-11-25 10:47:43 +01:00
Simon Giraudot
30c352f025
Bugfix: OFF reader should accept comments and empty lines
2015-11-25 09:18:15 +01:00
Simon Giraudot
1f4191bbc7
Remove debugging code portion
2015-11-13 14:28:31 +01:00
Simon Giraudot
4602910059
Bugfix: wrong indices in loop
2015-11-13 14:02:47 +01:00
Simon Giraudot
6a0ee7e673
Method to get detailed output
2015-11-13 12:36:27 +01:00
Simon Giraudot
38b6c428f3
Simplified API + function to get output points
2015-11-13 11:11:39 +01:00
Simon Giraudot
a7d7efbb22
Plane resampling
2015-11-13 10:50:04 +01:00
Simon Giraudot
8b8f97217b
Merging corners
2015-11-13 10:02:14 +01:00
Simon Giraudot
06814e1a8a
Corner computation
2015-11-13 09:13:10 +01:00
Simon Giraudot
dcf06b4a13
Creation of edge points and anchor points
2015-11-12 14:58:43 +01:00
Simon Giraudot
b1d9d6b611
Computing edges
2015-11-12 10:48:05 +01:00
Simon Giraudot
ee247e6f90
Bugfix: inserting *it and not *begin in loop
2015-11-12 09:51:39 +01:00
Simon Giraudot
cc934e45bb
WIP: finding pairs of adjacent primitives
2015-11-10 15:43:32 +01:00
Simon Giraudot
6b0cccad0b
File for point set structuring + general structure
2015-11-10 10:49:47 +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