DHART
Loading...
Searching...
No Matches
view_analysis_C.h
Go to the documentation of this file.
1
9#ifndef VIEW_ANALYSIS_C_H
10#define VIEW_ANALYSIS_C_H
11
12#include <cinterface_utils.h>
13#include <vector>
14#include <raytracer_C.h>
15
16#define C_INTERFACE extern "C" __declspec(dllexport) int
17
18namespace HF {
19 namespace SpatialStructures {
20 struct Node;
21 class Graph;
22 }
23}
24
29enum class AGGREGATE_TYPE {
30 COUNT = 0,
31 SUM = 1,
32 AVERAGE = 2,
33 MAX = 3,
34 MIN = 4
35};
36
119 int node_size,
120 int max_rays,
121 float upward_fov,
122 float downward_fov,
123 float height,
125 std::vector<float>** out_scores,
126 float** out_scores_ptr,
127 int* out_scores_size
128);
129
203 const float* node_ptr,
204 int node_size,
205 int max_rays,
206 float upward_fov,
207 float downward_fov,
208 float height,
210 std::vector<float>** out_scores,
211 float** out_scores_ptr,
212 int* out_scores_size
213);
214
285 const HF::SpatialStructures::Node* node_ptr,
286 int node_size,
287 int* max_rays,
288 float upward_fov,
289 float downward_fov,
290 float height,
291 std::vector<RayResult>** out_results,
292 RayResult** out_results_ptr
293);
294
369 const float* node_ptr,
370 int node_size,
371 int* max_rays,
372 float upward_fov,
373 float downward_fov,
374 float height,
375 std::vector<RayResult>** out_results,
376 RayResult** out_results_ptr
377);
378
439 int* num_rays,
440 std::vector<float>** out_direction_vector,
441 float** out_direction_data,
442 float upward_fov,
443 float downward_fov
444);
445
448#endif /* VIEW_ANALYSIS_C_H */
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.
#define C_INTERFACE
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.
Definition: node.h:38
The result of casting a ray at an object. Contains distance to the hitpoint and the ID of the mesh.
Definition: raytracer_C.h:89