1.3.49
 
Loading...
Searching...
No Matches
CollisionDetection::RayPacket Struct Reference

Optimized ray packet for streaming processing Organizes ray data in Structure-of-Arrays format for better memory access. More...

#include <CollisionDetection.h>

Public Member Functions

void reserve (size_t capacity)
 Initialize packet with specified capacity.
 
void addRay (const RayQuery &query)
 Add a ray to the packet.
 
void clear ()
 Clear all data.
 
std::vector< RayQuerytoRayQueries () const
 Convert packet back to individual RayQuery objects.
 
size_t getMemoryUsage () const
 Get memory usage of the packet.
 

Data Fields

std::vector< helios::vec3origins
 Ray origin points (contiguous)
 
std::vector< helios::vec3directions
 Ray direction vectors (contiguous)
 
std::vector< float > max_distances
 Maximum ray distances (contiguous)
 
std::vector< std::vector< uint > > target_UUIDs
 Target primitive UUIDs per ray.
 
std::vector< HitResultresults
 Intersection results (output)
 
size_t ray_count = 0
 Number of rays in this packet.
 

Detailed Description

Optimized ray packet for streaming processing Organizes ray data in Structure-of-Arrays format for better memory access.

Definition at line 141 of file CollisionDetection.h.

Member Function Documentation

◆ addRay()

void CollisionDetection::RayPacket::addRay ( const RayQuery query)
inline

Add a ray to the packet.

Definition at line 169 of file CollisionDetection.h.

◆ clear()

void CollisionDetection::RayPacket::clear ( )
inline

Clear all data.

Definition at line 181 of file CollisionDetection.h.

◆ getMemoryUsage()

size_t CollisionDetection::RayPacket::getMemoryUsage ( ) const
inline

Get memory usage of the packet.

Definition at line 205 of file CollisionDetection.h.

◆ reserve()

void CollisionDetection::RayPacket::reserve ( size_t  capacity)
inline

Initialize packet with specified capacity.

Definition at line 158 of file CollisionDetection.h.

◆ toRayQueries()

std::vector< RayQuery > CollisionDetection::RayPacket::toRayQueries ( ) const
inline

Convert packet back to individual RayQuery objects.

Definition at line 193 of file CollisionDetection.h.

Field Documentation

◆ directions

std::vector<helios::vec3> CollisionDetection::RayPacket::directions

Ray direction vectors (contiguous)

Definition at line 144 of file CollisionDetection.h.

◆ max_distances

std::vector<float> CollisionDetection::RayPacket::max_distances

Maximum ray distances (contiguous)

Definition at line 145 of file CollisionDetection.h.

◆ origins

std::vector<helios::vec3> CollisionDetection::RayPacket::origins

Ray origin points (contiguous)

Definition at line 143 of file CollisionDetection.h.

◆ ray_count

size_t CollisionDetection::RayPacket::ray_count = 0

Number of rays in this packet.

Definition at line 151 of file CollisionDetection.h.

◆ results

std::vector<HitResult> CollisionDetection::RayPacket::results

Intersection results (output)

Definition at line 149 of file CollisionDetection.h.

◆ target_UUIDs

std::vector<std::vector<uint> > CollisionDetection::RayPacket::target_UUIDs

Target primitive UUIDs per ray.

Definition at line 146 of file CollisionDetection.h.


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