VR-Link API Documentation for HLA 1.3
reflectedObjectHLA.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
7 #if DtHLA
8 
9 #ifndef DtHlaReflectedObject_H_
10 #define DtHlaReflectedObject_H_
11 
12 
13 #include "globalObjectDesignator.h"
14 #include "hlaObjectWithStateRep.h"
16 #include "objectId.h"
17 
22 
26 class DT_DLL_VL DtStateMsg;
28 
34 
36 {
37 
38 public:
39 
41  typedef DtStateRepository* (*DtBaseStateRepCreator)();
42 
43 public:
44 
47  DtStateRepository* stateRep);
48 
52  DtExerciseConn* conn, DtBaseStateRepCreator creator);
53 
56  DtReflectedObject(const DtObjectId& id,
57  const DtGlobalObjectDesignator& des,
58  DtExerciseConn* conn, DtBaseStateRepCreator creator);
59 
61  virtual ~DtReflectedObject();
62 
65  virtual DtStateRepository* stateRep() const;
66 
68  virtual DtStateRepository* sr() const;
69 
72  virtual DtHlaStateDecoder* decoder();
73 
76  virtual DtHlaObjectWithStateRep* hlaObject() const;
77 
79  virtual const DtObjectId& objectId() const;
80 
82  virtual const DtObjectId& id() const;
83 
85  virtual const DtObjectId& localId() const;
86 
88  virtual const DtString& name() const;
89 
92  virtual const DtGlobalObjectDesignator& globalId() const;
93 
94 #if DtHLA_1516_EVOLVED
95 
96 
97 
98  virtual const DtString& lastProducingFederate() const;
99 #endif
100 
103  virtual DtTime lastSimTimeUpdated() const;
104 
105 
108  virtual DtTime lastReceivedTimeStamp() const;
109 
111  virtual void baseAddPostUpdateCallback(
112  DtReflectedObjectCallbackFunction cb, void* userData);
113  virtual void baseRemovePostUpdateCallback(
114  DtReflectedObjectCallbackFunction cb, void* userData);
115 
117  virtual DtReflectedObject* nextObj() const;
118 
120  virtual DtReflectedObject* prevObj() const;
121 
124  virtual DtReflectedObject* wrapNextObj() const;
125 
128  virtual DtReflectedObject* wrapPrevObj() const;
129 
134  void setHlaObject(DtHlaObject* obj,
135  DtHlaStateDecoder* decoder = NULL);
136 
139  virtual void setNoHlaObject(const DtObjectId& id,
140  const DtGlobalObjectDesignator& des);
141 
144  void detachHlaObject();
145 
147  virtual void requestUpdate();
148 
149 protected:
150 
153 
155  DtReflectedObject& operator=(const DtReflectedObject& orig);
156 
158  virtual void processPostUpdateCallbacks();
159 
160 protected:
161 
163  static void requestUpdatePostDrainCb(void* usr);
164 
166  static void processPostUpdateCallbacksCb(
167  const DtStateMsg& stateMsg,
168  DtHlaObject* obj,
169  void* usr);
170 
171 protected:
172 
181 };
182 
183 
185 {
186  return id();
187 }
188 
190 {
191  return myStateRep;
192 }
193 
195 {
196  return myStateRep;
197 }
198 
200 {
201  return myHlaObj;
202 }
203 
205 {
207 }
208 
210 {
212 }
213 
215 {
217 }
218 
220 {
222 }
223 
224 #endif
225 #endif
226 

Document ID: Generated on Wed Oct 23 22:25:48 EDT 2013 from SVN revision 132765
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)