Commit Graph

231 Commits

Author SHA1 Message Date
Maxime Gimeno 90f04ba221 Fix runtime errors induced by insert(Primitive()) 2016-05-27 12:14:38 +02:00
Maxime Gimeno 110464b045 Update the concept SegmentationGeomTraits to require Collinear_3 functor. Update the code accordingly. 2016-05-24 16:15:43 +02:00
Maxime Gimeno 8b34294c82 AABB_Tree ignores degenerated faces in SDF_Calulation 2016-05-24 10:17:41 +02:00
Sébastien Loriot 266812b165 use segment intersection by default as it is faster in general than ray casting 2016-04-26 17:12:18 +02:00
Sébastien Loriot 5df0fd7e4f handle when the ray intersect a triangle as a segment
same handling as above: ignored
2016-04-26 17:12:18 +02:00
Sébastien Loriot b90f3301e8 rename functions for ray casting and add comments 2016-04-26 17:12:18 +02:00
Sébastien Loriot 39336ebb34 remove debugging function 2016-04-26 17:12:18 +02:00
Sébastien Loriot 4f8c3adb71 use variant API instead of the Object one for intersection 2016-04-26 17:12:17 +02:00
Sébastien Loriot 2f20d4a036 assert -> CGAL_assertion 2016-04-26 17:12:17 +02:00
Sébastien Loriot 6b8421a048 update function name 2016-04-26 17:12:17 +02:00
Sébastien Loriot a0b97b23fb use the variant API instead of the Object one 2016-04-26 17:12:16 +02:00
Philipp Möller 649fabe67b Do not use debug variant 2016-04-26 17:11:08 +02:00
Philipp Möller a408a08ae7 fixup debug code 2016-04-26 17:11:05 +02:00
Philipp Möller 70f8f3f8e1 Use skip functor 2016-04-26 17:11:00 +02:00
Philipp Möller e7bf221b61 Order code in cast_and_return for less constructions 2016-04-26 17:10:56 +02:00
Philipp Möller de28e712f4 Work around skip functor
We cannot support a skip functor in ray_intersection and we have to work
around the issue of the ray starting inside a facet. To do that we shift
the source of the ray by the epsilon of a floating point number. We have
to consider if we really want to keep it that way.

Add assertions to make sure the new and old code give the same results.
2016-04-26 17:10:50 +02:00
Philipp Möller 5f2ea0c9f4 Don't use diagonal 2016-04-26 17:10:49 +02:00
Philipp Möller 815a82c692 Shim in code for ray_intersection
Use ray_intersection in the !use_diagonal case. Calculate both methods
for now for debugging.
2016-04-26 17:10:48 +02:00
Sebastien Loriot 49e7ea6f58 Merge pull request #680 from sloriot/SMS-boost_1.60
Surface mesh segmentation: boost 1.60 compatibility
2016-01-27 13:39:12 +01:00
Sébastien Loriot 5614ed7500 replace ice_and by &&
ice_and was deprecated in boost 1.60
2016-01-26 09:31:47 +01:00
Simon Giraudot a95c68e804 Merge branch 'CGAL-Fix_several_warnings-GF-old' into CGAL-Fix_several_warnings-GF 2015-12-28 14:13:00 +01:00
Simon Giraudot fe1ac9e86c Warning fix: uninitialized attributes 2015-12-18 14:44:17 +01:00
Simon Giraudot f21cb46900 Remove deprecated "register" keyword 2015-12-17 08:20:56 +01:00
Andreas Fabri 6706cc58c4 include header which pragma pushes a warning 2015-11-13 09:47:25 +01:00
Laurent Rineau 36d8b5bd18 Convert source files encoding to utf-8
All non-ASCII files should be encoded in UTF-8. So far, the ZSH script
`Scripts/developer_scripts/detect_wrong_encoding` detects wrong encoding
in source/header files of include/, src/, and doc/.
2014-08-01 11:20:13 +02:00
Sébastien Loriot 79a746f7d9 remove an unused internal function
intel compilier with strict-ansi does not like it
  because even if it is not called, it is invalid as
  a const ref is not initialized
2014-07-03 15:14:40 +02:00
Sébastien Loriot ddbeb9d017 pass the vertex point property map to the AABB-tree and the primitive 2014-07-02 10:57:05 +02:00
Sébastien Loriot 1555c034e7 use the member traits class and not the default constructed one 2014-07-02 10:51:23 +02:00
Andreas Fabri bbf70667bd bug fix 2014-06-11 12:37:04 +02:00
Sébastien Loriot 8b88547955 fix compilation issues 2014-06-05 17:01:59 +02:00
Andreas Fabri ffc619f871 edges was at the same time a local variable 2014-06-05 16:21:16 +02:00
Andreas Fabri 3d7d596e6b Use vertex_point property map so that it now also compiled with OpenMesh 2014-06-05 15:29:49 +02:00
Andreas Fabri 2c4c38809d switch internally to BGL API in mesh segmentation. We still have to deal with the point property maps 2014-06-05 12:05:54 +02:00
Andreas Fabri 4a37f74122 switch to new BGL API 2014-06-04 21:28:59 +02:00
Sébastien Loriot 4a115d7655 trivial bug-fix for master: fix namespace 2014-04-22 16:35:18 +02:00
Laurent Rineau fd70ee758c Fix license of Surface_mesh_segmentation headers
The package is copyright GeometryFactory, and published under license
GPLv3+.

The file <CGAL/internal/auxiliary/graph.h> is a special case: it is
owned by an external (Yuri Boykov) and was released under GPLv2+. That
means than we can relicense it to GPLv3+.
2014-02-06 18:36:21 +01:00
Sébastien Loriot d481ded8ba use timers in graph cut only if CGAL_SEGMENTATION_BENCH_GRAPHCUT is defined 2014-01-08 10:25:48 +01:00
Sébastien Loriot 3a0853a27b fix warnings 2013-12-23 16:49:47 +01:00
Sébastien Loriot ad44ab3a92 remove compilation warnings 2013-12-23 16:49:46 +01:00
Sébastien Loriot 61c91a1971 turn int to std::size_t when it is possible 2013-12-23 16:49:46 +01:00
Sébastien Loriot 5a6523ac86 fix a warning in MAXFLOW
warning: dereferencing type-punned pointer will break strict-aliasing rules
2013-12-23 16:49:45 +01:00
Sébastien Loriot 6fc429f1de fix warnings in MAXFLOW 2013-12-23 16:49:44 +01:00
Sébastien Loriot e54a0e758e turn number_of_center from int to std::size_t 2013-12-23 16:49:44 +01:00
Sébastien Loriot 7cf48beb41 int -> size_t to remove warnings 2013-12-23 16:49:44 +01:00
Sébastien Loriot dd485f4839 add empty line at the end of the files to remove a warning 2013-12-23 16:49:44 +01:00
Sébastien Loriot c458b0525f handle an API change of boost::compressed_sparse_row_graph in boost 1.40 2013-12-23 16:49:43 +01:00
Sébastien Loriot 38c0d2067a on win64 sizeof(long long)=sizeof(void*) 2013-12-23 16:49:43 +01:00
Sébastien Loriot 6a5d44c2b1 use property map include from CGAL 2013-12-23 16:49:42 +01:00
Sébastien Loriot 8affb01604 fix call to delete for an array 2013-12-23 16:49:42 +01:00
Sébastien Loriot 7ce41550b3 rename all the function consistently 2013-12-23 16:49:41 +01:00
Sébastien Loriot 7acb1ef98a put MaxFlow graph in a namespace to avoid pollution 2013-12-23 16:49:37 +01:00
Sébastien Loriot f1f0f96ab5 add a benchmark result for graph cut 2013-12-23 16:49:36 +01:00
Sébastien Loriot b74389b7aa make the code working with a kernel with Gmpq as FT 2013-12-23 16:49:33 +01:00
Sébastien Loriot 9765348421 remove Construct_unit_normal_3 from requirements of the traits 2013-12-23 16:48:45 +01:00
Sébastien Loriot 1bd80c4c41 avoid calling the function twice 2013-09-06 14:50:55 +02:00
iyaz 9d608a8688 temproray work-around compilation prob where sizeof(int) == sizeof(long) -> the same specialization will be defined twice 2013-09-06 01:11:38 +03:00
iyaz bf86ca842c add number_of_cluster > 0 as a precondition, fix typos in internal comments 2013-09-06 00:48:58 +03:00
Sébastien Loriot 009c8727e0 use maxflow as default implementation 2013-09-05 11:23:10 +02:00
Sébastien Loriot aad5c09bcf hack to make MaxFlow working with 64bits compilers 2013-09-05 11:22:16 +02:00
Sébastien Loriot 3bf4a26273 remove warnings reported by gcc 2013-09-05 10:34:03 +02:00
Sébastien Loriot 4ab3c37b64 missing parameter after update from master 2013-09-04 12:01:48 +02:00
iyaz 914ee9e6b4 fix warnings (std::size_t to int conversions),
MAD : 1 -> 1.5,
2013-08-28 17:18:05 +03:00
iyaz ed7218ae84 do not use epsilon for min since it does not effect the results,
and this also fix the optimization bug in MSVC-64
2013-08-08 21:06:22 +03:00
iyaz dd5bf0ec3e add postprocess function to the API (code related changes) 2013-08-08 02:33:20 +03:00
iyaz 36d50d9477 add another parameter to API which lets user to get either cluster or segment ids as output 2013-08-06 23:23:56 +03:00
Sébastien Loriot 1615b15579 accomodate the changes of the AABB tree package 2013-07-26 13:27:04 +02:00
Sébastien Loriot 33aecff166 add missing template keyword 2013-07-25 18:39:18 +02:00
iyaz c919081e16 Revert "Use BOYKOV_KOLMOGOROV for test - will be reversed"
This reverts commit 0364b9f4f0d134563749216460aa9abf6b8389ee.
2013-07-22 11:44:17 +03:00
iyaz 7545de5539 Use BOYKOV_KOLMOGOROV for test - will be reversed 2013-07-22 11:15:25 +03:00
iyaz bab9218257 Fixing warning - gcc 2013-05-20 15:25:56 +03:00
Sébastien Loriot bfb2b44f3a forward types to satisfy gcc 2013-05-20 13:47:20 +02:00
Sébastien Loriot ef9ea573d4 add missing typename 2013-05-20 13:10:55 +02:00
iyaz 7b7417780a new implemenation using boost CSR graph, it can be 1.5x faster from prev implementation but there is a performance problem that I couldn't solve using public functionality of graph (however there might be a solution)
will look it back.
2013-05-13 23:00:37 +03:00
iyaz 9c026f14ba remove unrelated code (remaining from debug related purposes) 2013-05-12 17:49:57 +03:00
iyaz 67047affcd making fast_bbox_intersection optional 2013-05-09 18:45:28 +03:00
iyaz d46a29af46 dummy element forgotten from prev version, removed. 2013-04-24 22:31:47 +03:00
iyaz f269e1fd21 use CGAL Random instead of rand(),
update plus plus initialization so that there is no need to extra temp for swap etc
2013-04-24 17:36:09 +03:00
iyaz 1c390474ff Various refinements on k-means and EM,
Selectors are moved to its own class and shared by k-means and EM (hence previous partially code duplication is prevented)
2013-04-19 02:04:09 +03:00
iyaz e9cc8bcd5e Slightly improved performance, and small refinements 2013-04-17 01:55:21 +03:00
iyaz c3b842dc46 Using diagonal of AABB box to convert rays to segments 2013-04-16 20:58:40 +03:00
iyaz 65fc0a0b6b Changes to guarantee there will be no border case problems with cone angle in [0, PI]. 2013-04-16 18:19:56 +03:00
iyaz 68197c0352 SDF calculation is enriched to be more generic by accepting sdf calculation over points with normals 2013-04-15 13:58:50 +03:00
iyaz 6877a532ab Adding <= 0 check for cone angle 2013-04-12 15:55:20 +03:00
Sébastien Loriot ddc7fe2d77 add missing typenames and remove warning 2013-04-12 09:31:45 +02:00
iyaz 5c093049f5 Remove [0, 1] clipping of smoothing_lambda, and just suggest that in ref-man comments. 2013-04-08 01:16:55 +03:00
iyaz 0c243507a2 Clearing unnecessary typedefs,
Fixing warnings raised by FT float kernels.
2013-04-05 15:56:29 +03:00
iyaz 060bb3e3ff update comments,
add missing explicit namespace qualifier for tie (boost)
2013-04-02 20:02:38 +03:00
iyaz 36a26b328d Make 'spatial & range parameters' parameters to bilateral filtering 2013-04-01 17:56:28 +03:00
iyaz 0c77beb2b1 Handle <= 0 levels while BFT 2013-04-01 15:37:08 +03:00
Sébastien Loriot eeb7807da5 add a filter adaptor to have several smoothing steps 2013-02-15 12:46:44 +01:00
Sébastien Loriot 6ec442e864 add more documentation for the disk sampling 2013-02-14 17:04:59 +01:00
Sébastien Loriot 015b9ca4f9 make range_parameter explicit 2013-02-14 17:04:35 +01:00
Sébastien Loriot 949e102661 add the possibility to set the window size 2013-02-13 19:08:38 +01:00
Sébastien Loriot e473938124 add a dummy filter to switch sdf value filtering off 2013-02-13 18:57:01 +01:00
Sébastien Loriot 63de1129d1 update code for plugin compilation 2013-01-16 18:54:59 +01:00
Sébastien Loriot b9a42236d5 port the documention to the latest CGAL doxygen setup 2013-01-16 18:05:13 +01:00
Sébastien Loriot 82eec48453 Merge branch 'gsoc2012-segmentation-iyaz-old' into gsoc2012-segmentation-iyaz
Conflicts:
	.gitattributes
	Polyhedron/demo/Polyhedron/CMakeLists.txt
2013-01-14 19:48:08 +01:00
iyaz e440cb2c1d AABB_traversal_traits.h & Alpha_expansion_graph_cut.h & SDF_calculation.h: Removal of unused code sections.
SDF_calculation.h: MAD for removing outlier approach
2013-01-12 21:55:34 +02:00
Ílker Yaz 03e0952c96 -code review in outlier-removal
-use make_pair & make_tuple
-handles are passed by value
2012-09-05 17:25:44 +00:00
Sébastien Loriot 5cd9c2ce74 do not document internal namespace 2012-09-03 08:52:34 +00:00