VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedDirectedEnergyFireList.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 
9 
10 #pragma once
11 
12 #if DtDIS
13 
14 
17 
18 class DT_DLL_VL DtEventId;
19 class DT_DLL_VL DtDirectedEnergyFirePdu;
20 class DT_DLL_VL DtDetonationPdu;
21 
25 class DT_DLL_VL DtReflectedDirectedEnergyFireList : public DtReflectedObjectList
26 {
27 public:
29  DtReflectedDirectedEnergyFireList( DtExerciseConn* exConn, int numBucketsPrimeNumber = 503 );
31  virtual ~DtReflectedDirectedEnergyFireList();
32 
33 public:
35  virtual DtReflectedDirectedEnergyFire* lookup(
36  const DtEventId& eventId) const;
37 
39  virtual DtReflectedDirectedEnergyFire* first() const;
40  virtual DtReflectedDirectedEnergyFire* last() const;
41 
43  virtual void addDirectedEnergyFireAdditionCallback(
44  DtDirectedEnergyFireCallbackFunction cb, void* userData );
45  virtual void removeDirectedEnergyFireAdditionCallback(
46  DtDirectedEnergyFireCallbackFunction cb, void* userData );
47 
49  virtual void addDirectedEnergyFireRemovalCallback(
50  DtDirectedEnergyFireCallbackFunction cb, void* userData );
51  virtual void removeDirectedEnergyFireRemovalCallback(
52  DtDirectedEnergyFireCallbackFunction cb, void* userData );
53 
55  virtual void print() const;
56 
58  virtual void printDataToStream(std::ostream& stream) const;
59 
60 protected:
62  virtual DtReflectedObject* newReflectedObj( const DtStateMsg& msg );
63 
66  virtual DtReflectedDirectedEnergyFire* newReflectedDirectedEnergyFire(
67  const DtEventId& eventId);
68 
71  virtual int acceptPdu( const DtStateMsg& msg ) const;
72 
74  virtual DtReflectedObject* processStateMessage( const DtStateMsg& msg );
75 
77  virtual DtReflectedObject* processDetonationMessage( const DtDetonationPdu& msg );
78 
82  virtual void removeAndDelete( DtReflectedObject* obj, char* msg=0 );
83 
86  virtual void objectAdded( DtReflectedObject* obj );
87 
93  const DtBaseHashKey& hashKeyFromStateMessage( const DtStateMsg* );
94 
95 protected:
97  static void directedEnergyFireCb( DtDirectedEnergyFirePdu* pdu, void* usr );
98 
100  static void detonationCb( DtDetonationPdu* pdu, void* usr );
101 
102 protected:
103  DtEventIdHashKey myHashKey;
104 
105 protected:
107  DtReflectedDirectedEnergyFireList( const DtReflectedDirectedEnergyFireList& );
108 
110  DtReflectedDirectedEnergyFireList& operator=( const DtReflectedDirectedEnergyFireList& );
111 };
112 
113 #endif
class DtReflectedObjectList
Definition: reflectedObjectListHLA.h:58
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtBaseHashKey is an abstract base class for hash keys.
Definition: vlHashKeys.h:39
DtReflectedObjectList & operator=(const DtReflectedObjectList &orig)
assignment operator – not implemented
class DtReflectedObject:
Definition: reflectedObjectHLA.h:36
virtual void removeAndDelete(DtReflectedObject *obj, char *msg=nullptr)
Remove the remote object from the list if found and delete it.
Represents Events in the RPR FOM.
Definition: eventId.h:52
virtual void objectAdded(DtReflectedObject *object)
Called from processDiscoverObject() after a remote object has been added to the list.
class DtStateMsg:
Definition: stateMsgHLA.h:32
virtual void print()
Print the SRs of all objects.

Document ID: Generated on Thu Sep 19 02:12:35 EDT 2024 from SVN revision 269601
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)