VR-Link API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedActiveSonarListDIS.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2013 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtDIS
13 
17 
18 class DtSystemHashKey;
19 class DtUnderwaterAcousticPdu;
20 
25 {
26 public:
27 
29  DtReflectedActiveSonarList( DtExerciseConn* exConn, int numBucketsPrimeNumber = 503 );
30 
32  virtual ~DtReflectedActiveSonarList();
33 
34 public:
35 
38  virtual DtReflectedActiveSonar* lookup(
39  const DtGlobalObjectDesignator& hostEntity, int acousticId ) const;
40 
42  virtual DtReflectedActiveSonar* first() const;
43  virtual DtReflectedActiveSonar* last() const;
44 
46  virtual void addActiveSonarAdditionCallback(
47  DtActiveSonarCallbackFunction cb, void* userData );
48  virtual void removeActiveSonarAdditionCallback(
49  DtActiveSonarCallbackFunction cb, void* userData );
50 
52  virtual void addActiveSonarRemovalCallback(
53  DtActiveSonarCallbackFunction cb, void* userData );
54  virtual void removeActiveSonarRemovalCallback(
55  DtActiveSonarCallbackFunction cb, void* userData );
56 
58  virtual void print() const;
59 
61  virtual void printDataToStream( std::ostream& stream ) const;
62 
63 protected:
64 
66  virtual DtReflectedObject* newReflectedObj( const DtStateMsg& msg );
67 
70  virtual DtReflectedActiveSonar* newReflectedActiveSonar(
71  const DtEntityIdentifier& hostEntity, int acousticId );
72 
76  virtual int acceptPdu( const DtStateMsg& msg ) const;
77 
80  virtual DtReflectedObject* processStateMessage( const DtStateMsg& msg );
81 
85  virtual void removeAndDelete( DtReflectedObject* obj, char* msg=0 );
86 
89  virtual void objectAdded( DtReflectedObject* obj );
90 
96  const DtBaseHashKey& hashKeyFromStateMessage( const DtStateMsg* );
97 
98 protected:
99 
101  static void underwaterAcousticCb( DtUnderwaterAcousticPdu* pdu, void* usr );
102 
103 protected:
104 
107 
110 
111 };
112 
113 #endif // DtDIS
class DtReflectedObjectList
Definition: reflectedObjectListHLA.h:36
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnHLA.h:58
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtBaseHashKey is an abstract base class for hash keys.
Definition: vlHashKeys.h:39
Instances of DtReflectedActiveSonar are used to represent a simulated EmbeddedSystem.UnderwaterAcousticsEmission.ActiveSonar object reflected across a network.
Definition: reflectedActiveSonarHLA.h:28
Instances of DtSystemHashKey are used as hash keys for an emitter system.
Definition: systemHashKey.h:18
This file contains typedefs used to represent objects in a protocol neutral way.
DtReflectedObjectList & operator=(const DtReflectedObjectList &orig)
assignment operator – not implemented
class DtReflectedObject:
Definition: reflectedObjectHLA.h:36
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
virtual void removeAndDelete(DtReflectedObject *obj, char *msg=NULL)
Remove the remote object from the list if found and delete it.
virtual void objectAdded(DtReflectedObject *object)
Called from processDiscoverObject() after a remote object has been added to the list.
Instances of DtReflectedActiveSonarList manage a list of DtReflectedActiveSonar objects.
Definition: reflectedActiveSonarListHLA.h:21
Instances of DtString are used to represent strings.
Definition: vlString.h:29
Contains the DIS DtReflectedActiveSonar class declaration.
class DtStateMsg:
Definition: stateMsgHLA.h:32
virtual void print()
Print the SRs of all objects.
void(* DtActiveSonarCallbackFunction)(DtReflectedActiveSonar *obj, void *usr)
Callback function that takes a DtReflectedObject and user data.
Definition: reflectedActiveSonarHLA.h:21

Document ID: Generated on Tue Aug 10 00:12:31 EDT 2021 from SVN revision 232765
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)