|
Peano
|
#include <spacetree.h>


Public Types | |
| using | Base = LinkedGrid<_Geometry, SPLIT_FACTOR, Spacetree> |
| using | Geo = _Geometry |
| using | Item = _Item |
| using | TaskBackend = _TaskBackend |
| using | IterOrder = IterationOrderSelector<Spacetree>::type |
| using | LeafsIterator = LeafsIterator<Spacetree, IterOrder> |
| using | BoundaryLeafsIterator = BoundaryLeafsIterator<Spacetree, IterOrder> |
| using | InsideRegionLeafsIterator = InsideRegionLeafsIterator<Spacetree, IterOrder> |
| using | OutsideRegionLeafsIterator = OutsideRegionLeafsIterator<Spacetree, IterOrder> |
| template<int LEVEL = 4> | |
| using | LeafOrLevelIterator = LeafOrLevelIterator<Spacetree, LEVEL, IterOrder> |
| template<int LEVEL = 4> | |
| using | BottomUpLeafOrLevelIterator = BottomUpLeafOrLevelIterator<Spacetree, LEVEL, IterOrder> |
| Public Types inherited from LinkedGrid< _Geometry, 2, Spacetree< _Geometry, _Item, 64, 2, ThreadPoolTaskBackend > > | |
| using | Geo |
Public Member Functions | |
| Spacetree (Geo::Region range) | |
| Spacetree ()=default | |
| Spacetree (Geo::Region range, Spacetree *parent, Geo::RowMajorIdx idx, int level) | |
| Spacetree (Spacetree &&other) noexcept | |
| Spacetree & | operator= (Spacetree &&other) noexcept |
| Spacetree * | findLeaf (const Geo::Point &p) |
| Spacetree * | findChildNode (const Geo::Region ®ion) |
| Spacetree * | insert (Item item) |
| void | pushItem (Item p) |
| void | splitIntoSubtrees () |
| Spacetree * | getRegionParent (const Geo::Region &range, bool refined=false) |
| template<StatelessOnNodeCallback< Spacetree > Callback, typename Iter = LeafsIterator> | |
| void | onNode (Callback F, u32 numThreads=0) |
| template<StatelessOnNodeCallback< Spacetree > Callback, typename Iter> | |
| void | onNode (Callback F, Iter iter, u32 numThreads=0) |
| template<typename StateInitF, StatefulOnNodeCallback< Spacetree, std::invoke_result_t< StateInitF > > Callback, typename Iter = LeafsIterator> | |
| auto | onNode (Callback F, StateInitF stateInitF, u32 numThreads=0) |
| template<typename StateInitF, StatefulOnNodeCallback< Spacetree, std::invoke_result_t< StateInitF > > Callback, typename Iter> | |
| auto | onNode (Callback F, StateInitF stateInitF, Iter iter, u32 numThreads=0) |
| void | destroySubtrees () |
| void | clear () |
| ~Spacetree () | |
| Public Member Functions inherited from LinkedGrid< _Geometry, 2, Spacetree< _Geometry, _Item, 64, 2, ThreadPoolTaskBackend > > | |
| LinkedGrid ()=default | |
| LinkedGrid & | operator= (LinkedGrid &&other) noexcept |
| void | split (u32 splitLevel=1) |
| Spacetree< _Geometry, _Item, 64, 2, ThreadPoolTaskBackend > * | getRoot () |
| Spacetree< _Geometry, _Item, 64, 2, ThreadPoolTaskBackend > * | getChild (const Geo::Point &p) |
| u32 | getSiblingIdx () const |
| Spacetree< _Geometry, _Item, 64, 2, ThreadPoolTaskBackend > * | getNextSibling () |
Static Public Member Functions | |
| static constexpr u32 | getMaxChildren () |
| Static Public Member Functions inherited from LinkedGrid< _Geometry, 2, Spacetree< _Geometry, _Item, 64, 2, ThreadPoolTaskBackend > > | |
| static constexpr u32 | getMaxChildren () |
Data Fields | |
| Vector< Item > | items |
| Data Fields inherited from LinkedGrid< _Geometry, 2, Spacetree< _Geometry, _Item, 64, 2, ThreadPoolTaskBackend > > | |
| Spacetree< _Geometry, _Item, 64, 2, ThreadPoolTaskBackend > * | parent |
| Spacetree< _Geometry, _Item, 64, 2, ThreadPoolTaskBackend > * | subtrees |
| Geo::Region | range |
| Geo::RowMajorIdx | idx |
| unsigned int | level |
Static Public Attributes | |
| static constexpr int | CAPACITY = THRESHOLD |
| Static Public Attributes inherited from LinkedGrid< _Geometry, 2, Spacetree< _Geometry, _Item, 64, 2, ThreadPoolTaskBackend > > | |
| static constexpr u32 | SplitFactor |
Definition at line 52 of file spacetree.h.
| using Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::Base = LinkedGrid<_Geometry, SPLIT_FACTOR, Spacetree> |
Definition at line 53 of file spacetree.h.
| using Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::BottomUpLeafOrLevelIterator = BottomUpLeafOrLevelIterator<Spacetree, LEVEL, IterOrder> |
Definition at line 72 of file spacetree.h.
| using Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::BoundaryLeafsIterator = BoundaryLeafsIterator<Spacetree, IterOrder> |
Definition at line 64 of file spacetree.h.
| using Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::Geo = _Geometry |
Definition at line 55 of file spacetree.h.
| using Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::InsideRegionLeafsIterator = InsideRegionLeafsIterator<Spacetree, IterOrder> |
Definition at line 65 of file spacetree.h.
| using Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::Item = _Item |
Definition at line 56 of file spacetree.h.
| using Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::IterOrder = IterationOrderSelector<Spacetree>::type |
Definition at line 61 of file spacetree.h.
| using Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::LeafOrLevelIterator = LeafOrLevelIterator<Spacetree, LEVEL, IterOrder> |
Definition at line 69 of file spacetree.h.
| using Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::LeafsIterator = LeafsIterator<Spacetree, IterOrder> |
Definition at line 63 of file spacetree.h.
| using Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::OutsideRegionLeafsIterator = OutsideRegionLeafsIterator<Spacetree, IterOrder> |
Definition at line 66 of file spacetree.h.
| using Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::TaskBackend = _TaskBackend |
Definition at line 57 of file spacetree.h.
|
explicit |
Definition at line 76 of file spacetree.h.
|
default |
Referenced by Spacetree< Geo, part, 64, 2, ThreadPoolTaskBackend >::destroySubtrees().

| Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::Spacetree | ( | Geo::Region | range, |
| Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend > * | parent, | ||
| Geo::RowMajorIdx | idx, | ||
| int | level ) |
Definition at line 80 of file spacetree.h.
|
noexcept |
Definition at line 82 of file spacetree.h.
| Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::~Spacetree | ( | ) |
Definition at line 269 of file spacetree.h.
| void Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::clear | ( | ) |
Definition at line 256 of file spacetree.h.
Referenced by Spacetree< Geo, part, 64, 2, ThreadPoolTaskBackend >::clear().

| void Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::destroySubtrees | ( | ) |
Definition at line 249 of file spacetree.h.
Referenced by SpacetreePruner< Spacetree, SPLIT >::mergeChildren(), and Spacetree< Geo, part, 64, 2, ThreadPoolTaskBackend >::~Spacetree().

| Spacetree * Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::findChildNode | ( | const Geo::Region & | region | ) |
Definition at line 104 of file spacetree.h.
Referenced by Spacetree< Geo, part, 64, 2, ThreadPoolTaskBackend >::getRegionParent().

| Spacetree * Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::findLeaf | ( | const Geo::Point & | p | ) |
Definition at line 93 of file spacetree.h.
|
staticconstexpr |
Definition at line 265 of file spacetree.h.
Referenced by Spacetree< Geo, part, 64, 2, ThreadPoolTaskBackend >::clear(), SpacetreePruner< Spacetree, SPLIT >::countChildrenItems(), Spacetree< Geo, part, 64, 2, ThreadPoolTaskBackend >::destroySubtrees(), SpacetreePruner< Spacetree, SPLIT >::mergeChildren(), SpacetreePruner< Spacetree, SPLIT >::run(), and Spacetree< Geo, part, 64, 2, ThreadPoolTaskBackend >::splitIntoSubtrees().

| Spacetree * Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::getRegionParent | ( | const Geo::Region & | range, |
| bool | refined = false ) |
Definition at line 180 of file spacetree.h.
Referenced by do_density(), and do_density().

| Spacetree * Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::insert | ( | Item | item | ) |
Definition at line 117 of file spacetree.h.
Referenced by SpacetreeSorter< Spacetree, PreSortCallback >::run().

| void Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::onNode | ( | Callback | F, |
| Iter | iter, | ||
| u32 | numThreads = 0 ) |
Definition at line 202 of file spacetree.h.
| auto Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::onNode | ( | Callback | F, |
| StateInitF | stateInitF, | ||
| Iter | iter, | ||
| u32 | numThreads = 0 ) |
Definition at line 228 of file spacetree.h.
| auto Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::onNode | ( | Callback | F, |
| StateInitF | stateInitF, | ||
| u32 | numThreads = 0 ) |
Definition at line 222 of file spacetree.h.
| void Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::onNode | ( | Callback | F, |
| u32 | numThreads = 0 ) |
Definition at line 196 of file spacetree.h.
Referenced by dumpData(), Spacetree< Geo, part, 64, 2, ThreadPoolTaskBackend >::onNode(), Spacetree< Geo, part, 64, 2, ThreadPoolTaskBackend >::onNode(), SpacetreePruner< Spacetree, SPLIT >::run(), and SpacetreeSorter< Spacetree, PreSortCallback >::run().

|
noexcept |
Definition at line 86 of file spacetree.h.
Referenced by Spacetree< Geo, part, 64, 2, ThreadPoolTaskBackend >::Spacetree().

| void Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::pushItem | ( | Item | p | ) |
Definition at line 140 of file spacetree.h.
| void Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::splitIntoSubtrees | ( | ) |
Definition at line 146 of file spacetree.h.
|
staticconstexpr |
Definition at line 59 of file spacetree.h.
Referenced by SpacetreePruner< Spacetree, SPLIT >::countChildrenItems(), and SpacetreePruner< Spacetree, SPLIT >::run().
| Vector<Item> Spacetree< _Geometry, _Item, THRESHOLD, SPLIT_FACTOR, _TaskBackend >::items |
Definition at line 74 of file spacetree.h.
Referenced by SpacetreePruner< Spacetree, SPLIT >::countChildrenItems(), do_density(), do_density(), SpacetreePruner< Spacetree, SPLIT >::mergeChildren(), SpacetreeSorter< Spacetree, PreSortCallback >::run(), and runner_do_ghost().