VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedAerodromeDIS.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2023 MAK Technologies, Inc
3  * All rights reserved.
4  ****************************************************************************/
5 
6 #pragma once
7 
8 #if DtDIS
9 
10 #include <vlutil/vlMachineTypes.h>
11 #include <vlutil/vlHashKeys.h>
12 #include <vl/reflectedObjectDIS.h>
14 #include <vl/aerodromePdu.h>
16 
17 class DtExerciseConn;
18 
20 class DtAerodomeDecoder;
22 
23 
25  DtReflectedAerodrome* obj, void* userData);
26 
27 
29 {
30 public:
31 
33  typedef DtAerodromeStateRepository* (*DtStateRepCreator)();
34 
35 public:
36 
39 
41  virtual ~DtReflectedAerodrome();
42 
43 private:
46 
49 public:
50 
53  virtual DtAerodromeStateRepository* aerodromeStateRep() const;
54 
56  virtual DtAerodromeStateRepository* asr() const;
57 
61  virtual DtStateRepository* stateRep() const;
62 
65  virtual DtAerodomeDecoder* decoder();
66 
69  virtual const DtGlobalObjectDesignator& globalId() const;
70 
72  virtual DtReflectedAerodrome* next() const;
73  virtual DtReflectedAerodrome* prev() const;
74 
76  virtual DtReflectedAerodrome* wrapNext() const;
77  virtual DtReflectedAerodrome* wrapPrev() const;
78 
80  virtual void addPostUpdateCallback(
81  DtAerodromeStateCallbackFunction cb, void* userData);
82  virtual void removePostUpdateCallback(
83  DtAerodromeStateCallbackFunction cb, void* userData);
84 
86  virtual void setHashKey(const DtEntityIdentifier& uniqueVal);
87 
90  virtual const DtBaseHashKey& hashKey() const;
91 
93  virtual DtString idString() const;
94 
95 
97  virtual void processStateMessage(const DtStateMsg& msg);
98 
101  virtual void processAerodromeState(const DtAerodromePdu& pdu);
102 
104  virtual void runwayUpdated();
105 
106 public:
107 
109  static void setStateRepCreator(DtStateRepCreator creator);
110  static DtStateRepCreator stateRepCreator(void);
111 
112 protected:
113 
114  static DtStateRepCreator theStateRepCreator;
118 };
119 
120 
121 
122 #endif
Instances of DtEntityIdentifierHashKey are hash keys made from DtEntityIdentifiers.
Definition: entityIdentifierHashKey.h:21
void * next() const
Return next (previous) elements on the list, or NULL if hit the end (beginning) of the list...
Definition: vlList.h:272
DtAerodromeStateRepository * myStateRep
Definition: reflectedAerodromeDIS.h:116
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
virtual const DtBaseHashKey & hashKey() const =0
Get a hash key for this object.
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Contains the DtAerodromePdu class declaration.
DtBaseHashKey is an abstract base class for hash keys.
Definition: vlHashKeys.h:39
This file contains typedefs used to represent objects in a protocol neutral way.
Instances of DtAerodromeDecoder decode data from Aerodrome PDUs to update a DtAerodromeStateRepositor...
Definition: aerodromeDecoderDIS.h:25
DtReflectedObject & operator=(const DtReflectedObject &orig)
assignment operator – not implemented
Instances of DtAerodromePdu are used for DIS network packets which encode the DtAerodromeStateReposit...
Definition: aerodromePdu.h:32
void(* DtAerodromeStateCallbackFunction)(DtReflectedAerodrome *obj, void *userData)
Definition: reflectedAerodromeDIS.h:24
This file declares DtEntityIdentifierHashKey.
Instances of DtReflectedObject are used to represent a simulation entity reflected across a network (...
Definition: reflectedObjectDIS.h:34
virtual const DtGlobalObjectDesignator & globalId() const =0
Get the Global ID for this object.
void * prev() const
Definition: vlList.h:277
DtEntityIdentifierHashKey myHashKey
Definition: reflectedAerodromeDIS.h:115
void * wrapNext() const
Return next (previous) elements on the list, but wrap to the beginning (end) of the list when you hit...
Definition: vlList.h:282
DtStateRepository is an abstract base class for maintaining state for an object.
Definition: stateRepository.h:50
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
This file declares DtBaseHashKey.
Definition: reflectedAerodromeDIS.h:28
virtual void processStateMessage(const DtStateMsg &msg)
Process an entity state PDU.
virtual DtString idString() const =0
Get a string identification of this object.
void * wrapPrev() const
Definition: vlList.h:288
static DtStateRepCreator theStateRepCreator
Definition: reflectedAerodromeDIS.h:114
Instances of DtString are used to represent strings.
Definition: vlString.h:29
virtual DtStateRepository * stateRep() const =0
Returns a pointer to the StateRepository - through which you can inspect current state information...
Instances of DtStateMsg are used to represent state data communicated via the network in a DIS (as op...
Definition: stateMsgDIS.h:21
This file contains typedefs for machine dependant types.
DtAerodomeDecoder * myDecoder
Definition: reflectedAerodromeDIS.h:117
Instances of DtAerodromeStateRepository are used to store state data for Aerodrome objects...
Definition: aerodromeStateRepository.h:25

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)