/** * @RDE_HEADER@ * NGSConnector class for using DIS protocol * $Id$ * $HeadURL$ * $Author$ * Created by Hannes Baeuerle, SLSE, 2016-01-28 */ #pragma once #include "ngsconnector_new.h" namespace rpr2 { class IPlayerLifeformObjInstance; class IPlayerPlatformObjInstance; // Todo: Remove later: class TacticalStatusStruct; class IPlayerBaseEntityObjInstance; class IPlayerPhysicalEntityObjInstance; } namespace HighLevelArchitecture { class NgsConnectorDis : public NgsConnector { Q_OBJECT public: NgsConnectorDis(const QString &fedName, MainHandler *mainHandler); // bool addAggregateEntity(const ParticipantInformation &playerData, // const dds::core::vector &children) override; bool addHuman(const ParticipantInformation &participantData, const rpr2::TacticalStatusStruct &state) ; //override; bool addGroundVehicle(const ParticipantInformation &participantData, const rpr2::TacticalStatusStruct &state) ; // override; bool addAircraft(const ParticipantInformation &participantData, const rpr2::TacticalStatusStruct &state) ; // override; // bool addVessel(const ParticipantInformation &participantData, // const rpr2::TacticalStatusStruct &state) override; private: bool addBaseEntityAttributes(rpr2::IPlayerBaseEntityObjInstance *playerInstance, const ParticipantInformation &partData); void addPhysicalEntityAttributes(rpr2::IPlayerPhysicalEntityObjInstance *playerInstance, const ParticipantInformation &partData, const rpr2::TacticalStatusStruct &state); void addLifeFormEntityAttributes(rpr2::IPlayerLifeformObjInstance *playerInstance); void addPlatformEntityAttributes(rpr2::IPlayerPlatformObjInstance *playerInstance); }; } // namespace HighLevelArchitecture