MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrHlaSimInterface.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef lgrHlaSimInterface_H_
11 #define lgrHlaSimInterface_H_
12 
13 #if DtHLA
14 
15 #include <lgrSim/lgrSim.h>
19 
20 #include <vector>
21 #include <vlutil/vlString.h>
22 
23 class DtHlaTAFilter;
24 
25 namespace MAKLogger
26 {
27  class DtBaseFomDesc;
28  class DtLogger;
29  class DtLgrHlaSimDriver;
30  class DtLgrHlaCommandFactory;
31  class DtLgrDisEntityTypeManager;
32  class DtLgrHlaConfigData;
33 
34 
39  {
40  public:
41 
43 
45  static DtLgrHlaSimInterface* create(DtLogger&);
46 
48  static DtLgrSimInterface* createBase(DtLogger&);
49 
52  static DtLgrHlaSimInterface* createNonThreadsafe(DtLogger& logger,
53  const DtLgrHlaSimDriver& driver);
54 
55  public:
56 
57  virtual ~DtLgrHlaSimInterface();
58 
60  virtual void setConnectionParametersHLA(
61  const DtString& federateType,
62  const DtString& federationName,
63  const DtString& fedFile,
64  bool ignoreAdvisories, double fomVersion, int fomRevision,
65  bool useMatrexFom, const DtString& matrexFomMapperData,
66  const DtString& fomMapper, const DtString& fomMapperData, bool useEmptyFomMapper, bool noRtiCompilerCheck) const;
67 
69  virtual void setConnectionParametersHLAe(
70  const DtString& federateName,
71  const DtString& federateType,
72  const DtString& federationName,
73  const DtString& fedFile,
74  const std::vector<DtString>& fomModules,
75  const DtString& mim,
76  bool ignoreAdvisories, double fomVersion, int fomRevision,
77  bool useMatrexFom, const DtString& matrexFomMapperData,
78  const DtString& fomMapper, const DtString& fomMapperData, bool useEmptyFomMapper, bool noRtiCompilerCheck) const;
79 
81  virtual void setSiteApp(int siteId, int appNumber) const;
82 
84  virtual void setSubscriptionLists(const std::vector<DtString>& objectClasses,
85  const std::vector<DtString>& interactionClasses) const;
86 
88  virtual void addTrafficAnalyzerFilter(DtHlaTAFilter* filter) const;
89 
91  virtual void removeTrafficAnalyzerFilter(DtHlaTAFilter* filter) const;
92 
94  virtual DtLgrProtocolId protocolId() const;
95 
97  virtual void getLoggerName(DtString& name) const;
98 
100  virtual const DtString& federateType() const;
101 
103  virtual const DtString& federationName() const;
104 
106  virtual const DtString& fedFile() const;
107 
109  virtual bool ignoreAdvisories() const;
110 
112  virtual bool saveTrafficAnalyzerConfigurationEnabled() const;
113 
115  virtual void enableSaveTrafficAnalyzerConfiguration(bool enable) const;
116 
118  virtual bool trafficAnalyzerEnabled() const;
119 
121  virtual void enableTrafficAnalyzer(bool enable) const;
122 
124  virtual bool requestUpdatesEnabled() const;
125 
127  virtual void enableRequestUpdates(bool enable) const;
128 
130  virtual bool sendOnlyUpdatedValuesEnabled() const;
131 
133  virtual void enableSendOnlyUpdatedValues(bool enable) const;
134 
136  virtual bool passiveSubscriptionEnabled() const;
137 
139  virtual void enablePassiveSubscription(bool enable) const;
140 
142  virtual double fomVersion() const;
143 
145  virtual int fomRevision() const;
146 
148  virtual bool useMatrexFomMapper() const;
149 
151  virtual const DtString& matrexFomMapperData() const;
152 
154  virtual const DtString& fomMapper() const;
155 
157  virtual const DtString& fomMapperData() const;
158 
160  virtual bool useEmptyFomMapper() const;
161 
163  virtual const DtString& federateName() const;
164 
166  virtual const std::vector<DtString>& fomModules() const;
167 
169  virtual const DtString& mim() const;
170 
172  virtual const DtBaseFomDesc* fomDescription() const;
173 
175  virtual const std::vector<DtString>& objectSubscriptionList() const;
176 
178  virtual const std::vector<DtString>& interactionSubscriptionList() const;
179 
181  virtual const bool isTimeConstrained() const;
182 
184  virtual const bool isTimeRegulating() const;
185 
187  virtual const double lookAhead() const;
188 
190  virtual bool timeManagementEnabled() const;
191 
193  virtual double drainInputMaxTime() const;
194 
196  virtual double drainInputMinTime() const;
197 
199  virtual void setDrainInputSettings(double maxTime, double minTime) const;
200 
202  virtual void setTimeManagementSettings(bool constrainedRecording,
203  bool constrainedPlayback,bool regulatingRecording, bool regulatingPlayback,
204  double lookahead) const;
205 
207  virtual bool timeConstrainedRecording() const;
208 
210  virtual bool timeConstrainedPlayback() const;
211 
213  virtual bool timeRegulatingRecording() const;
214 
216  virtual bool timeRegulatingPlayback() const;
217 
219  virtual void setEntityTypeManager(const DtLgrDisEntityTypeManager& mgr) const;
220 
222  virtual const DtLgrDisEntityTypeManager* entityTypeManager() const;
223 
225  virtual bool connectionSettingsMatchInputFile( DtString& filename );
226 
228  virtual void useRecommendedSettings();
229 
231  virtual void stripPathFromFomModules();
232 
233  virtual bool rtiCompilerCheck() const;
234 
235  protected:
236 
238  DtLgrHlaSimInterface(DtLogger& logger, const DtLgrHlaSimDriver& driver);
239 
241  void connectResponseHandler(DtLgrCommandId id,
242  void (DtLgrHlaSimInterface::* function)(DtResponse));
243 
245 
246 
247  void connectionParametersHLAChanged(DtResponse);
248  void connectionParametersHLAeChanged(DtResponse);
249  void siteAppNumberChanged(DtResponse);
250  void fomChanged(DtResponse);
251  void subscriptionListsChanged(DtResponse);
252  void timeManagementSettingsChanged(DtResponse);
253  void timeManagementEnabledChanged(DtResponse);
254  void drainInputSettingsChanged(DtResponse);
255  void ignoreAdvisoriesChanged(DtResponse response);
256  void trafficAnalyzerChanged(DtResponse response);
257  void saveTrafficAnalyzerConfigurationChanged(DtResponse response);
258  void entityTypeManagerChanged(DtResponse response);
259  void requestUpdatesChanged(DtResponse response);
260  void sendOnlyUpdatedValuesChanged(DtResponse response);
261  void passiveSubscriptionChanged(DtResponse response);
263 
264 
265  protected:
266  double myFomVersion;
275  std::vector<DtString> myFomModules;
278  int mySiteId;
280  std::vector<DtString> myObjectSubscriptionList;
281  std::vector<DtString> myInteractionSubscriptionList;
284  double myLookAhead;
297 
302 
304 
306 
307  };
308 
309 }
310 
311 #endif
312 
313 #endif
DtString myMatrexFomMapperData
Definition: lgrHlaSimInterface.h:269
DtString myFederationName
Definition: lgrHlaSimInterface.h:272
bool myTimeRegulatingRecording
Definition: lgrHlaSimInterface.h:299
Factory for create HLA simulation commands.
Definition: lgrHlaSimCommandFactory.h:28
The class responsible for interfacing with the simulation in a protocol independent manner...
Definition: lgrSimInterface.h:34
Contains MAKLogger::DtLgrSimInterface subclass of MAKLogger::DtCommandInterface.
double myDrainInputMaxTime
Definition: lgrHlaSimInterface.h:286
Defines IMPORT/EXPORT macros for lgrSim library.
#define DT_DLL_LGRSIM
Definition: lgrSim.h:21
bool myRequestUpdates
Definition: lgrHlaSimInterface.h:293
DtBaseFomDesc * myFomDescription
Definition: lgrHlaSimInterface.h:277
bool myTimeConstrainedPlayback
Definition: lgrHlaSimInterface.h:300
DtString myFederateName
Definition: lgrHlaSimInterface.h:274
HLA specific driver for controlling the simulation.
Definition: lgrHlaSimDriver.h:36
int myAppNumber
Definition: lgrHlaSimInterface.h:279
Managers known DIS entity types.
Definition: lgrDisEntityTypeManager.h:21
bool myIgnoreAdvisories
Definition: lgrHlaSimInterface.h:288
bool mySendOnlyUpdatedValues
Definition: lgrHlaSimInterface.h:294
Contains DT_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFAULTS DT_VIRTUAL_COPY_ASSIGN DT_VIRTUAL_BASE_CTR DT_PURE_VI...
Definition: hlaTAFilter.h:15
DtLgrDisEntityTypeManager * myEntityTypeManager
Definition: lgrHlaSimInterface.h:303
DtLgrHlaCommandFactory Factory
Definition: lgrHlaSimInterface.h:42
DtString myFedFile
Definition: lgrHlaSimInterface.h:273
bool myUseEmptyFomMapper
Definition: lgrHlaSimInterface.h:291
DtString myFederateType
Definition: lgrHlaSimInterface.h:271
bool myPassiveSubscription
Definition: lgrHlaSimInterface.h:295
DtString myFomMapper
Definition: lgrHlaSimInterface.h:268
bool myNoRtiCompilerCheck
Definition: lgrHlaSimInterface.h:296
Stores information about HLA logger configuration.
Definition: lgrHlaConfigData.h:20
bool myTimeConstrainedRecording
Definition: lgrHlaSimInterface.h:298
double myDrainInputMinTime
Definition: lgrHlaSimInterface.h:287
bool myUseMatrexFomMapper
Definition: lgrHlaSimInterface.h:292
bool myTimeRegulatingPlayback
Definition: lgrHlaSimInterface.h:301
bool myTimeManagedEnabledFlag
Definition: lgrHlaSimInterface.h:285
std::vector< DtString > myObjectSubscriptionList
Definition: lgrHlaSimInterface.h:280
std::vector< DtString > myInteractionSubscriptionList
Definition: lgrHlaSimInterface.h:281
DtString myMim
Definition: lgrHlaSimInterface.h:276
unsigned char DtLgrProtocolId
Definition: lgrCommand.h:24
std::vector< DtString > myFomModules
Definition: lgrHlaSimInterface.h:275
DtLgrHlaConfigData myHlaConfigData
Definition: lgrHlaSimInterface.h:305
DtString myFomMapperData
Definition: lgrHlaSimInterface.h:270
int mySiteId
Definition: lgrHlaSimInterface.h:278
std::shared_ptr< const DtCommand > DtResponse
Definition: lgrCommand.h:175
DtLogger provides the core system structure and controls the execution model for the underlying objec...
Definition: logger.h:35
double myFomVersion
Definition: lgrHlaSimInterface.h:266
int myFomRevision
Definition: lgrHlaSimInterface.h:267
Interface for HLA simulation.
Definition: lgrHlaSimInterface.h:38
Contains MAKLogger::DtLgrHlaConfigData class.
short DtLgrCommandId
Definition: lgrCommand.h:25
bool mySaveTrafficAnalyzerConfigurationEnabled
Definition: lgrHlaSimInterface.h:290
double myLookAhead
Definition: lgrHlaSimInterface.h:284
bool myTrafficAnalyzerEnabled
Definition: lgrHlaSimInterface.h:289
class DtBaseFomDesc:
Definition: baseFomDesc1516.h:88
bool myIsTimeConstrainedFlag
Definition: lgrHlaSimInterface.h:282
bool myIsTimeRegulatingFlag
Definition: lgrHlaSimInterface.h:283

Document ID: Generated on Thu Dec 18 15:35:09 EST 2025 from SVN revision 282494
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)