VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedEmitterSystemListDIS.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
9 
10 #pragma once
11 
12 #if DtDIS
13 
14 
15 #include "reflectedObjectListDIS.h"
17 #include "globalObjectDesignator.h"
18 #include <vl/attributePdu.h>
19 
21 
23 
24 
29 {
30 
31 public:
32 
34  DtReflectedEmitterSystemList(DtExerciseConn* exConn, int numBucketsPrimeNumber = 503);
35 
38 
40  virtual DtReflectedEmitterSystem* lookup(
41  const DtGlobalObjectDesignator& emittingEntity,
42  int systemId) const;
43 
45  virtual DtReflectedEmitterSystem* first() const;
46  virtual DtReflectedEmitterSystem* last() const;
47 
49  virtual void addEmitterSystemAdditionCallback(
50  DtEmitterSystemCallbackFunction cb, void* userData);
51  virtual void removeEmitterSystemAdditionCallback(
52  DtEmitterSystemCallbackFunction cb, void* userData);
53 
55  virtual void addEmitterSystemRemovalCallback(
56  DtEmitterSystemCallbackFunction cb, void* userData);
57  virtual void removeEmitterSystemRemovalCallback(
58  DtEmitterSystemCallbackFunction cb, void* userData);
59 
63  virtual void addEmitterAdditionCallback(
64  DtEmitterSystemCallbackFunction cb, void* userData);
67  virtual void removeEmitterAdditionCallback(
68  DtEmitterSystemCallbackFunction cb, void* userData);
69 
73  virtual void addEmitterRemovalCallback(
74  DtEmitterSystemCallbackFunction cb, void* userData);
77  virtual void removeEmitterRemovalCallback(
78  DtEmitterSystemCallbackFunction cb, void* userData);
79 
81  virtual void print();
82 
83 protected:
84 
87  const DtReflectedEmitterSystemList& orig);
88 
91 
92 protected:
93 
95  virtual DtReflectedObject* newReflectedObj( const DtStateMsg& msg );
96 
98  virtual DtReflectedObject* newReflectedEmitterSystem(
99  const DtGlobalObjectDesignator& emittingEntity, int systemId );
100 
102  virtual DtReflectedObject* processStateMessage( const DtStateMsg& msg );
103 
106  virtual void objectAdded(DtReflectedObject* obj);
107 
109  virtual const DtBaseHashKey&
111 
112 #if DtDIS
113  virtual void processAttributePduCb(DtAttributeInteraction *inter);
114 #endif
115 
116 protected:
117 
119  static void emEmissionCb(DtElectromagneticEmissionPdu* pdu, void* usr);
120 
121 };
122 
123 #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 DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
virtual const DtBaseHashKey & hashKeyFromStateMessage(const DtStateMsg *msg)=0
Get a hash key from a state message.
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtBaseHashKey is an abstract base class for hash keys.
Definition: vlHashKeys.h:39
Instances of DtSystemHashKey are used as hash keys for an emitter system.
Definition: systemHashKey.h:18
DIS Electromagnetic Emission PDU.
Definition: electromagneticEmissionPdu.h:76
This file contains typedefs used to represent objects in a protocol neutral way.
Instances of DtAttributePdu are used to represent the arbitrary attributes added to PDUs...
Definition: attributePdu.h:26
DtReflectedObjectList & operator=(const DtReflectedObjectList &orig)
assignment operator – not implemented
Instances of this class provide a protocol independent interface to a list of reflected emitters in a...
Definition: reflectedEmitterSystemListDIS.h:28
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
void(* DtEmitterSystemCallbackFunction)(DtReflectedEmitterSystem *obj, void *userData)
Callback function that takes a DtReflectedObject and user data.
Definition: reflectedEmitterSystemDIS.h:25
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.
static void processAttributePduCb(DtAttributeInteraction *inter, void *usr)
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.
This file declares DtAttributePdu and DtAttributeInteraction (DIS ONLY)
Instances of DtReflectedEmitterSystem represent EmitterSystem object simulated by remote applications...
Definition: reflectedEmitterSystemDIS.h:33

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)