3#include <NDEVR/String.h>
5#include <NDEVR/Pointer.h>
6#include <NDEVR/Polyline.h>
16 class NDEVR_CHARTS_API NDEVRChart :
public QChartView
27 bool operator==(
const PlotData& plot_data)
const
29 return value == plot_data.value && line_data == plot_data.line_data && point_data == plot_data.point_data;
32 NDEVRChart(QWidget* parent =
nullptr);
33 NDEVRChart(QChart* chart, QWidget* parent =
nullptr);
34 bool event(QEvent* event)
override;
36 void setDarkThemed(
bool dark);
38 void addData(
const PlotData& value);
39 void setData(
const PlotData& value);
41 void setLockedAxes(
bool locked_axes) { m_locked_axes = locked_axes; }
42 void setPointSize(
fltp04 point_size) { m_point_size = point_size; }
43 void setLineSize(
fltp04 line_size) { m_line_size = line_size; }
54 virtual void prepareAxes();
56 void mouseMoveEvent(QMouseEvent* event)
override;
57 void mousePressEvent(QMouseEvent* event)
override;
58 void mouseReleaseEvent(QMouseEvent* event)
override;
64 void onSeriesHoveredSignal(
const PlotData& plot_data,
Vertex<3, fltp08> vertex,
bool hovered);
67 void onSeriesHoveredSlot(
uint04 index,
const QPointF& point,
bool state);
68 void onSeriesClickedSlot(
uint04 index,
const QPointF& point);
70 virtual void plotData(
uint04 index);
73 fltp04 getDefaultMarkerSize()
const;
74 fltp04 getDefaultLineSize()
const;
75 fltp04 getLineSize()
const;
76 fltp04 getMarkerSize()
const;
81 bool m_is_dark =
true;
82 bool m_locked_axes =
true;
94 class NDEVR_CHARTS_API NDEVRRadialChart :
public NDEVRChart
97 NDEVRRadialChart(QWidget* parent =
nullptr);
100 void plotData(
uint04 index)
override;
101 void prepareAxes()
override;
103 QValueAxis* m_radial_axis;
104 QValueAxis* m_angular_axis;
105 QPolarChart* m_chart;
A specification of upper and lower bounds in N-dimensions.
The equivelent of std::vector but with a bit more control.
Provides a constant, unmodifiable pointer that has shared ownership of a dynamically allocated object...
Templated logic for doing matrix multiplication.
A sequence of connected line segments defined by ordered vertices along a path.
The core String View class for the NDEVR API.
Any text displayed to the user should be defined as a TranslatedString which allows the program to lo...
A point in N-dimensional space, used primarily for spatial location information.
The primary namespace for the NDEVR SDK.
float fltp04
Defines an alias representing a 4 byte floating-point number Bit layout is as follows: -Sign: 1 bit a...
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Defines for a given type (such as sint04, fltp08, UUID, etc) a maximum, minimum, and reserved 'invali...