8 #ifndef reflectedIffListHLA_H_
9 #define reflectedIffListHLA_H_
41 const DtDDMRegionSet* regionSetToUse = 0,
50 RTI::ObjectInstanceHandle
id);
52 RTI::ObjectHandle id);
63 virtual void addIffAdditionCallback(
65 virtual void removeIffAdditionCallback(
69 virtual void addIffRemovalCallback(
71 virtual void removeIffRemovalCallback(
83 virtual const DtList* dfltHandleList();
87 const DtDDMRegionSet* regionSetToUse );
125 virtual void processIffDataAddition( DtReflectedIFFData* data );
126 virtual void processIffDataUpdate( DtReflectedIFFData* data );
127 virtual void processIffDataRemoval( DtReflectedIFFData* data );
129 virtual void processMode1DataAddition(DtReflectedMode1* data);
130 virtual void processMode1DataUpdate(DtReflectedMode1* data);
131 virtual void processMode1DataRemoval(DtReflectedMode1* data);
133 virtual void processMode2DataAddition(DtReflectedMode2* data);
134 virtual void processMode2DataUpdate(DtReflectedMode2* data);
135 virtual void processMode2DataRemoval(DtReflectedMode2* data);
137 virtual void processMode3ADataAddition(DtReflectedMode3A* data);
138 virtual void processMode3ADataUpdate(DtReflectedMode3A* data);
139 virtual void processMode3ADataRemoval(DtReflectedMode3A* data);
141 virtual void processMode3CDataAddition(DtReflectedMode3C* data);
142 virtual void processMode3CDataUpdate(DtReflectedMode3C* data);
143 virtual void processMode3CDataRemoval(DtReflectedMode3C* data);
145 virtual void processMode4DataAddition(DtReflectedMode4* data);
146 virtual void processMode4DataUpdate(DtReflectedMode4* data);
147 virtual void processMode4DataRemoval(DtReflectedMode4* data);
149 virtual void processMode5DataAddition(DtReflectedMode5* data);
150 virtual void processMode5DataUpdate(DtReflectedMode5* data);
151 virtual void processMode5DataRemoval(DtReflectedMode5* data);
153 virtual void processModeSDataAddition(DtReflectedModeS* data);
154 virtual void processModeSDataUpdate(DtReflectedModeS* data);
155 virtual void processModeSDataRemoval(DtReflectedModeS* data);
157 virtual void processTCASDataDataAddition(DtReflectedTCASData* data);
158 virtual void processTCASDataDataUpdate(DtReflectedTCASData* data);
159 virtual void processTCASDataDataRemoval(DtReflectedTCASData* data);
161 virtual void processSovietDataAddition(DtReflectedSoviet* data);
162 virtual void processSovietDataUpdate(DtReflectedSoviet* data);
163 virtual void processSovietDataRemoval(DtReflectedSoviet* data);
165 virtual void processRRBDataAddition(DtReflectedRRB* data);
166 virtual void processRRBDataUpdate(DtReflectedRRB* data);
167 virtual void processRRBDataRemoval(DtReflectedRRB* data);
172 virtual void resolveOrphans();
173 virtual void resolveIffDataOrphans();
174 virtual void resolveMode1Orphans();
175 virtual void resolveMode2Orphans();
176 virtual void resolveMode3AOrphans();
177 virtual void resolveMode3COrphans();
178 virtual void resolveMode4Orphans();
179 virtual void resolveMode5Orphans();
180 virtual void resolveModeSOrphans();
181 virtual void resolveTCASDataOrphans();
182 virtual void resolveSovietOrphans();
183 virtual void resolveRRBOrphans();
187 static void iffDataAdditionCb(
188 DtReflectedIFFData* data,
void* usr );
189 static void iffDataUpdateCb(
190 DtReflectedIFFData* data,
void* usr );
191 static void iffDataRemovalCb(
192 DtReflectedIFFData* data,
void* usr );
196 static void mode1DataAdditionCb(
197 DtReflectedMode1* data,
void* usr);
198 static void mode1DataUpdateCb(
199 DtReflectedMode1* data,
void* usr);
200 static void mode1DataRemovalCb(
201 DtReflectedMode1* data,
void* usr);
205 static void mode2DataAdditionCb(
206 DtReflectedMode2* data,
void* usr);
207 static void mode2DataUpdateCb(
208 DtReflectedMode2* data,
void* usr);
209 static void mode2DataRemovalCb(
210 DtReflectedMode2* data,
void* usr);
214 static void mode3ADataAdditionCb(
215 DtReflectedMode3A* data,
void* usr);
216 static void mode3ADataUpdateCb(
217 DtReflectedMode3A* data,
void* usr);
218 static void mode3ADataRemovalCb(
219 DtReflectedMode3A* data,
void* usr);
223 static void mode3CDataAdditionCb(
224 DtReflectedMode3C* data,
void* usr);
225 static void mode3CDataUpdateCb(
226 DtReflectedMode3C* data,
void* usr);
227 static void mode3CDataRemovalCb(
228 DtReflectedMode3C* data,
void* usr);
233 static void mode4DataAdditionCb(
234 DtReflectedMode4* data,
void* usr);
235 static void mode4DataUpdateCb(
236 DtReflectedMode4* data,
void* usr);
237 static void mode4DataRemovalCb(
238 DtReflectedMode4* data,
void* usr);
243 static void mode5DataAdditionCb(
244 DtReflectedMode5* data,
void* usr);
245 static void mode5DataUpdateCb(
246 DtReflectedMode5* data,
void* usr);
247 static void mode5DataRemovalCb(
248 DtReflectedMode5* data,
void* usr);
252 static void modeSDataAdditionCb(
253 DtReflectedModeS* data,
void* usr);
254 static void modeSDataUpdateCb(
255 DtReflectedModeS* data,
void* usr);
256 static void modeSDataRemovalCb(
257 DtReflectedModeS* data,
void* usr);
261 static void tcasDataDataAdditionCb(
262 DtReflectedTCASData* data,
void* usr);
263 static void tcasDataDataUpdateCb(
264 DtReflectedTCASData* data,
void* usr);
265 static void tcasDataDataRemovalCb(
266 DtReflectedTCASData* data,
void* usr);
270 static void sovietDataAdditionCb(
271 DtReflectedSoviet* data,
void* usr);
272 static void sovietDataUpdateCb(
273 DtReflectedSoviet* data,
void* usr);
274 static void sovietDataRemovalCb(
275 DtReflectedSoviet* data,
void* usr);
279 static void rrbDataAdditionCb(
280 DtReflectedRRB* data,
void* usr);
281 static void rrbDataUpdateCb(
282 DtReflectedRRB* data,
void* usr);
283 static void rrbDataRemovalCb(
284 DtReflectedRRB* data,
void* usr);
287 static void resolveOrphansPostDrainCb(
void* usr );
291 DtReflectedIFFDataList* myReflectedIffDataList;
292 DtReflectedMode1List* myReflectedIffMode1List;
293 DtReflectedMode2List* myReflectedIffMode2List;
294 DtReflectedMode3AList* myReflectedIffMode3AList;
295 DtReflectedMode3CList* myReflectedIffMode3CList;
296 DtReflectedMode4List* myReflectedIffMode4List;
297 DtReflectedMode5List* myReflectedIffMode5List;
298 DtReflectedModeSList* myReflectedIffModeSList;
299 DtReflectedTCASDataList* myReflectedIffTCASDataList;
300 DtReflectedSovietList* myReflectedIffSovietList;
301 DtReflectedRRBList* myReflectedIffRRBList;
304 std::list<DtReflectedIFFData*> myOrphanData;
305 std::list<DtReflectedMode1*> myMode1OrphanData;
306 std::list<DtReflectedMode2*> myMode2OrphanData;
307 std::list<DtReflectedMode3A*> myMode3AOrphanData;
308 std::list<DtReflectedMode3C*> myMode3COrphanData;
309 std::list<DtReflectedMode4*> myMode4OrphanData;
310 std::list<DtReflectedMode5*> myMode5OrphanData;
311 std::list<DtReflectedModeS*> myModeSOrphanData;
312 std::list<DtReflectedTCASData*> myTCASDataOrphanData;
313 std::list<DtReflectedSoviet*> mySovietOrphanData;
314 std::list<DtReflectedRRB*> myRRBOrphanData;
Instances of DtReflectedObjectList are lists of instances of classes derived from DtReflectedObject...
Definition: reflectedObjectListDIS.h:38
Instances of DtReflectedIff represent Iff object simulated by remote applications.
Definition: reflectedIffDIS.h:34
Contains the HLA DtReflectedObjectList class declaration.
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
virtual void removeAndDelete(DtReflectedObject *obj, const char *msg=NULL)
Remove the remote object from the list if found and delete it.
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtReflectedObjectList & operator=(const DtReflectedObjectList &orig)
assignment operator – not implemented
DtList is deprecated, please use std::list<T>.
Definition: vlList.h:71
Instances of DtReflectedObject are used to represent a simulation entity reflected across a network (...
Definition: reflectedObjectDIS.h:34
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
Instances of this class provide a protocol independent interface to a list of reflected emitters in a...
Definition: reflectedIffListDIS.h:28
virtual void objectAdded(DtReflectedObject *object)
Called after a remote object has been added to the list.
void(* DtIffCallbackFunction)(DtReflectedIff *obj, void *userData)
Callback function that takes a DtReflectedObject and user data.
Definition: reflectedIffDIS.h:26
Instances of DtString are used to represent strings.
Definition: vlString.h:36