NDEVR
API Documentation
DeploymentCharts.h
1#pragma once
2#include "DLLInfo.h"
3#include <NDEVR/NDEVRChart.h>
4#if NDEVR_DEPLOYMENT
5#include <NDEVR/Deployment.h>
6#include <NDEVR/SnapLocation.h>
7namespace NDEVR
8{
9 class Deployment;
13 class TopDownDeploymentChart : public NDEVRRadialChart
14 {
15 public:
16 TopDownDeploymentChart(QWidget* parent = nullptr);
17 void updateData(const Buffer<Deployment>& deployments, bool align_with_hole);
18 void updateData(const Buffer<Deployment>& deployments, const Matrix<fltp08>& transform);
19 protected:
20 void addDeployment(const Deployment& deployment, const TranslatedString& point_names, const Matrix<fltp08>& transform, QPen pen);
21 protected:
22 Buffer<UUID> m_deployment_ids;
23 };
27 class SideViewDeploymentChart : public NDEVRChart
28 {
29 Q_OBJECT
30 public:
31 explicit SideViewDeploymentChart(QWidget* parent = nullptr);
32 void updateData(const Buffer<Deployment>& deployments, SnapLocation snap_location);
33 void updateData(const Buffer<Deployment>& deployments, const Matrix<fltp08>& transform);
34 void setLockedAxes(bool locked_axes);
35 bool hasLockedAxes() const;
36 signals:
37 void onDeploymentClickedSignal(const UUID& deployment, uint04 segment_index);
38 void onDeploymentHoveredSignal(const UUID& deployment, uint04 segment_index, bool hovered);
39 private slots:
40 void clickedSlot(const PlotData& plot_data, Vertex<3, fltp08> vertex);
41 void hoveredSlot(const PlotData& plot_data, Vertex<3, fltp08> vertex, bool hovered);
42 protected:
43 void drawOriginAxis(fltp08 size);
44 void addDeployment(const Deployment& deployment, const StringView& point_names, const Matrix<fltp08>& transform, QPen pen);
45 protected:
46 QValueAxis* m_bot_axis;
47 QValueAxis* m_left_axis;
48 Buffer<UUID> m_deployment_ids;
49 bool m_is_updating_chart = false;
50 };
51}
52#endif
Default base chart for 2D line or scatter plots within the NDEVR API.
Definition NDEVRChart.h:17
Default radial (round) base chart for 2D line or scatter plots within the NDEVR API.
Definition NDEVRChart.h:95
The primary namespace for the NDEVR SDK.