VR-Link API Documentation for HLA 1.3
dReflEntList.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
9 
10 #ifndef DtReflectedEntityList_H_
11 #define DtReflectedEntityList_H_
12 
13 #if DtDIS
14 
15 #include "dRefObjList.h"
16 #include "dReflectedEnt.h"
17 #include "relLocPdu.h"
18 #include "esUpdatePdu.h"
19 #include "diGuyCustomPdu.h"
20 #include "supEmisEsPdu.h"
21 
23 
32 {
33 
34 public:
35 
38  bool smoothCapable = false, bool processDiGuyPdus = false);
39 
41  virtual ~DtReflectedEntityList();
42 
44  virtual DtReflectedEntity* lookup(const DtObjectId& id) const;
45 
47  virtual DtReflectedEntity* first() const;
48  virtual DtReflectedEntity* last() const;
49 
51  virtual void addEntityAdditionCallback(
52  DtEntityCallbackFunction cb, void* userData);
53  virtual void removeEntityAdditionCallback(
54  DtEntityCallbackFunction cb, void* userData);
55 
57  virtual void addEntityRemovalCallback(
58  DtEntityCallbackFunction cb, void* userData);
59  virtual void removeEntityRemovalCallback(
60  DtEntityCallbackFunction cb, void* userData);
61 
63  virtual void print();
64 
67  virtual DtReflectedEntity* processEntityState(const DtEntityStatePdu& pdu);
68 
70  virtual void processRelativeLocationPdu(const DtRelativeLocationPdu& pdu);
71 
73  virtual void processEntityStateUpdatePdu(
74  const DtEntityStateUpdatePdu& pdu);
75 
78  virtual void processDiGuyPdu(
79  const DtDIGuyCustomPdu& pdu);
80 
82  virtual void processSeesPdu(
83  const DtSuppEmisEntStatePdu& pdu);
84 
89  virtual void setProcessDiGuyPdus(bool trueFalse);
90 
96  virtual void discoverOnlyWhenEntityTypeKnown(bool yesNo);
97 
98 protected:
99 
102  const DtReflectedEntityList& orig);
103 
106 
107 protected:
108 
112  virtual DtReflectedObject* newReflectedObj(const DtStateMsg& msg);
113 
115  virtual DtReflectedObject* processStateMessage(const DtStateMsg& msg);
116 
119  virtual void objectAdded(DtReflectedObject* obj);
120 
123  virtual void finalPduIsSetAction(DtReflectedEntity* entity);
124 
126  virtual const DtBaseHashKey&
127  hashKeyFromStateMessage(const DtStateMsg* msg);
128 
130  virtual DtReflectedEntity* newReflectedEntity(const DtEntityIdentifier& id,
131  const DtEntityType& type) const;
132 
135  virtual void entityAdded(DtReflectedEntity* ent);
136 
137 protected:
138 
140  static void entityStateCb(DtEntityStatePdu* pdu, void* usr);
141 
143  static void relativeLocationCb( DtRelativeLocationPdu* pdu, void* usr );
144 
146  static void entityStateUpdateCb( DtEntityStateUpdatePdu* pdu, void* usr );
147 
149  static void diGuyPduCb(DtDIGuyCustomPdu* pdu, void* usr);
150 
152  static void seesPduCb(DtSuppEmisEntStatePdu* pdu, void* usr);
153 
156  static bool checkEntityType(DtReflectedObject* obj, void* usr);
157 
158 protected:
159 
160  bool mySmoothCapable;
161  DtEntityIdentifierHashKey* myHashKey;
162  bool myProcessingDiGuyPdus;
163 };
164 
165 #endif
166 #endif
167 
168 

Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)