WIP
This commit is contained in:
parent
696e81433e
commit
89fb6d47d0
@ -1,14 +1,65 @@
|
|||||||
|
|
||||||
|
/// \cond
|
||||||
|
// C headers
|
||||||
|
// C++ headers
|
||||||
|
#include <memory>
|
||||||
|
// 3rd party headers
|
||||||
|
/// \endcond
|
||||||
|
|
||||||
|
// qtrocket headers
|
||||||
|
#include "QtRocket.h"
|
||||||
#include "SimOptionsWindow.h"
|
#include "SimOptionsWindow.h"
|
||||||
#include "ui_SimOptionsWindow.h"
|
#include "ui_SimOptionsWindow.h"
|
||||||
|
|
||||||
|
#include "sim/SimulationOptions.h"
|
||||||
|
|
||||||
SimOptionsWindow::SimOptionsWindow(QWidget *parent) :
|
SimOptionsWindow::SimOptionsWindow(QWidget *parent) :
|
||||||
QMainWindow(parent),
|
QMainWindow(parent),
|
||||||
ui(new Ui::SimOptionsWindow)
|
ui(new Ui::SimOptionsWindow)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
// populate the combo boxes
|
||||||
|
QtRocket* qtrocket = QtRocket::getInstance();
|
||||||
|
|
||||||
|
std::shared_ptr<sim::SimulationOptions> options(new sim::SimulationOptions);
|
||||||
|
std::vector<std::string> atmosphereModels = options->getAvailableAtmosphereModels();
|
||||||
|
std::vector<std::string> gravityModels = options->getAvailableGravityModels();
|
||||||
|
|
||||||
|
for(const auto& i : atmosphereModels)
|
||||||
|
{
|
||||||
|
ui->atmosphereModelCombo->addItem(QString::fromStdString(i));
|
||||||
|
}
|
||||||
|
for(const auto& i : gravityModels)
|
||||||
|
{
|
||||||
|
ui->gravityModelCombo->addItem(QString::fromStdString(i));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SimOptionsWindow::~SimOptionsWindow()
|
SimOptionsWindow::~SimOptionsWindow()
|
||||||
{
|
{
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SimOptionsWindow::on_buttonBox_rejected()
|
||||||
|
{
|
||||||
|
this->close();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void SimOptionsWindow::on_buttonBox_accepted()
|
||||||
|
{
|
||||||
|
QtRocket* qtrocket = QtRocket::getInstance();
|
||||||
|
|
||||||
|
std::shared_ptr<sim::SimulationOptions> options(new sim::SimulationOptions);
|
||||||
|
|
||||||
|
options->setTimeStep(ui->timeStep->text().toDouble());
|
||||||
|
options->setGravityModel(ui->gravityModelCombo->currentText().toStdString());
|
||||||
|
options->setAtmosphereModel(ui->atmosphereModelCombo->currentText().toStdString());
|
||||||
|
qtrocket->setSimulationOptions(options);
|
||||||
|
|
||||||
|
this->close();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -15,6 +15,11 @@ public:
|
|||||||
explicit SimOptionsWindow(QWidget *parent = nullptr);
|
explicit SimOptionsWindow(QWidget *parent = nullptr);
|
||||||
~SimOptionsWindow();
|
~SimOptionsWindow();
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void on_buttonBox_rejected();
|
||||||
|
|
||||||
|
void on_buttonBox_accepted();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::SimOptionsWindow *ui;
|
Ui::SimOptionsWindow *ui;
|
||||||
};
|
};
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
<x>60</x>
|
<x>60</x>
|
||||||
<y>20</y>
|
<y>20</y>
|
||||||
<width>261</width>
|
<width>261</width>
|
||||||
<height>131</height>
|
<height>156</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QFormLayout" name="formLayout">
|
<layout class="QFormLayout" name="formLayout">
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
/// \cond
|
/// \cond
|
||||||
// C headers
|
// C headers
|
||||||
// C++ headers
|
// C++ headers
|
||||||
|
#include <algorithm>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <string>
|
#include <string>
|
||||||
@ -32,9 +33,9 @@ class SimulationOptions
|
|||||||
public:
|
public:
|
||||||
SimulationOptions()
|
SimulationOptions()
|
||||||
{
|
{
|
||||||
setTimeStep(0.01);
|
//setTimeStep(0.01);
|
||||||
setGravityModel("Constant Gravity");
|
//setGravityModel("Constant Gravity");
|
||||||
setAtmosphereModel("Constant Atmosphere");
|
//setAtmosphereModel("Constant Atmosphere");
|
||||||
}
|
}
|
||||||
~SimulationOptions() = default;
|
~SimulationOptions() = default;
|
||||||
SimulationOptions(const SimulationOptions&) = delete;
|
SimulationOptions(const SimulationOptions&) = delete;
|
||||||
@ -42,6 +43,22 @@ public:
|
|||||||
SimulationOptions& operator=(const SimulationOptions&) = delete;
|
SimulationOptions& operator=(const SimulationOptions&) = delete;
|
||||||
SimulationOptions& operator=(SimulationOptions&&) = delete;
|
SimulationOptions& operator=(SimulationOptions&&) = delete;
|
||||||
|
|
||||||
|
std::vector<std::string> getAvailableGravityModels()
|
||||||
|
{
|
||||||
|
std::vector<std::string> retVal(gravityModels.size());
|
||||||
|
std::transform(gravityModels.begin(), gravityModels.end(), std::back_inserter(retVal),
|
||||||
|
[](auto& i) { return i.first; });
|
||||||
|
return retVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<std::string> getAvailableAtmosphereModels()
|
||||||
|
{
|
||||||
|
std::vector<std::string> retVal(atmosphereModels.size());
|
||||||
|
std::transform(atmosphereModels.begin(), atmosphereModels.end(), std::back_inserter(retVal),
|
||||||
|
[](auto& i) { return i.first; });
|
||||||
|
return retVal;
|
||||||
|
}
|
||||||
|
|
||||||
void setTimeStep(double t) { timeStep = t; }
|
void setTimeStep(double t) { timeStep = t; }
|
||||||
void setGravityModel(const std::string& model)
|
void setGravityModel(const std::string& model)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user