16namespace osc {
struct Ray; }
31 std::span<const Vector3> vertices,
32 std::span<const uint16_t> indices
35 std::span<const Vector3> vertices,
36 std::span<const uint32_t> indices
41 std::span<const Vector3> vertices,
42 std::span<const uint16_t> indices,
46 std::span<const Vector3> vertices,
47 std::span<const uint32_t> indices,
78 std::vector<BVHNode> nodes_;
81 std::vector<BVHPrim> prims_;
void build_from_aabbs(std::span< const AABB >)
std::optional< BVHCollision > closest_ray_indexed_triangle_collision(std::span< const Vector3 > vertices, std::span< const uint32_t > indices, const Ray &) const
std::optional< BVHCollision > closest_ray_indexed_triangle_collision(std::span< const Vector3 > vertices, std::span< const uint16_t > indices, const Ray &) const
void for_each_ray_aabb_collision(const Ray &, const std::function< void(BVHCollision)> &) const
std::optional< AABB > bounds() const
void build_from_indexed_triangles(std::span< const Vector3 > vertices, std::span< const uint16_t > indices)
void for_each_leaf_or_inner_node(const std::function< void(const BVHNode &)> &) const
void build_from_indexed_triangles(std::span< const Vector3 > vertices, std::span< const uint32_t > indices)
void for_each_leaf_node(const std::function< void(const BVHNode &)> &) const
Definition custom_decoration_generator.h:5
constexpr U to(T &&value)
Definition conversion.h:56
Definition bvh_collision.h:11