VR-Link API Documentation for DIS
dEntityPub.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 #pragma once
6 
9 #if DtDIS
10 
11 
12 #include "dObjPub.h"
13 #include "entitySR.h"
14 #include "dEntityEnc.h"
15 #include "dEntityDec.h"
16 #include "objectId.h"
17 
24 {
25 public:
26 
27  //g++ forces us to define this function before we define
28  //our constructors
29  static const DtEntityType& guiseSameAsType();
30 
31 public:
32 
34  typedef DtEntityStateRepository* (*DtStateRepCreator)();
35 
36 public:
37 
38 
48  DtEntityStateRepository *stateRepToUse,
49  DtExerciseConn* conn,
50  const DtObjectId& id = DtObjectId::defaultId());
51 
61  DtExerciseConn* conn,
62  const DtObjectId& id = DtObjectId::defaultId());
63 
73  const DtEntityType& type,
74  DtExerciseConn* conn,
75  const DtObjectId& id = DtObjectId::defaultId());
76 
86  const DtEntityType& type,
87  DtExerciseConn* conn,
88  DtDeadReckonTypes algorithm,
89  DtForceType forceId,
90  const DtEntityType& guise = guiseSameAsType(),
91  const DtObjectId& id = DtObjectId::defaultId());
92 
94  virtual ~DtEntityPublisher();
95 
96 private:
97 
100 
103 
104 public:
108  virtual void tick();
109 
112  virtual DtEntityStateRepository* entityStateRep();
113 
115  virtual DtEntityStateRepository* esr();
116 
120  virtual DtEntityStateDecoder* decoder();
121 
124  virtual DtEntityStateEncoder* encoder();
125 
127  virtual const DtObjectId& id() const;
128 
130  virtual const DtObjectId& localId() const;
131 
133  virtual const DtGlobalObjectDesignator& globalId() const;
134 
138  virtual void sendFinalPduOnDestruction(bool on);
139 
142  virtual void forceUpdate();
143 
145  virtual void setSendDiGuyPdus(bool yesNo);
146 
148  virtual bool sendDiGuyPdus() const;
149 
151  virtual void setSendSeesPdus(bool yesNo);
152 
154  virtual bool sendSeesPdus() const;
155 
157  virtual void setSeesTimeThreshold(DtTime time);
158 
160  virtual DtTime seesTimeThreshold() const;
161 
162 
163 public:
164 
166  static void setStateRepCreator(DtStateRepCreator creator);
167  static DtStateRepCreator stateRepCreator(void);
168 
169  static void setClassDfltTimeThreshold(DtTime threshold);
170 
172 
173  static void setDfltRotationThreshold(double r);
174  static double dfltRotationThreshold();
175  static void setDfltTranslationThreshold(double t);
176  static double dfltTranslationThreshold();
178 
179 protected:
180 
182  void sendFinalPdu();
183 
185  virtual void createAndSendDiGuyPdus();
186 
188  virtual void createAndSendSeesPdu();
189 
190  virtual bool sendSeesNeeded() const;
191 
193  void init( const DtObjectId& vehId);
194 
195 protected:
204 
205 protected:
206  static DtStateRepCreator theStateRepCreator;
209 };
210 
212 {
213  return esr();
214 }
215 
217 {
218  return (DtEntityStateRepository*) stateRep();
219 }
220 
222 {
223  return myEntityEncoder;
224 }
225 
227 {
228  return myEntityDecoder;
229 }
230 
232 {
233  mySendFinalInDtor = onOff;
234 }
235 
236 inline const DtObjectId& DtEntityPublisher::id() const
237 {
238  return myId;
239 }
240 
242 {
244 }
245 
247 {
249 }
250 
252 {
254 }
255 
257 {
259 }
260 
262 {
263  return id();
264 }
265 
266 
267 
268 #endif
269 
270 

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)