- 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>
64 lines
2.0 KiB
C++
Executable File
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
|