/** * @RDE_HEADER@ * Interface * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include "aes_to_situation_map_tmpl.h" #include #include #include namespace SituationMap { class NContamination2SituationMap; template <> struct Aes2SituationMapTraits { using DDS_TYPE = AreaEffectSimulation::NContamination; using MAP_TYPE = SituationMap::NuclearAgent; static const AreaEffectSimulation::AesType_def::type aesType = AreaEffectSimulation::AesType_def::AtNContamination; }; class NContamination2SituationMap final : public Aes2SituationMap { Q_OBJECT public: using BaseClass = SituationMap::Aes2SituationMap; using BaseClass::BaseClass; bool run() override; bool iterateAesData(const std::function &cb) const { return m_aesDtc->nContaminations(cb); } protected Q_SLOTS: void onPartitionTimeChanged(qint64 newPartitionTime); protected: void updateAllSpheres3D(qint64 newPartitionTime); bool updateSphere3D(RefPointer mapObj, const AreaEffectSimulation::NContamination &data, qint64 newPartitionTime); protected: bool updateElementImpl(const Sim2SituationMap::DDS_T &ddsData, RefPointer mapObj) override; }; } // namespace