/** * ModuleTests for Msg * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include #include #include #include #include #include #include #include #include #include namespace CentralEffectSimulation { class CesTestsSmart : public QObject , protected TrainingAreaBase::Interface::Fts::SendCesHitRequestHandler { Q_OBJECT public: explicit CesTestsSmart(QObject *parent = nullptr); ~CesTestsSmart(); bool init(int domainId, int exerciseId, int testId); bool testsSuccessful() const { return m_bTestsSuccessful; } public Q_SLOTS: void startTest(); protected Q_SLOTS: // //////////////////////// // Participants // //////////////////////// void tryCreateParticipantPosition(); void tryCreateParticipant(); void tryCreateDynamicParticipantData(); void tryCreateTypeVehicle(); void tryCreateTypeSoldier(); void tryCreateAesItemViewSingleExplosion(); void tryCreateChargeType(); void tryCreatePrepareExplosionSingle(); void tryCreateExplosionSingle(); void failExit(); void ExitSuccess(); protected: private: // methods void checkParticipantEvent(); void onSendCesHitRequest(const rti::core::SampleIdentity &cookie, const TrainingAreaBase::SendCesHitRequest &request) override; private: // structs struct Participant { int participantId; int participantTypeId; int equipmentNumber; int partyId; int buildingId; int roomId; int relX; int relY; }; private: Core::FunctionReplyObject fillFro(int participantId, bool bSuccess) const; private: std::shared_ptr m_ddsConnector; std::shared_ptr m_ddsConnector42; std::shared_ptr m_aesDts; std::shared_ptr m_pdmDts; std::shared_ptr m_ppmDts; std::shared_ptr m_cesDtc; std::shared_ptr m_cesFtc; std::shared_ptr m_tabFts; bool m_bTestsSuccessful; LtsCoordTrans::UtmCoordinate m_housePos; NGL::INGLLogger &m_logger; int m_testId; int m_participantIndex; int m_DynamicParticipantIndex; int m_originatorParticipantId; int m_aesItemId; QVector m_participants; int m_buildingId; int m_roomId; AreaEffectSimulation::AesType m_aesType; QPointF m_explosionSingle; int m_chargeTypeId; }; } // namespace CentralEffectSimulation