Commit Graph

1113 Commits

Author SHA1 Message Date
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
Laurent Rineau aff2a7a899 Merge pull request #2287 from maxGimeno/Fix_GCC8_warnings-GF
Fix new -Wcatch-value warnings (gcc>=8.0)
2017-07-25 18:17:42 +02:00
Maxime Gimeno 96f7b0f138 Fix catch value warnings 2017-07-21 11:27:14 +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é 8eb835d8b7 Fixed unused typedefs warning 2017-06-28 10:17:14 +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é 89b10e1f8c Fixed doc issues for two weighted kernel functors 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é 108830ec3e Reworded warning about implicit and explicit conversions of Points/Weighted_points 2017-06-28 10:15:30 +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é 3170393ea9 MyConstruct_point_2 must also provide `Point_2 operator()(Point_2)` 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é 926a9a06fc Added a test to check Point / Weighted_point conversions
and fixed a previous test that used now-disabled implicit conversions
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é 35a912da21 Fixed doc issues for two weighted kernel functors 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é 90aba312d0 Reworded warning about implicit and explicit conversions of Points/Weighted_points 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é c9b5e59642 MyConstruct_point_2 must also provide `Point_2 operator()(Point_2)` 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é c54b09dd82 Added a test to check Point / Weighted_point conversions
and fixed a previous test that used now-disabled implicit conversions
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é 9a2f8c0915 Reworded warning about implicit and explicit conversions of Points/Weighted_points 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é 2411a37252 MyConstruct_point_2 must also provide `Point_2 operator()(Point_2)` 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é b37e6f2ad1 Added a test to check Point / Weighted_point conversions
and fixed a previous test that used now-disabled implicit conversions
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 ce8a0be55e Update manual for Angle_3 and angle() 2017-05-12 09:49:41 +02:00
Andreas Fabri 432a40df72 improve implementation as suggested by @mglisse 2017-05-12 09:49:41 +02:00
Andreas Fabri 2a05190ebc Fix in the manual 2017-05-12 09:49:41 +02:00
Andreas Fabri a53cd10919 typo 2017-05-12 09:49:40 +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
Laurent Rineau cbd73f4274 Merge pull request #2046 from MaelRL/Kernel-Fix_weighted_point-GF
Improve the implementation of weighted_point_23
2017-05-09 12:14:23 +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é 8915b4472d Minor documentation fixes 2017-04-21 13:13:20 +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é 7040cb1f40 Added a few more tests to power_side_of_bounded_power_sphere_3
Just to check that the ordering indeed does not matter.
2017-04-21 11:43:29 +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é cf45a408c1 Fixed doc of CoplanarOrientation_3 2017-04-19 15:15:26 +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é e65eae4802 Removed unnecessary comma 2017-04-19 09:03:04 +02:00
Mael Rouxel-Labbé de7fb095ac Fixed doc of power_side_of_bounded_power_sphere 2017-04-18 21:51:27 +02:00
Mael Rouxel-Labbé 64768b3b37 Fixed missing weight references 2017-04-18 21:46:05 +02:00
Mael Rouxel-Labbé b01078c887 Removed "starting with 0" from coordinate accessor 2017-04-18 15:30:20 +02:00
Christian Gagneraud d8502c0469 Fix a few typos in the documentation 2017-04-16 13:20:12 +12:00
Mael Rouxel-Labbé 23f2df44be Cleaned trailing whitespace in Point_23/Weighted_point_23 2017-04-13 12:01:08 +02:00
Mael Rouxel-Labbé 7d16ce69ec Removed mentions of explicit conversions between Weighted points and Points
This is for another branch!
2017-04-11 15:49:29 +02:00
Mael Rouxel-Labbé cc4f17c9e7 Minor doc fixes 2017-04-10 18:48:37 +02:00
Mael Rouxel-Labbé 5f8a64148a Fixed years 2017-04-10 12:55:26 +02:00
Mael Rouxel-Labbé 05835d2c2a Fixed power tests and clarified the documentation 2017-04-10 12:52:39 +02:00
Mael Rouxel-Labbé ef17853876 Minor documenation fixes 2017-04-07 03:46:05 +02:00
Mael Rouxel-Labbé 18169be82a Added tests for Weighted_point_23 and related functions 2017-04-07 03:45:05 +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é 14dd33eb43 Fixed ConstrustRadicalAxis_2 not showing up in doc 2017-04-06 21:28:20 +02:00
Mael Rouxel-Labbé ca408108a2 Added documentation of Construct_weighted_point_23 2017-04-06 12:46:29 +02:00
Mael Rouxel-Labbé 0d42994d1e Fixed incomplete Weighted_point_23 documentation 2017-04-06 12:39:43 +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 1a3a6e93ee Kernel_23: fix typesetting in the manual.
Leading whitespace has semantics, so we remove it
2017-03-22 17:13:28 +01:00
Andreas Fabri 32e3d1bebd Division free functors may use Mpzf 2017-03-01 17:16:31 +01:00
Sébastien Loriot 5212bb55a6 fix Core dependancies 2017-02-13 17:16:30 +01:00
Sébastien Loriot 1fc9b0976a fix Core dependancies 2017-02-13 16:21:02 +01:00
Laurent Rineau af64852edb test/Kernel_23 requires Core 2017-02-10 19:09:28 +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
Laurent Rineau aee5e80d74 Fix typos in the doc 2016-12-30 16:44:08 +01:00
Laurent Rineau 5457a85b6b Merge pull request #1656 from afabri/Kernel-Linfinity_distance-GF
Kernel_23: Add the function  FT  l_infinity_distance() for 2D and 3D points
2016-12-28 16:12:31 +01:00
Sébastien Loriot cad6cbbcf4 fix doc issues detected by recent doxygen
duplicated labels, missing bibtex entry and nested comments
2016-12-28 13:59:45 +01:00
Sébastien Loriot 5937892cc8 fix intersection links 2016-12-28 11:19:37 +01:00
Andreas Fabri 068078229d fix assertion in testsuite 2016-12-21 09:42:39 +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 e12697d2c7 improve doc 2016-11-24 16:59:01 +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 3d99cc6e96 fix typo 2016-11-03 14:55:39 +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 de13b047dd remove from doc functor that does not exist anymore 2016-11-03 14:53:54 +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 ec96a19052 fix links 2016-11-03 14:53:54 +01:00
Andreas Fabri 07e9997980 Add \sa 2016-11-03 14:53:54 +01:00
Jane Tournois 446004444e fix 2 typos 2016-11-03 14:53:54 +01:00
Jane Tournois c770b29928 fix typo 2016-11-03 14:53:54 +01:00
Jane Tournois 15f71af4ac add missing class 2016-11-03 14:53:54 +01:00
Jane Tournois cbf31a09f5 add missing concepts 2016-11-03 14:53:54 +01:00
Jane Tournois 358119f590 reorder things 2016-11-03 14:53:54 +01:00
Jane Tournois db37ec56c2 add documentation of concept PowerSideOfBoundedPowerSphere_3 2016-11-03 14:53:54 +01:00
Andreas Fabri 1ad7bfa202 Add Compute_weight_2/3 concepts and models to the doc 2016-11-03 14:53:54 +01:00
Andreas Fabri a8b9c92a68 Add signature of operators; todo: Add comment 2016-11-03 14:53:54 +01:00
Andreas Fabri dbb2cc3598 Sign -> Bounded_side; typo in code 2016-11-03 14:53:54 +01:00
Andreas Fabri 24b5993037 fix \sa links 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 e39f76b953 Add doc to concept Kernel 2016-11-03 14:07:26 +01:00
Andreas Fabri 6793ce53da typo 2016-11-03 14:07:26 +01:00
Andreas Fabri aa8b100a13 3 -> 2 2016-11-03 14:07:26 +01:00
Andreas Fabri 8e6264344a improve doc 2016-11-03 14:07:26 +01:00
Andreas Fabri a80e9ce7e0 polish 2016-11-03 14:07:26 +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 881837ba2d start fixing 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