BVHRaycaster: CPU version of BVH Raycasting: WIP.
More...
#include <BVHRaycaster.hpp>
|
| BVHRaycaster (const MeshBufferPtr mesh, unsigned int stack_size=64) |
| Constructor: Stores mesh as member. More...
|
|
bool | castRay (const Vector3f &origin, const Vector3f &direction, IntT &intersection) |
| Cast a single ray onto the mesh. More...
|
|
virtual void | castRays (const Vector3f &origin, const std::vector< Vector3f > &directions, std::vector< IntT > &intersections, std::vector< uint8_t > &hits) |
| Cast a ray from single origin with multiple directions onto the mesh. More...
|
|
virtual void | castRays (const Vector3f &origin, const std::vector< std::vector< Vector3f > > &directions, std::vector< std::vector< IntT > > &intersections, std::vector< std::vector< uint8_t > > &hits) |
| Cast a ray from a single origin with multiple directions (in matrix form) onto the mesh. More...
|
|
virtual void | castRays (const std::vector< Vector3f > &origins, const std::vector< Vector3f > &directions, std::vector< IntT > &intersections, std::vector< uint8_t > &hits) |
| Cast from multiple ray origin/direction pairs onto the mesh. More...
|
|
virtual void | castRays (const std::vector< Vector3f > &origins, const std::vector< std::vector< Vector3f > > &directions, std::vector< std::vector< IntT > > &intersections, std::vector< std::vector< uint8_t > > &hits) |
| Cast rays with multiples origins. Each origin has multiples directions. More...
|
|
| RaycasterBase (const MeshBufferPtr mesh) |
| Constructor: Stores mesh as member. More...
|
|
template<typename IntT>
class lvr2::BVHRaycaster< IntT >
BVHRaycaster: CPU version of BVH Raycasting: WIP.
Definition at line 56 of file BVHRaycaster.hpp.
◆ BVHRaycaster()
Constructor: Stores mesh as member.
◆ barycentric()
◆ castRay()
◆ distanceSquare()
Calculates the squared distance of two vectors.
- Parameters
-
a | First vector |
b | Second vector |
- Returns
- The square distance
Definition at line 143 of file BVHRaycaster.hpp.
◆ intersectTrianglesBVH()
Calculates the closest intersection of a raycast into a scene of triangles, given a bounding volume hierarchy.
- Parameters
-
clBVHindicesOrTriLists | Compressed BVH Node data, that stores for each node, whether it is a leaf node and triangle indices lists for leaf nodes and the indices of their child nodes for inner nodes |
origin | Origin of the ray |
ray | Direction of the ray |
clBVHlimits | 3d upper and lower limits for each bounding box in the BVH |
clTriangleIntersectionData | Precomputed intersection data for each triangle |
clTriIdxList | List of triangle indices |
- Returns
- The TriangleIntersectionResult, containing information about the triangle intersection
◆ rayIntersectsBox()
Calculates whether a ray intersects a box.
- Parameters
-
origin | The origin of the ray |
ray | The ray |
boxPtr | A pointer to the box data |
- Returns
- A boolean indicating whether the ray hits the box
◆ m_bvh
◆ m_BVHindicesOrTriLists
◆ m_BVHlimits
◆ m_faces
◆ m_stack_size
◆ m_TriangleIntersectionData
◆ m_TriIdxList
◆ m_vertices
The documentation for this class was generated from the following file: