Commit Graph

46 Commits

Author SHA1 Message Date
JacksonCampolattaro b08eabae93 Move point-specific functionality to traits class
(only Point_3 is currently supported)
2023-06-26 16:59:02 +02:00
JacksonCampolattaro c41faf1274 Delete independent `Node` type, move relevant typedefs to Orthtree.h 2023-06-25 13:54:19 +02:00
JacksonCampolattaro 01aad4af7a Add a minimal test of custom node properties 2023-06-25 12:42:24 +02:00
JacksonCampolattaro 774aa1f324 Add node-access convenience functions, and simplify tests 2023-06-22 15:24:39 +02:00
JacksonCampolattaro bfe584590e Orthtree no longer instantiates Node types 2023-06-22 14:44:38 +02:00
JacksonCampolattaro d1ac73d087 Use index-based access for split predicates 2023-06-21 17:34:26 +02:00
JacksonCampolattaro 53b3278d3f root() now returns an index, like parent() and child() 2023-04-25 15:21:02 +02:00
JacksonCampolattaro e7f236678e Replace children() helper with individual child() access 2023-04-25 13:48:21 +02:00
JacksonCampolattaro 43b7543d3b nearest_k_neighbors() implemented in terms of indices 2023-04-25 11:24:56 +02:00
JacksonCampolattaro 8712032193 adjacent_node() implemented in terms of indices 2023-04-25 11:11:53 +02:00
JacksonCampolattaro d761f6ebc0 adjacent_node() now returns an optional index 2023-04-25 10:57:56 +02:00
JacksonCampolattaro 825abd1727 Locate now returns a node index 2023-04-24 14:01:01 +02:00
JacksonCampolattaro 782561598e Intersection writes indices to the output iterator 2023-04-24 13:49:13 +02:00
JacksonCampolattaro b9ed5a4221 Relative node access is now done only by index 2023-04-19 19:11:59 +02:00
JacksonCampolattaro b4f04645f1 Level traversal is done by index, has a new unit test 2023-04-19 18:44:30 +02:00
JacksonCampolattaro 8c12fd3bc7 Implement desired behavior for repeated refinement 2023-04-12 12:10:53 +02:00
JacksonCampolattaro 45244da9e1 Node can no longer directly access its children without the tree
This is necessary for the next step, but makes the API a pain to use. Some sort of `Node_handle` type is definitely worthwhile.
2023-03-27 18:12:20 +02:00
JacksonCampolattaro d8b42fd3f3 Remove subscript operator for direct access to children of root
This operator will be used for access by node ID in the future, and this functionality was less clear than tree.root[].
2023-03-26 21:32:55 +02:00
JacksonCampolattaro 035db48542 Nodes can't split, unsplit, or copy themselves.
This ensures allocating and deallocating nodes is strictly the responsibility of the orthtree object.
2023-03-26 16:50:06 +02:00
JacksonCampolattaro 4f6d249c1f Eliminate heap allocated `Data *m_data`
This required changing return types to `Node *` in many cases. All unit tests have been updated to account for the new interface.
2023-03-23 09:58:20 +01:00
Mael 153c603209
Merge branch 'master' into CGAL-Clean_CMakeLists.txt-GF 2023-01-27 22:09:02 +01:00
Laurent Rineau 5f8930db8c Merge branch '5.5.x-branch'
# Conflicts:
#	Convex_hull_2/test/Convex_hull_2/ch_test_CH.cpp
#	Convex_hull_2/test/Convex_hull_2/ch_test_SC.cpp
#	Convex_hull_2/test/Convex_hull_2/ch_test_SH.cpp
#	Convex_hull_2/test/Convex_hull_2/ch_test_SS.cpp
#	Straight_skeleton_2/include/CGAL/constructions/Straight_skeleton_cons_ftC2.h
#	Straight_skeleton_2/include/CGAL/predicates/Straight_skeleton_pred_ftC2.h
2023-01-27 21:16:14 +01:00
Laurent Rineau 65f60e3190 Merge pull request #7145 from afabri/Orthtree-remove_wrong_assertion-GF
Orthree: Fix testsuite code
2023-01-27 20:52:15 +01:00
Andreas Fabri 0c5ebc75bc Orthree: Fix testsuite code 2022-12-23 16:06:36 +00:00
Mael Rouxel-Labbé 9b265fddf8 Uniformize REQUIRED / QUIET usage:
Following this:
- CGAL: always REQUIRED
- CGAL component: COMPONENT / OPTIONAL_COMPONENT (never QUIET)
- required 3rd party: (not QUIET) + message(NOTICE "") on NOT_FOUND
- optional 3rd party: QUIET + message(STATUS "") except for Polyhedron/demo
- 3rd party components: COMPONENT / OPTIONAL_COMPONENT
                        (QUIET depending on required or optional 3rd party)
2022-09-06 16:24:27 +02:00
Andreas Fabri 2b836ab7ab no need for int D 2022-06-21 17:11:28 +01:00
Andreas Fabri 9a633432ba change order of parameters 2022-06-21 17:05:35 +01:00
Andreas Fabri 329f52175a Orthtree: Fix memory leak in test code 2022-06-21 16:54:27 +01:00
Laurent Rineau 2288225448 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Sébastien Loriot ab48f63e30 update latest cmake version tested 2021-11-09 10:58:47 +01:00
Sébastien Loriot 513d67d957 update version requirements 2021-11-09 10:07:25 +01:00
Simon Giraudot 616cd5a549 Apply corrections from review 2021-04-01 08:55:51 +02:00
Simon Giraudot 2fa19c2818 Fix more warnings 2021-03-17 08:12:53 +01:00
Simon Giraudot 39d3051d9f Fix warnings 2021-03-16 08:54:36 +01:00
Simon Giraudot e1cd919ea4 Fix warnings 2021-03-15 09:36:12 +01:00
Simon Giraudot d58aa73857 Remove meaningless assertion on very unstable small timings 2021-03-15 09:31:23 +01:00
Simon Giraudot 96d7c72ffa Add kernel test 2021-02-02 08:27:21 +01:00
Simon Giraudot 224766a605 Fix concept and models 2021-01-21 09:31:58 +01:00
Simon Giraudot 3254ad9e1e Fix copy/move of Orthtree + add test for these constructors 2021-01-20 11:08:15 +01:00
Simon Giraudot b7057e1785 Make Node a const range and fix encapsulation 2021-01-20 10:14:35 +01:00
Simon Giraudot 011eb7e83d Change namespaces and fix doc 2021-01-20 09:22:36 +01:00
Simon Giraudot 4e6932cbe9 Fix filenames 2021-01-19 13:50:35 +01:00
Simon Giraudot a906b12b3c Fix traversal concept, model and examples 2021-01-19 13:31:41 +01:00
Simon Giraudot 11aa2c24f5 Fix project names 2021-01-19 10:27:22 +01:00
Simon Giraudot 74b26e1bf2 Fix tests 2020-10-27 13:35:36 +01:00
Simon Giraudot 066712c881 Use Orthtree everywhere + define Octree/Quadtree aliases 2020-10-22 13:00:34 +02:00