123 lines
2.5 KiB
C++
Executable File
123 lines
2.5 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* $Id: ppm_msdl_edit.h 52239 2020-10-05 11:33:12Z thoden $
|
|
* $HeadURL: svn://192.168.133.21/TDS/branches/product/features/3dws_devel/Lts/Plugins/ParticipantManagement/Gui/MSDL/ppm_msdl_edit.h $
|
|
* $Author: thoden $
|
|
* Created by Hannes Fritsche, ESZS, 2024-08-05
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <LtsWidgets/lts_dialog.h>
|
|
#include <NGLLogger/INGLLogger.h>
|
|
|
|
namespace FileManagement
|
|
{
|
|
namespace Interface
|
|
{
|
|
class Dtc;
|
|
class Ftc;
|
|
}
|
|
}
|
|
|
|
namespace InfrastructureManagement
|
|
{
|
|
class FootprintElement;
|
|
|
|
namespace Interface
|
|
{
|
|
class Dtc;
|
|
}
|
|
}
|
|
|
|
namespace LtsSession
|
|
{
|
|
class LtsSession;
|
|
}
|
|
|
|
namespace ParticipantManagement
|
|
{
|
|
|
|
namespace Interface
|
|
{
|
|
class Dtc;
|
|
}
|
|
}
|
|
|
|
namespace ProjectDataManagement
|
|
{
|
|
class ForeignGuiInterface;
|
|
namespace Interface
|
|
{
|
|
class Dtc;
|
|
}
|
|
}
|
|
|
|
namespace SituationMap
|
|
{
|
|
class ForeignGuiInterface;
|
|
}
|
|
|
|
namespace Ui
|
|
{
|
|
class CreateSimulationDialog;
|
|
}
|
|
|
|
namespace CollateralDamageSimulation
|
|
{
|
|
class PdfCreator;
|
|
class PlanCreator;
|
|
class SimulationDialog;
|
|
|
|
class CreateSimulationDialog : public LtsWidgets::LtsDialog
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit CreateSimulationDialog(QWidget *parent = nullptr);
|
|
|
|
~CreateSimulationDialog();
|
|
|
|
bool init(LtsSession::LtsSession *session);
|
|
|
|
void retranslate() override final;
|
|
|
|
private slots:
|
|
void onChargeTypeChanged(int index);
|
|
void onIgniterTypeChanged(int index);
|
|
void onPositionClicked();
|
|
void onCoordinate(const QPointF &coordinate);
|
|
|
|
private: // methods
|
|
bool apply() override;
|
|
bool has2DMap();
|
|
void drawDetonationArea();
|
|
void fillCharges();
|
|
double getCurrentImpactRadius() const;
|
|
double getLethalRadius() const;
|
|
double getNonLethalRadius() const;
|
|
int getFolderId() const;
|
|
bool isNameValid(const QString &name) const;
|
|
|
|
private: // attributes
|
|
Ui::CreateSimulationDialog *m_ui;
|
|
|
|
LtsSession::LtsSession *m_session { nullptr };
|
|
|
|
SimulationDialog *m_simulationDialog { nullptr };
|
|
|
|
PlanCreator *m_planCreator { nullptr };
|
|
PdfCreator *m_pdfCreator { nullptr };
|
|
|
|
std::shared_ptr<SituationMap::ForeignGuiInterface> m_sitMapGuiIfc;
|
|
std::shared_ptr<ProjectDataManagement::Interface::Dtc> m_pdmDtc;
|
|
std::shared_ptr<ParticipantManagement::Interface::Dtc> m_ppmDtc;
|
|
std::shared_ptr<InfrastructureManagement::Interface::Dtc> m_ismDtc;
|
|
std::shared_ptr<FileManagement::Interface::Dtc> m_flmDtc;
|
|
std::shared_ptr<ProjectDataManagement::ForeignGuiInterface> m_pdmCbx;
|
|
|
|
|
|
};
|
|
|
|
} // namespace CollateralDamageSimulation
|