![]() |
VR-Link API Documentation for HLA 1.3
|
Instances of DtReflectedActiveSonarList manage a list of DtReflectedActiveSonar objects. More...
Inheritance diagram for DtReflectedActiveSonarList:
Collaboration diagram for DtReflectedActiveSonarList:Public Member Functions | |
| DtReflectedActiveSonarList (DtExerciseConn *exConn, const DtDDMRegionSet *regionSetToUse=0, const DtString &updateRateTag="") | |
| Constructor. More... | |
| DtReflectedActiveSonarList (DtExerciseConn *exConn, const DtList *handleList, const DtDDMRegionSet *regionSetToUse=0, const DtString &updateRateTag="") | |
| Constructor - only subscribe to the RTI::ObjectClassHandles in handleList. More... | |
| virtual | ~DtReflectedActiveSonarList () |
| Destructor. More... | |
| virtual DtReflectedActiveSonar * | lookup (RTI::ObjectHandle id) |
| Look up by identifier. More... | |
| virtual DtReflectedActiveSonar * | lookup (const DtGlobalObjectDesignator &objName) |
| Look up by name. More... | |
| virtual DtReflectedActiveSonar * | lookup (const DtGlobalObjectDesignator &emittingEntity, int systemId) const |
| Lookup an ActiveSonar from its object ID and system ID. More... | |
| virtual DtReflectedActiveSonar * | first () const |
| Get the first reflected object in the list. More... | |
| virtual DtReflectedActiveSonar * | last () const |
| Get the last reflected object in the list. More... | |
| virtual void | addActiveSonarAdditionCallback (DtActiveSonarCallbackFunction cb, void *usr) |
| ActiveSonar added callback registration. More... | |
| virtual void | removeActiveSonarAdditionCallback (DtActiveSonarCallbackFunction cb, void *usr) |
| ActiveSonar added callback de-registration. More... | |
| virtual void | addActiveSonarRemovalCallback (DtActiveSonarCallbackFunction cb, void *usr) |
| ActiveSonar removed callback registration. More... | |
| virtual void | removeActiveSonarRemovalCallback (DtActiveSonarCallbackFunction cb, void *usr) |
| ActiveSonar removed callback de-registration. More... | |
| virtual DtReflectedActiveSonarBeamList * | refBeamList () |
| Returns a pointer to a reflected ActiveSonar beam list that we are using internally to track our constituent beams. More... | |
| virtual void | setDiscoveryCondition (DtDiscoveryCondition fn, void *usr) |
| Over-rides DtReflectedObjectList::setDiscoveryCondition(). More... | |
| virtual void | clearDiscoveryCondition () |
| Overrides the DtReflectedObjectList::clearDiscoveryCondition. More... | |
| virtual void | setBeamDiscoveryCondition (DtDiscoveryCondition fn, void *usr) |
| Call this function to register a discovery condition on the beams of ActiveSonar Systems. More... | |
| virtual void | clearBeamDiscoveryCondition () |
| Call this function to remove the previously registered discovery condition. More... | |
| virtual bool | delayBeamDiscovery (DtReflectedObject *beam, void *usr) |
| The following function checks whether a beam should be discovered; It only gets called if discovery conditions get registered either by calling DtReflectedActiveSonarSystemList::setDiscoveryCondition() or DtReflectedActiveSonarSystemList::setBeamDiscoveryCondition(). 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 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 | 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 const DtDDMRegionSet & | subscribedRegions () |
| 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 DtReflectedObject * | firstObj () const |
| Get the first/last object in the list. More... | |
| virtual DtReflectedObject * | lastObj () 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 DtReflectedObject * | firstWaitingObj () const |
| Get the first/last object in the wait list. More... | |
| virtual DtReflectedObject * | lastWaitingObj () const |
| Get the first/last object in the wait list. More... | |
Protected Member Functions | |
| virtual void | processDiscoverObject (DtHlaObject *obj) |
| Process the discovery of a remote ActiveSonar system on the network. More... | |
| virtual void | processRemoveObject (DtHlaObject *obj) |
| Process the removal of a remote ActiveSonar system from the network. More... | |
| virtual void | processActiveSonarBeamAddition (DtReflectedActiveSonarBeam *beam) |
| Called by similar callback functions registered with myBeamList on beam additions/removals. More... | |
| virtual void | processActiveSonarBeamUpdate (DtReflectedActiveSonarBeam *beam) |
| virtual void | processActiveSonarBeamRemoval (DtReflectedActiveSonarBeam *beam) |
| virtual void | resolveOrphans () |
| Check if any orphanBeams have non-NULL emittingSystemId. More... | |
| virtual DtReflectedObject * | newReflectedObject (DtHlaObject *obj) const |
| Override of virtual function. Here, we create a DtReflectedActiveSonarSystem. More... | |
| virtual DtReflectedActiveSonar * | newReflectedActiveSonar (const DtGlobalObjectDesignator &hostId) const |
| Create a remote ActiveSonar system object for the HLA object. More... | |
| virtual void | objectAdded (DtReflectedObject *obj) |
| Called from processDiscoverObject() after a remote transmitter has been added to the list. More... | |
| virtual bool | shouldBeTimedOut (DtReflectedObject *object) |
| Returns whether or not the object should be timed out. More... | |
| virtual const DtList * | dfltHandleList () |
| Returns a DtList of RTI::ObjectClassHandles that represent the list of object classes to which this list should subscribe. More... | |
Protected Member Functions inherited from DtReflectedObjectList | |
| 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 void | removeAndDelete (DtReflectedObject *obj, const char *msg=nullptr) |
| Remove the remote object from the list if found and delete it. 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 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 () |
Static Protected Member Functions | |
| static void | activeSonarBeamAdditionCb (DtReflectedActiveSonarBeam *beam, void *usr) |
| Callback functions registered with myBeamList on beam additions, updates, and removals. More... | |
| static void | activeSonarBeamUpdateCb (DtReflectedActiveSonarBeam *beam, void *usr) |
| static void | activeSonarBeamRemovalCb (DtReflectedActiveSonarBeam *beam, void *usr) |
| static void | resolveOrphansPostDrainCb (void *usr) |
| Callback that calls resolveOrphans. More... | |
| static bool | delayBeamDiscoveryCondition (DtReflectedObject *beam, void *usr) |
| The following discovery condition function gets set for ActiveSonarBeams when users register a discovery condition for either DtReflectedActiveSonarSystemList 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 | doRequestUpdatesPostDrainCb (void *usr) |
| Calls doRequestUpdates. More... | |
| static void | postUpdateCb (DtReflectedObject *obj, void *usr) |
| Calls checkDiscoveryCondition. More... | |
Private Member Functions | |
| DtReflectedActiveSonarList (const DtReflectedActiveSonarList &orig) | |
| Copy constructor not implemented - cannot be copied. More... | |
| DtReflectedActiveSonarList & | operator= (const DtReflectedActiveSonarList &orig) |
| Assignment operator not implemented - cannot be copied. More... | |
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 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 |
Instances of DtReflectedActiveSonarList manage a list of DtReflectedActiveSonar objects.
| DtReflectedActiveSonarList::DtReflectedActiveSonarList | ( | DtExerciseConn * | exConn, |
| const DtDDMRegionSet * | regionSetToUse = 0, |
||
| const DtString & | updateRateTag = "" |
||
| ) |
Constructor.
| DtReflectedActiveSonarList::DtReflectedActiveSonarList | ( | DtExerciseConn * | exConn, |
| const DtList * | handleList, | ||
| const DtDDMRegionSet * | regionSetToUse = 0, |
||
| const DtString & | updateRateTag = "" |
||
| ) |
Constructor - only subscribe to the RTI::ObjectClassHandles in handleList.
|
virtual |
Destructor.
|
private |
Copy constructor not implemented - cannot be copied.
|
staticprotected |
Callback functions registered with myBeamList on beam additions, updates, and removals.
Calls processActiveSonarBeamAddition/Update/Removal.
|
staticprotected |
|
staticprotected |
|
virtual |
ActiveSonar added callback registration.
|
virtual |
ActiveSonar removed callback registration.
|
virtual |
Call this function to remove the previously registered discovery condition.
|
virtual |
Overrides the DtReflectedObjectList::clearDiscoveryCondition.
This function clears the discovery condition on the ActiveSonar systems and beams.
Reimplemented from DtReflectedObjectList.
|
virtual |
The following function checks whether a beam should be discovered; It only gets called if discovery conditions get registered either by calling DtReflectedActiveSonarSystemList::setDiscoveryCondition() or DtReflectedActiveSonarSystemList::setBeamDiscoveryCondition().
|
staticprotected |
The following discovery condition function gets set for ActiveSonarBeams when users register a discovery condition for either DtReflectedActiveSonarSystemList or its beam list.
Calls DtReflectedActiveSonarSystem::delayBeamDiscovery()
|
protectedvirtual |
Returns a DtList of RTI::ObjectClassHandles that represent the list of object classes to which this list should subscribe.
|
virtual |
Get the first reflected object in the list.
|
virtual |
Get the last reflected object in the list.
|
virtual |
Look up by identifier.
|
virtual |
Look up by name.
|
virtual |
Lookup an ActiveSonar from its object ID and system ID.
|
protectedvirtual |
Create a remote ActiveSonar system object for the HLA object.
Caller is responsible for deletion.
|
protectedvirtual |
Override of virtual function. Here, we create a DtReflectedActiveSonarSystem.
Implements DtReflectedObjectList.
|
protectedvirtual |
Called from processDiscoverObject() after a remote transmitter has been added to the list.
Default implementation prints a message. Subclasses can override this function to add functionality on addition. obj will be an instance of a class derived from DtReflectedObj.
Reimplemented from DtReflectedObjectList.
|
private |
Assignment operator not implemented - cannot be copied.
|
protectedvirtual |
Called by similar callback functions registered with myBeamList on beam additions/removals.
Addition function adds the beam to the set of orphan beams (since we don't know what system he's part of), the removal function removes the beam's beamSR from his system's systemSR. Update function calls the beam's system update callbacks if beamsUpdateSystems == true in the reflected system list constructor.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Process the discovery of a remote ActiveSonar system on the network.
Can't use base version, since we need to account for systems that are already in the list by virtue of discovered beams.
Reimplemented from DtReflectedObjectList.
|
protectedvirtual |
Process the removal of a remote ActiveSonar system from the network.
Removes the remote ActiveSonar system from this list. Can't use base version, since we need to keep systems that still have live beams.
Reimplemented from DtReflectedObjectList.
|
virtual |
Returns a pointer to a reflected ActiveSonar beam list that we are using internally to track our constituent beams.
Normally, you do not need to access this beam list. Instead, you should find out the state of a beam by going through the parent DtReflectedActiveSonarSystem, and its DtActiveSonarSystemRepository (through which you can get a list of DtActiveSonarBeamRepositories). This function, however, may be used in conjunction with ownership management. If you want to take ownership of some attributes of a beam object, use this function to grab the beam list, find the appropriate beam's DtHlaObject, and pass it to the DtActiveSonarBeamPublisher's constructor.
|
virtual |
ActiveSonar added callback de-registration.
|
virtual |
ActiveSonar removed callback de-registration.
|
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.
|
virtual |
Call this function to register a discovery condition on the beams of ActiveSonar Systems.
Generally, it will be preferable to call this function rather than calling setDiscoveryCondition() directly on the beamList. (Calling setDiscoveryCondition() directly will over-ride the mechanism by which beam discoveries are delayed when a user registers a discovery condition on DtReflectedActiveSonarSystem – See comment above).
|
virtual |
Over-rides DtReflectedObjectList::setDiscoveryCondition().
This function checks that ActiveSonar system objects satisfy the given criteria before getting discovered and added to the list (the discovery of beams belonging to the system will also be delayed until the after the system is discovered)
Reimplemented from DtReflectedObjectList.
|
protectedvirtual |
Returns whether or not the object should be timed out.
Assumes that timeout processing is enabled. Can't use base version since we don't want to time out systems with live beams.
Reimplemented from DtReflectedObjectList.
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
protected |
used for generating dummy obj ids