deal.II version GIT relicensing-2167-g9622207b8f 2024-11-21 12:40:00+00:00
|
#include <deal.II/numerics/rtree.h>
Public Types | |
using | InternalNode = typename boost::geometry::index::detail::rtree::internal_node< Value, typename Options::parameters_type, Box, Allocators, typename Options::node_tag >::type |
using | Leaf = typename boost::geometry::index::detail::rtree::leaf< Value, typename Options::parameters_type, Box, Allocators, typename Options::node_tag >::type |
Public Member Functions | |
ExtractLevelVisitor (const Translator &translator, const unsigned int target_level, std::vector< BoundingBox< boost::geometry::dimension< Box >::value > > &boxes) | |
void | operator() (const InternalNode &node) |
void | operator() (const Leaf &) |
Public Attributes | |
const Translator & | translator |
size_t | level |
const size_t | target_level |
std::vector< BoundingBox< boost::geometry::dimension< Box >::value > > & | boxes |
Helper structure that allows one to extract a level from an RTree as a vector of BoundingBox objects.
This structure implements a boost::geometry::index::detail::rtree::visitor object, allowing one to visit any existing RTree object, and return the vector of bounding boxes associated to a specific target level of the tree.
Although possible, direct usage of this structure is cumbersome. The suggested usage of this class is through the helper function extract_rtree_level().
using ExtractLevelVisitor< Value, Options, Translator, Box, Allocators >::InternalNode = typename boost::geometry::index::detail::rtree::internal_node< Value, typename Options::parameters_type, Box, Allocators, typename Options::node_tag>::type |
using ExtractLevelVisitor< Value, Options, Translator, Box, Allocators >::Leaf = typename boost::geometry::index::detail::rtree::leaf< Value, typename Options::parameters_type, Box, Allocators, typename Options::node_tag>::type |
|
inline |
Construct a vector boxes
of BoundingBox objects corresponding to the target_level
of the tree.
|
inline |
Implements the visitor interface for InternalNode objects. If the node belongs to the target_level
, then fill the bounding box vector.
|
inline |
Implements the visitor interface for Leaf objects.
const Translator& ExtractLevelVisitor< Value, Options, Translator, Box, Allocators >::translator |
size_t ExtractLevelVisitor< Value, Options, Translator, Box, Allocators >::level |
const size_t ExtractLevelVisitor< Value, Options, Translator, Box, Allocators >::target_level |
std::vector<BoundingBox<boost::geometry::dimension<Box>::value> >& ExtractLevelVisitor< Value, Options, Translator, Box, Allocators >::boxes |
A reference to the input vector of BoundingBox objects.