API Documentation
Loading...
Searching...
No Matches
PolylineMaker.h
Go to the documentation of this file.
1#pragma once
2#include <NDEVR/LineSegment.h>
3#include <NDEVR/Dictionary.h>
4#include <NDEVR/Buffer.h>
5namespace NDEVR
6{
7 /**--------------------------------------------------------------------------------------------------
8 \brief Given random line segments, constructs a polyline when the vertices match. Used in Parameter
9 slicing.
10 *-----------------------------------------------------------------------------------------------**/
12 {
13 public:
14 /**--------------------------------------------------------------------------------------------------
15 \brief Initializes with a series of vertices that will be possible nodes of the polyline
16 *-----------------------------------------------------------------------------------------------**/
18 /**--------------------------------------------------------------------------------------------------
19 \brief Adds a segment and creates indices, if needed into the index cache.
20 *-----------------------------------------------------------------------------------------------**/
22 /**--------------------------------------------------------------------------------------------------
23 \brief Returns a list of all calcuated polylines, with each buffer representing a different polyline
24 based off of the initial vertex list
25 *-----------------------------------------------------------------------------------------------**/
27 private:
28 Dictionary<uint04, Buffer<uint04>*> m_index_cache_right;
29 Dictionary<uint04, Buffer<uint04>*> m_index_cache_left;//leftmost nodes of completed polylines
30 Dictionary<Vertex<3, fltp04>, uint04> m_vertex_cache;
31 Buffer<Vertex<3, fltp04>>& m_polyline_vertices;
32 Buffer<Buffer<uint04>> m_completed_polys;
33 };
34}
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:59
A hash-based key-value store, useful for quick associative lookups.
Definition Dictionary.h:59
A line segment represented by two vertices, a start and end.
Definition Line.hpp:49
Given random line segments, constructs a polyline when the vertices match. Used in Parameter.
Definition PolylineMaker.h:12
void addSegment(const LineSegment< 3, fltp04 > &seg)
Adds a segment and creates indices, if needed into the index cache.
Buffer< Buffer< uint04 > > getCalculatedPolylineIndices() const
Returns a list of all calcuated polylines, with each buffer representing a different polyline.
PolylineMaker(Buffer< Vertex< 3, fltp04 > > &polyline_vertices)
Initializes with a series of vertices that will be possible nodes of the polyline.
A vertex or point. A specific type of Vector used primarily for spacial location information.
Definition Vertex.hpp:48
Definition ACIColor.h:37
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:94