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) 2017 VT MAK
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;
34 
38 
41 {
42 public:
43  virtual DtEntityPublisher* createPublisher(const DtEntityType& type, DtExerciseConn* conn,
44 #if DtHLA
45  const DtGlobalObjectDesignator& id,
46 #endif
47  const DtEntityIdentifier& entId);
48 };
49 
51 {
52 public:
53  virtual DtAggregatePublisher* createPublisher(const DtEntityType& type, DtExerciseConn* conn,
54 #if DtHLA
55  const DtGlobalObjectDesignator& id,
56 #endif
57  const DtEntityIdentifier& entId);
58 };
59 
61 {
62 public:
63  virtual DtControlObjectPublisher* createPublisher(const DtEntityType& type, DtExerciseConn* conn,
64 #if DtHLA
65  const DtGlobalObjectDesignator& id,
66 #endif
67  const DtEntityIdentifier& entId);
68 };
69 
71 {
72 public:
73  virtual DtTacticalSmokePublisher* createPublisher(DtExerciseConn* conn,
74 #if DtHLA
75  const DtGlobalObjectDesignator& id,
76 #endif
77  const DtEntityIdentifier& entId);
78 };
79 
81 {
82 public:
83  virtual DtGlobalEnvironmentObjectPublisher* createPublisher(const DtEntityType& type, DtExerciseConn* conn,
84 #if DtHLA
85  const DtGlobalObjectDesignator& id,
86 #endif
87  const DtEntityIdentifier& entId);
88 };
89 
91 {
92 public:
93  virtual DtWeatherObjectPublisher* createPublisher(const DtEntityType& type, DtExerciseConn* conn,
94 #if DtHLA
95  const DtGlobalObjectDesignator& id,
96 #endif
97  const DtEntityIdentifier& entId);
98 };
99 
101 {
102 public:
103  virtual DtCloudLayerPublisher* createPublisher(const DtEntityType& type, DtExerciseConn* conn,
104 #if DtHLA
105  const DtGlobalObjectDesignator& id,
106 #endif
107  const DtEntityIdentifier& entId);
108 };
109 
111 {
112 public:
113  virtual DtEmitterSystemPublisher* createPublisher(DtExerciseConn* conn, const DtGlobalObjectDesignator& hostId, const DtString& name = "");
114 };
115 
117 {
118 public:
119  virtual DtIffPublisher* createPublisher(DtIffAtcNavaidsSysType type, DtExerciseConn* conn, DtIffAtcNavaidsSysName systemName, const DtEntityIdentifier& entityId,
120  const DtGlobalObjectDesignator& hostId, const DtString& name = "", std::vector<DtModeType> enabledModes = { DtMode1, DtMode2, DtMode3A,
121  DtMode3C, DtMode5, DtModeS, DtTCAS });
122 };
123 
125 {
126 public:
127  virtual DtRadioTransmitterPublisher* createPublisher(DtExerciseConn* conn,
128  const DtGlobalObjectDesignator& hostId, const char* name = 0);
129 };
130 
132 {
133 public:
134  virtual DtDesignatorPublisher* createPublisher(DtExerciseConn* conn);
135 };
136 
138 {
139 public:
140  virtual DtRectangularPyramidPublisher* createPublisher(
141  DtExerciseConn* conn, const DtGlobalObjectDesignator& hostId, const DtString& name = "");
142 };
143 
145 {
146 public:
147  virtual DtDynamicTerrainPublisher* createPublisher(DtExerciseConn* conn,
148 #if DtHLA
149  const DtGlobalObjectDesignator& id,
150 #endif
151  const DtEntityIdentifier& entId);
152 };
153 
155 {
156 public:
158  static DtEntityPublisher* createEntityPublisher(const DtEntityType& type, DtExerciseConn* conn,
159 #if DtHLA
160  const DtGlobalObjectDesignator& id = DtGlobalObjectDesignator::nullId(),
161 #endif
162  const DtEntityIdentifier& entId = DtEntityIdentifier::nullId()
163  );
164  static DtAggregatePublisher* createAggregatePublisher(const DtEntityType& type, DtExerciseConn* conn,
165 #if DtHLA
166  const DtGlobalObjectDesignator& id = DtGlobalObjectDesignator::nullId(),
167 #endif
168  const DtEntityIdentifier& entId = DtEntityIdentifier::nullId()
169  );
170  static DtControlObjectPublisher* createControlObjectPublisher(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 DtTacticalSmokePublisher* createTacticalSmokePublisher(DtExerciseConn* conn,
177 #if DtHLA
178  const DtGlobalObjectDesignator& id = DtGlobalObjectDesignator::nullId(),
179 #endif
180  const DtEntityIdentifier& entId = DtEntityIdentifier::nullId());
181 
182  static DtGlobalEnvironmentObjectPublisher* createGlobalEnvironmentObjectPublisher(
183  const DtEntityType& type, DtExerciseConn* conn,
184 #if DtHLA
185  const DtGlobalObjectDesignator& id = DtGlobalObjectDesignator::nullId(),
186 #endif
187  const DtEntityIdentifier& entId = DtEntityIdentifier::nullId()
188  );
189  static DtWeatherObjectPublisher* createWeatherObjectPublisher(
190  const DtEntityType& type, DtExerciseConn* conn,
191 #if DtHLA
192  const DtGlobalObjectDesignator& id = DtGlobalObjectDesignator::nullId(),
193 #endif
194  const DtEntityIdentifier& entId = DtEntityIdentifier::nullId()
195  );
196 
197  static DtCloudLayerPublisher* createCloudLayerPublisher(
198  const DtEntityType& type, DtExerciseConn* conn,
199 #if DtHLA
200  const DtGlobalObjectDesignator& id = DtGlobalObjectDesignator::nullId(),
201 #endif
202  const DtEntityIdentifier& entId = DtEntityIdentifier::nullId()
203  );
204 
205  // The name (only used in HLA 1516 or 1516e) will be set to Emitter + global id to make sure that name reservation does
206  // not fail
207  static DtEmitterSystemPublisher* createEmitterSystemPublisher(DtExerciseConn* conn,
208  const DtGlobalObjectDesignator& hostId, const DtString& name = "");
209  static DtIffPublisher* createIffPublisher(DtIffAtcNavaidsSysType type, DtExerciseConn* conn,
210  DtIffAtcNavaidsSysName systemName, const DtEntityIdentifier& entityId, const DtGlobalObjectDesignator& hostId, const DtString& name = "",
211  std::vector<DtModeType> modeTypesEnabled = { DtMode1, DtMode2, DtMode3A,
212  DtMode3C, DtMode5, DtModeS, DtTCAS });
213 
214  static DtRadioTransmitterPublisher* createRadioTransmitterPublisher(DtExerciseConn* conn,
215  const DtGlobalObjectDesignator& hostId, const char* name = 0);
216  static DtDesignatorPublisher* createDesignatorPublisher(DtExerciseConn* conn);
217 
218  static DtRectangularPyramidPublisher* createSensorFieldOfViewRectangularPyramidPublisher(
219  DtExerciseConn* conn, const DtGlobalObjectDesignator& hostId, const DtString& name = "");
220 
221  static DtDynamicTerrainPublisher* createDynamicTerrainPublisher(DtExerciseConn* conn,
222 #if DtHLA
223  const DtGlobalObjectDesignator& id,
224 #endif
225  const DtEntityIdentifier& entId);
226 
227  static DtVrfVrlinkEntityPublisherFactory* setEntityPublisherFactory(DtVrfVrlinkEntityPublisherFactory*);
228  static DtVrfVrlinkEntityPublisherFactory* entityPublisherFactory();
229 
230  static DtVrfVrlinkAggregatePublisherFactory* setAggregatePublisherFactory(DtVrfVrlinkAggregatePublisherFactory*);
231  static DtVrfVrlinkAggregatePublisherFactory* aggregatePublisherFactory();
232 
233  static DtVrfVrlinkControlObjectPublisherFactory* setControlObjectPublisherFactory(
235  static DtVrfVrlinkControlObjectPublisherFactory* controlObjectPublisherFactory();
236 
237  static DtVrfVrlinkTacticalSmokePublisherFactory* setTacticalSmokePublisherFactory(
239  static DtVrfVrlinkTacticalSmokePublisherFactory* tacticalSmokePublisherFactory();
240 
241  static DtVrfVrlinkGlobalEnvironmentObjectPublisherFactory* setGlobalEnvironmentObjectPublisherFactory(
243  static DtVrfVrlinkGlobalEnvironmentObjectPublisherFactory* globalEnvironmentObjectPublisherFactory();
244 
245  static DtVrfVrlinkWeatherObjectPublisherFactory* setWeatherObjectPublisherFactory(
247  static DtVrfVrlinkWeatherObjectPublisherFactory* weatherObjectPublisherFactory();
248 
249  static DtVrfVrlinkCloudLayerPublisherFactory* setCloudLayerPublisherFactory(
251  static DtVrfVrlinkCloudLayerPublisherFactory* cloudLayerPublisherFactory();
252 
253  static DtEmitterSystemPublisherFactory* setEmitterSystemPublisherFactory(DtEmitterSystemPublisherFactory*);
254  static DtEmitterSystemPublisherFactory* emitterSystemPublisherFactory();
255 
256  static DtIffPublisherFactory* setIffPublisherFactory(DtIffPublisherFactory*);
257  static DtIffPublisherFactory* iffPublisherFactory();
258 
259  static DtRadioTransmitterPublisherFactory* setRadioTransmitterPublisherFactory(DtRadioTransmitterPublisherFactory*);
260  static DtRadioTransmitterPublisherFactory* radioTransmitterPublisherFactory();
261 
262  static DtDesignatorPublisherFactory* setDesignatorPublisherFactory(DtDesignatorPublisherFactory*);
263  static DtDesignatorPublisherFactory* designatorPublisherFactory();
264 
265  static DtSensorFieldOfViewRectangularPyramidPublisherFactory* setSensorFieldOfViewRectangularPyramidPublisherFactory(DtSensorFieldOfViewRectangularPyramidPublisherFactory*);
266  static DtSensorFieldOfViewRectangularPyramidPublisherFactory* SensorFieldOfViewRectangularPyramidPublisherFactory();
267 
268  static DtDynamicTerrainPublisherFactory* setDynamicTerrainPublisherFactory(DtDynamicTerrainPublisherFactory*);
269  static DtDynamicTerrainPublisherFactory* dynamicTerrainPublisherFactory();
270 
271 protected:
272 
286 
287 };
Definition: vrfVrlinkPublisherFactory.h:137
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:131
Definition: vrfVrlinkPublisherFactory.h:116
Definition: vrfVrlinkPublisherFactory.h:144
Definition: vrfVrlinkPublisherFactory.h:124
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:110

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)