Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
lvr2::EmbreeRaycaster< IntT > Class Template Reference

#include <EmbreeRaycaster.hpp>

Inheritance diagram for lvr2::EmbreeRaycaster< IntT >:
Inheritance graph
[legend]

Public Member Functions

bool castRay (const Vector3f &origin, const Vector3f &direction, IntT &intersection)
 Cast a single ray onto the mesh. More...
 
 EmbreeRaycaster (const MeshBufferPtr mesh)
 
 ~EmbreeRaycaster ()
 
- Public Member Functions inherited from lvr2::RaycasterBase< IntT >
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...
 

Protected Member Functions

RTCDevice initializeDevice ()
 
RTCScene initializeScene (RTCDevice device, const MeshBufferPtr mesh)
 
RTCRayHit lvr2embree (const Vector3f &origin, const Vector3f &direction) const
 

Protected Attributes

RTCIntersectContext m_context
 
RTCDevice m_device
 
RTCScene m_scene
 

Detailed Description

template<typename IntT>
class lvr2::EmbreeRaycaster< IntT >

Definition at line 51 of file EmbreeRaycaster.hpp.

Constructor & Destructor Documentation

◆ EmbreeRaycaster()

template<typename IntT >
lvr2::EmbreeRaycaster< IntT >::EmbreeRaycaster ( const MeshBufferPtr  mesh)

◆ ~EmbreeRaycaster()

template<typename IntT >
lvr2::EmbreeRaycaster< IntT >::~EmbreeRaycaster ( )

Member Function Documentation

◆ castRay()

template<typename IntT >
bool lvr2::EmbreeRaycaster< IntT >::castRay ( const Vector3f origin,
const Vector3f direction,
IntT &  intersection 
)
virtual

Cast a single ray onto the mesh.

Parameters
[in]originRay origin
[in]directionRay direction
[out]intersectionUser defined intersection output
Returns
true Intersection found
false Not intersection found

Implements lvr2::RaycasterBase< IntT >.

◆ initializeDevice()

template<typename IntT >
RTCDevice lvr2::EmbreeRaycaster< IntT >::initializeDevice ( )
protected

◆ initializeScene()

template<typename IntT >
RTCScene lvr2::EmbreeRaycaster< IntT >::initializeScene ( RTCDevice  device,
const MeshBufferPtr  mesh 
)
protected

◆ lvr2embree()

template<typename IntT >
RTCRayHit lvr2::EmbreeRaycaster< IntT >::lvr2embree ( const Vector3f origin,
const Vector3f direction 
) const
inlineprotected

Definition at line 75 of file EmbreeRaycaster.hpp.

Member Data Documentation

◆ m_context

template<typename IntT >
RTCIntersectContext lvr2::EmbreeRaycaster< IntT >::m_context
protected

Definition at line 97 of file EmbreeRaycaster.hpp.

◆ m_device

template<typename IntT >
RTCDevice lvr2::EmbreeRaycaster< IntT >::m_device
protected

Definition at line 95 of file EmbreeRaycaster.hpp.

◆ m_scene

template<typename IntT >
RTCScene lvr2::EmbreeRaycaster< IntT >::m_scene
protected

Definition at line 96 of file EmbreeRaycaster.hpp.


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


lvr2
Author(s): Thomas Wiemann , Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Mon Feb 28 2022 22:46:11