VR-Link API Documentation for HLA 4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
DtReflectedAggregateList Class Reference

class DtReflectedAggregateList: More...

+ Inheritance diagram for DtReflectedAggregateList:
+ Collaboration diagram for DtReflectedAggregateList:

Public Member Functions

 DtReflectedAggregateList (DtExerciseConn *exConn, bool smoothCapable=false, const DtDDMRegionSet *regionSetToUse=0, const DtString &updateRateTag=DtString(""))
 Constructor - obtains the set of object classes to subscribe to from the exConn's fomMapper. More...
 
 DtReflectedAggregateList (DtExerciseConn *exConn, const DtList *handleList, bool smoothCapable=false, const DtDDMRegionSet *regionSetToUse=0, const DtString &updateRateTag=DtString(""))
 Constructor - only subscribe to the RTI::ObjectClassHandles in handleList. More...
 
virtual ~DtReflectedAggregateList ()
 destructor More...
 
virtual DtReflectedAggregatelookup (RTI::ObjectHandle id)
 Look up aggregate by identifier. More...
 
virtual DtReflectedAggregatelookup (const DtGlobalObjectDesignator &objName)
 Look up aggregate by name. More...
 
virtual DtReflectedAggregatefirst () const
 Get the first/last entity in the list. More...
 
virtual DtReflectedAggregatelast () const
 
virtual void addAggregateAdditionCallback (DtAggregateCallbackFunction cb, void *userData)
 Aggregate added callback registration/deregistration. More...
 
virtual void removeAggregateAdditionCallback (DtAggregateCallbackFunction cb, void *userData)
 
virtual void addAggregateRemovalCallback (DtAggregateCallbackFunction cb, void *userData)
 Aggregate removed callback registration/deregistration. More...
 
virtual void removeAggregateRemovalCallback (DtAggregateCallbackFunction cb, void *userData)
 
- Public Member Functions inherited from DtReflectedObjectList
 DtReflectedObjectList (DtExerciseConn *exConn, const DtDDMRegionSet *regionSetToUse=0, const DtString &updateRateTag=DtString(""))
 Constructor. More...
 
virtual ~DtReflectedObjectList ()
 destructor More...
 
virtual DtReflectedObjectlookupObj (RTI::ObjectHandle id)
 Look up object by identifier. More...
 
virtual DtReflectedObjectlookupObj (const DtGlobalObjectDesignator &objName)
 Look up object by global ID (which is the object name in RTI1.3.3). More...
 
virtual int count () const
 Get number of objects. More...
 
virtual DtExerciseConnexerciseConn () const
 Get my exerciseConn. More...
 
virtual void manageObjectClass (RTI::ObjectClassHandle handle)
 Register callbacks with exercise connection so that we get notified when an object of this class is discovered. More...
 
virtual bool removeObject (const DtObjectId &id)
 Have the application act as though we had never discovered the object. More...
 
virtual void addObjectAdditionCallback (DtReflectedObjectCallbackFunction cb, void *userData)
 Object added callback registration/deregistration. More...
 
virtual void removeObjectAdditionCallback (DtReflectedObjectCallbackFunction cb, void *userData)
 
virtual void addObjectRemovalCallback (DtReflectedObjectCallbackFunction cb, void *userData)
 Object removed callback registration/deregistration. More...
 
virtual void removeObjectRemovalCallback (DtReflectedObjectCallbackFunction cb, void *userData)
 
virtual void print ()
 Print the SRs of all objects. More...
 
virtual void printWaitList ()
 Print the SRs of all waiting objects (most likely will have mostly bad data). More...
 
virtual void setTimeoutProcessing (bool onOff)
 Set whether or not timeout processing occurs. More...
 
virtual bool isTimeoutProcessing () const
 Get whether or not timeout processing occurs. More...
 
virtual bool requestsEnabled () const
 Get whether or not to process requests for reflected objects that were just discovered or are waiting for updates (to meet discovery criteria). More...
 
virtual int numberObjectsWaiting () const
 Return the number of objects in the wait list. More...
 
virtual void checkDiscoveryConditionForWaitList ()
 Check discovery conditions for all items in wait list. More...
 
virtual DtTime nextRequestTime () const
 Return the time when the next request will be made for entries in the wait refresh list. More...
 
virtual void setDiscoveryCondition (DtDiscoveryCondition fn, void *usr)
 Set the checker function which will determine when an object gets discovered and put into the reflected list. More...
 
virtual void clearDiscoveryCondition ()
 Unregisters the checker function set in setDiscoverCondition. More...
 
virtual const DtDDMRegionSetsubscribedRegions ()
 Returns list of regions subscribed to. More...
 
virtual void addWaitlistAdditionCallback (DtReflectedObjectCallbackFunction cb, void *userData)
 Callback registration for when objects are added or removed from the waitlist. More...
 
virtual void removeWaitlistAdditionCallback (DtReflectedObjectCallbackFunction cb, void *userData)
 
virtual void addWaitlistRemovalCallback (DtReflectedObjectCallbackFunction cb, void *userData)
 Waitlist removed callback registration/deregistration. More...
 
virtual void removeWaitlistRemovalCallback (DtReflectedObjectCallbackFunction cb, void *userData)
 
virtual DtReflectedObjectfirstObj () const
 Get the first/last object in the list. More...
 
virtual DtReflectedObjectlastObj () const
 Get the first/last object in the list. More...
 
virtual void setTimeoutInterval (DtTime time)
 Set/Get the remote object timeout period. More...
 
virtual DtTime timeoutInterval () const
 Set/Get the remote object timeout period. More...
 
virtual void setWaitListRefreshEnabled (bool on)
 Set whether or not we will resend request updates for objects which remain on wait list because they have not met discovery criteria. More...
 
virtual bool waitListRefreshEnabled () const
 Set whether or not we will resend request updates for objects which remain on wait list because they have not met discovery criteria. More...
 
virtual void setWaitListRefreshPeriod (DtTime period)
 Set/Get the wait list refresh period. More...
 
virtual DtTime waitListRefreshPeriod () const
 Set/Get the wait list refresh period. More...
 
virtual DtReflectedObjectfirstWaitingObj () const
 Get the first/last object in the wait list. More...
 
virtual DtReflectedObjectlastWaitingObj () const
 Get the first/last object in the wait list. More...
 

Protected Member Functions

 DtReflectedAggregateList (const DtReflectedAggregateList &orig)
 copy constructor More...
 
DtReflectedAggregateListoperator= (const DtReflectedAggregateList &orig)
 assignment operator More...
 
virtual const DtListdfltHandleList ()
 Asks the FOM Mapper for the DtList of RTI::ObjectClassHandles to use. More...
 
virtual DtReflectedObjectnewReflectedObject (DtHlaObject *obj) const
 Override of virtual function. Calls newReflectedAggregate. More...
 
virtual DtReflectedAggregatenewReflectedAggregate (DtHlaObject *obj) const
 Create a remote aggregate object for the HLA object. More...
 
virtual void removeAndDelete (DtReflectedObject *object, const char *msg)
 Virtual function override. More...
 
virtual void removeAndDelete (DtReflectedAggregate *aggregate, const char *msg=NULL)
 Default calls down to base class version, but can be overridden. More...
 
virtual void objectAdded (DtReflectedObject *obj)
 Called from processDiscoverObject() after a remote transmitter has been added to the list. More...
 
virtual void aggregateAdded (DtReflectedAggregate *ent)
 Called by objectAdded (which is called from processDiscoverObject()) after a remote aggregate has been added to the list. More...
 
- Protected Member Functions inherited from DtReflectedObjectList
virtual void processDiscoverObject (DtHlaObject *obj)
 Process the discovery of a remote object on the network. More...
 
virtual void processRemoveObject (DtHlaObject *obj)
 Process the removal of a remote object from the network. More...
 
virtual void processTimedOutObjectReflect (const DtStateMsg &msg, DtHlaObject *obj)
 Handle the receipt of attributes for a remote object which was timed out. More...
 
virtual void doTimeouts ()
 Remove any remote objects which have not been updated during the timeout period. More...
 
virtual void doRequestUpdates ()
 Request an update for discovered objects. More...
 
virtual bool shouldBeTimedOut (DtReflectedObject *object)
 Returns whether or not the object should be timed out. More...
 
virtual void timeOutObject (DtReflectedObject *object)
 Times out object by removing it from the remote object list and deleting it. More...
 
virtual void unTimeOutObject (DtHlaObject *obj)
 Manages callbacks and data used for reinstating a remote object which was timed out. More...
 
virtual void addObjectClass (RTI::ObjectClassHandle handle)
 Register interest in this FOM object class. More...
 
virtual void addObjectClassByName (const char *className)
 Register interest in this FOM object class by className. More...
 
virtual void init (const DtList *handleList)
 Register interest in a whole list of RTI::ObjectClassHandles all at once. More...
 
void emptyLists ()
 Empty the object list and the timeout list. More...
 
void emptyCallbackLists ()
 Empty the callback lists. More...
 
virtual void processObjectAdditionCallbacks (DtReflectedObject *object)
 Process object addition/removal callbacks. More...
 
virtual void processObjectRemovalCallbacks (DtReflectedObject *object)
 
virtual void processWaitlistAdditionCallbacks (DtReflectedObject *object)
 Process waitlist addition/removal callbacks. More...
 
virtual void processWaitlistRemovalCallbacks (DtReflectedObject *object)
 
virtual void findAlreadyDiscoveredObjects ()
 When list is created, we call this function to go through the list of all discovered HLA objects to see if any should be managed by this list. More...
 
virtual void checkDiscoveryCondition (DtReflectedObject *refObj)
 
virtual bool readyToAdd (DtReflectedObject *obj)
 Returns true if the obj is ready to be added to myObjectList; calls myWaitListChecker from within. More...
 
virtual void addToObjectList (DtReflectedObject *refObj)
 Add refObj to myObjectList and initiates discovery callbacks. More...
 
virtual void addToWaitList (DtReflectedObject *refObj)
 Add refObj to wait list. More...
 
virtual void removeFromWaitList (DtReflectedObject *refObj)
 Remove refObj from wait list. More...
 
virtual void addToRefreshList (DtReflectedObject *refObj, DtTime timeToRefresh)
 Add refObj to refresh list. More...
 
virtual DtReflectedObjectlookupObjInWaitList (RTI::ObjectHandle id)
 Find object in waitList by identifier. More...
 
virtual DtReflectedObjectlookupObjInWaitList (const DtGlobalObjectDesignator &name)
 Find object in waitList by name. More...
 
void unsubscribeRegions ()
 
const DtStringupdateRateSubscriptionName () const
 Return the name of the update rate associated with our subscription, if any. More...
 

Protected Attributes

bool mySmoothCapable
 
- Protected Attributes inherited from DtReflectedObjectList
DtExerciseConnmyExConn
 
DtRefHlaObjectMap myObjectList
 
DtHashList myObjectListByName
 
DtRefHlaObjectMap myWaitList
 
DtRefHlaObjectMap myDiscoveryList
 
DtRefHlaObjectTimeMap myRefreshList
 
bool myWaitListRefreshEnabled
 
DtTime myNextRequestTime
 
DtTime myWaitListRefreshPeriod
 
DtList myTimedOutObjectList
 
DtTime myTimeoutInterval
 
bool myTimeoutProcessingFlag
 
std::vector
< RTI::ObjectClassHandle > 
myHandleList
 
DtIntrusiveList myObjectAddedCallbacks
 
DtIntrusiveList myObjectRemovedCallbacks
 
DtIntrusiveList myWaitlistAddedCallbacks
 
DtIntrusiveList myWaitlistRemovedCallbacks
 
DtDiscoveryCondition myDiscoveryCondition
 
void * myDiscoveryConditionParameter
 
DtDDMRegionSet mySubscribedRegions
 
DtString myUpdateRateTag
 

Additional Inherited Members

- Static Public Member Functions inherited from DtReflectedObjectList
static bool requestUpdateFlags ()
 Get flag that indicates if any requests are enabled (class, object, or initialized) More...
 
static void findDiscoveredObjectsCb (void *usr)
 Post-drain callback that calls findAlreadyDiscovedObjects(). More...
 
static void setAutoSubscribeFlag (bool flag)
 Set/Get flag which determines whether to subscribe to object classes that this list manages. More...
 
static bool autoSubscribeFlag ()
 Set/Get flag which determines whether to subscribe to object classes that this list manages. More...
 
static void setRequestClassUpdateFlag (bool onOff)
 Set/Get flag that determines whether we request updates from all objects of the object classes we subscribe to. More...
 
static bool requestClassUpdateFlag ()
 Set/Get flag that determines whether we request updates from all objects of the object classes we subscribe to. More...
 
static void setRequestObjectUpdateFlag (bool onOff)
 Set/Get flag that determines whether we request updates from an object as we discover it. More...
 
static bool requestObjectUpdateFlag ()
 Set/Get flag that determines whether we request updates from an object as we discover it. More...
 
static void setRequestWhenInitializedFlag (bool onOff)
 Set/Get flag that determines whether we request updates for wait listed objects only when all known VRLStateObject instances are initialized. More...
 
static bool requestWhenInitializedFlag ()
 Set/Get flag that determines whether we request updates for wait listed objects only when all known VRLStateObject instances are initialized. More...
 
static void setDefaultWaitListRefreshFlag (bool onOff)
 Set/Get the default wait list enabled flag value. More...
 
static bool defaultWaitListRefreshFlag ()
 Set/Get the default wait list enabled flag value. More...
 
static void setDefaultWaitListRefreshPeriod (DtTime period)
 Set/Get the default wait list refresh period. More...
 
static DtTime defaultWaitListRefreshPeriod ()
 Set/Get the default wait list refresh period. More...
 
- Static Protected Member Functions inherited from DtReflectedObjectList
static void discoverObjectCb (DtHlaObject *hlaObj, void *rel)
 Cast the void* to a DtReflectedObjectList* and calls processDiscoverObject(). More...
 
static void removeObjectCb (DtHlaObject *hlaObj, void *rel)
 Cast the void* to a DtReflectedObjectList* and calls processRemoveObject(). More...
 
static void timedOutObjectReflectCb (const DtStateMsg &msg, DtHlaObject *obj, void *usr)
 Cast the void* to a DtReflectedObjectList* and calls processTimedOutObjectReflect(). More...
 
static void doTimeoutsPostDrainCb (void *usr)
 Calls doTimeouts. More...
 
static void doRequestUpdatesPostDrainCb (void *usr)
 Calls doRequestUpdates. More...
 
static void postUpdateCb (DtReflectedObject *obj, void *usr)
 Calls checkDiscoveryCondition. More...
 
- Static Protected Attributes inherited from DtReflectedObjectList
static bool theAutoSubscribeFlag
 
static bool theRequestClassUpdateFlag
 
static bool theRequestObjectUpdateFlag
 
static bool theRequestWhenInitializedFlag
 
static bool theRequestUpdateFlags
 
static bool theDefaultWaitListRefreshFlag
 
static DtTime theDefaultWaitListRefreshPeriod
 

Detailed Description

class DtReflectedAggregateList:

Instances of DtReflectedAggregateList are used to manage remote aggregates from the network.

Constructor & Destructor Documentation

DtReflectedAggregateList::DtReflectedAggregateList ( DtExerciseConn exConn,
bool  smoothCapable = false,
const DtDDMRegionSet regionSetToUse = 0,
const DtString updateRateTag = DtString("") 
)

Constructor - obtains the set of object classes to subscribe to from the exConn's fomMapper.

DtReflectedAggregateList::DtReflectedAggregateList ( DtExerciseConn exConn,
const DtList handleList,
bool  smoothCapable = false,
const DtDDMRegionSet regionSetToUse = 0,
const DtString updateRateTag = DtString("") 
)

Constructor - only subscribe to the RTI::ObjectClassHandles in handleList.

virtual DtReflectedAggregateList::~DtReflectedAggregateList ( )
virtual

destructor

DtReflectedAggregateList::DtReflectedAggregateList ( const DtReflectedAggregateList orig)
protected

copy constructor

Member Function Documentation

virtual void DtReflectedAggregateList::addAggregateAdditionCallback ( DtAggregateCallbackFunction  cb,
void *  userData 
)
virtual

Aggregate added callback registration/deregistration.

virtual void DtReflectedAggregateList::addAggregateRemovalCallback ( DtAggregateCallbackFunction  cb,
void *  userData 
)
virtual

Aggregate removed callback registration/deregistration.

virtual void DtReflectedAggregateList::aggregateAdded ( DtReflectedAggregate ent)
protectedvirtual

Called by objectAdded (which is called from processDiscoverObject()) after a remote aggregate has been added to the list.

Default implementation prints a message. Subclasses can override this function to add functionality on addition.

virtual const DtList* DtReflectedAggregateList::dfltHandleList ( )
protectedvirtual

Asks the FOM Mapper for the DtList of RTI::ObjectClassHandles to use.

virtual DtReflectedAggregate* DtReflectedAggregateList::first ( ) const
virtual

Get the first/last entity in the list.

virtual DtReflectedAggregate* DtReflectedAggregateList::last ( ) const
virtual
virtual DtReflectedAggregate* DtReflectedAggregateList::lookup ( RTI::ObjectHandle  id)
virtual

Look up aggregate by identifier.

virtual DtReflectedAggregate* DtReflectedAggregateList::lookup ( const DtGlobalObjectDesignator objName)
virtual

Look up aggregate by name.

virtual DtReflectedAggregate* DtReflectedAggregateList::newReflectedAggregate ( DtHlaObject obj) const
protectedvirtual

Create a remote aggregate object for the HLA object.

Caller is responsible for deletion.

virtual DtReflectedObject* DtReflectedAggregateList::newReflectedObject ( DtHlaObject obj) const
protectedvirtual

Override of virtual function. Calls newReflectedAggregate.

Implements DtReflectedObjectList.

virtual void DtReflectedAggregateList::objectAdded ( DtReflectedObject obj)
protectedvirtual

Called from processDiscoverObject() after a remote transmitter has been added to the list.

Calls aggregateAdded.

Reimplemented from DtReflectedObjectList.

DtReflectedAggregateList& DtReflectedAggregateList::operator= ( const DtReflectedAggregateList orig)
protected

assignment operator

virtual void DtReflectedAggregateList::removeAggregateAdditionCallback ( DtAggregateCallbackFunction  cb,
void *  userData 
)
virtual
virtual void DtReflectedAggregateList::removeAggregateRemovalCallback ( DtAggregateCallbackFunction  cb,
void *  userData 
)
virtual
virtual void DtReflectedAggregateList::removeAndDelete ( DtReflectedObject object,
const char *  msg 
)
protectedvirtual

Virtual function override.

Calls removeAndDelete(DtReflectedAggregate*....)

Reimplemented from DtReflectedObjectList.

virtual void DtReflectedAggregateList::removeAndDelete ( DtReflectedAggregate aggregate,
const char *  msg = NULL 
)
protectedvirtual

Default calls down to base class version, but can be overridden.

Member Data Documentation

bool DtReflectedAggregateList::mySmoothCapable
protected

The documentation for this class was generated from the following file:

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)