Commit Graph

653 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé 1660611e76 Use local typenames directly 2021-10-08 13:23:38 +02:00
Mael Rouxel-Labbé df560987a6 Whitespace & cleaning changes 2021-10-08 12:13:43 +02:00
Mael Rouxel-Labbé 2dda84c9b3 Minor code cleaning 2021-09-28 15:34:25 +02:00
Mael Rouxel-Labbé b9741aa6bb Fix AABBGeomTraits's intersection pred/cons requirements (+ misc cleaning) 2021-09-28 15:32:06 +02:00
Sebastien Loriot e5279db7fb
Merge pull request #5777 from MaelRL/AABB-Dont_call_global_do_intersect-GF
Misc fixes for Intersections_3 + related
2021-09-02 15:44:53 +02:00
Sébastien Loriot 98e471849b moving files from internal to PKG/internal 2021-08-26 11:33:39 +02:00
Laurent Rineau 5759a800e3
Merge pull request #5705 from maxGimeno/CGAL-Clean_up_boost_versions-maxGimeno 2021-07-28 10:14:38 +02:00
Mael Rouxel-Labbé 5880dc7195 Replace global function CGAL::do_intersect() call 2021-06-14 11:28:18 +02:00
Maxime Gimeno 393ae7dae6 Clean-up boost_version reqs 2021-05-12 15:03:53 +02:00
Dmitry Anisimov 4ce1370043 tested group traversal, its sequential version is slower due to more candidate triangles 2021-04-28 11:37:49 +02:00
Sébastien Loriot 87174f3007 remove useless check (go further is updated with primitives not bbox) 2021-04-28 08:37:08 +02:00
Sébastien Loriot 1a9a821193 add a way to get a direct access to primitive in a box when below a given nb of primitives 2021-04-27 19:24:07 +02:00
Dmitry Anisimov a2f460c9d6 Merge branch 'master' into gsoc2019-PMPHDist-martinskrodzki 2021-04-27 18:37:32 +02:00
Dmitry Anisimov 5e99e80134 refined and debugged aabb tree with priority traversal 2021-04-26 17:07:19 +02:00
Dmitry Anisimov 69c48308cc added test for realizing triangles, updated how the bounds are stored, removed useless types 2021-04-26 13:04:59 +02:00
Dmitry Anisimov 9a9c3ed887 a few comments in addition to the discussion with Sebastien and Martin 2021-04-22 12:19:58 +02:00
Dmitry Anisimov dfd2e15066 Merge remote-tracking branch 'maxGimeno/PMP-compare_faces_from_meshes-maxGimeno' into gsoc2019-PMPHDist-martinskrodzki 2021-04-07 13:54:02 +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 58ddf16295 Merge pull request #5507 from afabri/PMP-vtune_isotropic_remeshing-GF
PMP:  Accelerate isotropic remeshing
2021-04-06 15:13:11 +02:00
Dmitry Anisimov 00c185b028
Merge branch 'master' into Kernels-decltypes-danston 2021-03-12 12:06:20 +01:00
Sébastien Loriot 2b5cb2da9f copy tags 2021-03-10 14:23:58 +01:00
Sébastien Loriot 3614dee0fb don't reinvent the wheel 2021-03-10 14:01:55 +01:00
Sébastien Loriot ac708f6625 use nested class for dispatch 2021-03-10 13:59:00 +01:00
Andreas Fabri b5239161c4 Check that the kernel has static filters 2021-03-10 10:51:24 +00:00
Andreas Fabri 643810f310 WIP for not hard coding conservative. Todo: Use of Has_filtered 2021-03-09 13:15:49 +00:00
Andreas Fabri b1c2dd8db6 WIP: early exit in the static filter 2021-03-07 18:25:18 +00:00
Laurent Rineau 3ab3b10d47 Merge pull request #5247 from MaelRL/SDG-Fix_doc-GF
Doc improvements for TDS-related classes
2021-03-03 17:38:18 +01:00
Sébastien Loriot 313f682b8c use custom functor for bbox and split primitives
aabb tree build runtime is similar to using EPICK
2021-03-02 16:16:07 +01:00
Mael Rouxel-Labbé 5efa544734 Merge remote-tracking branch 'cgal/master' into SDG-Fix_doc-GF 2021-02-22 17:19:40 +01:00
Sébastien Loriot 20661527bd Merge branch 'martinskrodzki/gsoc2019-PMPHDist-martinskrodzki' into master 2021-02-19 10:58:11 +01:00
Dmitry Anisimov 81d9556707 Merge remote-tracking branch 'upstream/master' into Kernels-decltypes-danston 2021-02-10 10:06:45 +01:00
Mael Rouxel-Labbé 1f45360d7a Merge remote-tracking branch 'cgal/master' into SDG-Fix_doc-GF 2021-01-26 09:05:24 +01:00
Dmitry Anisimov e2ea93dbc5 fixed wrong reference type in aabb tree 2021-01-19 13:06:16 +01:00
Sébastien Loriot 1e249afdb3 remove some boost::bind 2021-01-06 12:59:11 +01:00
Laurent Rineau e7167e744e Merge pull request #5229 from MaelRL/AABB-no_underscore_in_doc-GF
AABB: Fix extra underscore in the documentation of the VPM template parameter
2020-12-15 09:07:49 +01:00
Laurent Rineau a0e1b15da3 Merge branch '5.1.x-branch' into 5.2.x-branch 2020-12-15 09:07:21 +01:00
Dmitry Anisimov 3127190bcf marc's review 2020-12-08 12:48:04 +01:00
Mael Rouxel-Labbé f0e94d5efa Fix typo 2020-12-05 10:08:13 +01:00
Mael Rouxel-Labbé 746e00f81e Fix extra underscore in the documentation of the VPM template parameter
This is a residual of the usage of CGAL::Default in the class templates.

Fix it by also documenting constructors in a #ifdef DOXYGEN_RUNNING block,
like the types.
2020-11-30 18:16:39 +01:00
Sébastien Loriot 9b60888cb2 fix doc warnings 2020-10-20 13:23:15 +02:00
Laurent Rineau 9e96a45e55
Merge branch 'master' into AABBTreeC++11 2020-10-16 19:01:59 +02:00
Sébastien Loriot 0b732f9f16 rename m_p_nodes to m_nodes 2020-09-22 15:49:03 +02:00
Sébastien Loriot 7938060fd0 Merge 'cgal/master' 2020-09-22 15:47:26 +02:00
Maxime Gimeno 5f8e49a963 WIP 2020-08-19 15:50:22 +02:00
Dmitry Anisimov 209513dc56 fixed docs + a few code improvements 2020-07-31 15:58:38 +02:00
Dmitry Anisimov ad813b4cb0 further removed result_of and result 2020-07-30 16:19:02 +02:00
Laurent Rineau 022b1a71d0 Merge branch 'releases/CGAL-5.0-branch' 2020-07-21 15:27:49 +02:00
Laurent Rineau 2e8a59d570 Merge branch 'releases/CGAL-4.14-branch' into releases/CGAL-5.0-branch 2020-07-21 15:25:54 +02:00
Sébastien Loriot 7e525657dd hide undocumented inheritance 2020-07-20 07:39:54 +02:00
Laurent Rineau ff82af691e Merge branch 'releases/CGAL-4.14-branch' into releases/CGAL-5.0-branch 2020-07-08 12:57:05 +02:00
Laurent Rineau f24f9b2c03 Fix after PR #4836 2020-07-08 12:54:36 +02:00
Laurent Rineau 62c15ff47a Fix after PR #4836 2020-07-08 12:53:08 +02:00
Laurent Rineau 18f4e440db Merge branch 'releases/CGAL-5.0-branch' 2020-07-07 11:44:40 +02:00
Laurent Rineau 2552ec6307 Merge branch 'releases/CGAL-4.14-branch' into releases/CGAL-5.0-branch 2020-07-07 11:44:01 +02:00
Laurent Rineau 0911586ae3
Merge pull request #4836 from CGAL/afabri-patch-3
Update AABB_halfedge_graph_segment_primitive.h
2020-07-07 11:41:33 +02:00
Andreas Fabri 23c29ff060
Update AABB_halfedge_graph_segment_primitive.h
Fix typos
2020-07-07 11:23:45 +02:00
Andreas Fabri f547b947d3
Update AABB_face_graph_triangle_primitive.h
Fix documentation bug.
2020-07-07 11:20:03 +02:00
Sébastien Loriot 137971071c hide for doxygen 2020-04-29 17:02:48 +02:00
Sébastien Loriot 531071907b use relaxed order 2020-04-23 17:22:49 +02:00
Sébastien Loriot f56cd59eb4 add the possibility to pass custom functors to build the tree 2020-04-23 16:13:32 +02:00
Sébastien Loriot 0c98cd8eee fix no-thread 2020-04-22 16:53:36 +02:00
Sébastien Loriot 76aeb96682 fix wrong value 2020-04-22 16:35:11 +02:00
Sébastien Loriot 5ec5ad6c8e doc clean up 2020-04-22 16:23:57 +02:00
Sébastien Loriot c8eddc4efc build() always trigger the reconstruction of the tree
It can be useful for a mesh with update vertex coordinates
2020-04-22 15:56:26 +02:00
Sébastien Loriot cbd7dfc793 document the new behavior 2020-04-22 15:48:33 +02:00
Sébastien Loriot 13f83d6530 simplify constructors 2020-04-22 15:06:39 +02:00
Sébastien Loriot 5f05c610d1 make the construction of the search tree lazy 2020-04-22 14:57:20 +02:00
Sébastien Loriot c5ba7d4621 fix the thread-safety of the lazy construction of the tree
* use c++11 memory model to fix the Double-Checked Locking
2020-04-22 14:41:57 +02:00
Sébastien Loriot 6d6b8426ad (do_not_)accelerate_distance_queries() are non-const methods 2020-04-22 11:09:15 +02:00
Sébastien Loriot e4010a7875 rename variable with ambiguous name 2020-04-22 11:03:04 +02:00
Sébastien Loriot 41ae2c31bb extra run of the script to remove tabs and trailing whitespaces 2020-03-26 19:28:26 +01:00
Sébastien Loriot c67d093ebf Update branch from master after trailing whitespaces and tabs removal 2020-03-26 19:28:07 +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
Sébastien Loriot 590612a563 run the script to remove tabs and trailing whitespaces 2020-03-26 13:25:16 +01:00
Ahmed Essam 2b9c2c1634 Test AABBTree move semantics 2020-03-07 04:28:13 +02:00
Ahmed Essam 49465bbcb6 Use stack variable instead of pointer 2020-03-06 16:28:21 +02:00
Ahmed Essam 5f8e3bc3cf
Use lval ref instead of perfect forwarding in set_children
Co-Authored-By: Sebastien Loriot <sloriot.ml@gmail.com>
2020-03-03 15:00:42 +02:00
Ahmed Essam 5e9801839d Add move constructor to AABB tree and use smart pointers 2020-03-01 02:44:34 +02:00
Laurent Rineau 0fa0c4fbb9 Merge pull request #4244 from maxGimeno/AABB_tree-Make_accelerate_distance_queries_default-maxGimeno
AABB_tree: make accelerate distance queries default
2019-12-05 11:05:35 +01:00
Laurent Rineau 3b5d13f023 Merge pull request #4250 from maxGimeno/PMP-Side_of_tm-use_bbox-maxGimeno
PMP: Make Side_of_triangle_mesh faster for disjoint meshes
2019-12-05 11:05:29 +01:00
Maxime Gimeno fb273ea62a Fix indentation 2019-12-03 09:33:09 +01:00
Maxime Gimeno 53458f1f42 Indentation 2019-12-02 16:13:20 +01:00
Maxime Gimeno 7b05052a27 Test if the tree is empty before building the kd-tree (to fix all the execution failures in the tests) 2019-11-18 10:27:04 +01:00
Sébastien Loriot 254d60f642 First pass on removing license notice in header for GPL files 2019-10-19 15:23:19 +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
Martin Skrodzki 16e0a475f4 Fix traversal order, add comment on benchmark results. 2019-10-14 00:28:08 +02:00
Sébastien Loriot 9221290bef add missing const 2019-10-11 08:07:02 +02:00
Sébastien Loriot 6e73f92fd2 fix nb of primitives 2019-09-27 07:15:17 +02:00
Sébastien Loriot a4aa6a7b77 rework expression 2019-09-26 15:54:43 +02:00
Andreas Fabri 6027b2d5f7 Add Traits::intersection_with_priority() 2019-09-26 15:15:50 +02:00
Maxime Gimeno dd566a2c96 Fixes 2019-09-24 13:49:10 +02:00
Maxime Gimeno 15d42d6cd2 Make the accelerate_distance_query() lazy and add a function to disable it. 2019-09-24 11:38:19 +02:00
Maxime Gimeno 2a3cce88e8 Fix AABB_tree with 1 primitive 2019-07-04 10:31:48 +02:00
Laurent Rineau 23f946a58a Merge pull request #3954 from maxGimeno/AABB_tree-All_intersected_primitives_for_tree-GF
AABB_tree: add do_intersect() for trees
2019-06-17 14:16:09 +02:00
Andreas Fabri 4581f1b7a8 Morte replacements 2019-06-05 08:39:55 +02:00
Maxime Gimeno c873d7bf36 Documents do_intersect() for AABB_trees and add a test file 2019-05-23 16:14:56 +02:00
Sébastien Loriot 1d908c1c0b remove code for CGAL_INTERSECTION_VERSION 1 2019-03-29 13:28:32 +01:00
Sébastien Loriot affaa19327 remove workaround for non support of variadic template 2019-03-29 10:41:49 +01:00
Laurent Rineau 4d66f012c7 Merge pull request #3766 from sloriot/AABB_tree-more_robust_first_intersection
More robust first_intersection
2019-03-19 18:30:50 +01:00
Sébastien Loriot 3c0cc16c68 take the max coordinate instead of the non-zero one 2019-03-12 17:59:28 +01:00
Laurent Rineau 11bf3926e6 Merge branch 'releases/CGAL-4.12-branch' 2019-02-16 14:00:03 +01:00
Laurent Rineau fdd8357915
Merge pull request #3580 from afabri/Stream_support-Color-GF
Fix warnings (Add/remove copy constructors, and other warnings)

Co-authored-by: Laurent Rineau <laurent.rineau@cgal.org>
Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
Co-authored-by: Maxime GIMENO <maxime.gimeno@gmail.com>
2019-02-13 15:25:07 +00:00
Sébastien Loriot 0f9f217f50 add an important note for first_intersection 2019-02-12 16:10:41 +01:00
Laurent Rineau 0241fdc3eb Compatibility with both Point_3 and Weighted_point_3 2019-02-11 13:46:06 +01:00
Laurent Rineau d216131c79 New undocumented AABB primitive: cells of a 3D triangulation
The `Scene_c3t3_item` from our 3D demos now uses an AABB tree of
cells, instead of an AABB tree of triangles. That divides the number
of primitives by 4, and save times:

Before:
```
C3t3 facets AABB tree built in 22.010006904602051 wall-clock seconds
Scene_c3t3_item_priv::computeIntersections in 0.50893402099609375 wall-clock seconds
```

After:
```
C3t3 cells AABB tree built in 13.072829008102417 wall-clock seconds
Scene_c3t3_item_priv::computeIntersections in 0.41458892822265625 wall-clock seconds
```

The gain seems mostly in the construction of the tree (40% saved), and
the gain on the queries seems lower (about 20%).
2019-02-11 13:22:11 +01:00
Laurent Rineau afc3de2894
Merge branch 'master' into Stream_support-Color-GF 2019-01-23 09:37:08 +01:00
Andreas Fabri 81d4227e57 Fix AABB tree 2019-01-10 18:40:10 +01:00
Andreas Fabri 6cc109f7c4 AABB Tree testsuite 2018-11-28 09:07:36 +01:00
Sébastien Loriot 6400cc5d5a fix doc warning 2018-11-12 11:28:23 +01:00
Sébastien Loriot 9c9d4ea6c6 fix doc warnings 2018-11-02 14:40:53 +01:00
Sébastien Loriot 056c778305 Merge pull request #3370 from maxGimeno/AABB_tree-Change_facegraph_triangle_primitive_id-GF
Aabb_tree: change the id of AABB_face_graph_triangle_primitive and AABB_halfedge_graph_segment_primitive
2018-11-02 10:34:26 +01:00
Sebastien Loriot 5be2958fae
Merge pull request #3386 from maxGimeno/AABB_tree-Override_build_function_with_shared_data-GF
AABB_tree: Add an overload to build() for shared data
2018-11-02 10:31:22 +01:00
Sébastien Loriot 34527a3dc3 remove extra template keyword 2018-10-31 06:20:37 +01:00
Sébastien Loriot cdbe19b480 Merge pull request #3369 from maxGimeno/AABB_tree-AABB_transformed_traits-GF
[Small Feature] Add collision detection in PMP
2018-10-30 15:49:38 +01:00
Laurent Rineau 62c33b9df4 Merge pull request #3390 from maxGimeno/AABB_tree-Add_datum_function-GF
AABB_tree: add datum()
2018-10-29 10:27:57 +01:00
Maxime Gimeno c05f2f98f8 Use the helper type but hide it in the doc 2018-10-12 10:21:13 +02:00
Maxime Gimeno 500c2a7200 Only document Datum_reference as return type 2018-10-11 10:13:26 +02:00
Maxime Gimeno 8f6d68152b add doc 2018-10-10 12:16:22 +02:00
Maxime Gimeno eacf880034 Add a const function datum() to AABB_tree and test. 2018-10-10 11:55:23 +02:00
Maxime Gimeno 1b5cfa66e6 Edit after review 2018-10-09 15:06:14 +02:00
Sébastien Loriot eb8e5e5b35 change the Id in the base class + update pmaps to handle also pairs 2018-10-09 14:15:26 +02:00
Maxime Gimeno 4615c636d5 Inherit from the helper class to avoid storing the graph if tag is true. 2018-10-09 14:14:51 +02:00
Maxime Gimeno da01fb43ee fix doc and don't duplicate the id. Use a pointer to the graph. 2018-10-09 14:14:51 +02:00
Maxime Gimeno 1d7e07b954 Fix doc 2018-10-09 14:14:51 +02:00
Maxime Gimeno 1960e01aeb fixes and do the same for the edges 2018-10-09 14:14:51 +02:00
Maxime Gimeno 232373c9ca Change the Id of the AABB_face_graph_triangle_primitive so it contains the mesh if necessary. 2018-10-09 14:14:51 +02:00
Sébastien Loriot baf27bbd6e use const map (non-const map should be convertible to const map in practice) 2018-10-09 10:28:45 +02:00
Maxime Gimeno 3e2d61e29d Move traits in PMP/internal 2018-10-09 10:28:43 +02:00
Sébastien Loriot c32820fe8b reuse conversions 2018-10-09 10:28:43 +02:00
Sébastien Loriot caa5135c18 simplify traits and always use transformed primitives 2018-10-09 10:28:42 +02:00
Sébastien Loriot 8486cff633 add an extra flag to force the evaluation of the transformation 2018-10-09 10:28:42 +02:00
Sébastien Loriot 680191dccd remove trailing whitespaces 2018-10-09 10:28:42 +02:00
Sébastien Loriot 3d50da882e cosmetic changes 2018-10-09 10:28:42 +02:00
Sébastien Loriot e6c7c34783 fix bbox computation and factorize 2018-10-09 10:28:42 +02:00
Maxime Gimeno 622509816b Fix rotation of boxes 2018-10-09 10:24:32 +02:00
Maxime Gimeno f236176d55 Add missing file 2018-10-09 10:24:32 +02:00
Maxime Gimeno 2c23959347 rename and transform primitives. Don't transform mesh in test. 2018-10-09 10:24:32 +02:00
Maxime Gimeno 8e64d49513 WIP: Remove the traits_base 2018-10-09 10:24:32 +02:00
Maxime Gimeno 48c0cc02a2 Add Filtered_predicates support 2018-10-09 10:24:32 +02:00
Maxime Gimeno 36fd62f8c6 Add benchmark for tree intersection 2018-10-09 10:24:32 +02:00
Sébastien Loriot f5ef4b0034 add a naive way to intersect two AABB-trees 2018-10-09 10:24:32 +02:00
Maxime Gimeno d2f4e19e36 Add transformations to the new traits and add a test for it. 2018-10-09 10:24:32 +02:00
Maxime Gimeno a764322b7d Create a dummy traits and fix AABB_traits and AABBTraits implem/doc problems. 2018-10-09 10:24:31 +02:00
Maxime Gimeno 79e54aedd8 indentation 2018-10-08 14:26:44 +02:00
Maxime Gimeno 7990fd4f27 Add an overload to build() for shared data 2018-10-08 14:14:49 +02:00
Sébastien Loriot 3dd0aa112d rename macro not following the convention 2018-10-08 10:28:55 +02:00
Sébastien Loriot a2e8a1c68f add the suffix Ref to doxygen link to reference 2018-10-08 10:26:56 +02:00