VR-Link API Documentation for HLA 1.3
 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 #include "ownershipHandler.h"
25 
26 class DtExerciseConn;
27 class DtReflectedEntity;
28 class DtDIGuyCustomPduDecoder;
29 
32 typedef void (*DtEntityCallbackFunction)(
33  DtReflectedEntity* obj, void* userData);
34 
39 {
40 public:
41 
43  typedef DtEntityStateRepository* (*DtStateRepCreator)();
44 
45 public:
46 
49  const DtEntityIdentifier& id,
50  const DtEntityType& type);
51 
58  DtExerciseConn* conn,
59  const DtEntityIdentifier& id);
60 
62  virtual ~DtReflectedEntity();
63 
66  virtual DtEntityStateRepository* entityStateRep() const;
67 
69  virtual DtEntityStateRepository* esr() const;
70 
74  virtual DtStateRepository* stateRep() const;
75 
78  virtual DtEntityStateDecoder* decoder();
79 
83  virtual DtOwnershipHandler* setOwnershipHandler( DtOwnershipHandler* handler );
84 
86  virtual const DtEntityIdentifier& entityId() const;
87 
89  virtual const DtObjectId& id() const;
90 
92  virtual const DtObjectId& localId() const;
93 
96  virtual const DtGlobalObjectDesignator& globalId() const;
97 
99  virtual void processStateMessage(const DtStateMsg& msg);
100 
102  virtual void processRelativeLocation(const DtRelativeLocationPdu& pdu);
103 
105  virtual void processEntityStateUpdate(const DtEntityStateUpdatePdu& pdu);
106 
108  virtual void processSees(const DtSuppEmisEntStatePdu& pdu);
109 
111  virtual void processDiGuyPdu(const DtDIGuyCustomPdu& pdu);
112 
114  virtual DtReflectedEntity* next() const;
115  virtual DtReflectedEntity* prev() const;
116 
118  virtual DtReflectedEntity* wrapNext() const;
119  virtual DtReflectedEntity* wrapPrev() const;
120 
122  virtual void addPostUpdateCallback(
123  DtEntityCallbackFunction cb, void* userData);
124  virtual void removePostUpdateCallback(
125  DtEntityCallbackFunction cb, void* userData);
126 
128  virtual const DtBaseHashKey& hashKey() const;
129 
131  virtual DtString idString() const;
132 
135  virtual void processEntityState(const DtEntityStatePdu& pdu);
136 
140  virtual void acquireObject();
141 public:
142 
144  static void setStateRepCreator(DtStateRepCreator creator);
145  static DtStateRepCreator stateRepCreator(void);
146 
147 protected:
148 
151 
154 
155 protected:
156 
158  DtEntityStateRepository* myEntityStateRep;
159  DtEntityStateDecoder* myEntityDecoder;
160  DtDIGuyCustomPduDecoder* myDiGuyDecoder;
161  DtEntityIdentifierHashKey myHashKey;
162  DtOwnershipHandler* myOwnershipHandler;
163 
164 protected:
165 
166  static DtStateRepCreator theStateRepCreator;
167 
168 };
169 
170 inline const DtObjectId& DtReflectedEntity::localId() const
171 {
172  return id();
173 }
174 
175 #endif
176 #endif
177 

Document ID: Generated on Mon Feb 6 18:36:34 EST 2017 from SVN revision 173107
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)