/** * Handler for one indirect fire single object * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include "aes_db.h" #include "object_base.h" namespace AreaEffectSimulation { class ObjectAirSupportImpact final : public ObjectBaseTmpl { Q_OBJECT public: explicit ObjectAirSupportImpact(MainHandler *mainHandler, QObject *parent = nullptr); ~ObjectAirSupportImpact(); Core::FunctionReplyObject updateObject(const Database::AesAirSupportImpact &data) override; std::vector form() const override { return m_aiv.form(); } QPolygonF generateForm() override; AesType aesType() const override { return AesType::AtAirSupportImpact; } bool isCentral() const override { return m_data.isCentral; } void removeTopics(); protected Q_SLOTS: void onPublishData() override; protected: double chargeRadius() const; void publishAiv(); private: AesItemView m_aiv; }; }