VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedEntityDIS.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
9 #ifndef reflectedEntityDIS_H_
10 #define reflectedEntityDIS_H_
11 
12 #if DtDIS
13 
14 #include "reflectedObjectDIS.h"
15 #include "entityStateDecoder.h"
16 #include "entityStatePdu.h"
17 #include "globalObjectDesignator.h"
18 #include "objectIdHashKey.h"
19 #include "relativeLocationPdu.h"
20 #include "entityStateUpdatePdu.h"
21 #include "suppEmisEntStatePdu.h"
22 #include "diGuyCustomPdu.h"
23 
25 class DtExerciseConn;
26 class DtReflectedEntity;
27 
30 typedef void (*DtEntityCallbackFunction)(
31  DtReflectedEntity* obj, void* userData);
32 
37 {
38 public:
39 
41  typedef DtEntityStateRepository* (*DtStateRepCreator)();
42 
43 public:
44 
47  const DtEntityIdentifier& id,
48  const DtEntityType& type);
49 
51  virtual ~DtReflectedEntity();
52 
55  virtual DtEntityStateRepository* entityStateRep() const;
56 
58  virtual DtEntityStateRepository* esr() const;
59 
63  virtual DtStateRepository* stateRep() const;
64 
67  virtual DtEntityStateDecoder* decoder();
68 
70  virtual const DtEntityIdentifier& entityId() const;
71 
73  virtual const DtObjectId& id() const;
74 
76  virtual const DtObjectId& localId() const;
77 
80  virtual const DtGlobalObjectDesignator& globalId() const;
81 
83  virtual void processStateMessage(const DtStateMsg& msg);
84 
86  virtual void processRelativeLocation(const DtRelativeLocationPdu& pdu);
87 
89  virtual void processEntityStateUpdate(const DtEntityStateUpdatePdu& pdu);
90 
92  virtual void processSees(const DtSuppEmisEntStatePdu& pdu);
93 
95  virtual void processDiGuyPdu(const DtDIGuyCustomPdu& pdu);
96 
98  virtual DtReflectedEntity* next() const;
99  virtual DtReflectedEntity* prev() const;
100 
102  virtual DtReflectedEntity* wrapNext() const;
103  virtual DtReflectedEntity* wrapPrev() const;
104 
106  virtual void addPostUpdateCallback(
107  DtEntityCallbackFunction cb, void* userData);
108  virtual void removePostUpdateCallback(
109  DtEntityCallbackFunction cb, void* userData);
110 
112  virtual const DtBaseHashKey& hashKey() const;
113 
115  virtual DtString idString() const;
116 
119  virtual void processEntityState(const DtEntityStatePdu& pdu);
120 
121 public:
122 
124  static void setStateRepCreator(DtStateRepCreator creator);
125  static DtStateRepCreator stateRepCreator(void);
126 
127 protected:
128 
131 
134 
135 protected:
136 
141 
142 protected:
143 
144  static DtStateRepCreator theStateRepCreator;
145 
146 };
147 
149 {
150  return id();
151 }
152 
153 #endif
154 #endif
155 

Document ID: Generated on Tue Mar 1 02:56:17 EST 2016 from SVN revision 162687
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)