Laurent Rineau
743de32052
Merge pull request #6779 from sloriot/Intersections_3-better_tetra_tri
...
Simpler implementation of Tet vs. Tri intersection
2022-09-13 12:33:08 +02:00
Laurent Rineau
0141404f4d
Merge pull request #6809 from lrineau/Filtered_kernel-fix__do_intersect__Bbox_3__Triangle_3__static_filters-GF
...
Fix static filter of Do_intersect_3(Bbox_3,Triangle_3)
2022-09-13 12:33:03 +02:00
Laurent Rineau
4bc403857d
Merge pull request #6779 from sloriot/Intersections_3-better_tetra_tri
...
Simpler implementation of Tet vs. Tri intersection
2022-09-13 12:32:22 +02:00
Laurent Rineau
ad2a07e653
Merge pull request #6809 from lrineau/Filtered_kernel-fix__do_intersect__Bbox_3__Triangle_3__static_filters-GF
...
Fix static filter of Do_intersect_3(Bbox_3,Triangle_3)
2022-09-13 12:32:20 +02:00
Laurent Rineau
e93011ae2a
Merge pull request #6779 from sloriot/Intersections_3-better_tetra_tri
...
Simpler implementation of Tet vs. Tri intersection
2022-09-13 12:31:37 +02:00
Sebastien Loriot
d896940470
Cosmetic changes
...
Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
2022-09-07 16:08:58 +02:00
Laurent Rineau
c61e3a978b
Fix typo size/side
2022-08-24 16:18:26 +02:00
Sébastien Loriot
bf6e2a2929
remove unused typedefs
2022-08-02 07:34:55 +02:00
Sébastien Loriot
77a50cfd7c
compute it once
2022-08-02 07:34:55 +02:00
Sébastien Loriot
5d32639dc0
fix comment
2022-08-02 07:34:55 +02:00
Sébastien Loriot
2193551f42
precompute plane vertex indices
2022-08-02 07:34:54 +02:00
Sébastien Loriot
5c10048d3e
add a bitset to track planes containing polygon points
...
used to avoid computing points and use input tetrahedron vertex
+workaound for kernels with inexact constructions
2022-08-02 07:34:54 +02:00
Sébastien Loriot
bf89c548fd
simplify Tetra/triangle intersection computation
...
Testsuite fails for Kernel with non-exact contructions
2022-08-02 07:34:54 +02:00
Sébastien Loriot
c9c6b30cf0
Merge sloriot/CGAL-std_type_traits into master
2022-06-23 16:35:37 +02:00
Sébastien Loriot
ac8b6d4731
boost::is_same --> std::is_same
2022-06-10 08:18:20 +02:00
Brian Spilsbury
45c5ef7534
Qualify do_intersect to avoid ambiguous dispatch
2022-06-04 13:17:02 +09:00
Mael Rouxel-Labbé
d355a56d66
Merge remote-tracking branch 'cgal/master' into AABB_tree-Multiple_prim_per_datum-GF
2022-03-24 12:44:28 +01:00
Laurent Rineau
ba0053461f
Merge pull request #6344 from sloriot/CGAL-static_constexpr
...
Add missing static keyword
2022-02-24 09:49:38 +01:00
Laurent Rineau
eb86d35ab0
Merge pull request #6344 from sloriot/CGAL-static_constexpr
...
Add missing static keyword
2022-02-24 09:44:47 +01:00
Sébastien Loriot
6f6bd08e2e
add missing static keyword
2022-02-22 12:42:41 +01:00
Andreas Fabri
35eee1b117
Both types must be coerced
2022-02-03 15:47:17 +00:00
Andreas Fabri
a7ff075f37
Use Coercion_traits::Cast
2022-02-03 13:21:11 +00:00
Andreas Fabri
29fc20fc04
Fix by constructing a CFT from the double before doing operator-() ; Comment the testcase in Number_types
2022-01-20 13:04:12 +00:00
Sébastien Loriot
1491983b93
add missing include directives
2022-01-18 11:36:56 +01:00
Sébastien Loriot
1e9cad98a8
better fix
2021-09-14 09:32:40 +02:00
Sébastien Loriot
b67589e16b
workaround sign issue
2021-09-14 08:41:34 +02:00
Mael Rouxel-Labbé
7049d667e5
Avoid copying arrays
2021-09-10 18:12:30 +02:00
Mael Rouxel-Labbé
afa4279a54
Merge branch 'Filtered_kernel-Do_intersect_3-GF-old' into Filtered_kernel-Do_intersect_3-GF
2021-09-10 17:50:28 +02:00
Mael Rouxel-Labbé
e829dc73d3
Merge branch 'Filtered_kernel-Do_intersect_3-GF-old' into Filtered_kernel-Do_intersect_3-GF
2021-09-10 17:46:08 +02:00
Mael Rouxel-Labbé
9f32bd1a79
Update header includes
2021-09-02 17:36:44 +02:00
Andreas Fabri
a95858fc55
Revert "Work around CGAL_AND as explained in the manual"
...
This reverts commit 7d2321cecd .
2021-08-31 08:56:56 +01:00
Andreas Fabri
7d2321cecd
Work around CGAL_AND as explained in the manual
2021-08-25 16:05:03 +01:00
Mael Rouxel-Labbé
5b94d2db56
Actually erase duplicate internal points
2021-08-25 14:52:22 +02:00
Mael Rouxel-Labbé
6dfe06a286
Fix conversion warnings
2021-08-23 11:49:45 +02:00
Andreas Fabri
3d04ab1e9e
Explicitely use CGAL::sign This only fixes some compilation errors, but not the runtime errors of AABB_tree for VC++
2021-08-13 10:27:36 +01:00
Mael Rouxel-Labbé
2f253b1f63
Remove useless sort
2021-08-06 10:13:00 +02:00
Mael Rouxel-Labbé
db4c3fbc76
Fix misc issues within intersection tests themselves
2021-08-06 10:12:37 +02:00
Mael Rouxel-Labbé
5662b4cd41
Fix assuming some member functions actually return const&
2021-08-03 14:34:05 +02:00
Mael Rouxel-Labbé
9c6456f949
Fix some precision issues for Bbox_3 / kernel object do_intersect tests
...
The previous code relied on the kernel's FT having at least as much precision
as double, which isn't always the case.
Plenty of code still do this in Intersections_23...
2021-07-29 14:23:40 +02:00
Mael Rouxel-Labbé
e118e28e72
Rewrite CGAL::intersection(Tetrahedron_3, Triangle_3)
2021-07-05 22:02:11 +02:00
Mael Rouxel-Labbé
2b41096f69
Fix Sphere_3 Triangle_3/Tetrahedron_3 do_intersect
2021-06-30 11:26:13 +02:00
Mael Rouxel-Labbé
3afa3b546b
Re-enable tests + enhancements
2021-06-29 09:25:40 +02:00
Mael Rouxel-Labbé
6b6ab287a8
Fix Segment_3-Sphere_3 do intersect: detect fully contained segments
2021-06-28 13:26:28 +02:00
Mael Rouxel-Labbé
e70a62ac62
Fix Iso_cuboid_3 / Line_3 Do_intersect()
2021-06-25 20:16:29 +02:00
Mael Rouxel-Labbé
c2d1adfb69
Fix missing, extra do_intersect()/intersection() overloads
...
and reorganize everything...
2021-06-23 17:34:48 +02:00
Sébastien Loriot
9bfe21144e
fix incorrect return type
2021-06-17 12:56:32 +02:00
Sébastien Loriot
cdaabd3d72
static filter for do_intersect bbox/triangle
2021-06-16 13:56:08 +02:00
Sébastien Loriot
5f2c6fdbdf
refactor the code prior to plug static filters
2021-06-16 11:27:21 +02:00
Sébastien Loriot
93476f0b43
use sign
2021-06-15 15:24:00 +02:00
Sébastien Loriot
65d630536b
factorize
2021-06-15 15:24:00 +02:00
Sébastien Loriot
46b112dd54
split the function to avoid the switch
2021-06-15 15:24:00 +02:00
Andreas Fabri
f45e843cd0
trailing whitespace
2021-05-06 08:03:53 +02:00
Andreas Fabri
28a6a91453
Intersections_3: Make do_intersect(sphere/triangle) work if FT is division free
2021-05-05 16:54:05 +02:00
Laurent Rineau
c091c7f86e
Merge pull request #5532 from lrineau/Kernel_23-Do_interesect__without_division-GF
...
Remove operator/ from CGAL::Mpzf and implement Do_intersect_3 with RT only (without division)
2021-04-28 15:24:15 +02:00
Andreas Fabri
8ede8fc7ae
Remove unused parameter
2021-04-27 14:16:55 +01:00
Andreas Fabri
9473da27f8
Address warning: unused parameter 'k' [-Wunused-parameter]
2021-04-22 09:23:48 +01:00
Mael
8226666398
Merge branch 'master' into Triangulation_on_sphere_2-GF
2021-04-17 11:22:30 +02:00
Andreas Fabri
a192a45f5b
Fix warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
2021-04-07 12:09:16 +01: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
58ddf16295
Merge pull request #5507 from afabri/PMP-vtune_isotropic_remeshing-GF
...
PMP: Accelerate isotropic remeshing
2021-04-06 15:13:11 +02:00
Andreas Fabri
abe6aa1eca
remove unused typedefs
2021-04-01 19:48:44 +01:00
Andreas Fabri
7ebdd07a4c
Add <RT> to rank as expression templates don't match
2021-03-30 14:28:55 +01:00
Andreas Fabri
dbfb7157bb
Rename compare() to compare_quotients()
2021-03-30 10:14:02 +01:00
Andreas Fabri
99a52959c3
Add the do_intersect for 3 planes using the rank() written by Sebastien
2021-03-29 17:15:53 +01:00
Andreas Fabri
23f1badd85
Use is_zero() instead of == FT(0)
2021-03-22 09:03:50 +01:00
Andreas Fabri
8eea3e70bb
typename
2021-03-21 18:17:13 +01:00
Mael Rouxel-Labbé
717fedc588
Use better variable names
2021-03-19 17:28:04 +01:00
Andreas Fabri
75a2541d12
Add Plane/Ray
2021-03-18 14:37:34 +01:00
Andreas Fabri
2e0f01be94
WIP: make several do_intersect division free and several no longer compute the intersection. Plane/Plane/Plane as well as Plane/Ray are still wrong
2021-03-18 14:18:11 +01:00
Dmitry Anisimov
00c185b028
Merge branch 'master' into Kernels-decltypes-danston
2021-03-12 12:06:20 +01:00
Laurent Rineau
dcf9dfd0fe
Merge pull request #5435 from afabri/Intersect_3-fix_isocuboid_plane-GF
...
Intersect_3: Fix Iso_cuboid_3/Plane_3 and Tetrahedon_/Plane_3 intersection using PMP::clip internal function
# Conflicts:
# Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/clip.h
2021-03-03 17:30:04 +01:00
Andreas Fabri
7785a9c2b1
Use certainly()
2021-03-03 15:25:30 +00:00
Andreas Fabri
2ac977b7c5
Early exit in do_intersect of Sphere/Bbox_3
2021-03-03 13:21:24 +00: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
Andreas Fabri
4bc161a332
Return a triangle not a vector
2021-02-12 09:42:52 +00:00
Andreas Fabri
75cb1593d0
WIP: try to do plane/tet intersection. I think the edge indexing is wrong
2021-02-10 15:41:45 +00:00
Sébastien Loriot
231e9f1b93
handle cases when plane contains an edge
2021-02-10 10:29:02 +01:00
Dmitry Anisimov
81d9556707
Merge remote-tracking branch 'upstream/master' into Kernels-decltypes-danston
2021-02-10 10:06:45 +01:00
Sébastien Loriot
38142dc101
update include directives
2021-02-09 18:51:38 +01:00
Sébastien Loriot
81a6fe16e8
remove idmap
2021-02-09 18:27:58 +01:00
Sébastien Loriot
95bd626bbd
use one vector
2021-02-09 18:01:55 +01:00
Sébastien Loriot
b363977c87
clean up
2021-02-09 17:58:25 +01:00
Sébastien Loriot
fb731259d7
fix comparison
2021-02-09 17:51:01 +01:00
Andreas Fabri
6d438a0f94
WIP
2021-02-09 15:48:03 +00:00
Andreas Fabri
d71057ce96
Test if there is something on the optional
2021-02-05 12:25:27 +00:00
Sébastien Loriot
1fcabd581b
fix warnings (and indentation)
2020-11-27 14:04:13 +01:00
Andreas Fabri
aa4c8f2f5a
changes after Sebastien's comments
2020-11-09 21:23:41 +00:00
Sébastien Loriot
87b8f66e14
update from master
2020-10-20 09:19:13 +02:00
Andreas Fabri
fd351091d8
Less operations thanks to Mael
2020-10-20 09:17:15 +02: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
Laurent Rineau
51f11605c0
Merge pull request #5022 from janetournois/Intersections_3-fix_do_intersect_3planes-GF
...
Intersections_3 - fix do_intersect(Plane_3, Plane_3, Plane_3)
2020-10-16 13:41:19 +02:00
Jane Tournois
f005bd40a4
Merge branch 'Intersections_3-fix_do_intersect_3planes-GF' into Intersections_3-fix_do_intersect_3planes-master-GF
...
# Conflicts:
# Filtered_kernel/include/CGAL/internal/Static_filters/Do_intersect_3.h
2020-10-06 17:30:29 +02:00
Jane Tournois
10456676ab
fix compilation of do_intersect(plane, plane, plane) for msvc
2020-10-06 17:20:22 +02:00
Sébastien Loriot
dc1ccb5c2d
Merge remote-tracking branch 'cgal/releases/CGAL-5.0-branch'
2020-08-11 16:59:55 +02:00
Sébastien Loriot
8199d5308d
Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch'
2020-08-11 16:59:19 +02:00
Michael Hemmer
a11b69e319
Fix do_intersect for Tetrahedron_3 Tetrahedron_3
...
In Line 65 in function do_intersect_tetrahedron_bounded (tr,tet,p,k) we eval k.has_on_bounded_side_3_object()(tet, p), where tr=lh_tet and tet=rh_tet.
Thus p must be generated from lh_tet, or L65 is always true.
This is a flyby and has not been tested.
2020-08-07 10:45:27 +02:00
Michael Hemmer
52d8238f3b
Fix dispatch do_intersect(Tetrahedron_3, Bbox_3)
...
Moving do_intersect(Tetrahedron_3, Bbox_3) below do_intersect(Bbox_3, Tetrahedron_3)
Before do_intersect(Tetrahedron_3, Bbox_3) called do_intersect(Iso_cuboid_3, Tetrahedron_3), which compiled due to implicit conversion.
AFAIKT it even worked, up to instances with degenerated Bbox_3/Iso_cuboid_3 executed in debug mode.
2020-08-06 15:15:53 -07:00
Dmitry Anisimov
ad813b4cb0
further removed result_of and result
2020-07-30 16:19:02 +02:00