Files
qt5-legatus-legacy/Lts/Plugins/AdvancedSymbology/Data/asb_foreign_interface_impl.h
T
2026-08-13 18:33:10 +02:00

70 lines
2.4 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Data Plugin for AdvancedSymbology
* $Id$
* $HeadURL$
* $Author$
* Created by Christian Ehrlicher, SLSE, 2016-02-29
*/
#pragma once
#include <PluginInterfaces/data_plugin_interface.h>
#include <AdvancedSymbology/asb_data_plugin_interface.h>
#include <ProjectDataManagement/pdm_enums.hpp>
#include <Plugins/GuezIedManagement/gim_data_plugin_interface.h>
#include <Symbology/symbol_dictionary.h>
namespace AreaEffectSimulation
{
namespace Interface
{
class Dtc;
}
}
namespace ParticipantManagement
{
namespace Interface
{
class Dtc;
}
}
namespace AdvancedSymbology
{
class ForeignInterfaceImpl final : public QObject, public ForeignDataInterface
{
Q_OBJECT
public:
explicit ForeignInterfaceImpl(const std::shared_ptr<ParticipantManagement::Interface::Dtc> &ppmDtc,
const std::shared_ptr<AreaEffectSimulation::Interface::Dtc> &aesDtc,
const std::shared_ptr<GuezIedManagement::Interface::Dtc> &guezIedDtc);
//
// SymbolDictionary: Access and find methods
//
AdvancedSymbology::SymbolDictionary &getSymbolDictionary(AdvancedSymbology::SymbologyType type) const override;
QSharedPointer<SymbolResult> findImage(const SymbolDictionary &dict, const SymbolDataToRender &symDataToRender) const override;
QSharedPointer<SymbolResult> findImage(const SymbolDataToRender &symDataToRender) const override;
QSharedPointer<SymbolResult> findImage(const ParticipantManagement::Participant &participant, int sizeL = 100, const QColor& desiredColor = QColor()) const override;
QSharedPointer<SymbolResult> findPreview(const SymbolDictionary &dict, const QString &sidc) const override;
QSharedPointer<SymbolResult> findPreview(const QString &sidc) const override;
QSharedPointer<SymbolResult> findBaseSymbol(const SymbolDictionary &dict, const QString &sidc) const override;
QSharedPointer<SymbolResult> findBaseSymbol(const QString &sidc) const override;
AdvancedSymbology::SymbologyType defaultSymbologyType() const override;
private:
static AdvancedSymbology::Injury stateToInjury(const ProjectDataManagement::VulnerabilityState &state);
std::shared_ptr<ParticipantManagement::Interface::Dtc> m_ppmDtc;
std::shared_ptr<AreaEffectSimulation::Interface::Dtc> m_aesDtc;
std::shared_ptr<GuezIedManagement::Interface::Dtc> m_guezIedDtc;
NGL::INGLLogger &m_logger;
};
} // namespace AdvancedSymbology