Files
qt5-legatus-legacy/Lts/Proxies/HighLevelArchitecture/Apache/ngs_connector_dis.h
T
2026-08-13 18:33:10 +02:00

53 lines
1.9 KiB
C++
Executable File

/**
* @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<int32_t> &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