VR-Link API Documentation for DIS
 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 
74  DtIffPublisher(DtHlaObjectWithStateRep* obj, DtExerciseConn* conn);
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 
138  DtMode1Publisher* myMode1Publisher;
139  DtMode2Publisher* myMode2Publisher;
140  DtMode3APublisher* myMode3APublisher;
141  DtMode3CPublisher* myMode3CPublisher;
142  DtMode4Publisher* myMode4Publisher;
143  DtMode5Publisher* myMode5Publisher;
144  DtModeSPublisher* myModeSPublisher;
145  DtTCASDataPublisher* myTCASDataPublisher;
146  DtSovietPublisher* mySovietPublisher;
147  DtRRBPublisher* myRRBPublisher;
148 
149  std::map<DtModeType, std::wstring> myReservedDataNames;
150  bool myReserveDataModeNames;
151 
152 };
153 
155 {
157 }
158 
160 {
162 }
163 
164 #endif
165 #endif
166 
DtStateRepository * myStateRep
Definition: objectPublisherDIS.h:193
Instances of DtIffPublisher are used to take care of the details associated with publishing the state...
Definition: iffPublisherDIS.h:41
Contains the DtIffStateRepository class declaration.
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Definition: disEnums.h:2109
Defines a protocol independent repository of attributes for IFF objects.
Definition: iffStateRepository.h:39
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: objectPublisherDIS.h:36
Definition: disEnums.h:2115
DtIffAtcNavaidsSysName
Definition: disEnums.h:2129
Definition: disEnums.h:2108
Definition: vlVector.h:162
virtual DtIffStateRepository * iffStateRep()
Get the emitter system state repository for this emitter system publisher.
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
DtObjectPublisher & operator=(const DtObjectPublisher &orig)
assignment operator – not implemented
Definition: disEnums.h:2112
Definition: disEnums.h:2106
Contains the IFF publishers for RPR 3.
virtual bool tick()=0
Tick (update) this object.
Definition: disEnums.h:2111
Definition: disEnums.h:2107
virtual DtIffStateRepository * isr()
Definition: iffPublisherDIS.h:156

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)