DHART
Loading...
Searching...
No Matches
raytracer_C.h File Reference

C Interface header file for Raytracer functionality. More...

#include <vector>
#include <array>
+ Include dependency graph for raytracer_C.h:
+ This graph shows which files directly or indirectly include this file:

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)
 

Detailed Description

C Interface header file for Raytracer functionality.

Author
TBA
Date
04 Aug 2020

Definition in file raytracer_C.h.

Macro Definition Documentation

◆ C_INTERFACE

#define C_INTERFACE   extern "C" __declspec(dllexport) int

Definition at line 24 of file raytracer_C.h.