Commit Graph

1470 Commits

Author SHA1 Message Date
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é 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é 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é 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é 222248548c Fixed point / weighted_point usage 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé f93fc58cae Removed obsolete class Creator_weighted_point_3.h 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé fa6be567e5 Fixed boost/core/is_same.hpp > boost/type_traits/is_same.hpp 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé d22eaa2ce5 Forgot compact_mesh_cell_base in f2a308d
That is, making cell_bases models of the concept RegularTriangulationCellBase_3
2017-06-15 10:34:15 +02:00
Jane Tournois dae940b0fd really use the GT given as a parameter
When the geom_traits given as parameter of `circumcenter` and/or
`weighted_circumcenter` was deriving from the cell base GT
(first template parameter), the gt was up-casted to the
cell base GT, and the function construct_circumcenter_3_object()
(or construct_weighted_circumcenter_3_object()) not
called on the right geom traits type --> possibly missing
the actual input of the function (the robust_circumcenter_traits in Mesh_3)

we add a static assert to check at compile time that point types are the same
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 9d53db0c54 Fixed abusive class member initialization 2017-06-15 10:34:15 +02:00
Jane Tournois e399530d69 really use the GT given as a parameter
When the geom_traits given as parameter of `circumcenter` and/or
`weighted_circumcenter` was deriving from the cell base GT
(first template parameter), the gt was up-casted to the
cell base GT, and the function construct_circumcenter_3_object()
(or construct_weighted_circumcenter_3_object()) not
called on the right geom traits type --> possibly missing
the actual input of the function (the robust_circumcenter_traits in Mesh_3)

we add a static assert to check at compile time that both geom traits
are compatible
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé b5dadc0c95 Fixed various Bare_point / Weighted_point usage across Mesh_3
Hopefully, this is the last batch
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé a4503e7edc Moved facet dual computation functions from Mesh_3 to Regular_triangulation_3
... and improved them and gave them more overloads
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 9518646be4 Moved up the force_exact test to avoid computing useless determinants 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 0a91dac5ed Removed useless includes 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé cb70dfb644 Cleaned uses of obsolete traits class Regular_triangulation_euclidean_traits 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 417057b6fe Removed useless semicolon 2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé ce5660acbd Fixed (almost all) default constructed traits in Mesh_3
Also fixed constructing points/weighted_points not through the traits and
uses of point().point()
2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé 96e053211e Fixed (remaining) Bare_point / Weighted_point wrong usages across Mesh_3 2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé 78ea055735 Removed Bare_point definition from Mesh_3's Robust_weighted_...etc..._traits
It is not for the traits to define Bare_point. It is defined in the regular
triangulation.

This commit breaks stuff, but it'll be fixed in the following commits.
2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé 24994be80d Removed useless semicolon 2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé d3a75a191c Minor doc improvement 2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé 67b0924ee0 Fixed compilation issues resulting from the removal of WP->P implicit conversion 2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé 5db27d88d2 Consistently grab the Bare_point typedef from the triangulation
instead of the geometric traits
2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé f7592fbbdd Fixed missing typedef
and removed some warnings due to unused typedefs
2017-06-15 10:32:03 +02:00
Jane Tournois 85e87d4f59 remove useless variables 2017-06-15 10:32:03 +02:00
Jane Tournois a7b92113c7 remove extra reference
this was leading to (fp == p), and no way to move back to the original
position of v0
2017-06-15 10:32:03 +02:00
Jane Tournois 04b2f4ea25 return type should be Bare_point 2017-06-15 10:32:03 +02:00
Jane Tournois 4db6afd2aa fix one more Bare_point 2017-06-15 10:32:03 +02:00
Jane Tournois 9d4b697503 make constructors of Weighted_point explicit
and fix compilation errors
2017-06-15 10:32:03 +02:00
Andreas Fabri 42509e2a1f make the Polyhedron demo mesh_3_plugin work 2017-06-15 10:32:03 +02:00
Jane Tournois ea970f5aa5 avoid using wp.point(), use Construct_point_3 instead 2017-06-15 10:29:26 +02:00
Jane Tournois 5180389e3a remove hybrid operators, that use Bare points and Weighted points in an ambiguous manner
this commit only fixes the testsuite of Mesh_3
2017-06-15 10:29:26 +02:00
Andreas Fabri 3f4286068c Now also the examples compile 2017-06-15 10:29:26 +02:00
Andreas Fabri 58c8d7cb1a WIP: test_meshing_polyhedron_with_features compiles and crashes in odt 2017-06-15 10:29:26 +02:00
Andreas Fabri 5a090c26a4 Consistently use Bare_point and Weighted_point 2017-06-15 10:29:26 +02:00
Andreas Fabri 80224bf2c8 Disable Point_3(const Weighted_point_3&) 2017-06-15 10:29:26 +02:00
Maxime Gimeno bd45c39ef3 Fix warnings 2017-06-14 09:32:13 +02:00
Mael Rouxel-Labbé dca4a3ff32 Hid main encroachment code in P3_mesh_triangulation_3
End goal is to hide periodic details in P3MT3 so that the criteria of Mesh_3
can be fully used without change in P3M3
2017-06-13 17:53:31 +02:00
Mael Rouxel-Labbé 1c1fa27c14 Removed unneccessary semi colon 2017-06-13 17:51:54 +02:00
Mael Rouxel-Labbé 328167c0b3 Cleaned superfluous semi colons 2017-06-13 16:30:00 +02:00
Laurent Rineau f6b8ad199d More the "compatibility" specializations after the others 2017-06-12 16:45:07 +02:00
Mael Rouxel-Labbé 0b2553a14b Do not use "-" in debug vertex list
- in front of coordinates can be misunderstood as a minus sign and
are unnecessarily confusing
2017-06-06 15:48:35 +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é f614b7ae3e Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
Based on Kernel_Weighted_point_without...
  @ 3e43409d01
2017-06-02 16:28:17 +02:00
Mael Rouxel-Labbé 1299790b58 Adapted some Mesh_3 code to work with periodic meshes 2017-06-02 16:09:59 +02:00
Mael Rouxel-Labbé 2ecd819e5b Fixed unnecessary construct_point_3_object call 2017-06-02 16:08:42 +02:00
Mael Rouxel-Labbé 05debcfeac Fixed some Bare_point / Weighted_point issues
and added a function canonicalize_weighted_point() to P3_mesh_triangulation_3
2017-06-02 16:08:11 +02:00