Go to the documentation of this file.
35 #ifndef LVR2_ALGORITHM_RAYCASTING_EMBREERAYCASTER
36 #define LVR2_ALGORITHM_RAYCASTING_EMBREERAYCASTER
38 #include <embree3/rtcore.h>
50 template<
typename IntT>
80 rayhit.ray.org_x = origin.x();
81 rayhit.ray.org_y = origin.y();
82 rayhit.ray.org_z = origin.z();
83 rayhit.ray.dir_x = direction.x();
84 rayhit.ray.dir_y = direction.y();
85 rayhit.ray.dir_z = direction.z();
87 rayhit.ray.tfar = INFINITY;
90 rayhit.hit.geomID = RTC_INVALID_GEOMETRY_ID;
91 rayhit.hit.instID[0] = RTC_INVALID_GEOMETRY_ID;
102 #include "EmbreeRaycaster.tcc"
104 #endif // LVR2_ALGORITHM_RAYCASTING_EMBREERAYCASTER
bool castRay(const Vector3f &origin, const Vector3f &direction, IntT &intersection)
Cast a single ray onto the mesh.
EmbreeRaycaster(const MeshBufferPtr mesh)
RTCRayHit lvr2embree(const Vector3f &origin, const Vector3f &direction) const
Eigen::Vector3f Vector3f
Eigen 3D vector, single precision.
void EmbreeErrorFunction(void *userPtr, enum RTCError error, const char *str)
RTCIntersectContext m_context
RTCDevice initializeDevice()
RTCScene initializeScene(RTCDevice device, const MeshBufferPtr mesh)
std::shared_ptr< MeshBuffer > MeshBufferPtr
KF_EXPORTS void error(const char *error_string, const char *file, const int line, const char *func="")
Error handler. All GPU functions from this subsystem call the function to report an error....
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 Wed Mar 2 2022 00:37:23