29 struct DtTimeReflectedObjectIdKey
42 bool operator<(
const DtTimeReflectedObjectIdKey& left,
const DtTimeReflectedObjectIdKey& right);
47 typedef std::map<DtObjectId, DtReflectedObject*> DtRefHlaObjectMap;
48 typedef std::map<DtTimeReflectedObjectIdKey, DtReflectedObject*> DtRefHlaObjectTimeMap;
64 const DtDDMRegionSet* regionSetToUse = 0,
83 RTI::ObjectInstanceHandle
id);
85 RTI::ObjectHandle id);
98 virtual int count()
const;
112 virtual void manageObjectClass(RTI::ObjectClassHandle handle);
122 virtual bool removeObject(
const DtObjectId&
id);
125 virtual void addObjectAdditionCallback(
127 virtual void removeObjectAdditionCallback(
131 virtual void addObjectRemovalCallback(
133 virtual void removeObjectRemovalCallback(
137 virtual void print();
140 virtual void printWaitList();
144 virtual void setTimeoutProcessing(
bool onOff);
147 virtual bool isTimeoutProcessing()
const;
151 virtual void setTimeoutInterval(
DtTime time);
152 virtual DtTime timeoutInterval()
const;
157 virtual bool requestsEnabled()
const;
162 virtual void setWaitListRefreshEnabled(
bool on);
163 virtual bool waitListRefreshEnabled()
const;
168 virtual void setWaitListRefreshPeriod(
DtTime period);
169 virtual DtTime waitListRefreshPeriod()
const;
179 virtual int numberObjectsWaiting()
const;
182 virtual void checkDiscoveryConditionForWaitList();
185 virtual DtTime nextRequestTime()
const;
193 virtual void clearDiscoveryCondition();
196 virtual const DtDDMRegionSet& subscribedRegions();
204 virtual void addWaitlistAdditionCallback(
206 virtual void removeWaitlistAdditionCallback(
213 virtual void addWaitlistRemovalCallback(
215 virtual void removeWaitlistRemovalCallback(
224 static void setAutoSubscribeFlag(
bool flag);
225 static bool autoSubscribeFlag();
232 static void setRequestClassUpdateFlag(
bool onOff);
233 static bool requestClassUpdateFlag();
239 static void setRequestObjectUpdateFlag(
bool onOff);
240 static bool requestObjectUpdateFlag();
247 static void setRequestWhenInitializedFlag(
bool onOff);
248 static bool requestWhenInitializedFlag();
253 static void setDefaultWaitListRefreshFlag(
bool onOff);
254 static bool defaultWaitListRefreshFlag();
259 static void setDefaultWaitListRefreshPeriod(
DtTime period);
260 static DtTime defaultWaitListRefreshPeriod();
264 static bool requestUpdateFlags();
267 static void findDiscoveredObjectsCb(
void* usr);
273 virtual void processDiscoverObject(DtHlaObject* obj);
277 virtual void processRemoveObject(DtHlaObject* obj);
281 virtual void processTimedOutObjectReflect(
const DtStateMsg& msg,
287 virtual void doTimeouts();
291 virtual void doRequestUpdates();
319 virtual void unTimeOutObject(DtHlaObject* obj);
323 virtual void addObjectClass(RTI::ObjectClassHandle handle);
327 virtual void addObjectClassByName(
const char* className);
331 virtual void init(
const DtList* handleList);
339 void emptyCallbackLists();
342 virtual void processObjectAdditionCallbacks(
344 virtual void processObjectRemovalCallbacks(
348 virtual void processWaitlistAdditionCallbacks(
350 virtual void processWaitlistRemovalCallbacks(
357 virtual void findAlreadyDiscoveredObjects();
380 RTI::ObjectInstanceHandle
id);
382 RTI::ObjectHandle id);
389 void unsubscribeRegions();
391 #if DtHLA_1516_EVOLVED
392 const DtString& updateRateSubscriptionName()
const;
401 static void discoverObjectCb(DtHlaObject* hlaObj,
void* rel);
405 static void removeObjectCb(DtHlaObject* hlaObj,
void* rel);
409 static void timedOutObjectReflectCb(
const DtStateMsg& msg,
414 static void doTimeoutsPostDrainCb(
void* usr);
417 static void doRequestUpdatesPostDrainCb(
void* usr);
425 DtRefHlaObjectMap myObjectList;
431 DtRefHlaObjectMap myWaitList;
432 DtRefHlaObjectMap myDiscoveryList;
433 DtRefHlaObjectTimeMap myRefreshList;
434 bool myWaitListRefreshEnabled;
436 DtTime myWaitListRefreshPeriod;
438 DtList myTimedOutObjectList;
440 bool myTimeoutProcessingFlag;
442 std::vector<RTI::ObjectClassHandle> myHandleList;
448 void* myDiscoveryConditionParameter;
449 DtDDMRegionSet mySubscribedRegions;
454 static bool theAutoSubscribeFlag;
455 static bool theRequestClassUpdateFlag;
456 static bool theRequestObjectUpdateFlag;
457 static bool theRequestWhenInitializedFlag;
458 static bool theRequestUpdateFlags;
459 static bool theDefaultWaitListRefreshFlag;
460 static DtTime theDefaultWaitListRefreshPeriod;
488 inline int DtReflectedObjectList::numberObjectsWaiting()
const
493 inline DtTime DtReflectedObjectList::waitListRefreshPeriod()
const
495 return myWaitListRefreshPeriod;
498 inline bool DtReflectedObjectList::waitListRefreshEnabled()
const
500 return myWaitListRefreshEnabled;
503 inline bool DtReflectedObjectList::defaultWaitListRefreshFlag()
505 return theDefaultWaitListRefreshFlag;
508 inline DtTime DtReflectedObjectList::defaultWaitListRefreshPeriod()
510 return theDefaultWaitListRefreshPeriod;
513 inline bool DtReflectedObjectList::requestClassUpdateFlag()
515 return theRequestClassUpdateFlag;
518 inline bool DtReflectedObjectList::requestObjectUpdateFlag()
520 return theRequestObjectUpdateFlag;
523 inline bool DtReflectedObjectList::requestWhenInitializedFlag()
525 return theRequestWhenInitializedFlag;
528 inline bool DtReflectedObjectList::requestUpdateFlags()
530 return theRequestUpdateFlags;
533 inline bool DtReflectedObjectList::isTimeoutProcessing()
const
543 inline bool operator<(
const DtTimeReflectedObjectIdKey& left,
DtTime right)
545 return left.time < right;
548 inline bool operator<(
const DtTimeReflectedObjectIdKey& left,
const DtTimeReflectedObjectIdKey& right)
550 if (left.time < right.time)
return true;
551 if (left.time > right.time)
return false;
554 return (left.id < right.id);
Instances of DtReflectedObjectList are lists of instances of classes derived from DtReflectedObject...
Definition: reflectedObjectListDIS.h:38
bool(* DtDiscoveryCondition)(DtReflectedObject *refObj, void *usr)
Definition: reflectedObjectListDIS.h:30
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
virtual DtReflectedObject * firstObj() const
Get the first/last object in the list.
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtIntrusiveList myWaitList
Definition: reflectedObjectListDIS.h:214
DtTime myTimeoutInterval
Definition: reflectedObjectListDIS.h:218
virtual DtExerciseConn * exerciseConn() const
Get my exerciseConn.
This file contains typedefs used to represent objects in a protocol neutral way.
An intrusive list is a list that assumes that the elements that you add are pointers to instances of ...
Definition: vlList.h:196
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
virtual DtReflectedObject * lastObj() const
virtual DtTime timeoutInterval()
DtHashlist is deprecated and provided for backwards compatibility only.
Definition: vlHashlist.h:69
void(* DtReflectedObjectCallbackFunction)(DtReflectedObject *obj, void *userData)
Callback function that takes a DtReflectedObject and user data.
Definition: reflectedObjectCallbackInfo.h:19
Instances of DtString are used to represent strings.
Definition: vlString.h:36
DtIntrusiveList myObjectList
Definition: reflectedObjectListDIS.h:213
const bool operator<(const DtU128 &lhs, const DtU128 &rhs)
Instances of DtStateMsg are used to represent state data communicated via the network in a DIS (as op...
Definition: stateMsgDIS.h:21
bool myTimeoutProcessingFlag
Definition: reflectedObjectListDIS.h:221
DtExerciseConn * myExConn
Definition: reflectedObjectListDIS.h:208