Commit Graph

536 Commits

Author SHA1 Message Date
Laurent Rineau f37630bc0f Merge branch 'releases/CGAL-4.11-branch'
# Conflicts:
#	Kernel_23/test/Kernel_23/include/CGAL/_Result_of_kernel.h
#	Kernel_23/test/Kernel_23/test_result_of.cpp
2017-12-05 18:14:23 +01:00
Mael Rouxel-Labbé c18e005cd4 Added a couple of missing tags 2017-12-05 17:20:46 +01:00
Mael Rouxel-Labbé 28c5e09d4d Made is_1_cover() public 2017-11-30 17:13:05 +01:00
Mael Rouxel-Labbé ba3a59ed5a Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2017-11-30 15:54:00 +01:00
Mael Rouxel-Labbé 13a49227c1 Improved documentation 2017-11-29 16:32:58 +01:00
Mael Rouxel-Labbé 5b93c880de Added missing licence 2017-11-29 12:32:31 +01:00
Mael Rouxel-Labbé 486ad2a0d6 Do not automatically use `visited_for_vertex_extractor` in P3T3
See comment in code for the reason.
2017-11-29 11:57:18 +01:00
Mael Rouxel-Labbé 2ca8e6a4e1 Use enum cast rather than C casts 2017-11-28 15:26:07 +01:00
Mael Rouxel-Labbé 0ac5ba8a88 Added 'remove_if_no_cover_change()'
This function allows to attempt to remove points, but abort and return 'false'
if the removal of the point would need to change the cover to 27-sheet.
2017-11-28 15:19:59 +01:00
Mael Rouxel-Labbé ce0c2afd40 Readability changes
Increasing reader sanity, one commit at a time
2017-11-24 11:19:21 +01:00
Mael Rouxel-Labbé 59017a5e9e Minor code cleaning 2017-11-21 16:14:16 +01:00
Mael Rouxel-Labbé c1a4fe3d65 Added dual_segment_exact 2017-11-21 16:12:40 +01:00
Mael Rouxel-Labbé 07d6ce363d Cleaned some obsolete todos 2017-11-20 17:35:24 +01:00
Mael Rouxel-Labbé 3f39a7e33e Minor improvement to P3DT3's nearest_vertex function
simply copying changes from P3RT3
2017-11-20 16:49:05 +01:00
Mael Rouxel-Labbé f3931d5877 Misc minor changes 2017-11-17 18:42:34 +01:00
Mael Rouxel-Labbé 1f7c95cd27 Implemented clear_covering_data for periodic regular triangulations 2017-11-17 18:35:53 +01:00
Mael Rouxel-Labbé adfb2f6e74 Fixed nearest_power_vertex functions (some issue with offsets) 2017-11-17 18:34:58 +01:00
Mael Rouxel-Labbé fffdce7487 Added some clarifying comments 2017-11-17 18:32:11 +01:00
Mael Rouxel-Labbé 36a5a43111 Fixed 'Is_Gabriel' using wrong offsets in 27-sheeted triangulations 2017-11-17 17:21:45 +01:00
Mael Rouxel-Labbé b0eb340e7f Merge remote-tracking branch 'mine/P3T3-Fix_Gabriel_functions-GF' into P3RT3-Fix_Gabriel_functions-GF 2017-11-17 17:14:18 +01:00
Mael Rouxel-Labbé 8baa0be80f Fixed 'Is_Gabriel' using wrong offsets in 27-sheeted triangulations 2017-11-17 17:04:48 +01:00
Sébastien Loriot 8cdfad0d08 add missing URL and Id tags 2017-11-15 22:58:57 +01:00
Sébastien Loriot ff26773f7b remove include directive for checking GPL compliance in LGPL headers 2017-11-12 10:21:35 +01:00
Sébastien Loriot ee57fc2d6c add SPDX identifier for files under the GPL-3+ license 2017-11-12 10:17:51 +01:00
Sébastien Loriot 0698f79aff add SPDX identifier for files under the LGPL-3+ license 2017-11-12 10:17:50 +01:00
Mael Rouxel-Labbé e1d09b140a Added 'nearest_power_vertex_with_sq_distance'
Which returns, in addition to the power vertex, the squared distance
to this nearest power vertex

Done to avoid a call to tr.min_squared_distance() which is costly for P3M3
2017-11-10 17:49:07 +01:00
Mael Rouxel-Labbé 84e9c0c189 Removed some precondition() 2017-11-09 14:00:08 +01:00
Mael Rouxel-Labbé 77e98b977e Minor readability change 2017-11-09 10:52:19 +01:00
Mael Rouxel-Labbé ffc6cffe07 Removed a bunch of useless "using" 2017-11-09 10:51:07 +01:00
Mael Rouxel-Labbé 5208bd7cd2 Added a function that returns the dummy points (but does not insert them) 2017-11-09 10:34:34 +01:00
Mael Rouxel-Labbé dee1112ed9 Added treshold power radius to P3RT3's class members 2017-11-09 10:34:09 +01:00
Mael Rouxel-Labbé 78b32eb91b Fixed trailing whitespace (no real changes) 2017-11-06 13:19:14 +01:00
Mael Rouxel-Labbé 47c6f59f3f Fixed P3RT3's nearest_power_vertex()
- locate() falling a vertex doesn't mean that this vertex is the closest to
  the point
- the cell containing the point is not necessarily in conflict with the query
  in a weighted triangulation. Besides, there's no need to find the offset like
  that because periodic_locate() returns it already.

Changes to be reproduced for P3DT3.
2017-11-02 14:29:01 +01:00
Mael Rouxel-Labbé 3b0425a48d Misc minor changes
Mostly code cleaning
2017-10-31 15:49:15 +01:00
Mael Rouxel-Labbé ac0a27cdfd Made Mesh_3's optimizers work with periodic triangulations 2017-10-31 15:47:23 +01:00
Mael Rouxel-Labbé 7009f228a5 Changed some documentation and comments 2017-10-30 14:50:51 +01:00
Mael Rouxel-Labbé 1f4475d471 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2017-10-27 16:26:27 +02:00
Mael Rouxel-Labbé bae6f15fa5 WIP commit 2017-10-27 15:34:33 +02:00
Mael Rouxel-Labbé 41f5c47394 Misc minor changes
Indentation, comments, whitespace, etc.
2017-10-22 23:28:37 +02:00
Mael Rouxel-Labbé 94bb59b722 Various doc/comments improvements 2017-10-17 12:45:30 +02:00
Laurent Rineau 7e9f756935 Replace all std::unary_function by CGAL::unary_function 2017-10-04 15:57:09 +02:00
Mael Rouxel-Labbé b82814a24b Changed K::Has_[static/filtered]... to use Has_[static/filtered]_...<K> instead 2017-08-29 12:35:46 +02:00
Mael Rouxel-Labbé 3640902c6f Misc minor changes 2017-08-23 17:15:44 +02:00
Mael Rouxel-Labbé aaeaf35380 Introduced the tag "Periodic_tag" to mark distinguish periodic triangulations 2017-08-23 16:18:05 +02:00
Mael Rouxel-Labbé 84d11ac797 Fixed Offset definition in P3T3's static filtered predicates 2017-08-23 11:00:03 +02:00
Mael Rouxel-Labbé f6da2ed7dc Static filter must be templated by the traits, not the kernel 2017-08-23 10:59:40 +02:00
Mael Rouxel-Labbé 1cc8449b34 Fixed using Point's default constructor instead of the base's operator() 2017-08-23 10:59:18 +02:00
Mael Rouxel-Labbé af86bfca8b Renamed P3T3's offset-handling functors (added a _3 suffix) 2017-08-22 13:38:31 +02:00
Mael Rouxel-Labbé 06bfbfec6f Cleaned useless typedef/function in P3DT3
Those are now in the class P3T3
2017-07-31 15:30:58 +02:00
Mael Rouxel-Labbé a1c57031ba P3RT3 can now be used with Alpha Shapes 3 2017-07-31 12:52:22 +02:00
Mael Rouxel-Labbé 69167aef9a Move P3T3 off output to CGAL namespace 2017-07-31 12:52:21 +02:00
Mael Rouxel-Labbé b8de2148b2 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2017-07-28 11:41:58 +02:00
Mael Rouxel-Labbé b330f05354 Misc minor changes 2017-07-27 17:01:28 +02:00
Mael Rouxel-Labbé 95ac19b935 Fixed exact construct periodic point 2017-07-27 12:13:33 +02:00
Andreas Fabri c533398777 Replace >5000 function calls with an array of that size 2017-07-11 15:20:25 +02:00
Mael Rouxel-Labbé ad6361e45f Added virtual destructors 2017-07-05 11:53:09 +02:00
Mael Rouxel-Labbé 81fd184ecd Misc minor changes 2017-07-04 16:44:18 +02:00
Mael Rouxel-Labbé f14bb1747b Merge branch 'Periodic_3_Regular_triangulation_3-APelle' of github.com:CGAL/cgal-public-dev into Periodic_3_Regular_triangulation_3-APelle 2017-07-04 14:32:22 +02:00
Mael Rouxel-Labbé 006bdb18f6 Fixed not using CGAL's function_property_map in P3RT3 2017-07-04 14:31:14 +02:00
Jane Tournois e9ef53f09e do not use an erased iterator 2017-07-04 14:28:11 +02:00
Mael Rouxel-Labbé 629f38e440 Fixed size_t / int conversion warning 2017-07-04 10:51:55 +02:00
Mael Rouxel-Labbé 0c8aa344dd Revert "Add 'visited_for_vertex_extractor' to the periodic TDS vertex base"
This reverts commit 0a5e3320d99327f649a39e97ebb5e12966afec0e.

Not sure what this commit was, might have been for P3M3 ? In any case, this is
not how it should be done...
2017-07-03 18:48:28 +02:00
Mael Rouxel-Labbé 2ae3eaae17 Fixed P3T3's number_of_finite_edges() 2017-07-03 16:26:41 +02:00
Mael Rouxel-Labbé 4e33192074 Fixed get_offset_location's second version 2017-06-22 16:02:37 +02:00
Mael Rouxel-Labbé d9c3ec76ad Reworked dual(Cell_handle) and introduced canonical_dual(Cell_handle)
-- canonical_dual() is what the old dual() function was: returns the
   representation of the dual of the cell handle that is in the domain
-- dual() returns the 'true' dual of the cell handle, which might be out of
   the canonical domain.

The point is that P3M3 must return the 'true' dual to have no issue with the
conflict assertions of Mesh_3, and not a canonicalized dual !
2017-06-22 15:58:25 +02:00
Mael Rouxel-Labbé a8336f39ec Minor misc changes 2017-06-22 15:52:43 +02:00
Mael Rouxel-Labbé 956b1f6fc0 Introduced robust_canonicalize_point()
This is a way to handle points that are epsilon-close to the boundary yet still
outside. This might create numerical issue such that the point + any offset
does not fall into the domain (due to -epsilon + 1 ~= 1)

The numerical issue is detected when the offset is computed and we snap the
point to the domain.

This is done for P3M3 only (not P3T3: people should give proper input points!)
2017-06-22 15:48:01 +02:00
Mael Rouxel-Labbé ea5a063db8 Added new traits class: Robust_peroidic_weighted_circumcenter_traits_3
The purpose of that class is somewhat similar to Robust_weighed_circum...etc.:
it aims to provide robust circumcenter computations.

This is the parallel version that switches to exact if the circumcenter is
not in the (smallest) power sphere of the points.

The accuracy issue comes from the use of construct_point_3 with offsets.
Consequently, this class only overrides the versions with offsets.
The other robust class should be used for non-offset versions.
2017-06-22 15:15:55 +02:00
Mael Rouxel-Labbé 7c014c9e27 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
Based on cgal-public-dev/Periodic_3_Regular...
  @ 7efd46f427580437943fa549bdbf1159f35b1edb
2017-06-16 11:21:52 +02:00
Mael Rouxel-Labbé 3c42724e22 Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
Based on Kernel_Weighted_point_without...
  @ 41e7520b3e
2017-06-15 15:07:53 +02:00
Mael Rouxel-Labbé 5018c014b7 Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
Based on Kernel_Weighted_point_without...
  @ 41e7520b3e
2017-06-15 15:07:53 +02:00
Mael Rouxel-Labbé 98800d2de8 Fixed regular triangulation capitalization across CGAL 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 2dbee09cab Periodic_3 construct point 3 needs access to its base operator() 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 1192f2eba1 Periodic_3 remove traits must overwrite construct_point_3() 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé f80d9ebbd3 Cleaned unused variables 2017-06-13 18:06:39 +02:00
Mael Rouxel-Labbé 18bb11c5a1 Removed useless comments 2017-06-08 16:04:08 +02:00
Mael Rouxel-Labbé 57f1bf23ae Fixed comments of side_of_cell()
There are no infinite cells in a periodic triangulation
2017-06-07 16:00:07 +02:00
Mael Rouxel-Labbé 5a85e9d094 Renamed some power_test functions to comply with the new standard 2017-06-07 15:58:42 +02:00
Mael Rouxel-Labbé 8be22d0570 Re-united some functions and their declarations 2017-06-07 15:55:22 +02:00
Mael Rouxel-Labbé 75e9d0dbc1 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
Based on Periodic_3_Regular_triangulatio...
  @ e933ec4459c1ea00e9f43098807da7122b099425
2017-06-02 16:42:23 +02:00
Mael Rouxel-Labbé 46dad2abb6 Cosmetic changes 2017-06-02 16:02:05 +02:00
Mael Rouxel-Labbé 3e05860363 Renamed construct_periodic_point's version in P3RT3 (added "weighted") 2017-06-02 15:58:34 +02:00
Mael Rouxel-Labbé b3f5820ac9 Added default parameter to the P3T3 constructor
Existed long back ago, documented, were removed for seemingly no reason
2017-06-01 12:26:19 +02:00
Mael Rouxel-Labbé 07445a4d34 Added default parameter to the P3T3 constructor
Existed long back ago, documented, were removed for seemingly no reason
2017-06-01 12:26:19 +02:00
Mael Rouxel-Labbé d88a736790 Fixed a comment 2017-06-01 11:41:06 +02:00
Mael Rouxel-Labbé 7b7d44f75a Fixed a comment 2017-06-01 11:41:06 +02:00
Mael Rouxel-Labbé 487d773257 Moved comment
since it does not apply to the function `point(periodic_point)`
2017-05-30 16:55:40 +02:00
Mael Rouxel-Labbé 5deebd2410 Moved comment
since it does not apply to the function `point(periodic_point)`
2017-05-30 16:55:40 +02:00
Mael Rouxel-Labbé e2585c4646 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
Based on Periodic_3_Regular_triangulation...
  @ 9a669584bb9bf44757f99a3fb8c40aa661b6ebe0
2017-05-30 16:22:13 +02:00
Mael Rouxel-Labbé 178630064b Alphabetical re-ordering of "using::" 2017-05-30 11:44:22 +02:00
Mael Rouxel-Labbé 0d1f943c24 Alphabetical re-ordering of "using::" 2017-05-30 11:44:22 +02:00
Mael Rouxel-Labbé c2279248e1 Changed protected -> public
Giving public access to traits wrappers is not a problem
2017-05-30 11:07:13 +02:00
Mael Rouxel-Labbé 400d780fbb Changed protected -> public
Giving public access to traits wrappers is not a problem
2017-05-30 11:07:13 +02:00
Mael Rouxel-Labbé 52d5272330 Fixed canonicalize_point()
This function needs to work for bare and weighted points
2017-05-30 10:53:16 +02:00
Mael Rouxel-Labbé 1ebc537874 Improved readability of periodic triangulations
(only cosmetic changes)
2017-05-30 10:41:56 +02:00
Mael Rouxel-Labbé e2de85aa8a Improved readability of periodic triangulations
(only cosmetic changes)
2017-05-30 10:41:56 +02:00
Mael Rouxel-Labbé 96867f416e Dropped a useless "public:" 2017-05-30 10:09:22 +02:00
Mael Rouxel-Labbé 158c727437 Dropped a useless "public:" 2017-05-30 10:09:22 +02:00
Mael Rouxel-Labbé 284921e2dd Renamed construct_periodic_3_object to construct_periodic_object
Just for consistency
2017-05-30 10:07:35 +02:00
Mael Rouxel-Labbé 7223ff3dbc Renamed construct_periodic_3_object to construct_periodic_object
Just for consistency
2017-05-30 10:07:35 +02:00