Mael Rouxel-Labbé
590ddf8015
Various fixes for pmaps:
...
- Use `value_type` when the returned type is not a reference
- Enforce `reference = value_type` if the returned type is not
a reference (to avoid `typename PM::reference r = get(m, k)`,
which will take a ref to a temporary if the `reference`
typedef is an actualy reference)
- Do not use `put_get_helper` if the property map is not a `lvalue`
**mutable** property map: the `put()` is `map[k] = v`, which
is broken if `operator[]` does not return a reference
- The concept `boost::lvalue_property_map_tag` requires `operator[](key)`,
not a reference in `get(map, key)`. You can have a readable property map
returning a reference through its `get(map, key)`, but if there is
no `operator[]`, it's just a `boost::readable_property_map_tag`
- Some const correctness to avoid copying maps with state
or heavy keys in `get(map, key)` / `put(map, key, value)`
- Base the category of a wrapping pmap on what it offers instead
of just forwarding the base property map's category
- Tried to do something like mutable lvalue pmap:
* `value_type& operator[](key&)`
* `ref get(map, const key&)`
* `put(map, const key&, const value_type&)`
and non-mutable lvalue pmap:
* `const value_type& operator[](const key&)`
* `ref get(map, const key&)`
but not everything fits properly...
2021-10-08 15:38:47 +02:00
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