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
Doug Roeper
6e4be92b5e
Adds a CGAL::midpoint() implementation for Segments.
2021-03-22 09:11:23 -04:00
Andreas Fabri
45909e6d76
Let's fix it step by step, beginning with Do_intersect_3
2021-03-22 09:01:56 +01:00
Andreas Fabri
be39ec02fa
Add a solve that 'returns' the denominator instead of making the division
2021-03-18 14:18:11 +01:00
Laurent Rineau
b32250242a
CGAL_Kernel_pred_RT for Do_intersect_2 and Do_intersect_3
...
The code is not ready for that. A lot of overloads of
`Do_interesect_[23]` are implemented by calling the equivalent
overloads from `Intersect_23` (that requires division of coordinates).
2021-03-17 11:34:08 +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
Dmitry Anisimov
3127190bcf
marc's review
2020-12-08 12:48:04 +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
4248a8a9f7
lazy and type mapper result_of fix
2020-07-23 16:00:06 +02:00
Dmitry Anisimov
da0635e4b1
result_of changed to decltype
2020-07-20 17:03:28 +02:00
Maxime Gimeno
9bf61b7977
more fixes
2020-04-22 11:02:16 +02:00
Sébastien Loriot
a8f9858099
Merge remote-tracking branch 'cgal/releases/CGAL-5.0-branch'
2020-04-16 16:29:55 +02:00
Sébastien Loriot
4476663eba
fix compilation error...
2020-04-08 16:14:44 +02:00
Sébastien Loriot
a943082eff
Update branch from master after trailing whitespaces and tabs removal
2020-03-26 19:01:31 +01:00
Sébastien Loriot
8bb22d5b2c
extra run of the script to remove tabs and trailing whitespaces
...
right after the merge of the 5.0 release branch
+ manual fix of the files (indentation was changed in the meantime):
* Spatial_sorting/include/CGAL/Multiscale_sort.h
* Spatial_sorting/test/Spatial_sorting/test_multiscale.cpp
2020-03-26 14:26:59 +01:00
Sébastien Loriot
8b153fb495
Merge branch 'cgal/releases/CGAL-5.0-branch'
...
whitespace+tab removal, merged with option -Xignore-space-change
2020-03-26 14:22:32 +01: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
Laurent Rineau
0260afee8c
Merge pull request #4542 from sloriot/Kernel-compare_distance_use_FT
...
Use FT instead of RT
2020-03-05 14:52:06 +01:00
Laurent Rineau
0d393fb8db
Merge pull request #4542 from sloriot/Kernel-compare_distance_use_FT
...
Use FT instead of RT
2020-03-05 14:50:42 +01:00
Andreas Fabri
99eea7ac21
Add operator for line/point/point
2020-02-25 16:47:12 +00:00
Sébastien Loriot
ba2f2c1c20
use FT instead of RT
...
Compare_distance_3 is a generic functor that is comparing
the returned value of Squared_distance_3. If called to
compare the distance of a point to a plane/segment/triangle
a division is used leading to runtime error.
2020-02-25 14:25:20 +01:00
Mael Rouxel-Labbé
4536ea4f53
Clean whitespace (no changes)
2020-01-16 12:33:01 +01:00
Andreas Fabri
cc75efdbb5
Add static filter for Coplanar_3
2019-11-07 15:57:23 +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
Andreas Fabri
0f267c53e3
Make 2d segment segment distance more robust for kernel without exact constructions
2019-08-29 14:54:03 +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
Laurent Rineau
0d7fd463ff
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:53:59 +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
Laurent Rineau
8fd3f2d8fd
Merge pull request #3973 from sgiraudot/Kernel_23-Add_hash_functions-GF
...
[Small Feature] Add hash functions for kernel objects
2019-06-20 14:21:09 +02:00
Simon Giraudot
c3c825519c
Add missing inlines
2019-06-06 09:51:10 +02:00
Simon Giraudot
72ea50ae77
Change condition on FT/Kernel for hash functions
2019-06-05 10:50:08 +02:00
Simon Giraudot
070a26a5b7
Fix missing inclusions + ADL for hash_value
2019-06-05 10:43:28 +02:00
Andreas Fabri
4581f1b7a8
Morte replacements
2019-06-05 08:39:55 +02:00
Simon Giraudot
9ee478139b
Remove hash for Direction_23/Ray_23 as equality is more complicated
2019-06-04 13:26:05 +02:00
Simon Giraudot
d88b7bab69
Hash functions for many kernel objects
2019-06-03 15:56:07 +02:00
Simon Giraudot
a954fbf69e
Add hash function for Point_3
2019-06-03 14:36:32 +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
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
Sébastien Loriot
0698f79aff
add SPDX identifier for files under the LGPL-3+ license
2017-11-12 10:17:50 +01:00
Andreas Fabri
2f95a05e1c
make filtering with static filter generic
2017-10-27 15:27:20 +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
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é
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
Mael Rouxel-Labbé
12f5cf82ee
Fixed cubic equation solver
2017-06-22 16:14:55 +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é
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
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