Physics Simulation & Visualization Tool 0.1
A C++ physics simulation engine with real-time 3D visualization
Loading...
Searching...
No Matches
SolverDialog.h
Go to the documentation of this file.
1#pragma once
2
3#include <QDialog>
4#include <QMap>
5#include <string>
6#include <unordered_map>
7
8class QComboBox;
9class ProblemRouter;
10class Vector3Widget;
11class ScalarWidget;
12namespace Physics { class PhysicsBody; }
13
14class SolverDialog : public QDialog {
15 Q_OBJECT
16
17public:
18 SolverDialog(const ProblemRouter* router, Physics::PhysicsBody* body, QWidget* parent = nullptr);
19
20 std::unordered_map<std::string, double> getCollectedKnowns() const;
21 std::string getTargetUnknown() const;
22private slots:
23 void updateUiState();
24 void onSolveClicked();
25
26private:
27 void setupUi();
28 const ProblemRouter* router;
29 Physics::PhysicsBody* targetBody;
30
31 QComboBox* targetCombo;
32
33 QMap<QString, Vector3Widget*> vectorInputs;
34 QMap<QString, ScalarWidget*> scalarInputs;
35};
std::unordered_map< std::string, double > getCollectedKnowns() const
std::string getTargetUnknown() const