VR-Link API Documentation for DIS
 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 VT MAK
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 
9 
10 #pragma once
11 
12 #if DtDIS
13 
14 
17 
18 class DT_DLL_VL DtEventId;
21 
26 {
27 public:
29  DtReflectedDirectedEnergyFireList( DtExerciseConn* exConn, int numBucketsPrimeNumber = 503 );
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 
94 
95 protected:
97  static void directedEnergyFireCb( DtDirectedEnergyFirePdu* pdu, void* usr );
98 
100  static void detonationCb( DtDetonationPdu* pdu, void* usr );
101 
102 protected:
104 
105 protected:
108 
111 };
112 
113 #endif
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 DtEnergyFireInteraction are used to represent the firing of an Energy Weapon...
Definition: directedEnergyFirePdu.h:34
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
DtDetonationPdu is used to represent the impact or detonation of a munition.
Definition: detonationPdu.h:42
DtBaseHashKey is an abstract base class for hash keys.
Definition: vlHashKeys.h:39
virtual int acceptPdu(const DtStateMsg &) const
Determines if a PDU should be processed or not.
DtEventIdHashKey myHashKey
Definition: reflectedDirectedEnergyFireList.h:103
DtReflectedObjectList & operator=(const DtReflectedObjectList &orig)
assignment operator – not implemented
Instances of DtEventIdHashKey are hash keys made from DtEventIds.
Definition: eventIdHashKey.h:23
Instances of DtReflectedObject are used to represent a simulation entity reflected across a network (...
Definition: reflectedObjectDIS.h:34
Represents Events in DIS.
Definition: eventId.h:154
Instances of this class provide a protocol independent interface to a list of reflected Directed Ener...
Definition: reflectedDirectedEnergyFireList.h:25
Instances of DtReflectedDirectedEnergyFire represent Directed Energy Fire object simulated by remote ...
Definition: reflectedDirectedEnergyFire.h:28
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.
virtual void objectAdded(DtReflectedObject *object)
Called after a remote object has been added to the list.
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.
void(* DtDirectedEnergyFireCallbackFunction)(DtReflectedDirectedEnergyFire *, void *)
Callback function that takes a DtReflectedDirectedEnergyFire and user data.
Definition: reflectedDirectedEnergyFire.h:23

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)