DHART
|
Contains implementation for the EmbreeRayTracer More...
#include <embree_raytracer.h>
#include <corecrt_math_defines.h>
#include <functional>
#include <iostream>
#include <thread>
#include <robin_hood.h>
#include <meshinfo.h>
#include <RayRequest.h>
#include <HFExceptions.h>
Go to the source code of this file.
Classes | |
struct | HF::RayTracer::Vertex |
A vertex. Used internally in Embree. More... | |
struct | HF::RayTracer::Triangle |
A triangle. Used internally in Embree. More... | |
Namespaces | |
namespace | HF |
Perform human scale analysis on 3D environments. | |
namespace | HF::RayTracer |
Cast rays to determine if and where they intersect geometry. | |
Functions | |
template<typename numeric1 , typename numeric2 , typename dist_type = float> | |
RTCRayHit | HF::RayTracer::ConstructHit (numeric1 x, numeric1 y, numeric1 z, numeric2 dx, numeric2 dy, numeric2 dz, dist_type distance=-1.0f, int mesh_id=-1) |
template<typename numeric1 , typename numeric2 , typename dist_type = float> | |
RTCRay | HF::RayTracer::ConstructRay (numeric1 x, numeric1 y, numeric1 z, numeric2 dx, numeric2 dy, numeric2 dz, dist_type distance=-1.0f, int mesh_id=-1) |
RTCError | HF::RayTracer::CheckState (RTCDevice &device) |
Check an embree device for errors. More... | |
void | HF::RayTracer::vectorsToBuffers (const std::vector< std::array< float, 3 > > &vertices, std::vector< Triangle > &Tribuffer, std::vector< Vertex > &Vbuffer) |
Index a list of verticies and place them into a triangle and vertex buffer. More... | |
void | HF::RayTracer::buffersToStructs (std::vector< float > &in_vertices, std::vector< int > &in_indices, std::vector< Vertex > &out_vertices, std::vector< Triangle > &out_triangles) |
Package raw arrays of floats and indices in buffers to the required Embree types. More... | |
Vector3D | HF::RayTracer::cross (const Vector3D &x, const Vector3D &y) |
double | HF::RayTracer::dot (const Vector3D &v1, const Vector3D &v2) |
Vector3D | HF::RayTracer::InvertVector (const Vector3D &V) |
double | HF::RayTracer::RayTriangleIntersection (const Vector3D &origin, const Vector3D &direction, const Vector3D &v1, const Vector3D &v2, const Vector3D &v3) |
Determine the distance between a ray's origin and it's point of intersection with a triangle. More... | |
Vector3D | HF::RayTracer::GetPointFromBuffer (int index, Vertex *buffer) |
Contains implementation for the EmbreeRayTracer
Definition in file embree_raytracer.cpp.
struct HF::RayTracer::Vertex |
A vertex. Used internally in Embree.
Definition at line 77 of file embree_raytracer.cpp.
Class Members | ||
---|---|---|
float | x | |
float | y | |
float | z |
struct HF::RayTracer::Triangle |
A triangle. Used internally in Embree.
Definition at line 82 of file embree_raytracer.cpp.
Class Members | ||
---|---|---|
int | v0 | |
int | v1 | |
int | v2 |