NDEVR
API Documentation
GeometryVertices.h
1#pragma once
2#include "DLLInfo.h"
3#include <NDEVR/Pointer.h>
4#include <NDEVR/Buffer.h>
5#include <NDEVR/Vertex.h>
6#include <NDEVR/Bounds.h>
7#include <NDEVR/RGBColor.h>
8#include <NDEVR/LogPtr.h>
9namespace NDEVR
10{
11 template<uint01 t_dims, class t_type> class RTree;
12 class InfoPipe;
13
49}
A specification of upper and lower bounds in N-dimensions.
Definition Bounds.hpp:54
The equivelent of std::vector but with a bit more control.
Definition Buffer.hpp:58
A light-weight base class for Log that allows processes to update, without the need for additional in...
A light-weight wrapper that will be a no-op if there is not a valid log reference,...
A point in N-dimensional space, used primarily for spatial location information.
Definition Vertex.hpp:44
The primary namespace for the NDEVR SDK.
Defines for a given type (such as sint04, fltp08, UUID, etc) a maximum, minimum, and reserved 'invali...
A container for storing vertex data associated with geometry, including positions,...
Buffer< fltp08 > times
Per-vertex timestamps (e.g., acquisition time).
Bounds< 3, fltp04 > bounds
The axis-aligned bounding box enclosing all positions.
Buffer< RGBColor > colors
Per-vertex RGB colors.
void clearTree()
Clears and deletes the spatial index tree, sorted positions, and marks the tree as invalid.
~GeometryVertices()
Destructor.
void ensureTreeValid(LogPtr log)
Rebuilds the spatial index tree from the current positions if it is not already valid.
bool is_tree_valid
Whether the spatial index tree is currently up-to-date with the positions.
Buffer< Vertex< 3, fltp04 > > positions
The 3D vertex positions.
Buffer< Vertex< 3, fltp04 > > tree_sorted_positions
Positions reordered to match the spatial index tree's internal ordering.
RTree< 3, fltp04 > * tree
Spatial index tree for accelerated spatial queries. Owned by this struct.
Buffer< Ray< 3, fltp04 > > normals
Per-vertex normals stored as 3D rays.
Vertex< 3, fltp08 > offset
A world-space offset applied to positions for double-precision accuracy.