|
| celltree (celltree const &)=default |
|
| celltree (celltree &&) noexcept=default |
|
auto | operator= (celltree const &) -> celltree &=default |
|
auto | operator= (celltree &&) noexcept -> celltree &=default |
|
| ~celltree ()=default |
|
| celltree (Mesh const &mesh) |
|
| celltree (Mesh const &mesh, vec< real_type, num_dimensions()> const &min, vec< real_type, num_dimensions()> const &max) |
|
constexpr auto | mesh () const -> auto const & |
|
constexpr auto | cell_handles () const -> auto const & |
|
constexpr auto | node (std::size_t const i) const -> auto const & |
|
constexpr auto | nodes () const -> auto const & |
|
constexpr auto | indices () const -> auto const & |
|
template<std::size_t... Seq> |
constexpr auto | min_cell_boundary (std::size_t const cell_idx, std::uint8_t const dim, std::index_sequence< Seq... >) const |
|
template<std::size_t... Seq> |
constexpr auto | max_cell_boundary (std::size_t const cell_idx, std::uint8_t const dim, std::index_sequence< Seq... >) const |
|
template<std::size_t... Seq> |
constexpr auto | cell_center (std::size_t const cell_idx, std::uint8_t const dim, std::index_sequence< Seq... >) const |
|
constexpr auto | axis_aligned_bounding_box () const |
|
auto | cells_at (vec_t const &x) const |
|
auto | write_vtk (filesystem::path const &path) |
|
|
constexpr auto | mesh () -> auto & |
|
constexpr auto | cell_handles () -> auto & |
|
constexpr auto | node (std::size_t const i) -> auto & |
|
constexpr auto | nodes () -> auto & |
|
constexpr auto | indices () -> auto & |
|
template<std::size_t... Seq> |
auto | cells_at (vec_t const &x, std::size_t const cur_node_idx, std::vector< std::size_t > &cells, std::index_sequence< Seq... > seq) const -> void |
|
template<std::size_t... Seq> |
auto | split_dimension (std::size_t const ni, std::index_sequence< Seq... >) const |
|
auto | add_children (std::size_t const ni) |
|
template<std::size_t... Seq> |
auto | split_if_necessary (std::size_t const ni, std::size_t const level, std::size_t const max_level) |
|
template<std::size_t... Seq> |
auto | split (std::size_t const ni, std::size_t const level, std::size_t const max_level) |
|
template<std::size_t... Seq> |
auto | split (std::size_t const ni, std::size_t const level, std::size_t const max_level, std::index_sequence< Seq... > seq) -> void |
|
template<std::size_t... Seq> |
auto | split_with_median (std::size_t const ni, std::size_t const li, std::size_t const ri, std::uint8_t const split_dim, std::index_sequence< Seq... > seq) |
|
template<std::size_t... Seq> |
auto | split_with_heuristic (std::size_t const ni, std::size_t const li, std::size_t const ri, std::uint8_t const split_dim, real_type const min, real_type const max, std::index_sequence< Seq... > seq) |
| TODO heuristic not working correctly. More...
|
|
template<std::size_t... Seq> |
auto | sort_indices (std::size_t const ni, std::uint8_t const dim, std::index_sequence< Seq... > seq) |
|
auto | write_vtk_collect_positions_and_indices (std::vector< vec< real_type, num_dimensions()> > &positions, std::vector< std::vector< std::size_t > > &indices, std::size_t cur_node_idx, tatooine::axis_aligned_bounding_box< real_type, num_dimensions()> const &aabb, std::size_t cur_level=0, std::size_t cur_idx=0) -> std::size_t |
|