VR-Link API Documentation for HLA 4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
iffPublisherHLA.h
Go to the documentation of this file.
1 #ifndef iffPublisherHLA_H_
2 #define iffPublisherHLA_H_
3 
4 #if DtHLA
5 
6 #include "objectPublisherHLA.h"
7 #include "iffStateRepository.h"
8 #include "iffDataPublishers.h"
9 
13 
15 
23 
25 {
26 public:
27 
29  typedef DtIffStateRepository* (*DtStateRepCreator)();
30 
31 public:
32 
35  DtIffStateRepository *stateRepToUse,
36  DtExerciseConn* conn,
37  const char* name = 0,
38  const DtDDMRegionSet* regionSetToUse = 0);
39 
47  DtExerciseConn* conn,
48  DtIffAtcNavaidsSysName systemName, //systemName enum
49  DtEntityIdentifier entityId,
50  DtVector32 relativePosition = DtVector32::zero(),
51  std::vector<DtModeType> enabledModes = {DtMode1, DtMode2, DtMode3A,
52  DtMode3C, DtMode5, DtModeS, DtTCAS }, const char* name = 0,
53  const DtDDMRegionSet* regionSetToUse = 0);
54 
57  RTI::ObjectClassHandle h,
58  DtExerciseConn* conn,
59  const char* name = 0,
60  const DtDDMRegionSet* regionSetToUse = 0);
61 
65  DtExerciseConn* conn,
66  const char* name = 0,
67  const DtDDMRegionSet* regionSetToUse = 0);
68 
75 
77  virtual ~DtIffPublisher();
78 
80  virtual bool tick();
81 
84  virtual DtIffStateRepository* iffStateRep();
85 
87  virtual DtIffStateRepository* isr();
88 
89 #if DtHLA_1516_EVOLVED
90  virtual void enableAddtionalModes();
94 #endif
95 
96 public:
97 
99  static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
100 
101 protected:
102 
108  const char* name = 0,
109  const DtDDMRegionSet* regionSetToUse = 0);
110 
112  DtIffPublisher(const DtIffPublisher& orig);
113 
116 
120  const char* objectClassNameFromType(DtIffAtcNavaidsSysType type);
121 
122 protected:
123 
124  static DtStateRepCreator theStateRepCreator;
125 
126 protected:
127 
128  // IFF publisher creates IFFData publishers for RPR FOM V3.0+
135  virtual void initIffDataPublishers(DtExerciseConn* conn, const char* name,
136  const DtDDMRegionSet* regionSetToUse, DtIffAtcNavaidsSysType type, std::vector<DtModeType>* enabledModesPtr = 0);
137 
148 
149  std::map<DtModeType, std::wstring> myReservedDataNames;
151 
152 };
153 
155 {
157 }
158 
160 {
162 }
163 
164 #endif
165 #endif
166 
DtStateRepository * myStateRep
Definition: objectPublisherHLA.h:221
class DtIffPublisher:
Definition: iffPublisherHLA.h:24
Contains the DtIffStateRepository class declaration.
DtSovietPublisher * mySovietPublisher
Definition: iffPublisherHLA.h:146
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Definition: disEnums.h:2109
DtTCASDataPublisher * myTCASDataPublisher
Definition: iffPublisherHLA.h:145
Instances of DtMode2Publisher publish IFFData.Mode2 objects to the network.
Definition: iffDataPublishers.h:212
Defines a protocol independent repository of attributes for IFF objects.
Definition: iffStateRepository.h:39
bool myReserveDataModeNames
Definition: iffPublisherHLA.h:150
Instances of DtMode5Publisher publish IFFData.Mode5 objects to the network.
Definition: iffDataPublishers.h:580
DtIffAtcNavaidsSysType
Definition: disEnums.h:2141
static const DtVector32 & zero()
Get a zeroed vector.
Instances of DtObjectPublisher are used for local or source simulations of objects, (i.e.
Definition: objectPublisherHLA.h:34
std::set< DtDDMRegionSP > DtDDMRegionSet
Definition: region13.h:34
Instances of DtModeSPublisher publish IFFData.ModeS objects to the network.
Definition: iffDataPublishers.h:673
DtModeSPublisher * myModeSPublisher
Definition: iffPublisherHLA.h:144
Definition: disEnums.h:2115
DtRRBPublisher * myRRBPublisher
Definition: iffPublisherHLA.h:147
Instances of DtSovietPublisher publish IFFData.Soviet objects to the network.
Definition: iffDataPublishers.h:858
DtIffAtcNavaidsSysName
Definition: disEnums.h:2129
DtMode4Publisher * myMode4Publisher
Definition: iffPublisherHLA.h:142
Definition: disEnums.h:2108
virtual bool tick()
Tick (update) this object.
Definition: vlVector.h:162
DtMode3CPublisher * myMode3CPublisher
Definition: iffPublisherHLA.h:141
DtMode5Publisher * myMode5Publisher
Definition: iffPublisherHLA.h:143
DtMode1Publisher * myMode1Publisher
Definition: iffPublisherHLA.h:138
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
Instances of DtMode1Publisher publish IFFData.Mode1 objects to the network.
Definition: iffDataPublishers.h:118
DtMode2Publisher * myMode2Publisher
Definition: iffPublisherHLA.h:139
DtObjectPublisher & operator=(const DtObjectPublisher &orig)
assignment operator – not implemented
Instances of DtMode4Publisher publish IFFData.Mode4 objects to the network.
Definition: iffDataPublishers.h:488
std::map< DtModeType, std::wstring > myReservedDataNames
Definition: iffPublisherHLA.h:149
Instances of DtTCASDataPublisher publish IFFData.TCASData objects to the network. ...
Definition: iffDataPublishers.h:766
static DtStateRepCreator theStateRepCreator
Definition: iffPublisherHLA.h:124
Definition: disEnums.h:2112
Definition: disEnums.h:2106
Contains the IFF publishers for RPR 3.
Instances of DtMode3APublisher publish IFFData.Mode3A objects to the network.
Definition: iffDataPublishers.h:304
Instances of DtRRBPublisher publish IFFData.RRB objects to the network.
Definition: iffDataPublishers.h:951
virtual DtIffStateRepository * iffStateRep()
Returns a pointer to the IffStateRepository - through which you can set current state information...
Definition: iffPublisherHLA.h:154
Definition: disEnums.h:2111
Definition: disEnums.h:2107
virtual DtIffStateRepository * isr()
Synonym for iffStateRep()
Definition: iffPublisherHLA.h:159
DtMode3APublisher * myMode3APublisher
Definition: iffPublisherHLA.h:140
This file provides a declaration of the class DtObjectPublisher.
Instances of DtMode3CPublisher publish IFFData.ModeC objects to the network.
Definition: iffDataPublishers.h:396
class DtHlaObjectWithStateRep:
Definition: hlaObjectWithStateRep.h:28

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)