Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
@@ -0,0 +1,63 @@
|
||||
/**
|
||||
* Object for the null mine area (where the unassigned DUS mines belong to)
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <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
|
||||
Reference in new issue
Block a user