Commit Graph

77 Commits

Author SHA1 Message Date
Laurent Rineau e5001d1a50 update our CMake version 3.18...3.31
That will suppress the warnings about `CMP0167` (from CMake 3.30):

```
CMake Warning (dev) at cmake/modules/display-third-party-libs-versions.cmake:37 (find_package):
  Policy CMP0167 is not set: The FindBoost module is removed.  Run "cmake
  --help-policy CMP0167" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.
```
2025-02-04 14:32:37 +01:00
Laurent Rineau 3a223ebd1e cmake_minimum_required(VERSION 3.12...3.29) 2024-06-06 20:19:44 +02:00
Sven Oesau caa833f439 renaming nearest_neighbors to nearest_k_neighbors 2024-03-01 16:32:00 +01:00
Sven Oesau 48c1fef4d5 moving package headers to front 2024-03-01 09:09:11 +01:00
Sébastien Loriot dffac51a18 restore old behavior with a forward constructor
drawback: construction with initilization list become ambiguous
2024-02-29 19:14:04 +01:00
Sven Oesau 3251248b68 reintegrated nearest neighbors into Orthtree 2024-02-27 18:01:53 +01:00
Sven Oesau c954092d46 renaming Orthtree_traits_without_data 2024-02-20 14:22:02 +01:00
Sébastien Loriot ae18495c56 simplify implementation of no data case to make it work with non MSVC compilers
surprisingly tests are broken
2024-02-13 16:51:54 +01:00
Sven Oesau 009791f4f8 adaptation of Orthtree interface to allow OrthtreeTraits without data
adding Orthtree_traits_without_data
template specializations for Property_array, Property_array_handle and Property_container to allow for void as data type
extending test_octree_copy_move_constructors to include traits without data
2024-02-13 12:33:48 +01:00
Sven Oesau 75d1519e26 fixed test 2024-02-07 15:18:36 +01:00
Sven Oesau 4c1cf8d9c4 working version of Pair_optional_adaptor 2024-02-06 10:18:35 +01:00
Sven Oesau e4686a21a9 removed _node from Orthtree property API 2024-02-05 18:11:01 +01:00
Sven Oesau 3310585228 added Pair_optional_adaptor (WIP) 2024-02-05 18:06:39 +01:00
Sven Oesau cde61a5c49 changed property interface of Orthtree to be closer to Surface mesh
added listing of existing properties
added removal of properties
2024-02-05 11:43:58 +01:00
Sven Oesau b265ee90a8 fixing tests 2024-02-02 15:45:17 +01:00
Sven Oesau 6e7587a863 fixing tests 2024-02-02 11:56:29 +01:00
Sébastien Loriot 0c9349064b Revert "If smaller is true we want to go in the 0-half space not 1"
This reverts commit 5e67892ab0.
2024-01-24 16:57:53 +01:00
Andreas Fabri 5e67892ab0 If smaller is true we want to go in the 0-half space not 1 2024-01-24 13:58:37 +00:00
Andreas Fabri 876865b525 use variable 2024-01-24 09:30:29 +00:00
Andreas Fabri b9a2556560 use variable 2024-01-24 09:27:27 +00:00
Sébastien Loriot 832389a5f7 property handles are returned by copy 2024-01-24 08:58:07 +01:00
Sven Oesau eb845938b9 switching to Property_array_handle
extending tests to include properties
more doc
2024-01-12 12:50:32 +01:00
JacksonCampolattaro 674760974c Add a simple test for shared vertices 2023-09-24 17:10:27 +02:00
JacksonCampolattaro ed32969908 Prefer `using` over `typedef` universally, for consistency 2023-09-08 12:42:20 +02:00
JacksonCampolattaro 039b693b61 Add support for trees with non-cubic bounding boxes
High-order orthtrees break, because Epick_d::Point is somehow defined as an array
2023-09-02 17:37:34 +02:00
JacksonCampolattaro fd34fb5302 `root_node_contents` now produces a Bbox directly
Some tests fail due to non-cubic bounding boxes
2023-09-02 16:49:32 +02:00
JacksonCampolattaro 99a2d5612f Replace bbox with Iso_rectangle/_cuboid/_box 2023-09-02 15:09:16 +02:00
JacksonCampolattaro 40b2c0dff0 Convert nearest neighbor methods to free functions 2023-09-01 17:16:54 +02:00
JacksonCampolattaro 59fafe8e3a Fix issues with superfluous Node typedefs 2023-09-01 16:16:30 +02:00
JacksonCampolattaro 8fe57f5adf Rename traverse_indices to traverse (now that it's the only traversal function) 2023-07-27 09:49:20 +02:00
JacksonCampolattaro 5bc0962b81 Eliminate non-index versions of split predicates & traversals 2023-07-26 14:13:00 +02:00
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