Commit Graph

397 Commits

Author SHA1 Message Date
Sébastien Loriot 83d0f632e7 add missing assignment 2024-02-13 17:47:20 +01:00
Sébastien Loriot 1c6fdbd13d undo some changes from b241bc8594ada289b1ed1b3f239dfb5bdc0cee31 2024-02-13 17:39:00 +01:00
Sébastien Loriot 6fd4a023c5 use a wrapper for node data
tests are still failing...
2024-02-13 17:18:30 +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 7b5e2be0cf switching Property_container to multimap to allow properties that share the same name but have different types 2024-02-08 11:45:48 +01:00
Sven Oesau a5aba5bc2f removing Pair_optional_adaptor 2024-02-07 15:22:57 +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 eb24ac1c03 Update Orthtree/doc/Orthtree/PackageDescription.txt
Co-authored-by: Andreas Fabri <andreas.fabri@geometryfactory.com>
2024-02-02 18:14:33 +01:00
Sven Oesau b265ee90a8 fixing tests 2024-02-02 15:45:17 +01:00
Sven Oesau 6f8b3ef55c add surface mesh to doc dependencies 2024-02-02 15:08:47 +01:00
Sven Oesau 47bbc08d8e Revert "traversals are now templated by OrthtreeTraits"
This reverts commit 3c55548967.
2024-02-02 15:08:32 +01:00
Sven Oesau d9756dd971 added missing include
adding image to doc
2024-02-02 13:55:37 +01:00
Sven Oesau f78101222e fix for ci
doc for locate/split predicate
2024-02-02 13:03:16 +01:00
Sven Oesau 3f361a4eda fixes for ci 2024-02-02 12:35:31 +01:00
Sven Oesau 6e7587a863 fixing tests 2024-02-02 11:56:29 +01:00
Sven Oesau bd11275ad1 removing Get_geometric_object_for_element and adding Squared_distance_of_element to CollectionPartitioningOrthtreeTraits 2024-02-02 11:56:14 +01:00
Sven Oesau ad5807f5e6 doc locates behaviour 2024-02-02 11:12:36 +01:00
Sven Oesau 79eaf04bb8 doc split predicate with bucket_size needs Node_data with random access 2024-02-02 10:51:21 +01:00
Sven Oesau 73bf4edf44 moving definition of Node_index into traits 2024-02-02 10:30:51 +01:00
Sven Oesau da04410892 shortening doc of simple functions 2024-02-02 09:34:36 +01:00
Sven Oesau 3c55548967 traversals are now templated by OrthtreeTraits 2024-02-02 09:32:29 +01:00
Sven Oesau 834b405a09 adding surface mesh to examples 2024-02-01 16:05:08 +01:00
Sven Oesau 019be3fc3b some updates on documentation 2024-02-01 14:28:30 +01:00
Sven Oesau c8661d0fa8 renaming Orthtree_traits_base_for_dimension to Orthtree_traits_base
removing left-over Locate_halfspace
2024-02-01 09:46:06 +01:00
Sven Oesau 7bf9672226 spelling 2024-01-31 16:50:47 +01:00
Sven Oesau ecc30d8b0f removing Locate_halfspace 2024-01-31 16:22:40 +01:00
Andreas Fabri a9a37c1d0e Fix conversion warning 2024-01-31 07:47:43 +00:00
Sébastien Loriot 85dd768676 handle calls to barycenter for leaf nodes 2024-01-30 17:59:33 +01:00
Sébastien Loriot 3763febfa8 fix compilation issues 2024-01-30 17:36:41 +01:00
Sébastien Loriot ef1fc52278 clean up implementation and also use it in barycenter 2024-01-30 17:30:59 +01:00
Sébastien Loriot 434d3e95e4 draft for an implementation of bbox corner that are consistent between
nodes of different depths
2024-01-30 17:29:22 +01:00
Sven Oesau 2802d58326 removing Maybe_node_index 2024-01-30 17:14:37 +01:00
Sven Oesau 11f0a842de changing dimension and degree in orthtree(_traits) to int 2024-01-30 17:14:36 +01:00
Sven Oesau 546c0c842a small doc corrections 2024-01-30 17:14:36 +01:00
Sébastien Loriot ffb32d95a0 fix dependencies 2024-01-29 22:58:54 +01:00
Sébastien Loriot 88f01a5f1d get rid of EPECK
we compute sizes approximatively and sets bboxes using those value:
computation is always the same so values are the same if the
rounding mode is not changed. The only exception is for the max value
on the bbox of the root where the max is used instead of being computed
using precomputed extent sizes
2024-01-26 16:06:05 +01:00
Sébastien Loriot caad3b3cf0 pass on Orthtree class 2024-01-25 16:37:05 +01:00
Sébastien Loriot 57fbda8835 pass on the doc but the Orthtree class 2024-01-25 16:06:06 +01:00
Sébastien Loriot 787fb84dc6 pass on the user manual 2024-01-25 14:17:36 +01:00
Sébastien Loriot d515e42c39 fix doc warning 2024-01-25 13:46:55 +01:00
Andreas Fabri 585467ab36 As the bbox of nodes gets constructed from Epeck::FT we have to take the upper bounds of intervals 2024-01-25 10:39:47 +00:00
Andreas Fabri b5945b4219 Fix warning 2024-01-25 07:26:33 +00:00
Andreas Fabri 58d26ed40e Make parameter const& 2024-01-25 07:25:03 +00:00
Sébastien Loriot 95d8d8c48d clean up axis and commodity enum to work in both 2D and 3D 2024-01-24 18:40:43 +01:00
Sébastien Loriot 91b4a7a70c fix zip iterator
changed introduced in d43432d533
2024-01-24 16:58:46 +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
Sébastien Loriot d078a34e1f fix warnings 2024-01-24 11:47:11 +01:00
Andreas Fabri 33e09bf1a0 Switch back to the wrong coordinate system 2024-01-24 10:38:05 +00:00
Andreas Fabri 77d95097dd protect min/max 2024-01-24 10:05:46 +00:00
Andreas Fabri 33a58fab4e Do not output just the x-coord of the min of the bbox 2024-01-24 10:02:22 +00:00
Andreas Fabri f014326c00 Use Traits::Node_index 2024-01-24 09:49:10 +00:00
Andreas Fabri f650c6fe23 Add typedef to base class 2024-01-24 09:32:53 +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
Andreas Fabri f29e307684 Add Node_index to the traits concept 2024-01-24 09:02:06 +00:00
Sébastien Loriot 832389a5f7 property handles are returned by copy 2024-01-24 08:58:07 +01:00
Andreas Fabri cdea8cf8bb
Update Orthtree/include/CGAL/Orthtree_traits_face_graph.h 2024-01-18 12:39:46 +01:00
Andreas Fabri 552209ecd2 Add the operators in the concept 2024-01-16 16:21:20 +00:00
Andreas Fabri 95e06ddf15
Update Orthtree/include/CGAL/Orthtree_traits_face_graph.h 2024-01-16 17:00:00 +01:00
Sébastien Loriot 825029a311 improve doc 2024-01-15 12:27:06 +01:00
Sébastien Loriot 25d658f2fa doc the real type 2024-01-15 09:59:40 +01:00
Andreas Fabri fa8e09ecd0 backtick 2024-01-15 08:32:41 +00:00
Sébastien Loriot da9cec8359 update deps 2024-01-15 09:26:40 +01:00
Andreas Fabri f7eaa95099 Remove one group layer 2024-01-15 07:40:55 +00:00
Andreas Fabri 8097ba81bc PointSet -> PointRange 2024-01-14 21:31:03 +00:00
Andreas Fabri add12f51bf small fixes 2024-01-14 17:55:45 +00:00
Sven Oesau beea3f2fda fixing comment for Node_index_range
removing Node_range
[skip ci]
2024-01-12 19:01:03 +01:00
Sven Oesau 172044b128 removing old references 2024-01-12 18:43:37 +01:00
Sven Oesau d43432d533 adding locate_halfspace_object to traits
changed reference directions
removed unused traits
added traits for face graph
pass on documentation
2024-01-12 17:47:09 +01:00
Sven Oesau 64b232e9e4 deleted unused traits base classes 2024-01-12 16:42:10 +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
Sven Oesau 85e598772d pass on doc 2024-01-12 11:13:17 +01:00
Sven Oesau 626a23a49a fixed exact corners, multi dimension example
removed warnings
2024-01-10 16:35:15 +01:00
Sven Oesau d2754d3bfe update dependencies 2024-01-08 14:15:17 +01:00
Sven Oesau de06eb02ff fixing orthtree bbox coordinates
- also fixes efficient ransac tests
2024-01-02 20:57:51 +01:00
Sven Oesau 2c87155449 Merge remote-tracking branch 'orth/orthtree-generalization' into Kinetic_shape_reconstruction-new_package-soesau 2023-11-15 14:32:21 +01:00
Sven Oesau b2ac701711 dependencies update 2023-11-15 12:18:02 +01:00
Sven Oesau dceff13bea added missing header 2023-11-15 10:46:28 +01:00
Sven Oesau 8274313a74 fix ci
restored another é
2023-11-15 09:36:44 +01:00
Sven Oesau e94bc9baef ci fix
[skip ci]
2023-11-14 22:15:27 +01:00
Sven Oesau e48d8ba58a fix missing license header & doc 2023-11-14 14:53:37 +01:00
Sven Oesau 22f2b84c85 add missing header 2023-11-14 14:38:38 +01:00
Sven Oesau 2b254121fe merging LCC creation, point on face projection for reconstruction and fixed t-functions 2023-11-08 13:54:41 +01:00
Sven Oesau b26e22bca8 Merge remote-tracking branch 'remotes/orth/orthtree-generalization' into Kinetic_shape_reconstruction-new_package-soesau 2023-11-08 08:58:25 +01:00
Sven Oesau 6cdfbfea5d restored é 2023-11-07 16:44:53 +01:00
Sven Oesau 696fb83399 moving new property system into CGAL::Experimental namespace
fixing msvc compiling issues
2023-11-07 15:01:37 +01:00
Sven Oesau c8cc615f8b removing trailing whitespaces 2023-11-07 14:53:08 +01:00
Sven Oesau 5a27f38675 Merge remote-tracking branch 'orth/orthtree-generalization' into Kinetic_shape_reconstruction-new_package-soesau
# Conflicts:
#	Orthtree/include/CGAL/Orthtree.h
2023-10-10 09:44:42 +02:00
JacksonCampolattaro 1b5ebd3a07 Merge remote-tracking branch 'origin/orthtree-generalization' into orthtree-generalization 2023-10-08 15:05:55 +02:00
JacksonCampolattaro 047a223db0 Revert Surface_mesh to the old memory management scheme
The new property container system is still used. Beneficial changes to surface mesh and additions to unit tests are preserved.
2023-10-08 15:05:24 +02:00
Sven Oesau f797ae714f fix compilation on MSVC 2023-10-05 13:57:18 +02:00
Sven Oesau 06904b51e5 doc fix
[skip CI]
2023-10-02 10:11:59 +02:00
JacksonCampolattaro 047a9494bd Fix mismatched parameter names in documentation 2023-09-30 09:24:20 +02:00
JacksonCampolattaro 6f86c932c8 Update function documentation for consistency 2023-09-27 21:13:46 +02:00
JacksonCampolattaro ffeb2ae85e Remove reference to Node type in traversal concept 2023-09-24 17:45:58 +02:00
JacksonCampolattaro 674760974c Add a simple test for shared vertices 2023-09-24 17:10:27 +02:00
JacksonCampolattaro 4c6084159a Add boost::span to STL_Extension for compatibility with older versions of Boost 2023-09-24 14:25:47 +02:00
JacksonCampolattaro 332e4b2e30 Replace `typedef` with `using` for consistency 2023-09-24 14:02:02 +02:00
JacksonCampolattaro 38c35d83c7 Update orthtree documentation and manual 2023-09-24 13:56:01 +02:00
JacksonCampolattaro 759905b136 Merge remote-tracking branch 'origin/orthtree-generalization' into orthtree-generalization 2023-09-16 10:26:35 +02:00
JacksonCampolattaro 4681f17ca8 Fix a small issue with the Octree definition 2023-09-16 10:24:24 +02:00
Sébastien Loriot 33dce33e0b fix some doc issues 2023-09-14 09:58:04 +02:00
Sébastien Loriot da33014535 Merge remote-tracking branch 'cgal/master' 2023-09-14 09:07:00 +02:00
JacksonCampolattaro d169adb98b Update benchmarks to account for recent changes 2023-09-13 16:31:37 +02:00
JacksonCampolattaro c4e6ad77f7 Update documentation for Orthtree member functions. 2023-09-13 09:19:33 +02:00
JacksonCampolattaro ed32969908 Prefer `using` over `typedef` universally, for consistency 2023-09-08 12:42:20 +02:00
JacksonCampolattaro 3e20800b7f Update documentation for Traits concepts 2023-09-08 12:13:27 +02:00
JacksonCampolattaro ea59877c19 Automatically determine the correct typedefs for an ambient dimension using template specializations & SFINAE 2023-09-07 17:19:04 +02:00
JacksonCampolattaro 750ca578a8 Combine 2d, 3d, and d-d points traits into one template 2023-09-07 13:25:35 +02:00
JacksonCampolattaro 32c6d61f27 Eliminate Array and Construct_point_d_from_array 2023-09-07 11:44:14 +02:00
JacksonCampolattaro bf5bbcc0f1 Add `construct_point_d_object` to traits classes
Not yet documented by the OrthtreeTraits concept. Will replace construct_point_d_from_array.
2023-09-06 14:23:47 +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 51aae3a6a8 Bbox construction functor is no longer necessary; Bbox_d type must be constructible from a pair of points 2023-09-02 15:19:07 +02:00
JacksonCampolattaro 99a2d5612f Replace bbox with Iso_rectangle/_cuboid/_box 2023-09-02 15:09:16 +02:00
JacksonCampolattaro 1566750766 Switch license to GPL 2023-09-01 17:45:09 +02:00
JacksonCampolattaro d0fa6ed68b Add missing license header 2023-09-01 17:19:29 +02:00
JacksonCampolattaro 40b2c0dff0 Convert nearest neighbor methods to free functions 2023-09-01 17:16:54 +02:00
JacksonCampolattaro b7a8571077 Update empty quadtree to use functors 2023-09-01 16:50:31 +02:00
JacksonCampolattaro e9ca3cc561 Update face graph traits to use functors 2023-09-01 16:43:26 +02:00
JacksonCampolattaro 599a10cf0e Merge remote-tracking branch 'origin/orthtree-generalization' into orthtree-generalization 2023-09-01 16:17:06 +02:00
JacksonCampolattaro 59fafe8e3a Fix issues with superfluous Node typedefs 2023-09-01 16:16:30 +02:00
Sébastien Loriot 40a08f1416 add missing license include 2023-09-01 14:52:26 +02:00
Sébastien Loriot 28dc304676 Merge branch 'cgal/master' 2023-09-01 13:03:05 +02:00
JacksonCampolattaro 77f240b1b6 Delete Orthtree::Node class, now used nowhere 2023-08-31 12:48:52 +02:00
JacksonCampolattaro 2d8f7d483d Rename Properties.h for clarity 2023-08-30 15:32:38 +02:00
JacksonCampolattaro 07c671e6e9 Convert methods to functor objects for consistency (proof-of-concept) 2023-08-29 19:13:11 +02:00
JacksonCampolattaro b950c6c494 Add base traits classes with common typedefs for convenience 2023-07-27 13:52:10 +02:00
JacksonCampolattaro 282180d627 Add an example which builds a tree that doesn't contain anything 2023-07-27 12:15:51 +02:00
JacksonCampolattaro 6f31cbddd6 Point traits now share the generic reassign_points method 2023-07-27 10:13:49 +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 4998f7bc57 Adapt remaining examples to use the generalized orthtree 2023-07-26 13:48:36 +02:00
JacksonCampolattaro 7027d5b469 Adapt several examples to use the new interface 2023-07-26 10:48:04 +02:00
JacksonCampolattaro 61a29f0fdb Fix an issue where side-per-depth wasn't updated when a node was manually split 2023-07-26 09:57:44 +02:00
albert-github ad41766454 issue #7395 Improvement of layout of model relations
Corrected `cgalModels` to `cgalHasModes` inside `cgalHasNodelsBegin` / `cgalHasModelsEnd`
2023-07-18 13:23:37 +02:00
JacksonCampolattaro cfdb167e35 Fix a couple of small issues which came up during LCC conversion 2023-07-18 10:35:48 +02:00
albert-github 4e5578d469 issue #7395 Improvement of layout of model relations
- based on review
2023-07-15 13:12:15 +02:00
albert-github a0320dd7b4 Merge branch 'master' into feature/issue_7395
# Conflicts:
#	Polyhedron/doc/Polyhedron/Concepts/PolyhedronItems_3.h
2023-07-13 10:33:18 +02:00
Sébastien Loriot 533f08855b fix dump 2023-07-10 09:22:46 +02:00
JacksonCampolattaro dccda38424 Reference type of traversal iterator is a Node_index (and not a reference to one)
This resolves the issue with segfaults during traversal. In some circumstances, the index would go out of scope before being used for access.
2023-07-09 17:51:50 +02:00
JacksonCampolattaro 03cda70191 Replace boost::optional with std::optional 2023-07-09 17:49:12 +02:00
albert-github 301728a8a9 issue #7395 Improvement of layout of model relations
- Completed the cgalModels part
2023-07-09 12:43:36 +02:00
albert-github ee2a55279d issue #7395 Improvement of layout of model relations
- Completed the cgalHasModel part
- corrected spelling of `Has Model` and `Is Model Of` to `Has model` and `Is model of`
2023-07-06 17:35:34 +02:00