Commit Graph

128 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé e59e8c2aa0 Removed useless construct_point_3
Construct_weighted_circumcenter_3 already returns a Bare_point
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 0f8f34c9d4 Fixed compilation of add_temporary_points_on_far_sphere() 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 94abc23da9 Adapted the call to spatial_sort() to handle weighted points
Downside: we copy points at each comparison, which is terrible! No noticeable
changes when profiling the construction of a triangulation.

We need this copy because of Lazy kernel: despite construct_point_3 having
const Point_3& construct_point_3_object()(const Point_3&)
the Lazy kernel can return some copies.

Other solutions that were not used:
-- Distinguish the Ouput type of Unary_function_to_property map depending on
   the type of Kernel (ugly and not safe)
-- Use Weighted_point_mappers traits (but that blood will not be on my hands)
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 91ea1b4049 Adapted sorting algorithms based on compare_xyz to handle weighted point vectors 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 12fb8d35fc Construct_plane() must use bare points arguments 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé de76ccf545 Removed Weighted_point_mapper_3 and RegTraits_3 shenanigans
There is no need anymore for sneaky traits adaptors to make Triangulation_3
a compatible base of Regular_triangulation_3:
- The Point type in Triangulation_3 is obtained through TDS::Vertex::Point (see
  commit 13d5e89)
- Triangulation_3 always ensures that we are passing bare points to the kernel
  functors that require bare point arguments (see commit db5da73)

This greatly clarifies the code of Regular_triangulation_3: there is only a
single traits type, a single base type, etc.
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé d668d42f44 Do not provide Bare_point overloads in Regular_triangulation 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé f0d3e77558 Fixed usage of Bare point and Weighted point across Triangulation_3 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé e1dcdcaf4d Cleaned #if 0 code 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 78a4a12b0c Fixed hide_point()
Hide weighted points since they can be re-inserted afterwards
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé d884edd84a Fixed initialization order warning 2017-06-28 10:14:35 +02:00
Andreas Fabri 780e01dc90 WIP: test_meshing_polyhedron_with_features compiles and crashes in odt 2017-06-28 10:14:35 +02:00
Andreas Fabri bb213d5ad1 Changes after making Weighted_point_3(const Point_3) explicit 2017-06-28 10:14:35 +02:00
Andreas Fabri 787d46ffb8 Disable Point_3(const Weighted_point_3&) 2017-06-28 10:14:35 +02:00
Andreas Fabri 2f895335d0 The Weighted_point_mapper becomes a traits class; test_regular_3.cpp passes 2017-06-28 10:14:35 +02:00
Andreas Fabri 8cbbe0e165 Remove dependencies of Triangulation_3 on Triangulation_2 2017-04-06 11:08:37 +02:00
Sébastien Loriot 50510c05ea add include directive for license of all GPL header files
done using:
ack-grep "^GPL" */package_info/*/license.txt -l | awk -F "/" '{print $1}' > /tmp/gpl_packages
for i in `cat /tmp/gpl_packages | \
          grep -v Operations_on_polyhedra | \
          grep -v Algebraic_kernel_for_circles | \
          grep -v Algebraic_kernel_for_spheres | \
          grep -v Polyhedron_IO`;
do
  echo $i
  python Scripts/developer_scripts/add_license_in_pkg_header.py $i
done
python Scripts/developer_scripts/add_license_in_pkg_header.py Operations_on_polyhedra Polygon_mesh_processing
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_circles Circular_kernel_2
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_spheres Circular_kernel_3
python Scripts/developer_scripts/add_license_in_pkg_header.py Polyhedron_IO Polyhedron
2017-01-19 15:20:25 +01:00
Andreas Fabri 2a27d4ff38 Fix the Vertex_remover 2016-11-22 16:03:13 +01:00
Andreas Fabri b978fa8fdd Fix the typedef for the Bare_point 2016-11-21 15:49:43 +01:00
Andreas Fabri d35c6c913d Use Weighted_point_mapper_3 2016-11-21 15:33:27 +01:00
Andreas Fabri 4ab59919e6 Use Regular_triangulation_vertex_base_3 2016-11-20 19:06:08 +01:00
Andreas Fabri 310845f01e Add class Regular_triangulation_vertex_base_3 2016-11-19 11:07:52 +01:00
Laurent Rineau 57f0b33eb6 Fix Alpha_shapes_3
Alpha_shapes_3 needs to know a lot about its template parameter `Dt`. To
simplify the code, I have chosen to make the typedef `Tr_Base` public in
3D Delaunay and Regular triangulations.
2016-11-18 17:36:50 +01:00
Jane Tournois 3b5e069325 add constructors to Regular_triangulation_euclidean_traits_3,
and fix constructors from Regular_triangulation_3

Revert "introduce Has_nested_type_Bare_point to keep backward compatible"

This reverts part of the commit 98b43b1a49fb2dfb3baee0a532bf5d097f2f4ebd.
2016-11-03 14:57:10 +01:00
Jane Tournois 0f569a8fd6 introduce Has_nested_type_Bare_point to keep backward compatible
it is needed when Regular_triangulation_euclidean_traits is used the first
template parameter for Regular_triangulation (both 2d and 3d)
2016-11-03 14:57:10 +01:00
Laurent Rineau 3353d4d64d Kernel now refines RegularTriangulationTraits_3
ie all CGAL kernels are now models of `RegularTriangulationTraits_3`.
2016-11-03 14:55:39 +01:00
Jane Tournois 6af2db1b91 Use Power_side_of_bounded_power_sphere instead of Side_of_bounded_orthogonal_sphere
both functors made the same computation, up the sign of the result.

The return type now is CGAL::Bounded_side, which makes things easier
 to understand and use
2016-11-03 14:55:39 +01:00
Andreas Fabri ad9d2c369c Rename tests following Olivier's recommendations 2016-11-03 14:53:54 +01:00
Jane Tournois 4bcd272a99 compute dual only after infinity test has been performed 2016-11-03 13:10:27 +01:00
Andreas Fabri 9e94ee6178 Change the Power_test 2016-11-03 13:07:17 +01:00
Andreas Fabri ea6e48e1e4 Don't use the internal traits adapter 2016-11-03 13:07:17 +01:00
Andreas Fabri 5edd015669 Use Weighted_point_triangulation_traits_3 2016-11-03 13:06:42 +01:00
Andreas Fabri 6a8f77c5ff Added CGAL::Weighted_point_3<K> and the predicates and constructions of the Regular Traits to the kernel
- The Regular 3 testsuite passes
- only 3D
- not documented
2016-11-03 13:04:43 +01:00
Sébastien Loriot 7f3772a50b replace the usage of raw pointer as property map
It was deprecated in boost 1.55
http://www.boost.org/users/history/version_1_55_0.html
2016-07-13 13:53:00 +02:00
Clement Jamin 6fc4dd7dd3 Enable parallel insertion of points with info
There was a bug preventing the parallelism to be activated when
using points with info
2015-10-27 12:17:58 +01:00
Laurent Rineau 72e0a3e677 Fix warnings about signed/unsigned
The code involved is about TBB.
2015-01-21 12:59:07 +01:00
Clement Jamin 078e89f55f Add the possibility to remove the far points
The far points are added by the parallel version to reduce the contention
on the infinite vertex
2014-07-08 15:37:59 +02:00
Clement Jamin 982f140911 Use tbb::task_scheduler_init::default_num_threads...
... instead of boost:🧵:hardware_concurrency
2014-07-02 15:10:34 +02:00
Clement Jamin 55ff0a9404 Add a warning in comments 2014-07-02 10:49:44 +02:00
Clement Jamin 5a6623c3fa Move typedef since Vector_3 is not available in all kernels
TODO: find a better fix later
2014-07-01 17:00:05 +02:00
Clement Jamin 7af8f8b768 Fix compilation with GCC 2014-06-30 19:58:44 +02:00
Clement Jamin 7145f7db0b Replaced some C++11 lambda functions by functors +change mutex (static=>member) 2014-06-03 18:18:12 +02:00
Clement Jamin c9c8335811 More code clean-up 2014-05-27 13:46:34 +02:00
Clement Jamin 2f78d27bd3 Code clean-up 2014-05-27 13:21:16 +02:00
Clement Jamin f3c00442fd Merge branch 'Mesh_3-parallel-cjamin-old' into Mesh_3-parallel-cjamin 2014-05-14 19:05:40 +02:00
Clement Jamin e07baefb17 Change the way we compute the exact circumcenter when needed
In some rare cases, we need to switch to exact computation for the circumcenter.
Some code for this computation is now moved from RT3 to Refine_facets.
2014-04-15 18:54:12 +02:00
Jane Tournois 88666391da introduce weighted_circumcenter() for RegularTriangulationCellBase_3
weighted_circumcenter() replaces circumcenter() in the regular framework,
which is not a member of TriangulationCellBase_3 anymore.

Triangulation_cell_base_with_circumcenter_3 is deprecated and replaced by:
Delaunay_triangulation_cell_base_with_circumcenter_3
and
Regular_triangulation_cell_base_with_circumcenter_3.

Implement the changes in documentation, Triangulation_3 code and Mesh_3 code.
2014-01-16 16:55:19 +01:00
Jane Tournois bf9e964f0e remove macro CGAL_REGULAR_TRIANGULATION_3_USE_CIRCUMCENTER_CACHE
has been checked and is always activated
2014-01-09 12:05:50 +01:00
Clement Jamin 5101c3d2e7 Added my name in a few places + implementation history 2013-10-15 11:14:58 +02:00
Clement Jamin 29525dfcb7 Back-quotes for could_lock_zone and true + minor fixes + replace 0 by NULL 2013-10-15 10:27:35 +02:00