Commit Graph

167 Commits

Author SHA1 Message Date
Jackson Campolattaro c48ca1d97f Add Bbox construction from node 2020-07-15 10:49:09 -04:00
Jackson Campolattaro e8ad665b0c Add do_intersect invocation 2020-07-15 10:31:48 -04:00
Jackson Campolattaro 244bf6e30a Add Sphere typedef 2020-07-15 10:26:27 -04:00
Jackson Campolattaro d5c1770024 Outline intersection method between nodes and spheres 2020-07-15 10:13:56 -04:00
Jackson Campolattaro 76a59e5996 Remove un-simplified algorithm, rename simple version 2020-07-14 21:44:13 -04:00
Jackson Campolattaro e9b9c1df3d Make the simplified algorithm functional, but slower than the brute force solution 2020-07-14 21:42:42 -04:00
Jackson Campolattaro 1ee73d70a9 Flesh out the algorithm's outline 2020-07-14 18:34:24 -04:00
Jackson Campolattaro 0d4923bbd0 Flesh out the algorithm's outline 2020-07-14 18:32:55 -04:00
Jackson Campolattaro 5da23c2698 Fix iteration over node children 2020-07-14 17:27:09 -04:00
Jackson Campolattaro 4b0cd66a10 Add largest_distance arg to simplified recursive algorithm 2020-07-14 16:15:59 -04:00
Jackson Campolattaro b93bff7107 Add Node argument to simple recursive algorithm 2020-07-14 16:13:35 -04:00
Jackson Campolattaro 704ff6f381 Implement nearest neighbours recursive caller method 2020-07-14 15:14:47 -04:00
Jackson Campolattaro 7a1f10f7d0 Begin defining a simplified nearest neighbours algorithm 2020-07-14 15:01:57 -04:00
Jackson Campolattaro 5c7316c5a5 Recursive nearest neighbours now sorts its node queue 2020-07-14 11:30:56 -04:00
Jackson Campolattaro 05f26aff6b Add recursive invocation 2020-07-13 16:01:52 -04:00
Jackson Campolattaro fcf9ed91ee Begin outlining recursive nearest neighbour search 2020-07-13 15:30:59 -04:00
Jackson Campolattaro 1c23d1572e Determine function signature for recursive neighbours method 2020-07-13 14:23:43 -04:00
Jackson Campolattaro ab6ecb6bbb Add nearest_k_neighbours_recursive private method stub 2020-07-13 14:02:27 -04:00
Jackson Campolattaro c3c299d588 Nearest_k_neighbours is now const 2020-07-13 13:00:10 -04:00
Jackson Campolattaro 736bcb04fb Add placeholder nearest_k_neighbours with testing 2020-07-13 10:55:32 -04:00
Jackson Campolattaro 86c627b1da Add a short description of the locate method 2020-07-10 12:25:28 -04:00
Jackson Campolattaro 7be1861444 Implement and test locate() 2020-07-09 23:37:32 -04:00
Jackson Campolattaro ea20663f13 Add placeholder doxygen comment for locate() 2020-07-09 13:15:27 -04:00
Jackson Campolattaro 06815b9b7c Add outline of locate() implementation 2020-07-09 13:14:37 -04:00
Jackson Campolattaro 5cb4e73f40 Add simple locate test for a tree that only has a root node 2020-07-09 12:50:38 -04:00
Jackson Campolattaro e730c72814 Add locate method stub 2020-07-09 11:02:35 -04:00
Jackson Campolattaro 3ed346f489 Remove redundant `nodes` method 2020-07-09 10:47:40 -04:00
Jackson Campolattaro 167b5e20bc Replace invocations of `nodes` method with new `walk` method 2020-07-09 10:43:19 -04:00
Jackson Campolattaro 25101d4309 Remove second boost bind header 2020-07-09 10:06:42 -04:00
Jackson Campolattaro 2b31cd4f68 Remove boost bind header 2020-07-09 10:06:21 -04:00
Simon Giraudot 909bbbfe6a Fix walker + some corrections 2020-07-09 09:47:40 +02:00
Jackson Campolattaro 6d9c83b760 Fix namespace indentation 2020-07-08 13:52:53 -04:00
Jackson Campolattaro af2c28e40c Add demonstration of walker failure 2020-07-08 13:23:29 -04:00
Jackson Campolattaro 9e3b251ce9 Attempt several tree walker solutions 2020-07-07 12:40:24 -04:00
Jackson Campolattaro 21dfe23fc2 Begin outlining a new potential solution for working with walker methods 2020-07-03 16:35:58 -04:00
Jackson Campolattaro 1f3aaaac9f Add empty documentation to Points_iterator_range typedef 2020-07-02 23:42:36 -04:00
Jackson Campolattaro 45e198524e Deprecate old Node class 2020-07-02 22:35:25 -04:00
Jackson Campolattaro 63dfd5851b Switch octree to use new node class 2020-07-02 18:48:17 -04:00
Jackson Campolattaro f412ec61c3 Make some Octree_node typedefs private 2020-07-01 16:26:31 -04:00
Jackson Campolattaro 38952a1c2e Make several typedefs private 2020-07-01 15:06:58 -04:00
Jackson Campolattaro e4d7eea511 Add more typedefs for cleaner function signatures 2020-07-01 14:57:21 -04:00
Jackson Campolattaro 512e97872b Add Node_range typedef 2020-07-01 14:37:17 -04:00
Jackson Campolattaro e195c5e52d Add short documentation to typedefs 2020-07-01 14:06:01 -04:00
Jackson Campolattaro b60f4217ac Remove const_iterator from Octree 2020-07-01 13:38:50 -04:00
Jackson Campolattaro 7f48b60189 Switch to Walker_iterator in Octree range method 2020-07-01 13:37:17 -04:00
Jackson Campolattaro f383936993 Begin defining a Walker_iterator class which isn't a member of Octree 2020-07-01 13:21:50 -04:00
Jackson Campolattaro 2d1f95f2ef Add doxygen description of octree class 2020-07-01 12:48:50 -04:00
Jackson Campolattaro 0dc7c3153e Add empty doxygen comments to Octree_node.h 2020-06-30 23:33:54 -04:00
Jackson Campolattaro 1cb3ccdf4e Restore Vector typedef 2020-06-30 19:37:27 -04:00
Jackson Campolattaro 4bb10a7dbb Remove unused vector typedef 2020-06-30 19:27:00 -04:00
Jackson Campolattaro b1e44106b8 Add placeholder documentation to octree code 2020-06-30 19:26:16 -04:00
Jackson Campolattaro a1d621fbcc Add placeholder text to manual 2020-06-30 18:40:19 -04:00
Jackson Campolattaro 34eb17e911 Begin setting up doxygen generation 2020-06-30 17:18:08 -04:00
Jackson Campolattaro 2e02daf30e Use const ref to generate nodes iterator 2020-06-30 12:29:13 -04:00
Jackson Campolattaro ef3ad5fc46 Use const ref to split criterion function 2020-06-30 12:26:12 -04:00
Jackson Campolattaro 87a3b5c65a Use const ref to function pointer as member of node iterator 2020-06-30 12:25:00 -04:00
Jackson Campolattaro 9bb2af63db Use const ref to function pointer for node iterator 2020-06-30 12:24:13 -04:00
Jackson Campolattaro bb414da117 Add octree namespace 2020-06-30 11:06:54 -04:00
Jackson Campolattaro 606322a0b8 Mark node range builder const 2020-06-29 18:02:59 -04:00
Jackson Campolattaro 31f1812013 Nodes range generator is now parametric for different traversals 2020-06-29 17:58:02 -04:00
Jackson Campolattaro 6ffb281ada Refine node printing method 2020-06-29 17:40:12 -04:00
Jackson Campolattaro 6f4de6bd50 Begin testing iterator-based tree traversal 2020-06-29 16:49:39 -04:00
Jackson Campolattaro 8a63704699 Add boost iterator over nodes as member class of octree 2020-06-29 12:31:56 -04:00
Jackson Campolattaro 1c67675309 Clarify naming of node point iterator accessors 2020-06-26 17:07:07 -04:00
Jackson Campolattaro 60eba4415d Tree walking is now done with const nodes, octree stream operator is based on it 2020-06-26 12:00:11 -04:00
Jackson Campolattaro d054b07f37 Rename depth_first to preorder 2020-06-25 09:53:17 -04:00
Jackson Campolattaro 5839fd3cf6 Split tree walker testing into its own file 2020-06-25 09:05:45 -04:00
Jackson Campolattaro c32fb24efb Begin implementing depth first traversal 2020-06-25 00:10:44 -04:00
Jackson Campolattaro 0ae7a4f07a Add print method which takes a tree walker as an argument 2020-06-24 21:39:25 -04:00
Jackson Campolattaro 719afe8a35 Add 'Siblings' tree walker method 2020-06-24 21:01:44 -04:00
Jackson Campolattaro 9315feea2b Switch to std::max when finding the longest side of the bounding box in the constructor 2020-06-24 15:20:47 -04:00
Jackson Campolattaro 35e3ce8097 Remove non-recursive split solution 2020-06-24 14:53:57 -04:00
Jackson Campolattaro 88d82d9728 Add default arguments to recursive split 2020-06-24 14:52:04 -04:00
Jackson Campolattaro 4532d40b83 Rearrange recursive split arguments 2020-06-24 14:44:36 -04:00
Jackson Campolattaro 76b62fdfe0 Implement recursive split method 2020-06-24 14:27:17 -04:00
Jackson Campolattaro 918f878ad3 Begin defining a recursive split method 2020-06-24 13:23:31 -04:00
Jackson Campolattaro 8a459b2e61 Add a couple of Tree walker algorithms with code outlines 2020-06-24 13:04:42 -04:00
Jackson Campolattaro a4df98a212 Remove naive partitioning algorithm 2020-06-22 23:05:32 -04:00
Jackson Campolattaro 312dd581b7 Benchmark naive algorithm 2020-06-22 23:04:48 -04:00
Jackson Campolattaro 4954286977 Add naive partitioning algorithm for comparison. 2020-06-22 22:54:09 -04:00
Jackson Campolattaro 883f1bf1e9 Kernel is now deduced from other template parameters 2020-06-22 12:22:55 -04:00
Jackson Campolattaro cdd3ad38ff Replace stop criterion with split criterion 2020-06-20 19:51:16 -04:00
Jackson Campolattaro ed1395d63b Change stop criterion to accept node references 2020-06-20 12:22:00 -04:00
Jackson Campolattaro a46b3068f0 Stop criterion now provided in Stop_criterion.h 2020-06-20 12:01:06 -04:00
Jackson Campolattaro 3425f7a216 Add refinement method which takes a stop criterion 2020-06-19 22:58:03 -04:00
Jackson Campolattaro 7997b878c3 Remove recursive refinement method 2020-06-19 21:12:28 -04:00
Jackson Campolattaro baa1fd0f28 Add sequential refinement method 2020-06-19 21:08:37 -04:00
Jackson Campolattaro 99d2e678ff Add criterion.h, where tree building oracle functors will be added 2020-06-19 14:39:09 -04:00
Jackson Campolattaro f7771125a7 Make point iterators contained by nodes private 2020-06-19 11:41:15 -04:00
Jackson Campolattaro 8dfc913049 Remove member variables used by old refinement method 2020-06-18 18:56:37 -04:00
Jackson Campolattaro 88db1e6100 Remove underscores from new refinement functions. 2020-06-18 18:50:59 -04:00
Jackson Campolattaro 02e65fb738 Remove old refinement methods 2020-06-18 18:47:26 -04:00
Jackson Campolattaro 555d42d938 Add benchmark results 2020-06-18 17:30:36 -04:00
Jackson Campolattaro e8eae80bd8 New refinement method produces identical trees to original 2020-06-18 15:57:47 -04:00
Jackson Campolattaro 2dc052784c New refinement method can now produce trees, but doesn't account for points near edges 2020-06-18 14:57:01 -04:00
Jackson Campolattaro d8659c6131 Add new versions of important methods, preceded by underscores 2020-06-18 14:48:26 -04:00
Jackson Campolattaro ec2f269cb3 Add rudimentary function for partitioning the points of a node among its children 2020-06-18 12:30:59 -04:00
Jackson Campolattaro 5e2498dc60 Change root accessor to return a reference 2020-06-17 15:38:39 -04:00
Jackson Campolattaro 73c0db153c Remove child() accessor, prefer references over pointers 2020-06-17 15:18:40 -04:00
Jackson Campolattaro d58bb2731a Begin implementing Node equality operator 2020-06-17 15:06:33 -04:00