Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_mine_area_null.h
T
torstenandCopilot 4c9861a469 BUILD_RTI conditional fixes and Qt6 API updates
- cmake/FindRTI.cmake: Add INTERFACE placeholder targets when RTI not found
- cmake/FindRTI.cmake: Force BUILD_RTI=OFF when RTI not installed
- Lts/Common/LtsSession/CMakeLists.txt: Make LtsSessionDataDds conditional on BUILD_RTI
- Lts/Viewer/CMakeLists.txt: Make LtsDataView conditional on BUILD_RTI
- Lts/Plugins/*/CMakeLists.txt: 97 plugin files wrapped in BUILD_RTI conditionals
- cmake/NGLMacros.cmake: Fix NGL_ADD_BIG_RESOURCES macro (removed premature return())
- Multiple Qt6 API fixes: QLinkedList→std::list, QStringRef→QStringView, etc.
- BUILD_RTI_FIXES_SUMMARY.md: Comprehensive documentation of all fixes

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-19 09:24:50 +02:00

64 lines
2.0 KiB
C++
Executable File

/**
* Object for the null mine area (where the unassigned DUS mines belong to)
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include <LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/request_helper.h>
#include "aes_db.h"
#include "object_base.h"
namespace AreaEffectSimulation
{
class ObjectMineAreaNull final : public ObjectBaseTmpl<Database::AesMineArea>
, protected TrainingAreaBase::Interface::Ftc::SendResetAllDusMinesReplyHandler
{
Q_OBJECT
public:
explicit ObjectMineAreaNull(MainHandler *mainHandler,
QObject *parent = nullptr);
~ObjectMineAreaNull();
bool triggerMine(int mineId, bool trigger = true, int chargeTypeId = 0, const QPointF &position = QPointF(), bool publish = true);
bool triggerMine(Database::AesMineAreaTriggeredMines &mine);
void triggerMines(const QList<Database::AesMineAreaTriggeredMines> &mines);
bool resetMine(int mineId);
bool resetMines();
Database::AesMineAreaTriggeredMines takeMine(int mineId);
QList<Database::AesMineAreaTriggeredMines> mines() const {return m_triggeredMines.values();}
bool isDusMineArea() const;
bool isConcreteMine() const;
bool isVirtualMine() const;
bool isVirtualSingleMine() const;
void onSendResetAllDusMinesReply(const Core::FunctionReplyObject &replyObject) override final { m_requestHelper->requestReply(replyObject); }
std::vector<Core::GeoPosition> form() const override { return {}; }
QPolygonF generateForm() override;
AesType aesType() const override { return AesType_def::AtMineArea; }
bool isCentral() const override { return m_data.isCentral; }
int lastConcreteMineNo();
public Q_SLOTS:
void onPublishData() override final;
protected:
void removeTopics();
private:
void publishAiv();
bool publishTriggeredImpacts();
bool publishDusMineStatus();
LtsUtils::RequestHelper *m_requestHelper;
QMap<int, Database::AesMineAreaTriggeredMines> m_triggeredMines; // mineId
AesItemView m_aiv2;
TriggeredImpacts m_tis;
DusMineState m_dms;
int64_t m_setId;
};
} // namespace