NDEVR
API Documentation
GeometryLineworkCharts.h
1#pragma once
2#include <NDEVR/NDEVRChart.h>
3#include <NDEVR/Model.h>
4#include <NDEVR/SnapLocation.h>
5namespace NDEVR
6{
10 class TopDownLineworkChart : public NDEVRRadialChart
11 {
12 Q_OBJECT
13 public:
16 TopDownLineworkChart(QWidget* parent = nullptr);
20 void updateData(const Buffer<Model>& models, bool align_with_scan);
24 void updateData(const Buffer<Model>& models, const Matrix<fltp08>& transform);
25 protected:
31 void addModel(const Model& deployment, const TranslatedString& point_names, const Matrix<fltp08>& transform, QPen pen);
35 void updateHint(TranslatedString title, const Vertex<3, fltp08>& vertex);
36 signals:
43 void onModelClickedSignal(const UUID& id, uint04 segment_index);
48 void onModelHoveredSignal(const UUID& id, uint04 segment_index, bool hovered);
49 protected slots:
50 void onHoveredSlot(const Vertex<3, fltp08>& vertex);
51 void clickedSlot(const PlotData& plot_data, Vertex<3, fltp08> vertex);
52 void hoveredSlot(const PlotData& plot_data, Vertex<3, fltp08> vertex, bool hovered);
53 protected:
55 };
56}
The equivelent of std::vector but with a bit more control.
Definition Buffer.hpp:58
Templated logic for doing matrix multiplication.
Definition Matrix.hpp:182
A core class that represents a node on model hierarchy.
Definition Model.h:292
void onSceneHoveredSignal(const Vertex< 3, fltp08 > &vertex)
Emitted when the user hovers over the chart background.
TopDownLineworkChart(QWidget *parent=nullptr)
Construct the top-down linework chart.
void onModelHoveredSignal(const UUID &id, uint04 segment_index, bool hovered)
Emitted when the user hovers over or leaves a model segment.
void onModelClickedSignal(const UUID &id, uint04 segment_index)
Emitted when the user clicks on a model segment in the chart.
void updateHint(TranslatedString title, const Vertex< 3, fltp08 > &vertex)
Update the tooltip hint with the given title and vertex position.
void updateData(const Buffer< Model > &models, bool align_with_scan)
Update the chart with model data, optionally aligning to the scan orientation.
void addModel(const Model &deployment, const TranslatedString &point_names, const Matrix< fltp08 > &transform, QPen pen)
Add a single model's linework to the chart.
Buffer< UUID > m_ids
UUIDs of models currently plotted.
void updateData(const Buffer< Model > &models, const Matrix< fltp08 > &transform)
Update the chart with model data using an explicit transform.
Any text displayed to the user should be defined as a TranslatedString which allows the program to lo...
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
Definition UUID.h:61
A point in N-dimensional space, used primarily for spatial location information.
Definition Vertex.hpp:44
The primary namespace for the NDEVR SDK.
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
@ transform
A 4x4 transform matrix that maps local coordinates into global space.