4#include <NDEVR/DesignObjectLookup.h>
61 return "line_of_sight";
Stores an angle in an optimized internal format with support for efficient trigonometric operations.
A specification of upper and lower bounds in N-dimensions.
The equivelent of std::vector but with a bit more control.
A core class where all Design Objects including models, materials, and geometries are stored.
A light-weight base class for Log that allows processes to update, without the need for additional in...
void intersectMeshes(LineOfSightArgs &args)
Performs ray-scene intersection for every ray in the scan mesh.
void clearMesh()
Removes all vertices and primitives from the current scan mesh geometry.
bool intersects(SelectionInfo &info, const LineOfSightArgs &args)
Tests whether a single selection ray intersects scene geometry.
static const char * TypeName()
Returns the unique type identifier string for LineOfSight Models.
LineOfSight()
Default constructor.
LineOfSight(const Model &parent)
Constructs a LineOfSight as a child of the given parent Model.
void createLineOfSight(LineOfSightArgs &args)
Executes a full line-of-sight analysis.
Model losLayer() const
Returns (or creates) the scene layer used to render line-of-sight results.
LineOfSightArgs currentArgs() const
Retrieves the current analysis parameters from the Model's stored metadata and effect transforms.
A core class that represents a node on model hierarchy.
Responsible for turning a user interaction into a selection within a DesignObjectLookup.
A fixed-size array with N dimensions used as the basis for geometric and mathematical types.
A point in N-dimensional space, used primarily for spatial location information.
The primary namespace for the NDEVR SDK.
@ DEGREES
Angle measured in degrees (0 to 360 for a full circle).
Configuration parameters used to set up a LineOfSight analysis Model.
Buffer< Model > meshes_to_intersect
Mesh/surface Models to include in intersection testing.
Buffer< Model > lines_to_intersect
Line/edge Models to include in intersection testing.
InfoPipe * log
Optional logging pipe for progress and diagnostic output.
Buffer< Model > points_to_intersect
Point-cloud Models to include in intersection testing.
Vertex< 3, fltp08 > origin
The 3-D position of the observer (vantage point).
Bounds< 1, fltp08 > distance_bounds
Min/max distance range for visibility testing.
DesignObjectLookup * lookup
The design object lookup used for scene queries. Must not be null when running.
Bounds< 2, Angle< fltp08 > > bounds
Angular bounds (azimuth and elevation) defining the field of view.
Vector< 2, Angle< fltp08 > > separation
Angular step size (resolution) between rays in azimuth and elevation.