|
| base_uniform_tree_hierarchy ()=default |
|
| base_uniform_tree_hierarchy (base_uniform_tree_hierarchy const &)=default |
|
| base_uniform_tree_hierarchy (base_uniform_tree_hierarchy &&) noexcept=default |
|
auto | operator= (base_uniform_tree_hierarchy const &) -> base_uniform_tree_hierarchy &=default |
|
auto | operator= (base_uniform_tree_hierarchy &&) noexcept -> base_uniform_tree_hierarchy &=default |
|
virtual | ~base_uniform_tree_hierarchy ()=default |
|
| base_uniform_tree_hierarchy (std::size_t const max_depth=default_max_depth) |
|
| base_uniform_tree_hierarchy (vec_type const &min, vec_type const &max, std::size_t const max_depth=default_max_depth) |
|
constexpr auto | is_splitted () const |
|
constexpr auto | level () const |
|
constexpr auto | is_at_max_depth () const |
|
auto | children () const -> auto const & |
|
auto | child_at (integral auto const ... is) const -> auto const & |
|
template<std::size_t... Seq> |
auto | split (std::index_sequence< Seq... > seq) |
|
template<typename... Args> |
auto | split () |
|
auto | distribute () |
|
template<typename... Args> |
auto | construct (vec_type const &min, vec_type const &max, std::size_t const level, std::size_t const max_depth) const -> std::unique_ptr< Derived > |
|
auto | split_and_distribute () |
|
auto constexpr | center () const |
|
auto constexpr | center (std::size_t const i) const |
|
auto constexpr | is_inside (pos_type const &p) const |
|
auto constexpr | max () const -> auto const & |
|
auto constexpr | max () -> auto & |
|
auto constexpr | max (std::size_t i) const -> auto const & |
|
auto constexpr | max (std::size_t i) -> auto & |
|
auto constexpr | min () const -> auto const & |
|
auto constexpr | min () -> auto & |
|
auto constexpr | min (std::size_t i) const -> auto const & |
|
auto constexpr | min (std::size_t i) -> auto & |
|
constexpr | axis_aligned_bounding_box () |
|
constexpr | axis_aligned_bounding_box (axis_aligned_bounding_box const &other)=default |
|
constexpr | axis_aligned_bounding_box (axis_aligned_bounding_box &&other) noexcept=default |
|
constexpr auto | operator= (axis_aligned_bounding_box const &other) -> axis_aligned_bounding_box &=default |
|
constexpr auto | operator= (axis_aligned_bounding_box &&other) noexcept -> axis_aligned_bounding_box &=default |
|
| ~axis_aligned_bounding_box ()=default |
|
template<typename Real0 , typename Real1 > |
constexpr | axis_aligned_bounding_box (vec< Real0, NumDimensions > &&min, vec< Real1, NumDimensions > &&max) noexcept |
|
template<typename Real0 , typename Real1 > |
constexpr | axis_aligned_bounding_box (vec< Real0, NumDimensions > const &min, vec< Real1, NumDimensions > const &max) |
|
template<typename Tensor0 , typename Tensor1 , typename Real0 , typename Real1 > |
constexpr | axis_aligned_bounding_box (base_tensor< Tensor0, Real0, NumDimensions > const &min, base_tensor< Tensor1, Real1, NumDimensions > const &max) |
|
auto constexpr | min () const -> auto const & |
|
auto constexpr | min () -> auto & |
|
auto constexpr | min (std::size_t i) const -> auto const & |
|
auto constexpr | min (std::size_t i) -> auto & |
|
auto constexpr | max () const -> auto const & |
|
auto constexpr | max () -> auto & |
|
auto constexpr | max (std::size_t i) const -> auto const & |
|
auto constexpr | max (std::size_t i) -> auto & |
|
auto constexpr | extents () const |
|
auto constexpr | extent (std::size_t i) const |
|
auto constexpr | area () const |
|
auto constexpr | volume () const |
|
auto constexpr | center () const |
|
auto constexpr | center (std::size_t const i) const |
|
auto constexpr | is_inside (pos_type const &p) const |
|
constexpr auto | is_rectangle_inside (vec< Real, 2 > x0, vec< Real, 2 > x1, vec< Real, 2 > x2, vec< Real, 2 > x3) const |
|
constexpr auto | is_simplex_inside (vec< Real, 2 > const &x0, vec< Real, 2 > const &x1, vec< Real, 2 > const &x2) const |
|
constexpr auto | is_simplex_inside (vec< Real, 3 > x0, vec< Real, 3 > x1, vec< Real, 3 > x2) const |
|
constexpr auto | is_simplex_inside (vec< Real, 3 > x0, vec< Real, 3 > x1, vec< Real, 3 > x2, vec< Real, 3 > x3) const |
|
constexpr auto | operator+= (pos_type const &point) |
|
constexpr auto | reset () |
|
constexpr auto | add_dimension (Real const min, Real const max) const |
|
template<typename RandomEngine = std::mt19937_64> |
auto | random_point (RandomEngine &&random_engine=RandomEngine{ std::random_device{}()}) const |
|
auto | write_vtk (filesystem::path const &path) |
|
auto | as_aabb () const -> auto const & |
|
auto | check_intersection (ray_type const &r, Real const=0) const -> optional_intersection_type override |
|
virtual | ~ray_intersectable ()=default |
|
virtual auto | check_intersection (ray_type const &r, real_type const min_t) const -> optional_intersection_type=0 |
|
template<floating_point Real, std::size_t NumDims, typename Derived>
struct tatooine::base_uniform_tree_hierarchy< Real, NumDims, Derived >
For octrees and quadtrees.