Commit Graph

85 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé d0318957f2 Fixed a bunch of Alpha shape 3-related headers 2017-08-23 17:16:07 +02:00
Mael Rouxel-Labbé 3640902c6f Misc minor changes 2017-08-23 17:15:44 +02:00
Mael Rouxel-Labbé dba83ba5bf Fixed a few Alpha Shapes 2 headers 2017-08-23 16:40:55 +02:00
Mael Rouxel-Labbé 406f41af78 Added CGAL_DEBUG macro 2017-08-23 16:31:17 +02:00
Mael Rouxel-Labbé 63d293765f Added an assertion to forbid using ExactComparisonTag with periodic triangulations
When we set the exact comparison tag to true, we use a lazy evaluation
of predicates and store pointers to the arguments of the predicates (that is,
pointer to points). However, the points are  -- in the case of periodic --
only temporary objects and it is thus dangerous to take pointers to those
temporary values because the pointers quickly become invalid.

Thus, periodic triangulations are not allowed to use the exact tag.

A possible way to make it work is to define a small class:
Periodic_triangulation_with_stored_real_points that would inherit the base
(periodic) triangulation but store all the points of its simplices.
Then, the function  point(face_handle, int) would return an entry of that
container, of which it would be safe to take a pointer.
2017-08-23 16:19:32 +02:00
Mael Rouxel-Labbé 72908fc076 Readability changes in Alpha_Shapes_3 2017-08-23 11:04:21 +02:00
Mael Rouxel-Labbé 4a9ac3cd0c Fixed 3D Alpha Shapes's Geomview output to work with all triangulations 2017-07-31 14:37:56 +02:00
Mael Rouxel-Labbé e57e138e98 Formatting change 2017-07-31 14:37:56 +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é 68d3a3eabf 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-28 10:16:23 +02:00
Mael Rouxel-Labbé 11786a7b90 Fixed minor mistakes from a rebase 2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé 1b3a608b30 Fixed not getting Alpha shapes 2 predicates and constructions from Lazy alpha NT 2017-06-28 10:15:30 +02:00
Mael Rouxel-Labbé cdb447a22f Use Kernel_traits<Traits::Pt> to deduce the kernel rather than Traits::Kernel 2017-06-28 10:15:30 +02:00
Mael Rouxel-Labbé 4e4f1ed4c0 Avoided a default traits construction 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 871cce116e Removed Regular_triangulation_euclidean_traits_3 usage in Lazy_alpha_nt_3
Regular_triangulation_euclidean_traits are deprecated (and do not do anything).
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 3e25674957 Weighted alpha shape traits are not based on RT_euclidean_traits anymore
Similarly to Regular_triangulation_euclidean_traits, the Kernel concept has now
absorbed all the functors that are needed by the alpha shape traits concept and
the weighted alpha shape traits can thus simply be empty shells.
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 7a7ac15f42 Fixed weighted Alpha_shapes_3 TDS construction
When weighted, Alpha_cell_base_3 must use Regular_triangulation_cell_base_3
as base
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 9cd0f31d71 Temporarily silenced weighted alpha shape traits depreciation warnings 2017-05-16 10:28:09 +02:00
Mael Rouxel-Labbé cd2a562ffa Fixed improper guards against the inclusion of deprecated headers 2017-05-16 10:17:41 +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
Laurent Rineau bbf430b0b1 Merge pull request #585 from afabri/Kernel-Weighted_point-GF
Introduce Kernel::Weighted_point_3 together with functors
2016-12-20 19:52:02 +01:00
Sébastien Loriot 632d1f368d initialize pointers 2016-11-29 11:57:32 +01:00
Sébastien Loriot 4c5270752b rename template parameter 2016-11-29 11:52:52 +01:00
Sébastien Loriot c8117a76f4 replace static_vector by a small struct 2016-11-24 15:42:47 +01:00
Sébastien Loriot 810fbd323f Use a static_vector instead of a shared_ptr<vector> 2016-11-24 11:50:42 +01:00
Sébastien Loriot 10dd2175ac remove non-needed unsigned 2016-11-24 11:37:08 +01:00
Sébastien Loriot bc85850104 use an optional for exact_nt 2016-11-24 09:51:04 +01:00
Sébastien Loriot a46dfa29d0 avoid throwing an assertion 2016-11-24 09:45:45 +01:00
Sébastien Loriot cf71b05937 add an overload of CGAL::to_double for Lazy_alpha_nt_3 2016-11-24 09:41:41 +01:00
Andreas Fabri e5e0cdd5f9 fix a typedef 2016-11-22 17:48:53 +01:00
Andreas Fabri ecf44b08d7 Take the Point type from the underlying vertex type 2016-11-22 16:09:08 +01:00
Andreas Fabri 9f96b59bb9 Take the type Point from the underlyinng triangulation 2016-11-22 16:08:19 +01:00
Andreas Fabri e5219a1725 Take the type Point from the underlyinng triangulation 2016-11-22 16:07:51 +01:00
Andreas Fabri d35c6c913d Use Weighted_point_mapper_3 2016-11-21 15:33:27 +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
Andreas Fabri 92406379e7 Add typename (Who removed them???) 2016-11-03 13:10:00 +01:00
Andreas Fabri 54ec8f9d92 the VC++ testsuite should pass now 2016-11-03 13:06:02 +01:00
Andreas Fabri 1e2ff1131e assert -> CGAL_assertion 2015-08-27 16:51:55 +02:00
Sébastien Loriot e665f1ca58 do not init alpha_min in REGULARIZED mode. 2013-10-30 17:45:51 +01:00
Sébastien Loriot cc05e7b827 always init alpha_min to alpha_mid for convenience 2013-10-20 19:33:49 -07:00
Sébastien Loriot 8ecc668b4f add another filtration function that also reports the alpha value of each face 2013-10-18 14:30:57 -07:00
Sébastien Loriot 313dff5fc2 add accessors for alpha status of facets and edges 2013-10-18 13:57:55 -07:00
Marc Glisse 571f370e28 Rename Exact_type_selector to Exact_field_selector. 2012-12-24 12:20:13 +01:00
Sébastien Loriot 7f6b7c9ff1 remove warnings on windows 2012-01-17 10:59:01 +00:00
Sébastien Loriot 27218c61e9 QPL -> GPL3 2012-01-16 15:56:52 +00:00
Sébastien Loriot a7456a2736 merge from next 2012-01-16 15:28:51 +00:00
Laurent Rineau 8f59fd9592 Turn QPL into LGPLv3+ 2012-01-13 16:33:35 +00:00
Sébastien Loriot 83cd1ef2d2 add _3 suffix 2011-12-30 15:22:11 +00:00
Sébastien Loriot 74aeaf24ac add comparison operators as member functions of Lazy_alpha_nt_3
(to avoid look-up pb). 
Remove the version with double as an implicitu constructor from double
is available.
2011-12-30 11:20:05 +00:00
Sébastien Loriot 6014d39844 Lazy_alpha_nt -> Lazy_alpha_nt_3 2011-12-29 15:31:15 +00:00