/** * @RDE_HEADER@ * AreaEffectManangement - Explosion Cluster Overview Dialog Model * $Id$ * $HeadURL$ * $Author$ * * Created by Norbert Thoden, SLSE, 2023-12-15 */ #pragma once #include #include namespace AreaEffectSimulation { // // Model for ExplosionsCluster (Artillery and/or Mortar and/or AirSupport // class AESEFFECTCLUSTERMODEL_EXPORT EffectClusterModel : public AesGuiBaseModel { 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 &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 m_gearClasses; }; } // namespace AreaEffectSimulation