Files
qt5-legatus-legacy/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_effect_cluster_model.h
T
2026-08-13 18:33:10 +02:00

70 lines
2.2 KiB
C++
Executable File

/**
* @RDE_HEADER@
* AreaEffectManangement - Explosion Cluster Overview Dialog Model
* $Id$
* $HeadURL$
* $Author$
*
* Created by Norbert Thoden, SLSE, 2023-12-15
*/
#pragma once
#include <Plugins/AreaEffectSimulation/Gui/Base/aes_base_model.h>
#include <Plugins/AreaEffectSimulation/Gui/Explosion/aeseffectclustermodel_export.h>
namespace AreaEffectSimulation
{
//
// Model for ExplosionsCluster (Artillery and/or Mortar and/or AirSupport
//
class AESEFFECTCLUSTERMODEL_EXPORT EffectClusterModel : public AesGuiBaseModel<EffectCluster>
{
Q_OBJECT
public:
enum AdditionalColumns
{
ColGearType = BcCount,
ColIgniterType = BcCount + 1,
ColFiringPosition = BcCount + 2,
ColExplosionGeometry = BcCount + 3,
ColTlaZog = BcCount + 4,
ColMhPointCount = BcCount + 5,
ColMhpRotationCount = BcCount + 6,
ColImpactCount = BcCount + 7,
ColAnnotationString = BcCount + 8,
ColZpElement = BcCount + 9,
ColOriginalFlightDuration = BcCount + 10, // origional...
ColOriginalPeakHeight = BcCount + 11, // origional...
ColCalculatedFlightDuration = BcCount + 12, // calculated...
ColCalculatedPeakHeight = BcCount + 13,
ColCalculatedFiringSpeed = BcCount + 14,
ColLaunchVelocity = BcCount + 15, // more or less requested velocity, value is transfered to calculatedFiringSpeed
ColLaunchAngleDeg = BcCount + 16,
ColDropAngle = BcCount + 17,
ColTapTimepoint = BcCount + 18,
ColLcAttack_Prf = BcCount + 19,
ColLcTermination = BcCount + 20,
ColCloudBase = BcCount + 21,
}; // origional...
EffectClusterModel(const QVector<ProjectDataManagement::GearClass> &gcs, QObject *parent);
bool initModel(LtsSession::LtsSession *session) override;
QVariant data(const QModelIndex &idx, int role) const override;
public slots:
void onExplosionClusterDataChanged(const ExplosionCluster &data, const DataModification &mod);
protected:
void toolTipHelper(const EffectClusterModel *model, const QModelIndex &idx, int col, QString &toolTipStringInOut) const;
EffectCluster toEffectCluster(const ExplosionCluster &data);
QVector<ProjectDataManagement::GearClass> m_gearClasses;
};
} // namespace AreaEffectSimulation