VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfVrlinkPublisherFactory.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2025 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
15 
16 #include <vl/globalObjectDesignator.h>
17 #include <vl/iffPublisher.h>
18 
19 class DtEntityPublisher;
22 class DtAggregatePublisher;
27 class DtExerciseConn;
28 class DtEntityType;
29 class DtIffPublisher;
30 class DtRadioTransmitterPublisher;
31 class DtDesignatorPublisher;
35 
36 #if DtHLA
37 class DtHlaObjectWithStateRep;
38 #endif
39 
43 
46 {
47 public:
48  virtual DtEntityPublisher* createPublisher(const DtEntityType& type, DtExerciseConn* conn,
49 #if DtHLA
50  const DtGlobalObjectDesignator& id,
51 #endif
52  const DtEntityIdentifier& entId);
53  virtual DtEntityPublisher* createPublisher(
54 #if DtHLA
55  DtHlaObjectWithStateRep* obj,
56 #else
58 #endif
59  DtExerciseConn* conn);
60 };
61 
63 {
64 public:
65  virtual DtAggregatePublisher* createPublisher(const DtEntityType& type, DtExerciseConn* conn,
66 #if DtHLA
67  const DtGlobalObjectDesignator& id,
68 #endif
69  const DtEntityIdentifier& entId);
70 };
71 
73 {
74 public:
75  virtual DtControlObjectPublisher* createPublisher(const DtEntityType& type, DtExerciseConn* conn,
76 #if DtHLA
77  const DtGlobalObjectDesignator& id,
78 #endif
79  const DtEntityIdentifier& entId);
80 };
81 
83 {
84 public:
85  virtual DtTacticalSmokePublisher* createPublisher(DtExerciseConn* conn,
86 #if DtHLA
87  const DtGlobalObjectDesignator& id,
88 #endif
89  const DtEntityIdentifier& entId);
90 };
91 
93 {
94 public:
95  virtual DtGlobalEnvironmentObjectPublisher* createPublisher(const DtEntityType& type, DtExerciseConn* conn,
96 #if DtHLA
97  const DtGlobalObjectDesignator& id,
98 #endif
99  const DtEntityIdentifier& entId);
100 };
101 
103 {
104 public:
105  virtual DtWeatherObjectPublisher* createPublisher(const DtEntityType& type, DtExerciseConn* conn,
106 #if DtHLA
107  const DtGlobalObjectDesignator& id,
108 #endif
109  const DtEntityIdentifier& entId);
110 };
111 
113 {
114 public:
115  virtual DtCloudLayerPublisher* createPublisher(const DtEntityType& type, DtExerciseConn* conn,
116 #if DtHLA
117  const DtGlobalObjectDesignator& id,
118 #endif
119  const DtEntityIdentifier& entId);
120 };
121 
123 {
124 public:
125  virtual DtEmitterSystemPublisher* createPublisher(DtExerciseConn* conn, const DtGlobalObjectDesignator& hostId, const DtString& name = "");
126 };
127 
129 {
130 public:
131  virtual DtIffPublisher* createPublisher(DtIffAtcNavaidsSysType type, DtExerciseConn* conn, DtIffAtcNavaidsSysName systemName, const DtEntityIdentifier& entityId,
132  const DtGlobalObjectDesignator& hostId, const DtString& name = "", std::vector<DtModeType> enabledModes = { DtMode1, DtMode2, DtMode3A,
133  DtMode3C, DtMode5, DtModeS, DtTCAS });
134 };
135 
137 {
138 public:
139  virtual DtRadioTransmitterPublisher* createPublisher(DtExerciseConn* conn,
140  const DtGlobalObjectDesignator& hostId, const char* name = 0);
141 };
142 
144 {
145 public:
146  virtual DtDesignatorPublisher* createPublisher(DtExerciseConn* conn);
147 };
148 
150 {
151 public:
152  virtual DtRectangularPyramidPublisher* createPublisher(
153  DtExerciseConn* conn, const DtGlobalObjectDesignator& hostId, const DtString& name = "");
154 };
155 
157 {
158 public:
159  virtual DtDynamicTerrainPublisher* createPublisher(DtExerciseConn* conn,
160 #if DtHLA
161  const DtGlobalObjectDesignator& id,
162 #endif
163  const DtEntityIdentifier& entId);
164 };
165 
167 {
168 public:
170  static DtEntityPublisher* createEntityPublisher(const DtEntityType& type, DtExerciseConn* conn,
171 #if DtHLA
172  const DtGlobalObjectDesignator& id = DtGlobalObjectDesignator::nullId(),
173 #endif
174  const DtEntityIdentifier& entId = DtEntityIdentifier::nullId()
175  );
176  static DtEntityPublisher* createEntityPublisher(
177 #if DtHLA
178  DtHlaObjectWithStateRep* obj,
179 #else
181 #endif
182  DtExerciseConn* conn
183  );
184 
185  static DtAggregatePublisher* createAggregatePublisher(const DtEntityType& type, DtExerciseConn* conn,
186 #if DtHLA
187  const DtGlobalObjectDesignator& id = DtGlobalObjectDesignator::nullId(),
188 #endif
189  const DtEntityIdentifier& entId = DtEntityIdentifier::nullId()
190  );
191  static DtControlObjectPublisher* createControlObjectPublisher(const DtEntityType& type, DtExerciseConn* conn,
192 #if DtHLA
193  const DtGlobalObjectDesignator& id = DtGlobalObjectDesignator::nullId(),
194 #endif
195  const DtEntityIdentifier& entId = DtEntityIdentifier::nullId()
196  );
197  static DtTacticalSmokePublisher* createTacticalSmokePublisher(DtExerciseConn* conn,
198 #if DtHLA
199  const DtGlobalObjectDesignator& id = DtGlobalObjectDesignator::nullId(),
200 #endif
201  const DtEntityIdentifier& entId = DtEntityIdentifier::nullId());
202 
203  static DtGlobalEnvironmentObjectPublisher* createGlobalEnvironmentObjectPublisher(
204  const DtEntityType& type, DtExerciseConn* conn,
205 #if DtHLA
206  const DtGlobalObjectDesignator& id = DtGlobalObjectDesignator::nullId(),
207 #endif
208  const DtEntityIdentifier& entId = DtEntityIdentifier::nullId()
209  );
210  static DtWeatherObjectPublisher* createWeatherObjectPublisher(
211  const DtEntityType& type, DtExerciseConn* conn,
212 #if DtHLA
213  const DtGlobalObjectDesignator& id = DtGlobalObjectDesignator::nullId(),
214 #endif
215  const DtEntityIdentifier& entId = DtEntityIdentifier::nullId()
216  );
217 
218  static DtCloudLayerPublisher* createCloudLayerPublisher(
219  const DtEntityType& type, DtExerciseConn* conn,
220 #if DtHLA
221  const DtGlobalObjectDesignator& id = DtGlobalObjectDesignator::nullId(),
222 #endif
223  const DtEntityIdentifier& entId = DtEntityIdentifier::nullId()
224  );
225 
226  // The name (only used in HLA 1516 or 1516e) will be set to Emitter + global id to make sure that name reservation does
227  // not fail
228  static DtEmitterSystemPublisher* createEmitterSystemPublisher(DtExerciseConn* conn,
229  const DtGlobalObjectDesignator& hostId, const DtString& name = "");
230  static DtIffPublisher* createIffPublisher(DtIffAtcNavaidsSysType type, DtExerciseConn* conn,
231  DtIffAtcNavaidsSysName systemName, const DtEntityIdentifier& entityId, const DtGlobalObjectDesignator& hostId, const DtString& name = "",
232  std::vector<DtModeType> modeTypesEnabled = { DtMode1, DtMode2, DtMode3A,
233  DtMode3C, DtMode5, DtModeS, DtTCAS });
234 
235  static DtRadioTransmitterPublisher* createRadioTransmitterPublisher(DtExerciseConn* conn,
236  const DtGlobalObjectDesignator& hostId, const char* name = 0);
237  static DtDesignatorPublisher* createDesignatorPublisher(DtExerciseConn* conn);
238 
239  static DtRectangularPyramidPublisher* createSensorFieldOfViewRectangularPyramidPublisher(
240  DtExerciseConn* conn, const DtGlobalObjectDesignator& hostId, const DtString& name = "");
241 
242  static DtDynamicTerrainPublisher* createDynamicTerrainPublisher(DtExerciseConn* conn,
243 #if DtHLA
244  const DtGlobalObjectDesignator& id,
245 #endif
246  const DtEntityIdentifier& entId);
247 
248  static DtVrfVrlinkEntityPublisherFactory* setEntityPublisherFactory(DtVrfVrlinkEntityPublisherFactory*);
249  static DtVrfVrlinkEntityPublisherFactory* entityPublisherFactory();
250 
251  static DtVrfVrlinkAggregatePublisherFactory* setAggregatePublisherFactory(DtVrfVrlinkAggregatePublisherFactory*);
252  static DtVrfVrlinkAggregatePublisherFactory* aggregatePublisherFactory();
253 
254  static DtVrfVrlinkControlObjectPublisherFactory* setControlObjectPublisherFactory(
256  static DtVrfVrlinkControlObjectPublisherFactory* controlObjectPublisherFactory();
257 
258  static DtVrfVrlinkTacticalSmokePublisherFactory* setTacticalSmokePublisherFactory(
260  static DtVrfVrlinkTacticalSmokePublisherFactory* tacticalSmokePublisherFactory();
261 
262  static DtVrfVrlinkGlobalEnvironmentObjectPublisherFactory* setGlobalEnvironmentObjectPublisherFactory(
264  static DtVrfVrlinkGlobalEnvironmentObjectPublisherFactory* globalEnvironmentObjectPublisherFactory();
265 
266  static DtVrfVrlinkWeatherObjectPublisherFactory* setWeatherObjectPublisherFactory(
268  static DtVrfVrlinkWeatherObjectPublisherFactory* weatherObjectPublisherFactory();
269 
270  static DtVrfVrlinkCloudLayerPublisherFactory* setCloudLayerPublisherFactory(
272  static DtVrfVrlinkCloudLayerPublisherFactory* cloudLayerPublisherFactory();
273 
274  static DtEmitterSystemPublisherFactory* setEmitterSystemPublisherFactory(DtEmitterSystemPublisherFactory*);
275  static DtEmitterSystemPublisherFactory* emitterSystemPublisherFactory();
276 
277  static DtIffPublisherFactory* setIffPublisherFactory(DtIffPublisherFactory*);
278  static DtIffPublisherFactory* iffPublisherFactory();
279 
280  static DtRadioTransmitterPublisherFactory* setRadioTransmitterPublisherFactory(DtRadioTransmitterPublisherFactory*);
281  static DtRadioTransmitterPublisherFactory* radioTransmitterPublisherFactory();
282 
283  static DtDesignatorPublisherFactory* setDesignatorPublisherFactory(DtDesignatorPublisherFactory*);
284  static DtDesignatorPublisherFactory* designatorPublisherFactory();
285 
286  static DtSensorFieldOfViewRectangularPyramidPublisherFactory* setSensorFieldOfViewRectangularPyramidPublisherFactory(DtSensorFieldOfViewRectangularPyramidPublisherFactory*);
287  static DtSensorFieldOfViewRectangularPyramidPublisherFactory* SensorFieldOfViewRectangularPyramidPublisherFactory();
288 
289  static DtDynamicTerrainPublisherFactory* setDynamicTerrainPublisherFactory(DtDynamicTerrainPublisherFactory*);
290  static DtDynamicTerrainPublisherFactory* dynamicTerrainPublisherFactory();
291 
292 protected:
293 
307 
308 };
Definition: vrfVrlinkPublisherFactory.h:149
Instances of DtDynamicTerrainPublisher publish DynamicTerrain objects to the network.
Definition: dynamicTerrainPublisherDIS.h:27
This class will wrap a VR-Link DtEnvironmentalProcessPublisher to allow for easier creation of a publ...
Definition: cloudLayerPublisher.h:22
This class will wrap a VR-Link DtEnvironmentalProcessPublisher to allow for easier creation of a publ...
Definition: tacticalSmokePublisher.h:22
This class will wrap a VR-Link DtEnvironmentalProcessPublisher to allow for easier creation of a publ...
Definition: weatherObjectPublisher.h:21
Contains the DtVrfObjectIdGenerator class declaration.
Definition: vrfVrlinkPublisherFactory.h:143
Definition: vrfVrlinkPublisherFactory.h:128
Definition: vrfVrlinkPublisherFactory.h:156
Definition: vrfVrlinkPublisherFactory.h:136
Instances of DtRectangularPyramidPublisher publish SensorFieldOfView.RectangularPyramid objects to th...
Definition: rectangularPyramidPublisherDIS.h:25
This class will wrap a VR-Link DtEnvironmentalProcessPublisher to allow for easier creation of a publ...
Definition: controlObjectPublisher.h:31
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23
This class will wrap a VR-Link DtEnvironmentalProcessPublisher to allow for easier creation of a publ...
Definition: globalEnvironmentObjectPublisher.h:21
Definition: vrfVrlinkPublisherFactory.h:122

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)