![]() |
VR-Link API Documentation for HLA Evolved
|
Instances of DtReflectedEntityList are used to manage remote entities from the network. More...
Inheritance diagram for DtReflectedEntityList:
Collaboration diagram for DtReflectedEntityList:Public Member Functions | |
| DtReflectedEntityList (DtExerciseConn *exConn, bool smoothCapable=false, const DtDDMRegionSet *regionSetToUse=0) | |
| Constructor that uses subscription criteria from the exConn's fomMapper. More... | |
| DtReflectedEntityList (DtExerciseConn *exConn, const DtString &updateRateTag, bool smoothCapable=false, const DtDDMRegionSet *regionSetToUse=0) | |
| DtReflectedEntityList (DtExerciseConn *exConn, const DtList *handleList, bool smoothCapable=false, const DtDDMRegionSet *regionSetToUse=0) | |
| Constructor that uses a handle list as subscription criteria. More... | |
| DtReflectedEntityList (DtExerciseConn *exConn, const DtList *handleList, const DtString &updateRateTag, bool smoothCapable=false, const DtDDMRegionSet *regionSetToUse=0) | |
| virtual | ~DtReflectedEntityList () |
| Destructor. More... | |
| virtual DtReflectedEntity * | lookup (RTI::ObjectHandle id) |
| Look up entity by object handle. More... | |
| virtual DtReflectedEntity * | lookup (const DtGlobalObjectDesignator &objName) |
| Look up entity by name. More... | |
| virtual DtReflectedEntity * | lookup (const DtEntityIdentifier &entityId) |
| Look up entity by entityId. More... | |
| virtual DtReflectedEntity * | first () const |
| Get the first entity in the list. More... | |
| virtual DtReflectedEntity * | last () const |
| Get the last entity in the list. More... | |
| virtual void | addToObjectList (DtReflectedObject *refObj) |
| Adds an object the the list. More... | |
| virtual void | addToEntityIdentifierHashList (DtReflectedEntity *ent) |
| Adds the entity id of ent to myEntityIdentifierHashlist. More... | |
| virtual void | addEntityAdditionCallback (DtEntityCallbackFunction cb, void *userData) |
| Entity added callback registration. More... | |
| virtual void | removeEntityAdditionCallback (DtEntityCallbackFunction cb, void *userData) |
| Entity added callback deregistration. More... | |
| virtual void | addEntityRemovalCallback (DtEntityCallbackFunction cb, void *userData) |
| Entity removed callback registration. More... | |
| virtual void | removeEntityRemovalCallback (DtEntityCallbackFunction cb, void *userData) |
| Entity removed callback deregistration. More... | |
| virtual void | discoverOnlyWhenEntityTypeKnown (bool yesNo) |
| Allows one to specify whether discover should delayed until the entity type is known before adding the entity to the list. More... | |
Public Member Functions inherited from DtReflectedObjectList | |
| DtReflectedObjectList (DtExerciseConn *exConn, const DtDDMRegionSet *regionSetToUse=0, const DtString &updateRateTag=DtString("")) | |
| Constructor. More... | |
| virtual | ~DtReflectedObjectList () |
| destructor More... | |
| virtual DtReflectedObject * | lookupObj (RTI::ObjectHandle id) |
| Look up object by identifier. More... | |
| virtual DtReflectedObject * | lookupObj (const DtGlobalObjectDesignator &objName) |
| Look up object by global ID (which is the object name in RTI1.3.3). More... | |
| virtual DtReflectedObject * | firstObj () const |
| Get the first/last object in the list. More... | |
| virtual DtReflectedObject * | lastObj () const |
| virtual int | count () const |
| Get number of objects. More... | |
| virtual DtExerciseConn * | exerciseConn () 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 | setTimeoutProcessing (bool onOff) |
| Set whether or not timeout processing occurs. More... | |
| virtual bool | isTimeoutProcessing () const |
| Get whether or not timeout processing occurs. More... | |
| virtual void | setWaitListRefreshEnabled (bool on) |
| Set whether or not we will request updates for objects which have not met discovery and are therefor wait listed. More... | |
| virtual void | setTimeoutInterval (DtTime time) |
| Set/Get the remote object timeout period. More... | |
| virtual DtTime | timeoutInterval () |
| virtual void | setWaitlistRefreshPeriod (DtTime time) |
| Set/Get the wait list refresh period. More... | |
| virtual DtTime | waitlistRefreshPeriod () |
| 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 DtDDMRegionSet & | subscribedRegions () |
| Returns list of regions subscribed to. More... | |
Protected Member Functions | |
| virtual const DtList * | dfltHandleList () |
| Returns the list of handles that the FOM Mapper associates with a DtReflectedEntityList. More... | |
| virtual DtReflectedObject * | newReflectedObject (DtHlaObject *obj) const |
| Override of the virtual function in DtReflectedObjectList. More... | |
| virtual DtReflectedEntity * | newReflectedEntity (DtHlaObject *obj) const |
| Create a remote entity object for the HLA object. More... | |
| virtual void | removeAndDelete (DtReflectedObject *object, char *msg) |
| Override of the virtual function in DtReflectedObjectList. More... | |
| virtual void | removeAndDelete (DtReflectedEntity *entity, 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 entity has been added to the list. More... | |
| virtual void | entityAdded (DtReflectedEntity *ent) |
| Called by objectAdded (which is called from processDiscoverObject()) after a remote entity has been added to the list. More... | |
| virtual void | initializeDIGuy () |
| Initialize the DIGuyObject reflected list and callbacks Checks if "DIGuyObject" class is in FOM. More... | |
| virtual void | processDiGuyObjectAddition (DtReflectedDIGuyObject *beam) |
| Called by similar callback functions registered with reflected DIGuyObject list on additions/removals/updates. More... | |
| virtual void | processDiGuyObjectUpdate (DtReflectedDIGuyObject *beam) |
| virtual void | processDiGuyObjectRemoval (DtReflectedDIGuyObject *beam) |
| virtual void | resolveOrphans () |
| Check if any orphanBeams have non-NULL emittingSystemId. 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 | doRequestWaitListUpdates () |
| Request an update for any objects which have not met their discovery criteria yet. 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 | 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 DtReflectedObject * | lookupObjInWaitList (RTI::ObjectHandle id) |
| Find object in waitList by identifier. More... | |
| virtual DtReflectedObject * | lookupObjInWaitList (const DtGlobalObjectDesignator &name) |
| Find object in waitList by name. More... | |
| void | unsubscribeRegions () |
| const DtString & | updateRateSubscriptionName () const |
| Return the name of the update rate associated with our subscription, if any. More... | |
Static Protected Member Functions | |
| static bool | checkEntityType (DtReflectedObject *obj, void *usr) |
| Callback which checks whether the entity type has arrived yet. More... | |
| static void | checkEntityId (DtReflectedEntity *ent, void *usr) |
| Callback which checks whether the entity id of the entity has arrived yet. More... | |
| static void | diGuyObjectAdditionCb (DtReflectedDIGuyObject *beam, void *usr) |
| Callback functions registered with the reflected DIGuyObject list on DIGuyObject additions, updates, and removals. More... | |
| static void | diGuyObjectUpdateCb (DtReflectedDIGuyObject *beam, void *usr) |
| static void | diGuyObjectRemovalCb (DtReflectedDIGuyObject *beam, void *usr) |
| static void | resolveOrphansPostDrainCb (void *usr) |
| Callback that calls resolveOrphans. More... | |
| static bool | delayDiGuyObjectDiscoveryCondition (DtReflectedObject *beam, void *usr) |
| The following discovery condition function gets set for DiGuyObjects when users register a discovery condition for either DtReflectedEmitterSystemList or its beam list. 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 | doRequestWaitListUpdatesPostDrainCb (void *usr) |
| Calls doRequestWaitListUpdates. More... | |
| static void | postUpdateCb (DtReflectedObject *obj, void *usr) |
| Calls checkDiscoveryCondition. More... | |
Protected Attributes | |
| bool | mySmoothCapable |
| Determines whether to use smoothing for reflected entities. More... | |
| DtHashlist | myEntityIdentifierHashlist |
| Hash list used for lookup of entity identifiers. More... | |
| std::set < DtReflectedDIGuyObject * > | myOrphanDiGuyObjects |
| DtReflectedDIGuyObjectList * | myReflectedDiGuyObjects |
Protected Attributes inherited from DtReflectedObjectList | |
| DtExerciseConn * | myExConn |
| DtRefHlaObjectMap | myObjectList |
| DtHashList | myObjectListByName |
| DtRefHlaObjectMap | myWaitList |
| DtList | myTimedOutObjectList |
| std::vector < RTI::ObjectClassHandle > | myHandleList |
| DtIntrusiveList | myObjectAddedCallbacks |
| DtIntrusiveList | myObjectRemovedCallbacks |
| DtTime | myTimeoutInterval |
| bool | myTimeoutProcessingFlag |
| bool | myWaitListRequestUpdateFlag |
| DtDiscoveryCondition | myDiscoveryCondition |
| void * | myDiscoveryConditionParameter |
| DtTime | myWaitlistTime |
| DtTime | myWaitlistRefreshPeriod |
| DtDDMRegionSet | mySubscribedRegions |
| DtString | myUpdateRateTag |
Private Member Functions | |
| DtReflectedEntityList (const DtReflectedEntityList &orig) | |
| Copy constructor – not implemented. More... | |
| DtReflectedEntityList & | operator= (const DtReflectedEntityList &orig) |
| Assignment operator – not implemented. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from DtReflectedObjectList | |
| static void | setAutoSubscribeFlag (bool flag) |
| Set/Get flag which determines whether to subscribe to object classes that this list manages. More... | |
| static bool | autoSubscribeFlag () |
| 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 () |
| 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 () |
| static void | findDiscoveredObjectsCb (void *usr) |
| Post-drain callback that calls findAlreadyDiscovedObjects(). More... | |
Static Protected Attributes inherited from DtReflectedObjectList | |
| static bool | theAutoSubscribeFlag |
| static bool | theRequestClassUpdateFlag |
| static bool | theRequestObjectUpdateFlag |
Instances of DtReflectedEntityList are used to manage remote entities from the network.
DtReflectedEntityList, when instantiated, subscribes to all of the classes either specified by the FOM Mapper used by the DtExerciseConn or provided in the form of Object Class Handles. When an object of type handled by DtReflectedEntityList is discovered, a DtReflectedEntity is created and added to the list. DtReflectedEntityList provides a mechanism to maintain the list of remote entities and their data. In addition, DtReflectedEntityList provides callback mechanisms that the user may register for, so that the user may be notified and do certain processing when an entity is added/removed from the reflected entity list.
| DtReflectedEntityList::DtReflectedEntityList | ( | DtExerciseConn * | exConn, |
| bool | smoothCapable = false, |
||
| const DtDDMRegionSet * | regionSetToUse = 0 |
||
| ) |
Constructor that uses subscription criteria from the exConn's fomMapper.
This constructor determines what entity classes to subscribe to by obtaining them from the exConn's fomMapper.
| smoothCapable | If smoothCapable is set to true, any reflected entity maintained by this list will use a smoother. |
| DtReflectedEntityList::DtReflectedEntityList | ( | DtExerciseConn * | exConn, |
| const DtString & | updateRateTag, | ||
| bool | smoothCapable = false, |
||
| const DtDDMRegionSet * | regionSetToUse = 0 |
||
| ) |
| DtReflectedEntityList::DtReflectedEntityList | ( | DtExerciseConn * | exConn, |
| const DtList * | handleList, | ||
| bool | smoothCapable = false, |
||
| const DtDDMRegionSet * | regionSetToUse = 0 |
||
| ) |
Constructor that uses a handle list as subscription criteria.
This constructor determines what entity classes to subscribe to by obtaining them from the handle list.
| handleList | is a list of RTI::ObjectClassHandle's that specifies what classes to subscribe to. |
| smoothCapable | If smoothCapable is set to true, any reflected entity maintained by this list will use a smoother. |
| DtReflectedEntityList::DtReflectedEntityList | ( | DtExerciseConn * | exConn, |
| const DtList * | handleList, | ||
| const DtString & | updateRateTag, | ||
| bool | smoothCapable = false, |
||
| const DtDDMRegionSet * | regionSetToUse = 0 |
||
| ) |
|
virtual |
Destructor.
|
private |
Copy constructor – not implemented.
|
virtual |
Entity added callback registration.
Allows the user to specify a function to be called when an entity is discovered and added to the list.
|
virtual |
Entity removed callback registration.
Allows the user to specify a function to be called when and entity is removed from the list.
|
virtual |
Adds the entity id of ent to myEntityIdentifierHashlist.
This is called by checkEntityId, and needs to be public so that it can be called by the callback.
|
virtual |
Adds an object the the list.
Override DtReflectedObjectList::addToObjectList() (which it calls down to) to add entities to the entity identifier hash list
Reimplemented from DtReflectedObjectList.
|
staticprotected |
Callback which checks whether the entity id of the entity has arrived yet.
If it has, the entity id is added to myEntityIdentifierHashlist to be used for lookup purposes, and the callback is deregistered. Registered addToObjectList().
|
staticprotected |
Callback which checks whether the entity type has arrived yet.
This callback is registered/deregistered using the function: discoverOnlyWhenEntityTypeKnown()
|
staticprotected |
The following discovery condition function gets set for DiGuyObjects when users register a discovery condition for either DtReflectedEmitterSystemList or its beam list.
Calls DtReflectedEmitterSystem::delayBeamDiscovery()
|
protectedvirtual |
Returns the list of handles that the FOM Mapper associates with a DtReflectedEntityList.
Uses the FOM Mapper of the DtExerciseConn that is passed in through the constructor.
|
staticprotected |
Callback functions registered with the reflected DIGuyObject list on DIGuyObject additions, updates, and removals.
Calls processDiGuyObjectAddition/Update/Removal.
|
staticprotected |
|
staticprotected |
|
virtual |
Allows one to specify whether discover should delayed until the entity type is known before adding the entity to the list.
The default value is no, meaning entities will get added to the list immediately – regardless of whether it has received any attr values or not.
|
protectedvirtual |
Called by objectAdded (which is called from processDiscoverObject()) after a remote entity has been added to the list.
Default implementation prints a message. Subclasses can override this function to add functionality on entity addition.
|
virtual |
Get the first entity in the list.
|
protectedvirtual |
Initialize the DIGuyObject reflected list and callbacks Checks if "DIGuyObject" class is in FOM.
|
virtual |
Get the last entity in the list.
|
virtual |
Look up entity by object handle.
|
virtual |
Look up entity by name.
|
virtual |
Look up entity by entityId.
|
protectedvirtual |
Create a remote entity object for the HLA object.
Caller is responsible for deletion.
|
protectedvirtual |
Override of the virtual function in DtReflectedObjectList.
newReflectedObject calls newReflectedEntity.
Implements DtReflectedObjectList.
|
protectedvirtual |
Called from processDiscoverObject() after a remote entity has been added to the list.
Calls entityAdded.
Reimplemented from DtReflectedObjectList.
|
private |
Assignment operator – not implemented.
|
protectedvirtual |
Called by similar callback functions registered with reflected DIGuyObject list on additions/removals/updates.
Addition function adds the object to the set of orphan objects (since we don't know what entity it's part of), the removal function removes the object's SR from his entity's SR. Update function calls the entity's update callbacks.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Override of the virtual function in DtReflectedObjectList.
Calls removeAndDelete(DtReflectedEntity*....)
Reimplemented from DtReflectedObjectList.
|
protectedvirtual |
Default calls down to base class version, but can be overridden.
| msg | If msg is specified, msg is printed to DtInfo with the object handle of the object deleted |
|
virtual |
Entity added callback deregistration.
Allows the user to remove the callback function that is called when an entity is discovered and added to the list.
|
virtual |
Entity removed callback deregistration.
Allows the user to remove the callback function that is called when an entity is removed from the list.
|
protectedvirtual |
Check if any orphanBeams have non-NULL emittingSystemId.
If so, add them to their appropriate system (creating one if it doesn't exist), and delete them from orphan list.
|
staticprotected |
Callback that calls resolveOrphans.
|
protected |
Hash list used for lookup of entity identifiers.
|
protected |
|
protected |
|
protected |
Determines whether to use smoothing for reflected entities.