Sven Oesau
3e218a2c07
adapted torus to traits concept
...
ToDo: Collinear_2 needs to be adapted
2015-07-10 00:14:09 +02:00
Sven Oesau
bb2998e11f
bugfix
2015-07-10 00:12:32 +02:00
Clement Jamin
00e48dd169
Added right header in comments
2015-07-09 10:27:14 +02:00
Clement Jamin
7ee1ac7c41
Fix warnings
2015-07-09 10:22:43 +02:00
Clement Jamin
33d1b9f971
Doc: updated requirements for the shapes
2015-07-09 10:01:45 +02:00
Clement Jamin
7c45024d90
Dispatched utilities
2015-07-09 09:38:08 +02:00
Clement Jamin
40fd40cc0e
Missing param
2015-07-09 09:20:25 +02:00
Clement Jamin
b1a8059dc3
Fix warning
2015-07-09 08:58:43 +02:00
Clement Jamin
daaa0a87d1
Update the real traits class
2015-07-09 08:58:22 +02:00
Clement Jamin
36d7bfa2c8
Compute_cross_product_3 => Construct_cross_product_vector_3
2015-07-09 08:57:27 +02:00
Clement Jamin
6dc0ff6ada
Reordering
2015-07-09 08:28:07 +02:00
Clement Jamin
545756f2fc
Merge branch 'Point_set_shape_detection_3-cjamin' of github.com:CGAL/cgal-dev into Point_set_shape_detection_3-cjamin
2015-07-09 08:09:13 +02:00
Clement Jamin
0968103236
Removed warning
2015-07-09 08:08:58 +02:00
Sébastien Loriot
a2c1f72164
fix compilation issue
2015-07-09 08:07:49 +02:00
Clement Jamin
5d5b60d130
Revert "Make the utilities public"
...
This reverts commit 230c4aea14 .
2015-07-09 07:47:36 +02:00
Clement Jamin
230c4aea14
Make the utilities public
2015-07-09 07:45:53 +02:00
Clement Jamin
c2b35a7834
WIP: use functors from the trait class and update the concept
...
Temporarily replaced the actual traits class by a fake one to test the concept
Only a few examples compile for now
2015-07-08 19:45:54 +02:00
Sven Oesau
d73676eb8f
renamed several variables to follow CGAL standard
...
changed main loop: after search probability for min_points is surpassed, no more candidates are generated and the remaining ones are searched. Duplicate candidates are filtered.
added Shape_base::is_same(): compares to shapes by testing distance and normal deviation from random points from other shape
2015-07-08 18:55:52 +02:00
Sven Oesau
f550b731ce
changed Shape_base::squared_distance to const
2015-07-08 18:38:09 +02:00
Clement Jamin
385b5ee6ac
Fix warnings + CGAL_M_PI => CGAL_PI
2015-07-07 16:54:27 +02:00
Clement Jamin
61eb5e7640
Fix PI macros
2015-07-07 12:06:45 +02:00
Sven Oesau
8db1f99353
bugfix
2015-07-07 12:06:45 +02:00
Sven Oesau
44a01d3b4c
removed cross filtering kernel
2015-07-07 12:06:45 +02:00
Sven Oesau
81033fd37d
added connected component for cones
...
2 case handling:
flat cones (opening angle > PI/4) are mapped onto circles
acute cones are mapped onto rectangular parameter space
2015-07-07 12:06:45 +02:00
Sven Oesau
b58bc98206
added cross kernel for connected component labeling
2015-07-07 12:06:45 +02:00
Sven Oesau
fbdfc61922
corrected the default value of the min_points parameter as specified in documentation (1% of input points), but not less than 10 points
2015-07-07 12:06:44 +02:00
Sven Oesau
8949009469
moved pi defines to Shape_base
2015-07-07 12:06:44 +02:00
Sven Oesau
a2dc47ca3e
fixed warning
2015-07-07 12:06:44 +02:00
Sven Oesau
73e28e6798
some bugfixes
2015-07-07 12:06:44 +02:00
Sven Oesau
c1669667d3
added connected component for Sphere
...
removed few warnings
2015-07-07 12:06:44 +02:00
Sven Oesau
3300eb746b
changed connected component (more flexible for other shape types)
2015-07-07 12:06:43 +02:00
Sven Oesau
dc3eb93332
avoiding crash if Efficient_RANSAC instance is released after releasing the input data range
2015-06-29 15:46:51 +02:00
Sven Oesau
ab7a764f53
Revert "changed connected component"
...
This reverts commit f525f447b2bd1aa2f004d2be0705c7749eef235b.
2015-06-29 15:40:54 +02:00
Sven Oesau
365d114ac0
changed connected component
...
removed wraps_u_wraps_v
adapted plane and cylinder
2015-06-29 11:13:22 +02:00
Sven Oesau
d9ab3eec09
prevent spheres to be detected as tori (decision based on chosen epsilon)
2015-06-29 10:47:07 +02:00
Sven Oesau
0365e18bc9
small simplification of subset random number generation
2015-06-29 10:01:30 +02:00
Sven Oesau
8ce8ebaff2
fixed memory leak
2015-06-26 14:50:57 +02:00
Clement Jamin
136c6c6886
Use std::distance + reduce some line lengths
2015-06-22 11:30:13 +02:00
Clement Jamin
b6e3c417aa
Fix warnings
2015-06-22 11:15:11 +02:00
Clement Jamin
1335a1eaf7
Use CGAL::abs everywhere
2015-06-22 11:09:23 +02:00
Clement Jamin
40df02cc75
Removed "template" keyword + quick note in the doc
...
"template" should only be added before "add_shape_factory"
when the call is within a template
2015-06-22 10:43:21 +02:00
Sven Oesau
f139720b8d
added unit test for scenes
...
accesses all points assigned to a shape
retrieves the unassigned point range
validates coverage
requires cube.pwn
2015-06-22 00:04:31 +02:00
Sven Oesau
17caccffea
added calls to all specific shape functions
...
added remaining connected component unit tests
small bugfixes (small datasets, cylinder parameter space mapping)
2015-06-21 22:58:18 +02:00
Andreas Fabri
27aa60c2dc
more fixes
2015-06-19 10:04:36 +02:00
Andreas Fabri
8615f1b874
protect max()
2015-06-19 09:06:06 +02:00
Sven Oesau
3c50ebbb95
64 bit compatibility
...
changed random index selection in Octree to Random::uniform_int
switched hypergeometrical_dist from int to std::ptrdiff_t
2015-06-17 17:36:07 +02:00
Sven Oesau
dfba7e2ce0
changed variable naming in several classes to match CGAL standard
...
octree now uses size_t instead of singed integers
added missing Plane::d() function to retrieve d parameter from plane equation (= - distance from origin)
changed many variables from int to size_t to remove 64 bit warnings
2015-06-17 10:27:14 +02:00
Clement Jamin
dd855e0a43
Missing "template"
2015-06-15 14:26:32 +02:00
Clement Jamin
83cbb3b2f4
Use CGAL::Random instead of C++11
2015-06-15 14:01:07 +02:00
Sven Oesau
d42aa18936
bugfix for clang (removed empty Filter_unassigned_points constructor)
...
removed several warnings
switch to CGAL::sqrt
2015-06-15 11:21:08 +02:00
Clement Jamin
be9a7921eb
Revert "Missing parenthesis"
...
This reverts commit 5a620cb873d2665eeac0f2d948fd03b578e9b127.
2015-06-12 17:39:17 +02:00
Clement Jamin
1e39860061
Missing parenthesis
2015-06-12 17:06:45 +02:00
Clement Jamin
a5e017a7c3
Remove "SIZE_MAX"
2015-06-12 16:51:32 +02:00
Sven Oesau
4fbb438a8a
fixed memory leak
2015-06-02 13:15:15 +02:00
Sébastien Loriot
0b77c9bf7e
use CGAL::default_random instead of std::mt19937
2015-05-15 09:13:49 +02:00
Sébastien Loriot
f7804127e9
give the shapes access to the traits
2015-04-29 15:28:15 +02:00
Sébastien Loriot
dbf54bc4f4
the constructor of the default traits takes the geometric traits as parameter
2015-04-29 15:27:43 +02:00
Sébastien Loriot
37922582ff
remove a More in the doc
2015-04-29 15:19:09 +02:00
Sébastien Loriot
4bc3ed055b
fix compilation issues and warnings
2015-04-29 14:54:02 +02:00
Sébastien Loriot
7c757b8d8c
fix the return type of point() and normal()
2015-04-29 14:36:44 +02:00
Sébastien Loriot
782a21822c
clean do not call clear_shape_factories
2015-04-29 14:33:42 +02:00
Sven Oesau
41de18ca64
added traits class to Shape_base (set via compute)
...
removed clear_shape_factories()
removed unused member
2015-04-29 12:22:29 +02:00
Sébastien Loriot
13ef35d8e6
remove extra comma
2015-04-28 21:11:20 +02:00
Sébastien Loriot
3f6eba7993
improve wording
2015-04-28 21:10:40 +02:00
Sven Oesau
e3761ae9d2
added example call to Efficient_RANSAC::add_shape_factory() documentation
2015-04-28 17:49:38 +02:00
Sven Oesau
83b7a30f8f
changed 0.05 to 5% (documentation)
2015-04-24 16:26:24 +02:00
Andreas Fabri
6a7500a881
polish
2015-04-24 16:10:07 +02:00
Andreas Fabri
6a81833648
polish
2015-04-24 16:04:46 +02:00
Sébastien Loriot
b0f50afafe
fix citation
2015-04-24 15:26:38 +02:00
Sébastien Loriot
50cba4f5cb
uniformize
2015-04-23 09:13:59 +02:00
Sébastien Loriot
08f17c33eb
update doc
2015-04-23 08:43:57 +02:00
Sébastien Loriot
87ec11c370
Search_traits_3 requires a Kernel as template parameter
2015-04-23 08:42:56 +02:00
Andreas Fabri
676fd7d1c4
renamed assigned_points_indices to indices_of_assignd_points
2015-04-22 20:08:37 +02:00
Andreas Fabri
b282414acf
renamed unassigned_points_indices to indices_of_unassigned_points
2015-04-22 19:43:41 +02:00
Andreas Fabri
0676c53db4
fixes so that the examples compile again
2015-04-22 19:24:19 +02:00
Andreas Fabri
fbf6926585
polish
2015-04-22 18:40:35 +02:00
Andreas Fabri
3aabefb150
refer to the property maps
2015-04-22 17:39:29 +02:00
Andreas Fabri
75622f39e4
Point ->Point_3
2015-04-22 17:39:29 +02:00
Andreas Fabri
62da6b4082
WIP concerning feedback of reviewers
2015-04-22 16:32:27 +02:00
Andreas Fabri
cd693f27cb
typos
2015-04-22 12:35:39 +02:00
Sven Oesau
6f9ac59ec5
renamed unassigned_points() to unassigned_points_indices()
2015-04-21 10:03:14 +02:00
Sven Oesau
7aeecf742b
changed Shape_range and unassigned_points to Iterator_range
2015-04-20 23:26:18 +02:00
Sven Oesau
7dce2f8303
changed term 'spatially neighbored' to 'connected component'
2015-04-20 13:45:51 +02:00
Sven Oesau
64f2036e69
remove Geom_traits from Efficient_RANSAC_traits
...
added used classes to Efficient_RANSAC_traits
boost::shared_ptr are now used for shapes retrieved from Efficient_RANSAC
renamed build_octrees to preprocess
renamed set_input_data to set_input
2015-04-20 13:34:35 +02:00
Andreas Fabri
4a0f1e7926
cleanup
2015-04-10 09:04:06 +02:00
Andreas Fabri
ff4807c86c
prefix with namspace to get the links right
2015-04-07 19:43:29 +02:00
Sven Oesau
adbe110d44
removed unused variable (remnant of debugging code)
...
made variable naming more consistent
2015-04-03 10:08:42 +02:00
Clement Jamin
e2eb54590c
Pass on the doc
2015-03-27 11:17:13 +01:00
Sébastien Loriot
dba58b759a
fix typo
2015-03-26 23:47:58 +01:00
Sébastien Loriot
b7bd609b20
do not document unused types
2015-03-26 23:44:43 +01:00
Sébastien Loriot
201e76025a
use an input range instead of an input iterator in the traits
2015-03-26 23:40:25 +01:00
Sébastien Loriot
c0f0b1cd32
rename property map
2015-03-26 23:08:03 +01:00
Sébastien Loriot
fd69bbcb4c
rename template parameter
2015-03-26 22:58:19 +01:00
Sébastien Loriot
63eb246f93
rename traits
2015-03-26 22:54:42 +01:00
Sébastien Loriot
9958f98341
fix include directives
2015-03-26 22:23:18 +01:00
Sébastien Loriot
995bdbe3f9
move the traits into its own file
2015-03-26 22:21:31 +01:00
Sébastien Loriot
580ebebd03
add traits concept and use a group for the shapes
2015-03-26 22:19:37 +01:00
Sébastien Loriot
47a3023244
add todo
2015-03-26 21:54:58 +01:00
Sébastien Loriot
381cb4edf8
rephrase citation
2015-03-26 21:43:00 +01:00
Sébastien Loriot
9172a349f8
move RANSAC algo header to subdirectory and add convenience header
2015-03-26 20:22:34 +01:00
Sébastien Loriot
c6153f1c3c
make the demo plugin working again
2015-03-26 20:13:12 +01:00
Sébastien Loriot
61e664c5d2
uppercase RANSAC
2015-03-26 19:35:39 +01:00
Sébastien Loriot
bc2555be33
remove warnings and add todos
2015-03-26 19:29:34 +01:00
Sébastien Loriot
ea824c5794
fix compilation error
2015-03-26 19:22:33 +01:00
Sébastien Loriot
ca36c1da05
fix include header format
2015-03-26 19:18:00 +01:00
Sébastien Loriot
1f92b66621
try to improve doc
2015-03-26 19:12:08 +01:00
Sven Oesau
0e7604f32b
removed _3 from all class names as _3 is included in the namespace name
...
added checking for degenerate cases
updated examples to new interface
use of iterator range for input points
2015-03-19 16:51:58 +01:00
Sven Oesau
865f841fbf
added suffix _3 to shape and the internal octree class names
...
removed some unused headers
renamed Shape_base::assigned_points to assigned_point_indices
renamed Shape_base::required_samples to minimum_sample_size
changed interface of Efficient_RANSAC according to discussion of 1st round
adapted examples
2015-03-16 23:40:55 +01:00
Sven Oesau
44955deed0
created own namespace
...
moved shape classes to subfolder
all shape classes are now included by Efficient_RANSAC_3
2015-03-15 21:19:58 +01:00
Sven Oesau
07a89a654b
renamed Shape_detection_3 to Efficient_RANSAC_3
...
replaced Shape_Factory by template method of Efficient_RANSAC_3
renamed several functions and variables (from camel case to use of underscores)
2015-03-15 19:56:32 +01:00
Sven Oesau
4ed62c9931
version sent to PhD student in Aachen (Leif Kobbelts group) for review
2015-03-15 15:52:57 +01:00
Sébastien Loriot
4198ecabbb
add tmp documentation only interface functions
2015-02-19 16:41:35 +01:00
Sébastien Loriot
1fd27e1cb9
use backticking
2015-02-19 16:02:56 +01:00
Sébastien Loriot
92970c81ac
add missing parameter name
2015-02-19 16:01:18 +01:00
Sébastien Loriot
7474efeeb3
prevent generating a detailed description
2015-02-19 16:01:18 +01:00
Sébastien Loriot
a3a3dee4cd
add missing header files
2015-02-19 16:01:18 +01:00
Sébastien Loriot
fb8f400adb
add missing groups and bibtex id
2015-02-19 16:01:18 +01:00
pierre alliez
3a13c570cb
fighting with virtual class (does not compile)
2015-02-19 16:00:15 +01:00
pierre alliez
f1f805a0f1
fighting with abstract class
2015-02-19 15:37:37 +01:00
pierre alliez
5fdfa20a83
Merge branch 'Point_set_shape_detection_3-cjamin' of ssh://scm.cgal.org/var/git/cgal into Point_set_shape_detection_3-cjamin
2015-02-19 14:56:31 +01:00
pierre alliez
015f11d971
shut up warning
2015-02-19 14:54:41 +01:00
pierre alliez
3f806b8069
Now compiles on Linux (Manish)
2015-02-19 14:51:02 +01:00
Sven Oesau
37152aebe4
removed inheritance from documentation
2015-02-17 10:27:35 +01:00
Clement Jamin
004f7fe445
Added a remark
2015-02-16 10:36:56 +01:00
pierre alliez
031c6dd5fc
provide -> compute
2015-02-15 11:19:34 +01:00
pierre alliez
f8c89c01d7
some comments for code review
2015-02-15 10:19:06 +01:00
Sven Oesau
156e1401f4
added two protected methods in Shape_base for convenient point and normal access
...
removed some unnecessary includes
2015-02-12 14:22:28 +01:00
Sven Oesau
350b4be5a7
included 'Arbitrary shapes" section to documentation
...
adapted documentation/images to comments from reviewer
added examples.txt
removed unused types from documentation in shapes
added own planar shape example
2015-02-12 13:01:16 +01:00
Pierre Alliez
50e9182746
few changes in comments
2014-10-30 15:51:33 +01:00
Sven Oesau
49f64a06b4
squared_distance method on single points of Shape_base is now public
...
added default parameters (partially based on the input data)
changed some data types from size_t to int
2014-10-27 09:27:46 +01:00
Sven Oesau
4c05f487d3
changed Shape_detection_3::add_shape_factory to remove reference to internal class
2014-10-21 11:32:01 +02:00
Sven Oesau
578b380d80
removed Shape_base::parameterExtend()
...
fixed spelling extend -> extent in Shape_base::connected_component
removed redundant variables in Sphere_shape and Plane_shape
2014-10-21 10:51:55 +02:00
Sven Oesau
57e6d4f5c8
adapted the code to the feedback
...
- replacing float/double by Kernel::FT
- changed maximum line length to 80 characters (with expection of some doxygen comments)
- size_t is now used for sizes and indexing
2014-10-17 17:16:52 +02:00
Clement Jamin
763ce3d135
Some fixes in the doc + renaming of some variables
2014-07-18 15:56:04 +02:00
Clement Jamin
30f4037b73
Replace a const pointer by a const ref
2014-07-18 14:54:16 +02:00
Clement Jamin
679edffd72
Rename types to follow coding conventions
2014-07-18 14:51:46 +02:00
Sven Oesau
2dc771d03a
encapsulated std::max and std::min because of a conflict with a macro
2014-07-15 10:01:55 +02:00
Sven Oesau
55f4585a34
added another graph (performance depending on probability parameter) in documentation
...
small changes in source
2014-05-23 17:14:51 +02:00
Sven Oesau
3370e5f8e9
redesigning the interface
...
doxygen documentation of the public api
user manual
example added
2014-05-13 15:07:59 +02:00
Sven Oesau
7c0ed9c010
renaming of files
...
removed dependency on schnabels ransac
2014-05-13 14:57:37 +02:00
Sven Oesau
dfb30c068b
fixed connected component for cylinders (was not working correctly for large radii)
2014-02-19 09:06:00 +01:00
Sven Oesau
86834b7f2c
implementation of torus and cone primitive
...
small bugfix in updatePoints in Efficient_ransac.h (crash)
2014-01-20 16:10:42 +01:00
Sven Oesau
0f46847b9f
added profiling to implementation
...
StopProbability for candidate generation fixed (closer to schnabels implementation)
2013-11-25 11:32:03 +01:00
Sven Oesau
a24d771308
connected component takes bitmap extend now from extracted parameters (instead from bbox)
...
cylinder maps sample point to axis instead of using Line::point from CGAL
added some profiling to Primitive.h
2013-11-25 11:30:34 +01:00
Sven Oesau
b53fd21fc7
removed some unused code
...
added saving of primitives as ply
added operator for sorting to Primitive.h and Efficient_ransac.h (reference and pointer versions)
replaced point on primitive for planes with one of the samples instead of using the CGAL function
added destructor to Octree.h for memory cleanup
2013-11-25 09:36:22 +01:00
Sven Oesau
be3208074d
cleaned up:
...
- removed unnecessary types
- removed unused code
2013-10-22 08:29:25 +02:00
Sven Oesau
6f6c738f54
implementation of octree
...
sphere and cylinder primitive detection
connected component for planes and cylinders (non developable surfaces are more difficult)
several bugfixes (scoring of candidates, selection of samples
2013-09-30 16:12:08 +02:00
Yannick Verdie
2951ce4b85
some change to move cost function up in the hierarchy
2013-07-16 13:25:55 +02:00
Clement Jamin
a5d14eb6e5
First experimental prototype of Efficient Ransac (written by Yannick)
...
Plane detection only.
Some work to do to make it CGAL-conforming.
2013-04-18 18:18:03 +02:00