DHART
|
C Interface header file for Raytracer functionality. More...
#include <vector>
#include <array>
Go to the source code of this file.
Classes | |
struct | RayResult |
The result of casting a ray at an object. Contains distance to the hitpoint and the ID of the mesh. More... | |
Namespaces | |
namespace | HF |
Perform human scale analysis on 3D environments. | |
namespace | HF::RayTracer |
Cast rays to determine if and where they intersect geometry. | |
namespace | HF::Geometry |
Manipulate and load geometry from disk. | |
Macros | |
#define | C_INTERFACE extern "C" __declspec(dllexport) int |
Functions | |
C_INTERFACE | CreateRaytracer (HF::Geometry::MeshInfo< float > *mesh, HF::RayTracer::EmbreeRayTracer **out_raytracer, bool use_precise) |
Create a new raytracer using several meshes. More... | |
C_INTERFACE | CreateRaytracerMultiMesh (HF::Geometry::MeshInfo< float > **meshes, int num_meshes, HF::RayTracer::EmbreeRayTracer **out_raytracer, bool use_precise) |
Create a new raytracer using several meshes. More... | |
C_INTERFACE | AddMesh (HF::RayTracer::EmbreeRayTracer *ERT, HF::Geometry::MeshInfo< float > *MI) |
Add a new mesh to a raytracer. More... | |
C_INTERFACE | AddMeshes (HF::RayTracer::EmbreeRayTracer *ERT, HF::Geometry::MeshInfo< float > **MI, int number_of_meshes) |
Add a new mesh to a raytracer. More... | |
C_INTERFACE | DestroyRayTracer (HF::RayTracer::EmbreeRayTracer *rt_to_destroy) |
Delete an existing raytracer. More... | |
C_INTERFACE | CastRaysDistance (HF::RayTracer::EmbreeRayTracer *ert, float *origins, int num_origins, float *directions, int num_directions, std::vector< RayResult > **out_results, RayResult **results_data) |
Cast rays for each node in origins/directions as ordered pairs and get distance back as a result. More... | |
C_INTERFACE | CastSingleRayDistance (HF::RayTracer::EmbreeRayTracer *ert, const float *origin, const float *direction, const float max_distance, float *out_distance, int *out_meshid) |
Cast a single ray and get the distance to its hit and the mesh ID if it hit anything. If it missed, then distance and meshid will both be -1. More... | |
C_INTERFACE | CastRay (HF::RayTracer::EmbreeRayTracer *ert, float &x, float &y, float &z, float dx, float dy, float dz, float max_distance, bool &result) |
Cast a single ray from the raytracer and receive a point in return. More... | |
C_INTERFACE | CastMultipleRays (HF::RayTracer::EmbreeRayTracer *ert, float *origins, const float *directions, int size, float max_distance, bool *result_array) |
Cast multiple rays at once in parallel and receive their hitpoints in return. The number of directions must be equal to the number of origins. More... | |
C_INTERFACE | CastMultipleOriginsOneDirection (HF::RayTracer::EmbreeRayTracer *ert, float *origins, const float *direction, int size, float max_distance, bool *result_array) |
Cast rays from each origin point in the given direction. More... | |
C_INTERFACE | CastMultipleDirectionsOneOrigin (HF::RayTracer::EmbreeRayTracer *ert, const float *origin, float *directions, int size, float max_distance, bool *result_array) |
Cast rays from a single origin point in multiple directions and get a the points where they intersected the geometry. More... | |
C_INTERFACE | CastOcclusionRays (HF::RayTracer::EmbreeRayTracer *ert, const float *origins, const float *directions, int origin_size, int direction_size, float max_distance, bool *result_array) |
Cast one or more occlusion rays in parallel. More... | |
C_INTERFACE | DestroyRayResultVector (std::vector< RayResult > *analysis) |
Destroy a vector of rayresults. More... | |
C_INTERFACE | PreciseIntersection (HF::RayTracer::EmbreeRayTracer *RT, double x, double y, double z, double dx, double dy, double dz, double *out_distance) |
C Interface header file for Raytracer functionality.
Definition in file raytracer_C.h.
#define C_INTERFACE extern "C" __declspec(dllexport) int |
Definition at line 24 of file raytracer_C.h.