Physics Simulation & Visualization Tool 0.1
A C++ physics simulation engine with real-time 3D visualization
Loading...
Searching...
No Matches
FrameGraphWidget.h
Go to the documentation of this file.
1#pragma once
2
3#include <QWidget>
4#include <array>
5#include <memory>
6#include <vector>
7
8#include "Metric.h"
9
10class QComboBox;
11class QLabel;
13
14class FrameGraphWidget : public QWidget {
15 Q_OBJECT
16public:
17 explicit FrameGraphWidget(QWidget* parent = nullptr);
18
19 void setSharedData(std::shared_ptr<const std::vector<ObjectSnapshot>> frames,
20 const std::array<std::pair<float, float>, kPlottableMetricCount>& valueMinMax, float tMin, float tMax);
21 void clear();
22 void setMetric(Metric metric);
23 void setSelectorVisible(bool visible);
24
25private:
26 QComboBox* metricSelector;
27 QLabel* titleLabel;
28 FrameGraphCanvas* canvas;
29 Metric currentMetric = Metric::PositionX;
30};
constexpr std::size_t kPlottableMetricCount
Definition Metric.h:21
Metric
Definition Metric.h:9
void setSelectorVisible(bool visible)
void setSharedData(std::shared_ptr< const std::vector< ObjectSnapshot > > frames, const std::array< std::pair< float, float >, kPlottableMetricCount > &valueMinMax, float tMin, float tMax)
void setMetric(Metric metric)