Files
qt5-legatus-legacy/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_create_simulation_dialog.h
T
2026-08-13 18:33:10 +02:00

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