VR-Link API Documentation for DIS
 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;
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 
97 
98 protected:
99 
101  static void underwaterAcousticCb( DtUnderwaterAcousticPdu* pdu, void* usr );
102 
103 protected:
104 
107 
110 
111 };
112 
113 #endif // DtDIS
virtual void print() const
Print the SRs of all objects.
Instances of DtReflectedObjectList are lists of instances of classes derived from DtReflectedObject...
Definition: reflectedObjectListDIS.h:38
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnDIS.h:61
virtual const DtBaseHashKey & hashKeyFromStateMessage(const DtStateMsg *msg)=0
Get a hash key from a state message.
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Instances of DtUnderwaterAcousticPdu are used to send information about simulated underwater acoustic...
Definition: underwaterAcousticPdu.h:39
DtBaseHashKey is an abstract base class for hash keys.
Definition: vlHashKeys.h:39
Instances of DtReflectedActiveSonar represent active sonar object simulated by remote applications...
Definition: reflectedActiveSonarDIS.h:28
Instances of DtSystemHashKey are used as hash keys for an emitter system.
Definition: systemHashKey.h:18
virtual int acceptPdu(const DtStateMsg &) const
Determines if a PDU should be processed or not.
This file contains typedefs used to represent objects in a protocol neutral way.
DtReflectedObjectList & operator=(const DtReflectedObjectList &orig)
assignment operator – not implemented
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 void removeAndDelete(DtReflectedObject *obj, char *msg=NULL)
Remove the remote object from the list if found and delete it.
virtual DtReflectedObject * newReflectedObj(const DtStateMsg &msg)=0
Create a new object from a state message.
void(* DtActiveSonarCallbackFunction)(DtReflectedActiveSonar *, void *)
Callback function that takes a DtReflectedActiveSonar and user data.
Definition: reflectedActiveSonarDIS.h:23
virtual void objectAdded(DtReflectedObject *object)
Called after a remote object has been added to the list.
Instances of this class provide a protocol independent interface to a list of additional passive acti...
Definition: reflectedActiveSonarListDIS.h:24
Contains the DIS DtReflectedActiveSonar class declaration.
Instances of DtStateMsg are used to represent state data communicated via the network in a DIS (as op...
Definition: stateMsgDIS.h:21
virtual DtReflectedObject * processStateMessage(const DtStateMsg &msg)
Process an incoming state message.

Document ID: Generated on Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)