Commit Graph

501 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé 0bca01d872 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2017-12-19 17:22:03 +01:00
Laurent Rineau f2391a30a5 Merge pull request #2562 from afabri/Filtered_kernel-Do_intersect_2-GF
Add Static Filters for the Exact Construction Kernel
2017-12-19 16:29:53 +01:00
Mael Rouxel-Labbé add23592de Fixed license/tag issues 2017-12-08 10:02:26 +01:00
Mael Rouxel-Labbé c18e005cd4 Added a couple of missing tags 2017-12-05 17:20:46 +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
Sébastien Loriot 8cdfad0d08 add missing URL and Id tags 2017-11-15 22:58:57 +01:00
Sébastien Loriot 0698f79aff add SPDX identifier for files under the LGPL-3+ license 2017-11-12 10:17:50 +01:00
Laurent Rineau d60379266b Revert "Improvement: add static filters to Lazy_kernel"
This reverts commit 8eac6ca650.

Now Epeck automatically falls back to using Epick predicates when the
objects have trivial approximations.
2017-10-31 12:14:01 +01:00
Andreas Fabri 2f95a05e1c make filtering with static filter generic 2017-10-27 15:27:20 +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
Laurent Rineau 9076ecaddf Add K::Has_on_bounded_side_3(Sphere_3, Sphere_3, Point_3, Point_3) 2017-10-13 15:57:02 +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
Andreas Fabri 5573e5d15e Is_degenerate_{2,3} and Collinear_{2,3} are division free 2017-07-11 20:31:28 +02:00
Laurent Rineau d878561809 Merge pull request #2102 from afabri/Kernel_Weighted_point_without_conversion-GF
Remove implicit conversions between points and weighted points
2017-07-03 12:08:57 +02:00
Mael Rouxel-Labbé acac4f7135 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-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é 6825ae2197 Made Kernel_checker work with constructions
Basically, use the same Pairify class to deduce the return type.
2017-06-28 10:15:30 +02:00
Mael Rouxel-Labbé 73f4a3d6cc Removed an empty line 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé e88b643874 Removed ambiguous weighted point constructor
This constructor was already cleaned in the branch that this branch
is based upon... I must have messed up a merge conflict...
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé e95d3d3f2b Make all conversions between Point and Weighted_point explicit
Also doc changes
2017-06-28 10:14:35 +02:00
Andreas Fabri d73be575f5 Do in 2D what we did in 3D 2017-06-28 10:14:35 +02:00
Jane Tournois 6ec4669937 fix compilation of tests wrt Point vs Weighted point 2017-06-28 10:14:35 +02:00
Andreas Fabri b949b667ab Use Construct_point_3 inside functor 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 2f895335d0 The Weighted_point_mapper becomes a traits class; test_regular_3.cpp passes 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 12f5cf82ee Fixed cubic equation solver 2017-06-22 16:14: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é 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é 8fbe17c080 Fixed minor mistakes from a rebase 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé cd4f282e01 Made Kernel_checker work with constructions
Basically, use the same Pairify class to deduce the return type.
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 4173e24fec Removed an empty line 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 279c1d77ac Removed ambiguous weighted point constructor
This constructor was already cleaned in the branch that this branch
is based upon... I must have messed up a merge conflict...
2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé df7feeab3a Make all conversions between Point and Weighted_point explicit
Also doc changes
2017-06-15 10:32:03 +02:00
Andreas Fabri 21395c7d5e Do in 2D what we did in 3D 2017-06-15 10:29:26 +02:00
Jane Tournois 9a087ffe6f fix compilation of tests wrt Point vs Weighted point 2017-06-15 10:29:26 +02:00
Andreas Fabri 50ff3708cb Use Construct_point_3 inside functor 2017-06-15 10:29:26 +02:00
Andreas Fabri 6a1b4c154b Changes after making Weighted_point_3(const Point_3) explicit 2017-06-15 10:29:26 +02:00
Andreas Fabri 64e5c887ec The Weighted_point_mapper becomes a traits class; test_regular_3.cpp passes 2017-06-15 10:29:26 +02:00
Mael Rouxel-Labbé 1e7ce5075f Moved Select_exact_kernel from Filtered_kernel.h to a seperate file
also renamed it to `Exact_kernel_selector` and added E2C typedefs
2017-06-13 16:27:24 +02:00
Mael Rouxel-Labbé 5f1ba08d52 Fixed minor mistakes from a rebase 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé f636d0d070 Made Kernel_checker work with constructions
Basically, use the same Pairify class to deduce the return type.
2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé e6c14f115e Removed an empty line 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 974c68b27d Removed ambiguous weighted point constructor
This constructor was already cleaned in the branch that this branch
is based upon... I must have messed up a merge conflict...
2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 9e742a4694 Make all conversions between Point and Weighted_point explicit
Also doc changes
2017-06-08 13:23:10 +02:00
Andreas Fabri 858e846b72 Do in 2D what we did in 3D 2017-06-08 13:23:10 +02:00
Jane Tournois 632a87f6b9 fix compilation of tests wrt Point vs Weighted point 2017-06-08 13:23:10 +02:00
Andreas Fabri 5101afc63a Use Construct_point_3 inside functor 2017-06-08 13:23:10 +02:00
Andreas Fabri afd01a9932 Changes after making Weighted_point_3(const Point_3) explicit 2017-06-08 13:23:10 +02:00
Andreas Fabri 50db4d8813 The Weighted_point_mapper becomes a traits class; test_regular_3.cpp passes 2017-06-08 13:23:10 +02:00
Sébastien Loriot ae900ae297 force the usage of CGAL compare function
this fixes an issue detected whenusing LEDA without GMP
2017-05-22 09:43:36 +02:00
Sébastien Loriot 05fcab830e Add deprecation message 2017-05-15 10:09:19 +02:00
Sébastien Loriot ed704ea0f3 protect deprecated code with deprecation macro 2017-05-12 10:02:08 +02:00
Andreas Fabri 432a40df72 improve implementation as suggested by @mglisse 2017-05-12 09:49:41 +02:00
Andreas Fabri 9ccc9c1178 Fix compare_slope() 2017-05-12 09:49:39 +02:00
Andreas Fabri 5f8bc52082 Add angle(Point_3, Point_3,Point_3,Vector_3) 2017-05-12 09:48:23 +02:00
Andreas Fabri 061a9b1ecd Kernel:23 Add Compare_slope_3 2017-05-12 09:48:21 +02:00
Mael Rouxel-Labbé 9f366d6acf Fixed missing _object(){ } for construct_wp/p functors of projection traits 2017-04-30 19:51:49 +02:00
Mael Rouxel-Labbé 37eac35321 Added functions related to Weighted_point_2 to Projection_traits_3
+ tests
2017-04-21 18:14:38 +02:00
Mael Rouxel-Labbé c79e2d4b36 Added Compute_power_product_2 to the 2D kernel predicates
doc + test included
2017-04-21 13:07:40 +02:00
Mael Rouxel-Labbé bb086ff739 Added power_side_of_bounded_power_circle_2 to the 2D kernel predicates
A partial implementation was deleted from the Alpha_shapes_2 package without
moving the functions to the kernel...
This implementation adds the missing overloads (4, 3, and 2 points)

Test + doc included
2017-04-21 11:37:27 +02:00
Mael Rouxel-Labbé a751464ab6 Minor fixes to weighted functors (doc + cleaning) 2017-04-21 11:31:13 +02:00
Mael Rouxel-Labbé 232c38cee1 Removed documentation of degenerate cases of power_side_of_oriented_* predicates
See Issue https://github.com/CGAL/cgal/issues/2067
2017-04-20 12:54:39 +02:00
Mael Rouxel-Labbé 1223f5f5a0 Improved readability of weighted point-related functors (no real changes)
Fixed indentation, trailing whitespace, english, etc.
2017-04-19 11:40:58 +02:00
Mael Rouxel-Labbé dd2e7f3a0c Made compute_squared_smallest_orthogonal_circle_2() a kernel functor
and documented, tested, etc. it

Previously in Alpha_shape_2
2017-04-19 11:06:14 +02:00
Mael Rouxel-Labbé 2ae17980fe Added weighted point-related functions to global functions 2017-04-07 03:44:59 +02:00
Mael Rouxel-Labbé 365cfd0566 Fixed predicate Power_side_of_oriented_power_sphere_3
The Homogeneous kernel doesn't know how to run that predicate
for 3 or 4 arguments so it must be defined in Kernel/function_objects until
those operators are added
2017-04-06 21:57:21 +02:00
Mael Rouxel-Labbé 548d2bfb02 Cosmetic changes to Point_23 and Weighted_point_23 2017-04-06 12:38:18 +02:00
Mael Rouxel-Labbé aacf8db95f Fixed includes and typedefs in Weighted_point_23 2017-04-06 12:35:24 +02:00
Mael Rouxel-Labbé 2d2e675dac Fixed missing operators in Cartesian and homogeneous construct_weighted_point_23 2017-04-06 12:18:36 +02:00
Andreas Fabri 32e3d1bebd Division free functors may use Mpzf 2017-03-01 17:16:31 +01:00
Sébastien Loriot 9ae7b37845 Merge pull request #1745 from sloriot/Polyhedra_corefinement-enhancements-sloriot
Add corefinement operations in PMP
2017-01-12 12:05:18 +01:00
Sébastien Loriot cba8456715 add constructions for the intersection point of a plane by a line and of 2 lines
this is undocumented and allow to have a lazy node for this construction
2017-01-02 19:23:48 +01:00
Laurent Rineau 7e9d909602 Fix comments with wrong statements 2016-12-30 16:44:08 +01:00
Andreas Fabri 226da32579 std::max() does only take two arguments 2016-12-21 09:42:33 +01:00
Maxime Gimeno b0dd7d25cb Add Compute_L_infinity_distance_3. 2016-12-21 09:41:33 +01:00
Andreas Fabri eb7e38493c Add the function FT l_infinity_distance(Point_2, Point_2)
as well as the corresponding functor

This is a function where the implementation is in the file
Kernel_23/include/CGAL/Kernel/function_objects.h

When the implementation is different for Cartesia and Homogeneous coordinates
the code should go into the function_objects.h files
in the packages Cartesian_kernel and Homogeneous_kernel
2016-12-21 09:40:53 +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
Laurent Rineau 2f4a32f089 fix Construct_projected_point_3 with degenerate triangles
`Construct_projected_point_3::operator()(Point_3, Triangle_3)` now
checks if the triangle is degenerated (actually it checks if its
supporting plane is degenerated). If it is, it falls back to
`operator()(Point_3, Segment_3)` with the segment that is equivalent to
the triangle. When using non-exact floating point numbers, it chooses
the edge of the triangle that has the biggest l-infinity length.
2016-12-02 13:14:14 +01:00
Jane Tournois e633fb0a3b add missing "-" needed for conversion from Sign to Bounded_side 2016-11-24 16:53:55 +01:00
Jane Tournois 306323d45c make doc and doc consistent
- add "model of Concept" as much as possible in the modified classes/concepts
- fix some links
- update package description of Kernel_23
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
Jane Tournois f3a021a195 rename in_smallest_orthogonal_sphereC3 to power_side_of_bounded_power_sphereC3 2016-11-03 14:53:54 +01:00
Andreas Fabri ad9d2c369c Rename tests following Olivier's recommendations 2016-11-03 14:53:54 +01:00
Andreas Fabri d78735364b Fixes after review by Monique and Olivier 2016-11-03 14:53:15 +01:00
Andreas Fabri f488b9baf9 Changes after Laurent's review 2016-11-03 14:53:15 +01:00
Andreas Fabri 842aad6e76 Fix which predicates can be done without division 2016-11-03 13:10:27 +01:00
Laurent Rineau 3302d997b6 Fix I/O of Weighted_point_3
@afabri You should have use a code similar to the one of
`CGAL::Sphere_3`, that would have avoided those errors.
2016-11-03 13:10:27 +01:00
Andreas Fabri fad0f195d5 Add operator!= for weighted points 2016-11-03 13:10:00 +01:00
Andreas Fabri 59cedfc7dd Fix Mesh_3 2016-11-03 13:08:31 +01:00
Andreas Fabri 44d0fa4d6f fix the 2D triangulations 2016-11-03 13:08:31 +01:00
Andreas Fabri dcf5f32dc0 Improve the doc 2016-11-03 13:07:50 +01:00
Andreas Fabri ea50fb811d Cleanup. The 2D and 3D triangulation testsuite pass 2016-11-03 13:07:50 +01:00
Andreas Fabri c2ee0ae9a8 Use Quotient<RT> as weight in the H2 power_tests 2016-11-03 13:07:50 +01:00
Andreas Fabri 9dde08c414 WIP 2016-11-03 13:07:50 +01:00
Andreas Fabri 9e94ee6178 Change the Power_test 2016-11-03 13:07:17 +01:00
Andreas Fabri 1375cd5c0a Rename Compute_critical_squared_radius_3 to Compute_power_distance_to_power_sphere_3 2016-11-03 13:07:17 +01:00
Andreas Fabri 514765a784 Documentation 2016-11-03 13:07:17 +01:00
Andreas Fabri 34eb29cac5 Documentation 2016-11-03 13:07:17 +01:00
Andreas Fabri 95027822f5 move predicates and constructions in Kernel packages 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