PolyDEAL
 
Loading...
Searching...
No Matches
dealii::internal::Rtree_visitor< Value, Options, Translator, Box, Allocators > Struct Template Reference

#include <agglomerator.h>

Inheritance diagram for dealii::internal::Rtree_visitor< Value, Options, Translator, Box, Allocators >:

Public Types

using InternalNode
 
using Leaf
 

Public Member Functions

 Rtree_visitor (const Translator &translator, const unsigned int target_level, std::vector< std::vector< typename Triangulation< boost::geometry::dimension< Box >::value >::active_cell_iterator > > &agglomerates_, std::vector< types::global_cell_index > &n_nodes_per_level, std::map< std::pair< types::global_cell_index, types::global_cell_index >, std::vector< types::global_cell_index > > &parent_to_children)
 
void operator() (const InternalNode &node)
 
void operator() (const Leaf &)
 

Public Attributes

const Translator & translator
 
size_t level
 
size_t node_counter
 
const size_t target_level
 
std::vector< std::vector< typename Triangulation< boost::geometry::dimension< Box >::value >::active_cell_iterator > > & agglomerates
 
std::vector< types::global_cell_index > & n_nodes_per_level
 
std::map< std::pair< types::global_cell_index, types::global_cell_index >, std::vector< types::global_cell_index > > & parent_node_to_children_nodes
 

Detailed Description

template<typename Value, typename Options, typename Translator, typename Box, typename Allocators>
struct dealii::internal::Rtree_visitor< Value, Options, Translator, Box, Allocators >

Definition at line 38 of file agglomerator.h.

Member Typedef Documentation

◆ InternalNode

template<typename Value , typename Options , typename Translator , typename Box , typename Allocators >
using dealii::internal::Rtree_visitor< Value, Options, Translator, Box, Allocators >::InternalNode
Initial value:
typename boost::geometry::index::detail::rtree::internal_node<
Value,
typename Options::parameters_type,
Box,
Allocators,
typename Options::node_tag>::type

An alias that identifies an InternalNode of the tree.

Definition at line 60 of file agglomerator.h.

◆ Leaf

template<typename Value , typename Options , typename Translator , typename Box , typename Allocators >
using dealii::internal::Rtree_visitor< Value, Options, Translator, Box, Allocators >::Leaf
Initial value:
typename boost::geometry::index::detail::rtree::leaf<
Value,
typename Options::parameters_type,
Box,
Allocators,
typename Options::node_tag>::type

An alias that identifies a Leaf of the tree.

Definition at line 71 of file agglomerator.h.

Constructor & Destructor Documentation

◆ Rtree_visitor()

template<typename Value , typename Options , typename Translator , typename Box , typename Allocators >
dealii::internal::Rtree_visitor< Value, Options, Translator, Box, Allocators >::Rtree_visitor ( const Translator & translator,
const unsigned int target_level,
std::vector< std::vector< typename Triangulation< boost::geometry::dimension< Box >::value >::active_cell_iterator > > & agglomerates_,
std::vector< types::global_cell_index > & n_nodes_per_level,
std::map< std::pair< types::global_cell_index, types::global_cell_index >, std::vector< types::global_cell_index > > & parent_to_children )
inline

Definition at line 145 of file agglomerator.h.

References level.

Member Function Documentation

◆ operator()() [1/2]

template<typename Value , typename Options , typename Translator , typename Box , typename Allocators >
void dealii::internal::Rtree_visitor< Value, Options, Translator, Box, Allocators >::operator() ( const InternalNode & node)
inline

Implements the visitor interface for InternalNode objects. If the node belongs to the level next to target_level, then fill the bounding box vector for that node.

Definition at line 171 of file agglomerator.h.

References level.

◆ operator()() [2/2]

template<typename Value , typename Options , typename Translator , typename Box , typename Allocators >
void dealii::internal::Rtree_visitor< Value, Options, Translator, Box, Allocators >::operator() ( const Leaf & leaf)
inline

Implements the visitor interface for Leaf objects.

Definition at line 252 of file agglomerator.h.

References level.

Member Data Documentation

◆ agglomerates

template<typename Value , typename Options , typename Translator , typename Box , typename Allocators >
std::vector<std::vector<typename Triangulation< boost::geometry::dimension<Box>::value>::active_cell_iterator> >& dealii::internal::Rtree_visitor< Value, Options, Translator, Box, Allocators >::agglomerates

A reference to the input vector of vector of BoundingBox objects. This vector v has the following property: v[i] = vector with all the mesh iterators composing the i-th agglomerate.

Definition at line 122 of file agglomerator.h.

◆ level

template<typename Value , typename Options , typename Translator , typename Box , typename Allocators >
size_t dealii::internal::Rtree_visitor< Value, Options, Translator, Box, Allocators >::level

Store the level we are currently visiting.

Definition at line 101 of file agglomerator.h.

◆ n_nodes_per_level

template<typename Value , typename Options , typename Translator , typename Box , typename Allocators >
std::vector<types::global_cell_index>& dealii::internal::Rtree_visitor< Value, Options, Translator, Box, Allocators >::n_nodes_per_level

Store the total number of nodes on each level.

Definition at line 127 of file agglomerator.h.

◆ node_counter

template<typename Value , typename Options , typename Translator , typename Box , typename Allocators >
size_t dealii::internal::Rtree_visitor< Value, Options, Translator, Box, Allocators >::node_counter

Index used to keep track of the number of different visited nodes during recursion/

Definition at line 107 of file agglomerator.h.

◆ parent_node_to_children_nodes

template<typename Value , typename Options , typename Translator , typename Box , typename Allocators >
std::map<std::pair<types::global_cell_index, types::global_cell_index>, std::vector<types::global_cell_index> >& dealii::internal::Rtree_visitor< Value, Options, Translator, Box, Allocators >::parent_node_to_children_nodes

Map that associates to a given node on level l its children, identified by their integer index.

Definition at line 135 of file agglomerator.h.

◆ target_level

template<typename Value , typename Options , typename Translator , typename Box , typename Allocators >
const size_t dealii::internal::Rtree_visitor< Value, Options, Translator, Box, Allocators >::target_level

The level where children are living. Before: "we want to extract from the RTree object."

Definition at line 113 of file agglomerator.h.

◆ translator

template<typename Value , typename Options , typename Translator , typename Box , typename Allocators >
const Translator& dealii::internal::Rtree_visitor< Value, Options, Translator, Box, Allocators >::translator

Translator interface, required by the boost implementation of the rtree.

Definition at line 96 of file agglomerator.h.


The documentation for this struct was generated from the following file: