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
Sébastien Loriot
02e10bf85a
add TODO
2023-07-06 09:24:44 +02:00
albert-github
b3af96caa1
issue #7454 Consistency of BigO notations
...
Create `cgalBigO` marco and used it.
(`The macro `cgalBigOLarge` is for special situations where we need bigger round brackets)
2023-07-04 16:23:14 +02:00
Sébastien Loriot
4e1dabe0c0
version version of traits for triangle meshes
...
example currently segfault, to be debugged...
2023-07-03 17:16:10 +02:00
JacksonCampolattaro
6e1aa892fe
Add documentation for new features of the OrthtreeTraits concept
2023-06-27 14:58:48 +02:00
JacksonCampolattaro
dc18e1b1db
Replace `tree.points(node)` with `tree.data(node)`
2023-06-27 14:58:13 +02:00
JacksonCampolattaro
22e76aac65
Adapt 2D & dD traits for the new system
...
There's a lot of duplicated code in the traits classes, at the very least `reassign_points` should be shared.
2023-06-26 18:07:17 +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
08b418bda2
Ensure properties of a moved-from tree are also moved-from
2023-06-22 14:11:30 +02:00
JacksonCampolattaro
ed9266e70f
Add parallel node system using properties
...
bug: moved-from is not reset
2023-06-22 10:23:29 +02:00
JacksonCampolattaro
d1ac73d087
Use index-based access for split predicates
2023-06-21 17:34:26 +02:00
JacksonCampolattaro
b09e4d0fa6
Add a property container with all aspects of the nodes (currently unused)
2023-06-21 16:39:17 +02:00
JacksonCampolattaro
9a52cf7026
Add a "Maybe" type hiding the boost::optional implementation detail
2023-04-25 16:07:00 +02:00
JacksonCampolattaro
f2467dea77
Remove unused Node methods
2023-04-25 16:00:24 +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
33358ae838
Only access node properties through helpers
...
This will make later refactoring to use property maps much simpler
2023-04-25 12:15:46 +02:00
JacksonCampolattaro
0707300f99
reassign_points() implemented in terms of indices
2023-04-25 11:32:11 +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
b267403b95
Recursive intersection now uses indices
2023-04-24 13:38:05 +02:00
JacksonCampolattaro
c0a8bbf2c9
Topology equality is done by index
2023-04-20 11:57:35 +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
62fa9db7a6
Preorder traversal is now implemented in terms of indices
2023-04-19 10:42:48 +02:00
JacksonCampolattaro
07968655f6
Add support for traversal by index
2023-04-18 14:45:00 +02:00
JacksonCampolattaro
8c12fd3bc7
Implement desired behavior for repeated refinement
2023-04-12 12:10:53 +02:00
JacksonCampolattaro
4e3fc7edf6
Add shims for using functions with indices
2023-04-12 11:17:57 +02:00
JacksonCampolattaro
9103affe72
Splitting is done by index (internally)
...
Pre-allocating nodes is no longer necessary, since refine() isn't broken by pointer invalidation
2023-04-11 17:52:52 +02:00
JacksonCampolattaro
a5a92ad795
Traversal is now done by index (internally)
2023-04-11 12:17:32 +02:00
JacksonCampolattaro
1a1ca5cf28
Node access is now done solely by index
...
Nodes no longer hold references to their parents and children
2023-03-31 15:58:42 +02:00
JacksonCampolattaro
14726a1e41
Add functions to get node indices & retrieve nodes by index
2023-03-29 22:46:52 +02:00
JacksonCampolattaro
6dec072b00
Node parent access is now done through the tree
2023-03-29 16:38:45 +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
353acb57ed
Nodes are allocated in an std::vector, and contain a boost::span of children
...
This reference-based approach breaks when the vector re-allocates. This is a stepping-stone to using indices.
2023-03-27 12:20:57 +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
Laurent Rineau
5a20fd8567
Merge pull request #7238 from albert-github/feature/bug_author_consistency
...
Making description of author(s) of a package consistent
2023-02-24 16:14:43 +01:00
albert-github
57e900b47c
Making description of author(s) of a package consistent
...
- use `\cgalPckAuthor` in case of one author
- use of `\cgalPckAuthors` in case of multiple authors
- using in case of multiple authors always `, and `
- in the 1.9.6 `BaseDoxyfile.in` let the `\cgalPckAuthors` point to `\cgalPckAuthor` to get consistent output (not done for other versions as in the past the `ALIASES` could not call one another).
2023-02-02 18:40:44 +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
6538b22e06
Merge branch 'master' into CGAL-Clean_CMakeLists.txt-GF
2022-12-05 16:03:41 +01:00
albert-github
01a7852f70
Merge branch 'master' into feature/bug_documentation_spell_20221113
...
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
Synchronize with master
2022-11-16 13:58:05 +01:00
albert-github
eed54a0ae5
spelling corrections
...
Some spelling corrections (Directories starting with `O`-`S` , first part),
some backward work
some forward work
2022-11-15 18:45:39 +01:00
Laurent Rineau
c01757bc80
Merge pull request #7028 from afabri/Orthtree-CC-GF
...
Orthtree: Fix memory leak
2022-11-15 17:01:29 +01:00
Laurent Rineau
e3b3774ddb
Merge pull request #7028 from afabri/Orthtree-CC-GF
...
Orthtree: Fix memory leak
2022-11-15 17:00:48 +01:00
albert-github
45478184de
spelling corrections
...
Some spelling corrections (Directories starting with `E`-` L`),
some backward work
some forward work
2022-11-15 13:39:40 +01:00
Andreas Fabri
331ea2898a
Orthtree: Fix memory leak
2022-11-09 08:47:54 +00:00
Andreas Fabri
d1eca8310f
typo
2022-11-09 08:47:37 +00:00
Mael Rouxel-Labbé
6f187f332c
Misc minor fixes/improvements
2022-09-14 14:08:23 +02: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
efddc4ae84
Orthtree: Fix in test code
2022-06-30 15:57:21 +01: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
Sebastien Loriot
1e9984633d
Merge pull request #6591 from afabri/Poisson-doxygen-GF
...
Fix doxygen warnings
2022-05-26 18:10:39 +02:00
Sébastien Loriot
ff16bec071
clean up EXAMPLE_PATH
2022-05-23 16:52:17 +02:00
Andreas Fabri
191e99adc8
Fix Orthtree
2022-05-17 10:41:26 +01:00
Laurent Rineau
734c96e951
Merge branch 'master' into pr/lrineau/6558
2022-05-06 16:25:32 +02:00
Laurent Rineau
2288225448
Massive update of CMake policies to version 3.23
2022-05-06 09:34:35 +02:00
Sébastien Loriot
57722d189d
do not set cxx standard in the final target cmake script
2022-05-04 10:37:02 +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
Sébastien Loriot
47028cd184
automatically move data files in data dir + update paths
...
Done for OFF/OBJ/STL/XYZ/PWN/PLY
2021-10-04 09:42:49 +02:00
Sébastien Loriot
0da1e5690e
copyright.txt -> copyright
2021-07-29 10:07:44 +02:00
Simon Giraudot
a61ef7a721
Fix history of Orthtree
2021-04-27 10:03:29 +02:00
Simon Giraudot
8f8679e038
Fix uninitialized pointer
2021-04-13 09:42:15 +02:00
Simon Giraudot
24aa93dcaf
Use raw pointers instead of shared pointers (and let Orthtree manage memory)
2021-04-07 14:26:50 +02:00
Simon Giraudot
4d761ed9cd
More corrections from review
2021-04-01 14:21:01 +02:00
Simon Giraudot
616cd5a549
Apply corrections from review
2021-04-01 08:55:51 +02:00
Simon Giraudot
692c7a6f90
Remove unused parameter
2021-03-23 11:44:50 +01:00
Simon Giraudot
9724bed342
Prevent min/max macro substitution on windows
2021-03-22 08:24:44 +01:00
Simon Giraudot
9c90703f07
Fix unused parameters
2021-03-18 08:27:45 +01:00
Sébastien Loriot
86427877b7
fix warnings
2021-03-17 16:03:02 +01:00
Simon Giraudot
0da0b71980
Fix missing typename
2021-03-17 15:45:43 +01:00
Simon Giraudot
2fa19c2818
Fix more warnings
2021-03-17 08:12:53 +01:00
Simon Giraudot
701f230f24
Fix warning (unsigned is always >= 0)
2021-03-16 12:14:45 +01:00
Simon Giraudot
a14dfc4e96
Fix bbox init for EPECK compatibility
2021-03-16 12:01:27 +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
349717097f
Fix doc warnings
2021-03-11 10:21:07 +01:00
Simon Giraudot
ea17a54671
Fix max() Windows error
2021-03-11 08:32:30 +01:00
Simon Giraudot
b22bd4e498
Update dependencies
2021-03-08 11:11:36 +01:00
Simon Giraudot
57af406402
Fix multiple inclusion guard
2021-03-04 15:55:14 +01:00
Simon Giraudot
67c1f3fad1
Add missing includes
2021-03-04 15:12:23 +01:00
Simon Giraudot
0b1d696c97
Add Orthtree.h include so that Node.h compiles
2021-03-04 08:29:24 +01:00
Simon Giraudot
e95dea12cd
Fix missing include
2021-03-03 15:00:49 +01:00
Simon Giraudot
1028cf02f9
Fix doc + add figure for traversal comparisons
2021-02-03 08:26:44 +01:00
Simon Giraudot
0f40608714
Make node comparable
2021-02-03 08:26:25 +01:00
Simon Giraudot
c15327a901
Add level traversal
2021-02-03 08:26:03 +01:00
Simon Giraudot
5aeb07d654
Minor fixes
2021-02-02 08:27:44 +01:00
Simon Giraudot
96d7c72ffa
Add kernel test
2021-02-02 08:27:21 +01:00
Simon Giraudot
8d30b39b73
More fixes from review
2021-02-02 08:17:54 +01:00
Simon Giraudot
1db1829b91
Insist on the points not being copied
2021-01-27 10:36:57 +01:00
Simon Giraudot
a0c24379ce
Fixes from review
2021-01-27 09:31:55 +01:00
Simon Giraudot
83b191cb08
Minor text corrections
2021-01-25 14:16:24 +01:00
Simon Giraudot
42a3e182a9
Minor fix of template names
2021-01-21 11:12:27 +01:00
Simon Giraudot
1e02106dd1
Improve documentation of traversals / split predicates
2021-01-21 09:54:46 +01:00
Simon Giraudot
224766a605
Fix concept and models
2021-01-21 09:31:58 +01:00
Simon Giraudot
628b973aec
Several minor corrections
2021-01-20 14:14: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
e8e3cbda72
Improve documentation of operator[]
2021-01-20 09:41:35 +01:00
Simon Giraudot
011eb7e83d
Change namespaces and fix doc
2021-01-20 09:22:36 +01:00
Simon Giraudot
e91fbd8c3c
Fix diagram in doc
2021-01-20 09:14:55 +01:00
Simon Giraudot
a0b9b46859
Fix ref manual
2021-01-19 15:51:58 +01:00
Simon Giraudot
d778018cda
Remove wrong ref to demo and add licence to package description
2021-01-19 15:34:31 +01:00
Simon Giraudot
4e6932cbe9
Fix filenames
2021-01-19 13:50:35 +01:00
Simon Giraudot
74b574ee90
Fix example lowercase filenames
2021-01-19 13:40:42 +01:00
Simon Giraudot
6967f900f1
Change traversal concept name
2021-01-19 13:35:53 +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
2cb6f51cd0
Minor corrections
2021-01-19 10:08:59 +01:00
Simon Giraudot
d8d47458ca
Better brief description of Orthtree
2021-01-19 09:26:10 +01:00
Simon Giraudot
327cb7e21c
Reorganize examples + precision about refine()
2021-01-19 09:22:46 +01:00
Simon Giraudot
9a77173ab9
Clarify predicate names
2021-01-19 09:17:40 +01:00
Simon Giraudot
71a99270df
Fix concept
2021-01-19 08:41:40 +01:00
Simon Giraudot
b39df0e9ee
WIP: corrections from review
2021-01-19 08:13:30 +01:00
Jackson Campolattaro
b0bfa4c0b4
Incorporate benchmark results into the Orthtree manual, with some commentary
2021-01-18 22:05:30 -05:00
Jackson Campolattaro
8a7544df7f
Set appropriate units and generate construction benchmark plot
2021-01-18 13:11:05 -05:00
Jackson Campolattaro
375cdf71ae
Add averaging to nearest neighbor benchmark to produce smoother plots
2021-01-18 12:16:30 -05:00
Jackson Campolattaro
31e669cece
Add naive comparison to the nearest neighbor benchmark
2020-11-04 22:24:27 -05:00
Jackson Campolattaro
514f937278
Add comparison with kdtree for nearest neighbor
2020-11-03 18:29:29 -05:00
Jackson Campolattaro
b1571bfa45
Update construction benchmark to make a comparison with the kDTree
2020-11-03 14:38:52 -05:00
Jackson Campolattaro
26877cdbc6
Create a helper function for benchmarking
2020-11-03 13:38:54 -05:00
Jackson Campolattaro
325c4b7191
Add gnuplot script for plotting benchmark results
2020-11-03 13:23:36 -05:00
Jackson Campolattaro
a62f868d9c
Update existing benchmarks to use new syntax
2020-11-03 12:45:20 -05:00
Simon Giraudot
74b26e1bf2
Fix tests
2020-10-27 13:35:36 +01:00
Simon Giraudot
aba3a1e4f2
Cleaning
2020-10-27 10:30:25 +01:00
Simon Giraudot
83b8a0dc71
Custom traversal example
2020-10-27 10:24:30 +01:00
Simon Giraudot
65ee28d33c
Update user manual
2020-10-27 10:18:44 +01:00
Simon Giraudot
0fcb4cb2ef
Finish reference manual
2020-10-27 09:04:13 +01:00
Simon Giraudot
0747b09e23
Make node trivially copiable and simplify APIs
2020-10-26 15:56:42 +01:00
Simon Giraudot
398fbb989c
WIP: big pass on doc
2020-10-26 13:59:24 +01:00
Simon Giraudot
feb8a21e3a
WIP: Orthtree/quadtree/octree doc
2020-10-22 15:57:07 +02:00
Simon Giraudot
68e5c3c481
Make Orthtree work in dim>3
2020-10-22 15:01:34 +02:00
Simon Giraudot
066712c881
Use Orthtree everywhere + define Octree/Quadtree aliases
2020-10-22 13:00:34 +02:00