9#ifndef VIEW_ANALYSIS_C_H
10#define VIEW_ANALYSIS_C_H
16#define C_INTERFACE extern "C" __declspec(dllexport) int
19 namespace SpatialStructures {
125 std::vector<float>** out_scores,
126 float** out_scores_ptr,
203 const float* node_ptr,
210 std::vector<float>** out_scores,
211 float** out_scores_ptr,
291 std::vector<RayResult>** out_results,
369 const float* node_ptr,
375 std::vector<RayResult>** out_results,
440 std::vector<float>** out_direction_vector,
441 float** out_direction_data,
C Interface header file for Raytracer functionality.
AGGREGATE_TYPE
Determines how to aggregate edges from the results of view analysis.
@ AVERAGE
Average distance of origin to its hit points.
@ MAX
Maximum distance from origin to its hit points.
@ COUNT
Number of rays that hit.
@ SUM
Sum of distances from the origin to each of its hit points.
@ MIN
Minimum distance from origin to its hit points.
C_INTERFACE SphericalViewAnalysisNoAggregateFlat(HF::RayTracer::EmbreeRayTracer *ERT, const float *node_ptr, int node_size, int *max_rays, float upward_fov, float downward_fov, float height, std::vector< RayResult > **out_results, RayResult **out_results_ptr)
Perform view analysis, and get the distance and meshid for each individual ray casted.
C_INTERFACE SphericalViewAnalysisNoAggregate(HF::RayTracer::EmbreeRayTracer *ERT, const HF::SpatialStructures::Node *node_ptr, int node_size, int *max_rays, float upward_fov, float downward_fov, float height, std::vector< RayResult > **out_results, RayResult **out_results_ptr)
Perform view analysis, then get the distance and meshid for each individual ray casted.
C_INTERFACE SphereicalViewAnalysisAggregateFlat(HF::RayTracer::EmbreeRayTracer *ERT, const float *node_ptr, int node_size, int max_rays, float upward_fov, float downward_fov, float height, AGGREGATE_TYPE AT, std::vector< float > **out_scores, float **out_scores_ptr, int *out_scores_size)
Conduct view analysis, and aggregate the results.
C_INTERFACE SphereicalViewAnalysisAggregate(HF::RayTracer::EmbreeRayTracer *ERT, HF::SpatialStructures::Node *node_ptr, int node_size, int max_rays, float upward_fov, float downward_fov, float height, AGGREGATE_TYPE AT, std::vector< float > **out_scores, float **out_scores_ptr, int *out_scores_size)
Conduct view analysis, then aggregate the results.
C_INTERFACE SphericalDistribute(int *num_rays, std::vector< float > **out_direction_vector, float **out_direction_data, float upward_fov, float downward_fov)
Equally distribute points around a unit sphere.
Perform human scale analysis on 3D environments.
A wrapper for Intel's Embree Library.
A point in space with an ID.
The result of casting a ray at an object. Contains distance to the hitpoint and the ID of the mesh.