DHART
Loading...
Searching...
No Matches
raytracer_C.cpp File Reference
#include <raytracer_C.h>
#include <iostream>
#include <embree_raytracer.h>
#include <meshinfo.h>
#include <HFExceptions.h>
#include <cinterface_utils.h>
+ Include dependency graph for raytracer_C.cpp:

Go to the source code of this file.

Typedefs

using MeshInfo = HF::Geometry::MeshInfo< float >
 

Functions

C_INTERFACE CreateRaytracer (MeshInfo *mesh, EmbreeRayTracer **out_raytracer, bool use_precise)
 Create a new raytracer using several meshes. More...
 
C_INTERFACE CreateRaytracerMultiMesh (MeshInfo **meshes, int num_meshes, EmbreeRayTracer **out_raytracer, bool use_precise)
 Create a new raytracer using several meshes. More...
 
C_INTERFACE AddMeshes (HF::RayTracer::EmbreeRayTracer *ERT, MeshInfo **MI, int number_of_meshes)
 Add a new mesh to a raytracer. More...
 
C_INTERFACE AddMesh (HF::RayTracer::EmbreeRayTracer *ERT, MeshInfo *MI)
 Add a new mesh to a raytracer. More...
 
C_INTERFACE DestroyRayTracer (HF::RayTracer::EmbreeRayTracer *rt_to_destroy)
 Delete an existing raytracer. 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 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 CastRay (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 (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 (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 (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 (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 > *var)
 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)
 

Typedef Documentation

◆ MeshInfo

Definition at line 11 of file raytracer_C.cpp.