|
| | 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.