53 lines
1.9 KiB
C++
Executable File
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
|