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 DtTime nextRequestTime()
const;
190 virtual void clearDiscoveryCondition();
193 virtual const DtDDMRegionSet& subscribedRegions();
201 static void setAutoSubscribeFlag(
bool flag);
202 static bool autoSubscribeFlag();
209 static void setRequestClassUpdateFlag(
bool onOff);
210 static bool requestClassUpdateFlag();
216 static void setRequestObjectUpdateFlag(
bool onOff);
217 static bool requestObjectUpdateFlag();
224 static void setRequestWhenInitializedFlag(
bool onOff);
225 static bool requestWhenInitializedFlag();
230 static void setDefaultWaitListRefreshFlag(
bool onOff);
231 static bool defaultWaitListRefreshFlag();
236 static void setDefaultWaitListRefreshPeriod(
DtTime period);
237 static DtTime defaultWaitListRefreshPeriod();
241 static bool requestUpdateFlags();
244 static void findDiscoveredObjectsCb(
void* usr);
250 virtual void processDiscoverObject(DtHlaObject* obj);
254 virtual void processRemoveObject(DtHlaObject* obj);
258 virtual void processTimedOutObjectReflect(
const DtStateMsg& msg,
264 virtual void doTimeouts();
268 virtual void doRequestUpdates();
296 virtual void unTimeOutObject(DtHlaObject* obj);
300 virtual void addObjectClass(RTI::ObjectClassHandle handle);
304 virtual void addObjectClassByName(
const char* className);
308 virtual void init(
const DtList* handleList);
316 void emptyCallbackLists();
319 virtual void processObjectAdditionCallbacks(
321 virtual void processObjectRemovalCallbacks(
328 virtual void findAlreadyDiscoveredObjects();
351 RTI::ObjectInstanceHandle
id);
353 RTI::ObjectHandle id);
360 void unsubscribeRegions();
362 #if DtHLA_1516_EVOLVED
363 const DtString& updateRateSubscriptionName()
const;
372 static void discoverObjectCb(DtHlaObject* hlaObj,
void* rel);
376 static void removeObjectCb(DtHlaObject* hlaObj,
void* rel);
380 static void timedOutObjectReflectCb(
const DtStateMsg& msg,
385 static void doTimeoutsPostDrainCb(
void* usr);
388 static void doRequestUpdatesPostDrainCb(
void* usr);
396 DtRefHlaObjectMap myObjectList;
402 DtRefHlaObjectMap myWaitList;
403 DtRefHlaObjectMap myDiscoveryList;
404 DtRefHlaObjectTimeMap myRefreshList;
405 bool myWaitListRefreshEnabled;
407 DtTime myWaitListRefreshPeriod;
409 DtList myTimedOutObjectList;
411 bool myTimeoutProcessingFlag;
413 std::vector<RTI::ObjectClassHandle> myHandleList;
417 void* myDiscoveryConditionParameter;
418 DtDDMRegionSet mySubscribedRegions;
423 static bool theAutoSubscribeFlag;
424 static bool theRequestClassUpdateFlag;
425 static bool theRequestObjectUpdateFlag;
426 static bool theRequestWhenInitializedFlag;
427 static bool theRequestUpdateFlags;
428 static bool theDefaultWaitListRefreshFlag;
429 static DtTime theDefaultWaitListRefreshPeriod;
457 inline int DtReflectedObjectList::numberObjectsWaiting()
const
462 inline DtTime DtReflectedObjectList::waitListRefreshPeriod()
const
464 return myWaitListRefreshPeriod;
467 inline bool DtReflectedObjectList::waitListRefreshEnabled()
const
469 return myWaitListRefreshEnabled;
472 inline bool DtReflectedObjectList::defaultWaitListRefreshFlag()
474 return theDefaultWaitListRefreshFlag;
477 inline DtTime DtReflectedObjectList::defaultWaitListRefreshPeriod()
479 return theDefaultWaitListRefreshPeriod;
482 inline bool DtReflectedObjectList::requestClassUpdateFlag()
484 return theRequestClassUpdateFlag;
487 inline bool DtReflectedObjectList::requestObjectUpdateFlag()
489 return theRequestObjectUpdateFlag;
492 inline bool DtReflectedObjectList::requestWhenInitializedFlag()
494 return theRequestWhenInitializedFlag;
497 inline bool DtReflectedObjectList::requestUpdateFlags()
499 return theRequestUpdateFlags;
502 inline bool DtReflectedObjectList::isTimeoutProcessing()
const
512 inline bool operator<(
const DtTimeReflectedObjectIdKey& left,
DtTime right)
514 return left.time < right;
517 inline bool operator<(
const DtTimeReflectedObjectIdKey& left,
const DtTimeReflectedObjectIdKey& right)
519 if (left.time < right.time)
return true;
520 if (left.time > right.time)
return false;
523 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:61
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:186
DtTime myTimeoutInterval
Definition: reflectedObjectListDIS.h:190
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:29
DtIntrusiveList myObjectList
Definition: reflectedObjectListDIS.h:185
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:193
DtExerciseConn * myExConn
Definition: reflectedObjectListDIS.h:182