Tatooine
Public Types | Public Member Functions | Public Attributes | Private Member Functions | List of all members
tatooine::detail::autonomous_particle::hierarchy< Real, NumDimensions > Struct Template Reference

#include <post_triangulation.h>

Collaboration diagram for tatooine::detail::autonomous_particle::hierarchy< Real, NumDimensions >:
[legend]

Public Types

using vertex_type = vertex< Real, NumDimensions >
 
using edgeset_type = edgeset< Real, NumDimensions >
 
using vec_type = vec< Real, NumDimensions >
 

Public Member Functions

 hierarchy (std::uint64_t const id_)
 
 hierarchy (std::uint64_t const id_, vertex_type const center_)
 
 hierarchy (std::uint64_t const id_, std::vector< hierarchy_pair > const &hps, std::unordered_map< std::uint64_t, vertex_type > const &centers, edgeset_type const &edges)
 as child node More...
 
 hierarchy (std::vector< hierarchy_pair > const &hps, std::unordered_map< std::uint64_t, vertex_type > const &centers, edgeset_type const &edges)
 as root node More...
 
auto is_root () const
 
auto find_by_id (std::uint64_t const &id) const -> auto const &
 

Public Attributes

std::uint64_t id = std::numeric_limits<std::uint64_t>::max()
 
vertex_type center = vertex_type{}
 
std::vector< hierarchyleafs = {}
 

Private Member Functions

auto build (std::vector< hierarchy_pair > const &hps, std::unordered_map< std::uint64_t, vertex_type > const &centers, edgeset_type const &edges) -> void
 
auto sort_leafs (edgeset_type const &edges) -> void
 
auto calc_split_dir (edgeset_type const &edges) -> vec_type
 

Member Typedef Documentation

◆ edgeset_type

template<typename Real , std::size_t NumDimensions>
using tatooine::detail::autonomous_particle::hierarchy< Real, NumDimensions >::edgeset_type = edgeset<Real, NumDimensions>

◆ vec_type

template<typename Real , std::size_t NumDimensions>
using tatooine::detail::autonomous_particle::hierarchy< Real, NumDimensions >::vec_type = vec<Real, NumDimensions>

◆ vertex_type

template<typename Real , std::size_t NumDimensions>
using tatooine::detail::autonomous_particle::hierarchy< Real, NumDimensions >::vertex_type = vertex<Real, NumDimensions>

Constructor & Destructor Documentation

◆ hierarchy() [1/4]

template<typename Real , std::size_t NumDimensions>
tatooine::detail::autonomous_particle::hierarchy< Real, NumDimensions >::hierarchy ( std::uint64_t const  id_)
inlineexplicit

◆ hierarchy() [2/4]

template<typename Real , std::size_t NumDimensions>
tatooine::detail::autonomous_particle::hierarchy< Real, NumDimensions >::hierarchy ( std::uint64_t const  id_,
vertex_type const  center_ 
)
inline

◆ hierarchy() [3/4]

template<typename Real , std::size_t NumDimensions>
tatooine::detail::autonomous_particle::hierarchy< Real, NumDimensions >::hierarchy ( std::uint64_t const  id_,
std::vector< hierarchy_pair > const &  hps,
std::unordered_map< std::uint64_t, vertex_type > const &  centers,
edgeset_type const &  edges 
)
inline

as child node

◆ hierarchy() [4/4]

template<typename Real , std::size_t NumDimensions>
tatooine::detail::autonomous_particle::hierarchy< Real, NumDimensions >::hierarchy ( std::vector< hierarchy_pair > const &  hps,
std::unordered_map< std::uint64_t, vertex_type > const &  centers,
edgeset_type const &  edges 
)
inline

as root node

Member Function Documentation

◆ build()

template<typename Real , std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::hierarchy< Real, NumDimensions >::build ( std::vector< hierarchy_pair > const &  hps,
std::unordered_map< std::uint64_t, vertex_type > const &  centers,
edgeset_type const &  edges 
) -> void
inlineprivate

◆ calc_split_dir()

template<typename Real , std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::hierarchy< Real, NumDimensions >::calc_split_dir ( edgeset_type const &  edges) -> vec_type
inlineprivate

◆ find_by_id()

template<typename Real , std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::hierarchy< Real, NumDimensions >::find_by_id ( std::uint64_t const &  id) const -> auto const&
inline

◆ is_root()

template<typename Real , std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::hierarchy< Real, NumDimensions >::is_root ( ) const
inline

◆ sort_leafs()

template<typename Real , std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::hierarchy< Real, NumDimensions >::sort_leafs ( edgeset_type const &  edges) -> void
inlineprivate

Member Data Documentation

◆ center

template<typename Real , std::size_t NumDimensions>
vertex_type tatooine::detail::autonomous_particle::hierarchy< Real, NumDimensions >::center = vertex_type{}

◆ id

template<typename Real , std::size_t NumDimensions>
std::uint64_t tatooine::detail::autonomous_particle::hierarchy< Real, NumDimensions >::id = std::numeric_limits<std::uint64_t>::max()

◆ leafs

template<typename Real , std::size_t NumDimensions>
std::vector<hierarchy> tatooine::detail::autonomous_particle::hierarchy< Real, NumDimensions >::leafs = {}

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