VR-Engage  2.2
Loading...
Searching...
No Matches
vreSelectConnectionPageDriverHLA.h
Go to the documentation of this file.
1/*******************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4*******************************************************************************/
5
6//! \file vreSelectConnectionPageDriverHLA.h
7//! \brief Defines the HLA-specific connection driver for VR-Engage
8//!
9//! This file contains the DtVreSelectConnectionPageDriverHLA class which provides
10//! the implementation of a connection driver for the High-Level Architecture (HLA)
11//! protocol. It exposes HLA-specific configuration properties to the connection
12//! selection UI and handles the persistence of HLA federation and federate settings.
13
14#pragma once
15
18
19#include <QObject>
20
21namespace makVre
22{
23//! \brief HLA protocol connection driver for the connection selection UI
24//!
25//! DtVreSelectConnectionPageDriverHLA is a specialized connection driver for
26//! the High-Level Architecture (HLA) protocol. It provides properties and methods
27//! for configuring HLA-specific connection settings such as federation name,
28//! federate name, FOM modules, and various behavioral flags. This class exposes
29//! these properties to QML for the connection selection UI and manages their
30//! persistence in the application's configuration.
32{
33 Q_OBJECT;
34
36 Q_PROPERTY(QString fedFileName READ getFedFileName WRITE setFedFileName NOTIFY fedFileNameChanged);
37 Q_PROPERTY(QString federateType READ getFederateType WRITE setFederateType NOTIFY federateTypeChanged);
38 Q_PROPERTY(QString federateName READ getFederateName WRITE setFederateName NOTIFY federateNameChanged);
39 Q_PROPERTY(QString fomMapperLib READ getFomMapperLib WRITE setFomMapperLib NOTIFY fomMapperLibChanged);
42 Q_PROPERTY(
44 Q_PROPERTY(int siteId READ getSiteId WRITE setSiteId NOTIFY siteIdChanged);
45 Q_PROPERTY(int appNumber READ getAppNumber WRITE setAppNumber NOTIFY appNumberChanged);
51 Q_PROPERTY(
57 Q_PROPERTY(QStringList fomModules READ getFomModules WRITE setFomModules NOTIFY fomModulesChanged);
62
63public:
64 //! \brief Constructor
65 //! \param parent Optional parent QObject for memory management
66 //!
67 //! Creates a new HLA connection driver with default property values.
68 explicit DtVreSelectConnectionPageDriverHLA(QObject* parent = nullptr);
69
70 //! \brief Destructor
71 //!
72 //! Cleans up resources used by the HLA connection driver.
74
75 //! \brief Sets driver data from a message
76 //! \param msg Pointer to the message containing HLA driver configuration data
77 //!
78 //! Parses and applies HLA-specific configuration data from a message.
79 //! This is typically called when loading saved configurations or
80 //! receiving updates from the network subsystem.
81 virtual void setData(makVre::DtVreMessage* msg) override;
82
83 //! \brief Saves the current HLA driver configuration
84 //!
85 //! Collects the current HLA configuration properties and sends them
86 //! to the network subsystem for persistence and activation. This is
87 //! typically called when the user confirms changes to the connection settings.
88 virtual Q_INVOKABLE void save() override;
89
90 QString getFederationName() const;
91 QString getFedFileName() const;
92 QString getFederateType() const;
93 QString getFederateName() const;
94 QString getFomMapperLib() const;
96 QString getFomMapperInitData() const;
97 int getSiteId() const;
98 int getAppNumber() const;
99 qreal getRprFomVersion() const;
100 int getRprFomRevision() const;
101 bool getUseAdvisories() const;
107 QStringList getFomModules() const;
110
111public slots:
112 void setFederationName(QString);
113 void setFedFileName(QString);
114 void setFederateType(QString);
115 void setFederateName(QString);
116 void setFomMapperLib(QString);
118 void setFomMapperInitData(QString);
119 void setSiteId(int);
120 void setAppNumber(int);
121 void setRprFomVersion(qreal);
129 void setFomModules(QStringList);
132
133signals:
135 void fedFileNameChanged(QString);
136 void federateTypeChanged(QString);
137 void federateNameChanged(QString);
138 void fomMapperLibChanged(QString);
141 void siteIdChanged(int);
151 void fomModulesChanged(QStringList);
154
155protected:
156 //! \brief Name of the HLA federation to join
158
159 //! \brief Path to the Federation Execution Data (FED) file
161
162 //! \brief Type of the federate in the federation
164
165 //! \brief Name of this federate in the federation
167
168 //! \brief Library to use for FOM mapping
170
171 //! \brief Flag to use absolute timestamps in updates
173
174 //! \brief Initialization data for the FOM mapper
176
177 //! \brief Site ID for HLA
179
180 //! \brief Application number for HLA
182
183 //! \brief RPR FOM version number
185
186 //! \brief RPR FOM revision number
188
189 //! \brief Flag to use HLA advisories
191
192 //! \brief Flag to use geographic DDM
194
195 //! \brief Flag to publish observer entities
197
198 //! \brief Flag to enable view control
200
201 //! \brief Flag to override global view control settings
203
204 //! \brief Flag to use topographic data for flat earth vector conversion
206
207 //! \brief List of FOM modules to load
208 QStringList myFomModules;
209
210 //! \brief Local settings designator for RTI configuration
212
213 //! \brief Frame time for connections in seconds
215};
216} // namespace makVre
Abstract base class for all VREngage messages.
Definition vreMessage.h:50
bool viewControlEnabled
Definition vreSelectConnectionPageDriverHLA.h:52
QString localSettingsDesignator
Definition vreSelectConnectionPageDriverHLA.h:59
QString fomMapperLib
Definition vreSelectConnectionPageDriverHLA.h:39
QStringList myFomModules
List of FOM modules to load.
Definition vreSelectConnectionPageDriverHLA.h:208
bool myUseGeographicDdm
Flag to use geographic DDM.
Definition vreSelectConnectionPageDriverHLA.h:193
QString fedFileName
Definition vreSelectConnectionPageDriverHLA.h:36
QString myFederationName
Name of the HLA federation to join.
Definition vreSelectConnectionPageDriverHLA.h:157
QString myFederateType
Type of the federate in the federation.
Definition vreSelectConnectionPageDriverHLA.h:163
QString myFomMapperLib
Library to use for FOM mapping.
Definition vreSelectConnectionPageDriverHLA.h:169
QString federationName
Definition vreSelectConnectionPageDriverHLA.h:35
DtVreSelectConnectionPageDriverHLA(QObject *parent=nullptr)
Constructor.
qreal rprFomVersion
Definition vreSelectConnectionPageDriverHLA.h:46
QString myFederateName
Name of this federate in the federation.
Definition vreSelectConnectionPageDriverHLA.h:166
bool myUseTopoForFlatEarthVectorConversion
Flag to use topographic data for flat earth vector conversion.
Definition vreSelectConnectionPageDriverHLA.h:205
bool useAbsoluteTimeStamps
Definition vreSelectConnectionPageDriverHLA.h:41
QStringList fomModules
Definition vreSelectConnectionPageDriverHLA.h:57
bool myViewControlEnabled
Flag to enable view control.
Definition vreSelectConnectionPageDriverHLA.h:199
bool useTopoForFlatEarthVectorConversion
Definition vreSelectConnectionPageDriverHLA.h:56
virtual ~DtVreSelectConnectionPageDriverHLA() override
Destructor.
virtual void setData(makVre::DtVreMessage *msg) override
Sets driver data from a message.
int myAppNumber
Application number for HLA.
Definition vreSelectConnectionPageDriverHLA.h:181
QString myFedFileName
Path to the Federation Execution Data (FED) file.
Definition vreSelectConnectionPageDriverHLA.h:160
QString myLocalSettingsDesignator
Local settings designator for RTI configuration.
Definition vreSelectConnectionPageDriverHLA.h:211
bool myPublishObservers
Flag to publish observer entities.
Definition vreSelectConnectionPageDriverHLA.h:196
QString fomMapperInitData
Definition vreSelectConnectionPageDriverHLA.h:43
int rprFomRevision
Definition vreSelectConnectionPageDriverHLA.h:47
bool overrideGlobalViewControl
Definition vreSelectConnectionPageDriverHLA.h:54
qreal connectionFrameTime
Definition vreSelectConnectionPageDriverHLA.h:61
bool useGeographicDdm
Definition vreSelectConnectionPageDriverHLA.h:49
QString federateName
Definition vreSelectConnectionPageDriverHLA.h:38
QString federateType
Definition vreSelectConnectionPageDriverHLA.h:37
QString myFomMapperInitData
Initialization data for the FOM mapper.
Definition vreSelectConnectionPageDriverHLA.h:175
qreal myConnectionFrameTime
Frame time for connections in seconds.
Definition vreSelectConnectionPageDriverHLA.h:214
int siteId
Definition vreSelectConnectionPageDriverHLA.h:44
bool myUseAdvisories
Flag to use HLA advisories.
Definition vreSelectConnectionPageDriverHLA.h:190
bool useAdvisories
Definition vreSelectConnectionPageDriverHLA.h:48
int myRprFomRevision
RPR FOM revision number.
Definition vreSelectConnectionPageDriverHLA.h:187
int mySiteId
Site ID for HLA.
Definition vreSelectConnectionPageDriverHLA.h:178
int appNumber
Definition vreSelectConnectionPageDriverHLA.h:45
bool myOverrideGlobalViewControl
Flag to override global view control settings.
Definition vreSelectConnectionPageDriverHLA.h:202
bool myUseAbsoluteTimeStamps
Flag to use absolute timestamps in updates.
Definition vreSelectConnectionPageDriverHLA.h:172
virtual Q_INVOKABLE void save() override
Saves the current HLA driver configuration.
qreal myRprFomVersion
RPR FOM version number.
Definition vreSelectConnectionPageDriverHLA.h:184
bool publishObservers
Definition vreSelectConnectionPageDriverHLA.h:50
DtVreSelectConnectionPageDriver(QObject *parent=nullptr)
Constructor.
Defines export macros for the VR-Engage Player Station library.
#define PLAYERSTATION_DLL
Definition export.h:24
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
Defines the base class for connection drivers in VR-Engage.