Files
qt5-legatus-legacy/Lts/Services/AreaEffectSimulation/aes_dtc_impl_custom.h
T
2026-08-13 18:33:10 +02:00

52 lines
1.9 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Custom aes dtc functions (extends aes_dtc_impl.cpp/.h)
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include <AreaEffectSimulation/aes_dtc_impl.h>
#include <AreaEffectSimulation/aes_dao.h>
namespace AreaEffectSimulation
{
namespace Interface
{
class DtcImplCustom final : public Interface::DtcImpl
{
Q_OBJECT
public:
using Interface::DtcImpl::DtcImpl;
bool aesItemViewFromEntityId(int entityId, AesType aesType, AesItemView &aesItemView) override;
bool aesItemFromId(int aesId, AesItem &aesItem) override;
AesType aesItemIdFromExternalId(long long externalId, int &aesItemId) override;
bool triggeredImpactsFromEntityId(int entityId, AesType aesType, TriggeredImpacts &triggeredImpacts) override;
bool effectsFromEntityId(int entityId, AesType aesType, Effects &effects) override;
int partyForDusMine(int dusMineId) const override;
QString aesItemNameFromEntityId(int entityId) override;
// works only if just one trajectory exists (context vulcano) :
QVector<TrajectoryTimeAware> trajectoriesTimeAwareFromOriginatorIdAndType(int originatorId, ProjectDataManagement::StateChangeOriginator originatorTypeId) override;
// : works only if just one trajectory exists (context vulcano)
// QVector<TrajectoryTimeAware> trajectoryTimeAwaresFromAesId(int aesId) override;
private:
void initDAO();
AreaEffectSimulation::Dao *m_dao {nullptr};
QVector<Database::AesNContamination> m_nContaminations;
QVector<Database::AesBCContamination> m_bcContaminations;
QVector<Database::AesMineArea> m_mineAreas;
QVector<Database::AesDangerArea> m_dangerAreas;
QVector<Database::AesFunctionalArea> m_functionalAreas;
QVector<Database::AesTechnicalArea> m_technicalAreas;
QVector<Database::AesBoobyTrap> m_boobyTraps;
QVector<Database::AesOffRouteMine> m_offRouteMines;
QVector<Database::AesExplosionCluster> m_explosionClusters;
};
} //Interface
} // namespace AreaEffectSimulation