Commit Graph

74411 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé 4e33192074 Fixed get_offset_location's second version 2017-06-22 16:02:37 +02:00
Mael Rouxel-Labbé dc8e2a62d5 Minor P3T3 doc changes 2017-06-22 16:02:00 +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é fe14379106 P3M3 now use the new robust traits 2017-06-22 15:36:02 +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é 4e15596c85 Removed unnecessary semi colon 2017-06-22 15:10:14 +02:00
Mael Rouxel-Labbé 7ba903423a Silenced warning 2017-06-22 15:07:48 +02:00
Mael Rouxel-Labbé 6fcb046c4f Fixed unused variable warning 2017-06-22 15:02:36 +02:00
Mael Rouxel-Labbé bf3df5b397 Cleaned Periodic_3_mesh_triangulation_3 includes 2017-06-20 11:07:46 +02:00
Mael Rouxel-Labbé 6fe25e54e2 Minor improvements to P3M3's examples (include headers, indentation, etc.) 2017-06-20 11:06:50 +02:00
Mael Rouxel-Labbé 8c890a1226 Fixed Mesh_3's criteria tests (must pass the triangulation in parameter) 2017-06-20 11:04:49 +02:00
Mael Rouxel-Labbé 1518ef12f2 Removed Mesh_3/test/Mesh_3/test_backward_compatibility.cpp
The concepts MeshFacetCriteria_3 and MeshCellCriteria_3 have been updated with
a breaking change on their operator() (the triangulation must be passed
as additional parameter).
2017-06-20 10:50:11 +02:00
Mael Rouxel-Labbé 4019425b24 Cleaned off periodic criteria in P3M3/doc
Well, that's a very empty reference manual now...
2017-06-19 18:09:07 +02:00
Mael Rouxel-Labbé 1dcc8b1fc5 Fixed Mesh_3's criteria concepts 2017-06-19 17:59:36 +02:00
Mael Rouxel-Labbé 4c636bbd1c Remove all criteria-related classes from P3M3
They are now obsolete: we can simply use Mesh_3's
2017-06-19 16:24:23 +02:00
Mael Rouxel-Labbé 65ef142bff P3M3 now uses Mesh_3 criteria 2017-06-19 16:00:38 +02:00
Mael Rouxel-Labbé 6bb260c954 Document Mesh_3 criteria change (see dd5cd9a) 2017-06-19 15:55:15 +02:00
Mael Rouxel-Labbé 1761ec3294 Mesh_3 criteria is_bad() now additionally takes the triangulation as parameter
Instead of calling Criteria(element), one must now call Criteria(tr, element).

The idea is that the triangulation should be responsible of geometric data
while elements only handle connectivity (using ids for example).
This is already the case for Periodic_3_mesh_3 which must obtain
"true" geometric information through the (periodic) triangulation class's
methods.

These changes are transparent for Mesh_3 but allow Periodic_3_mesh_3 to use
Mesh_3's criteria.
2017-06-19 15:15:20 +02:00
Mael Rouxel-Labbé 1b2c929af4 Removed P3M3 cell base file that was copied from T3 2017-06-16 15:59:51 +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é 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é 41e7520b3e Reworded ExactAlphaComparisonTag warning 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 2364a551c4 Updated documentation with changes from 19ae790 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé dbaecc4ff5 Cosmetic changes to ex_alpha_projection_traits 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 888bacb247 Moved data file (should have been in commit 2d20592) 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé a665648e1f Moved alpha shapes with projection traits to examples 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 56ead308d4 Added an example of Cartesian_converter specialization for Lazy_alpha_NT
Needed due to the weird point type that Projection traits use
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 8e6b834c90 Modified the way weird point types are handled when ExactAlphaComparisonTag=true
Instead of requiring an implicit conversion, we require that Cartesian_converter
can convert from Traits::Point_23 to Exact_kernel::Point_23

Also it will not compile (static_assert) if this functor is not provided instead
of silently defaulting to ExactAlphaComparisingTag = false
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 7da382a285 Added new class: Has_conversion
Used to check whether a Kernel converter (either Cartesian_converter or
Homogeneous_converter) provides the necessary functor T1 operator()(T2)
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 7beae5f1af Minor doc fixes 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 783a9a3694 Fixed some indentation in Skin_surface_3 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé da9778ac20 Fixed changes.html typo 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 35a912da21 Fixed doc issues for two weighted kernel functors 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé bcdfaefee9 Reworded the warning about ExactAlphaComparisonTag 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 6b524ac88a Fixed missing backticks in Alpha_Shapes_23's docs 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 98800d2de8 Fixed regular triangulation capitalization across CGAL 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé fa4172d3d8 Minor changes to changes.html 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 1f7222662d Added RegTrCellBaseWithWeightedCircumcenter changes to changes.html 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 77f415f02c Minor doc changes 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé a9e25ec619 Renamed Compact_mesh_cell_base_3's circumcenter_ to weighted_circumcenter_ 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 9cc17dc935 Renamed uses of invalidate_circumcenter() in accordance with the modified concept 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 6e3f07a72d Adapted the documentation to the new concept RegTrCellBaseWithWeightedCircumcenter
- MeshCellBase_3 loses "invalidate_circumcenter" and refines the new concept
- Reg_tr_cell_base_with_weighted_circumcenter_3 is a model of the new concept
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 027ef8e22f Added new concept RegularTriangulationCellBaseWithWeightedCircumcenter_3
Describes the requirements of a base cell that caches its weighted circumcenter
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 1888441579 Added Alpha Shapes 2D breaking changes to changes.html 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé f33fc2a456 Fixed Robust_weighted_[...]_traits offering a weighted API for squared_radius_3
This is artifically creating implicit conversions, which we are removing
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé f7fd2dedab Improved changes.html 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 222248548c Fixed point / weighted_point usage 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé c28381d728 Fixed missing dependency in T3's documentation 2017-06-15 10:34:15 +02:00