Commit Graph

222 Commits

Author SHA1 Message Date
Laurent Rineau a267cee598 Avoid one intermediate call to the global (non-internal) function 2022-09-15 16:05:35 +02:00
Laurent Rineau f52298a8c5 WIP: try to always use Filtered_predicate_RT_FT 2022-09-08 17:30:14 +02:00
Sébastien Loriot ebf9fb025a Merge remote-tracking branch 'cgal/5.4.x-branch' 2022-05-26 18:13:59 +02:00
Sébastien Loriot f29015ef1c please intel 2019 compiler 2022-05-25 00:22:24 +02:00
Sébastien Loriot 2b547ec58a Merge remote-tracking branch 'cgal/5.4.x-branch' 2022-05-13 17:26:04 +02:00
Andreas Fabri 46d1aea329 Convex_hull_3: Use K::Boolean and not bool 2022-05-09 15:30:26 +01:00
Andreas Fabri 9023aaa542 More code for ORIGIN 2022-04-07 10:39:01 +01:00
Sébastien Loriot 3a03201ff1 Merge pull request #6338 from MaelRL/PMP-Orient_PS_with_PS-GF
Add orient_triangle_soup_with_reference_triangle_soup()
2022-03-30 08:03:29 +02:00
Andreas Fabri 71bba3e226 Add Plane_3 constructor with Origin/Vector_3 2022-03-17 22:35:09 +01:00
Mael Rouxel-Labbé 8d95d22a9e Tiny indentation fix 2022-03-15 00:46:39 +01:00
Sébastien Loriot d16dfc381e add Compare_angle_3 functor in the Kernel 2022-01-27 19:43:21 +01:00
Andreas Fabri a24229a6b2 Use homogeneous coordinates 2021-11-04 15:46:45 +01:00
Andreas Fabri 7cb53ab8ef Change to NonZeroCoordinateIndex 2021-11-03 17:30:26 +01:00
Mael Rouxel-Labbé e424356ffa Add Construct_projected_point_3(P3, P3) + correct parameter order
Not a kernel requirement
2021-09-28 15:34:51 +02:00
Andreas Fabri ea647297b9 Kernel_23: Fix Non_zero_dimension 2021-05-22 16:21:49 +02:00
Sébastien Loriot 68dc09b3d9 optimize filter failures
cmp_epeck_points.cpp runtime goes from 23s. to 5s.

based on mglisse suggestion
2021-04-10 07:12:25 +02:00
Laurent Rineau 1b54449dc5 Merge pull request #4878 from danston/Kernels-decltypes-danston
Improve decltype/result_of/invoke_result
2021-04-06 15:13:21 +02:00
Laurent Rineau de704d8bb9 Merge pull request #5522 from afabri/Nef_3-accelerate_do_intersect_internally-GF
Nef_3: Do not test has_on for a point where we know that it will be true
2021-04-06 15:13:07 +02:00
Laurent Rineau 0f61f96c80 Merge pull request #5556 from MaelRL/Kernel_23-Dont_recompute_normal_in_proj_point-GF
Fix inconsistency in normal computation in robust projection code
2021-04-06 15:12:53 +02:00
Mael Rouxel-Labbé 48bb925b65 Fix inconsistency in robust projection code
If the triangle/plane is degenerate, the case is handled separately.
If we know the plane is not degenerate, the normal should not
be recomputed in a different manner, which might lead
to a null normal and some issues down the line.
2021-03-26 10:41:30 +01:00
Andreas Fabri e0b410e2e6 int -> result_type 2021-03-24 16:03:51 +01:00
Andreas Fabri a28a7cd44a Return directly 2021-03-23 17:11:26 +01:00
Andreas Fabri e98198178f Add the functor Non_zero_dimension_3 to the Kernel 2021-03-23 15:45:54 +01:00
Dmitry Anisimov 00c185b028
Merge branch 'master' into Kernels-decltypes-danston 2021-03-12 12:06:20 +01:00
Laurent Rineau f1e550fdd2 Merge pull request #5363 from sloriot/Kernel-Oriented_side_extra_operator
Add an extra operator to have an exact plane
2021-03-03 17:33:20 +01:00
Andreas Fabri d5a5b20ce8 Make it clear that the functor is not part of the Kernel concept 2021-02-19 20:23:20 +00:00
Dmitry Anisimov 81d9556707 Merge remote-tracking branch 'upstream/master' into Kernels-decltypes-danston 2021-02-10 10:06:45 +01:00
Dmitry Anisimov af3f6dd07f fixed warnings with Intersect_3 and result_of 2021-02-09 17:30:06 +01:00
Sébastien Loriot 107567e809 add an extra operator to have an exact plane 2021-01-15 15:38:28 +01:00
Andreas Fabri 5791bc1400 fix do_intersect for 3 planes 2020-10-20 14:55:52 +01:00
Andreas Fabri fefbc4bc1a Add funcion intersection_point for Line/Plane 2020-10-20 09:17:15 +02:00
Andreas Fabri eafad68789 Add a function that only constructs a point intersection for 3 planes 2020-10-20 09:17:15 +02:00
Andreas Fabri 46698620e3 Hack for a fix of do_intersect(Plane_3,Plane_3,Plane_3) 2020-10-20 09:17:15 +02:00
Dmitry Anisimov ad813b4cb0 further removed result_of and result 2020-07-30 16:19:02 +02:00
Dmitry Anisimov da0635e4b1 result_of changed to decltype 2020-07-20 17:03:28 +02:00
Sébastien Loriot 4476663eba fix compilation error... 2020-04-08 16:14:44 +02:00
Sébastien Loriot 0779373835 extra run of the script to remove tabs and trailing whitespaces
right after the  merge of 4.14 release branch

+ manual fix on one line in:
    * Arrangement_on_surface_2/include/CGAL/IO/Arr_text_formatter.h
    * .travis/generate_travis.sh
2020-03-26 14:16:06 +01:00
Sébastien Loriot 52164b1fba First pass on removing license notice in header for LGPL files 2019-10-19 15:40:30 +02:00
Sébastien Loriot 7356421d80 introduce Commercial license SPDX tag 2019-10-19 12:15:19 +02:00
Sébastien Loriot 9bd9c68b83 update LGPL[23]+ and GPL[23]+ SPDX tags
ack -l --no-svg "SPDX-License-Identifier: GPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-3.0+/SPDX-License-Identifier: GPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-3.0+/SPDX-License-Identifier: LGPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: GPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-2.0+/SPDX-License-Identifier: GPL-2.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-2.0+/SPDX-License-Identifier: LGPL-2.0-or-later/"
2019-10-18 21:57:54 +02:00
Laurent Rineau 3e4b177506 Merge pull request #4116 from MaelRL/Kernel_23-Generalize_ray_point_method-GF
Change ray_23 and line_23's point(int) function to point(FT)
2019-08-19 12:54:38 +02:00
Mael Rouxel-Labbé 6c8a8f347d Change ray/line.point(int --> FT)
There is no real requirement on it being an 'int', except some symmetry with
the segment.
2019-07-26 15:59:52 +02:00
Andreas Fabri 4581f1b7a8 Morte replacements 2019-06-05 08:39:55 +02:00
Laurent Rineau 90782d4b7f Revert the merge of two pull-requests that target CGAL-4.14-branch
- Revert "Merge pull request #3857 from MaelRL/CGAL-Fix_duplicate_non_manifold_vertices-GF"
- Revert "Merge pull request #3898 from lrineau/Mesh_3-stop_during_protection-lrineau"
2019-05-14 17:50:45 +02:00
Andreas Fabri e60f69e669 Compute sqrt only once 2019-04-11 09:48:32 +02:00
Andreas Fabri 42af962bc2 Add overload for two vectors 2019-04-11 09:48:32 +02:00
Andreas Fabri 0e75cea23c Simplify the code 2019-04-11 09:48:30 +02:00
Andreas Fabri d62d88196e Add a function to compute the angle between three 3D points 2019-04-11 09:48:30 +02:00
Sébastien Loriot 1d908c1c0b remove code for CGAL_INTERSECTION_VERSION 1 2019-03-29 13:28:32 +01:00
Sébastien Loriot 0685423ae8 update from cgal/master 2018-11-02 11:32:31 +01:00
Sébastien Loriot 0202bc879e add an extra operator for plane-line(pt,pt) 2018-06-04 17:21:01 +02:00
Andreas Fabri 0d3ac75518 Introduce namespace Intersections 2018-05-04 08:57:56 +02:00
Maxime Gimeno 67ca3f9dcb fixes 2018-04-27 09:18:48 +02:00
Maxime Gimeno b20d0e0908 Optimization 2018-04-26 10:02:43 +02:00
Maxime Gimeno bcfb7afead Add an operator for a Ray_3 to ConstructProjectedpoint_3 2018-04-25 15:32:36 +02: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 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é 11786a7b90 Fixed minor mistakes from a rebase 2017-06-28 10:16:23 +02:00
Andreas Fabri b949b667ab Use Construct_point_3 inside functor 2017-06-28 10:14:35 +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
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 061a9b1ecd Kernel:23 Add Compare_slope_3 2017-05-12 09:48:21 +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é 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
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 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 f488b9baf9 Changes after Laurent's review 2016-11-03 14:53:15 +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 34eb29cac5 Documentation 2016-11-03 13:07:17 +01:00
Andreas Fabri aee3b86b1f cleanup 2016-11-03 13:06:42 +01:00
Andreas Fabri af6c2e185e remove Compute_point_3 2016-11-03 13:06:02 +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
Laurent Rineau c6cf01c7f6 Merge pull request #1562 from afabri/Kernel_Compute_dihedral_angle-GF
Add doc of functor class and concept corresponding to dihedral_angle()
2016-10-20 09:48:05 +02:00
Laurent Rineau f2e7050364 Merge pull request #1428 from sloriot/AABB_tree-fix_Closest_point
Fix implementation of AABB_traits::Closest_point
2016-10-17 10:03:20 +02:00
Andreas Fabri 423242be31 dihedral_angle() -> approximate_dihedral_angle() 2016-10-11 15:35:20 +02:00
Sébastien Loriot 5c02296eb9 move internal code 2016-10-11 11:31:19 +02:00
Andreas Fabri c58582b5ec Add global function dihedral_angle() 2016-09-30 15:23:15 +02:00
Sébastien Loriot 0230e979e2 Merge branch 'CGAL-use_leda-GF-OLD' into CGAL-use_leda-GF
Conflicts:
	Arrangement_on_surface_2/test/Arrangement_on_surface_2/construction_test_suite_generator.cpp
	Arrangement_on_surface_2/test/Arrangement_on_surface_2/test_construction.cpp
	Documentation/doc/Installation.txt
	Kernel_23/include/CGAL/Exact_predicates_exact_constructions_kernel.h
2014-06-18 22:50:06 +02:00
Sébastien Loriot c8495dea58 add missing return type for Intersect_2 when using intersection API v1 2013-09-25 18:06:06 +02:00