70 lines
2.2 KiB
C++
Executable File
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
|