Lagrange
Loading...
Searching...
No Matches
RayHitN< N > Struct Template Reference

Result of a multi-ray intersection query. More...

#include <lagrange/raycasting/RayCaster.h>

Inheritance diagram for RayHitN< N >:
HitBaseN< N >

Public Attributes

Eigen::Vector< float, N > ray_depths = Eigen::Vector<float, N>::Zero()
 Parametric distance along the ray (t value).
 
Eigen::Matrix< float, 3, N > normals = Eigen::Matrix<float, 3, N>::Zero()
 Unnormalized geometric normal at the hit point.
 
- Public Attributes inherited from HitBaseN< N >
uint32_t valid_mask = 0
 Bitmask indicating which rays in the packet hit something (1 bit per ray).
 
Eigen::Vector< uint32_t, N > mesh_indices
 Index of the mesh that was hit.
 
Eigen::Vector< uint32_t, N > instance_indices
 Index of the instance that was hit (relative to the source mesh).
 
Eigen::Vector< uint32_t, N > facet_indices
 Index of the facet that was hit.
 
Eigen::Matrix< float, 2, N > barycentric_coords = Eigen::Matrix<float, 2, N>::Zero()
 Barycentric coordinates of the hit points within the hit facets.
 
Eigen::Matrix< float, 3, N > positions = Eigen::Matrix<float, 3, N>::Zero()
 World-space position of the hit point.
 

Additional Inherited Members

- Public Member Functions inherited from HitBaseN< N >
bool is_valid (size_t i) const
 

Detailed Description

template<size_t N>
struct lagrange::raycasting::RayHitN< N >

Result of a multi-ray intersection query.

Template Parameters
NNumber of rays in the packet (e.g., 4, 8, or 16).

The documentation for this struct was generated from the following file: