VR-Link API Documentation for HLA 1.3
entityStateUpdatePdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2013 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
9 #pragma once
10 
11 #if DtDIS
12 
13 #include "hostStructs.h"
14 #include "pdu.h"
15 #include "exerciseConn.h"
16 #include "packets/esUpdateP.h"
17 
20 
21 #include <vlutil/vlMachineTypes.h>
22 
23 class DtEntityStateUpdatePdu;
24 
26 typedef void (*DtEntityStateUpdatePduCb)(
27  DtEntityStateUpdatePdu* pdu, void* usr);
28 
33 class DT_DLL_VL DtEntityStateUpdatePdu : public DtStateMsg
34 {
35 
36 public:
37 
39  DtEntityStateUpdatePdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
40  DtEntityStateUpdatePdu(const DtNetEntityStateUpdatePdu* initial,
41  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
42  DtEntityStateUpdatePdu(const DtEntityStateUpdatePdu& orig);
43 
45  virtual ~DtEntityStateUpdatePdu();
46 
49  static DtPdu* create(const DtNetPacket* initial,
50  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
51 
54  static void addCallback(DtExerciseConn* conn,
55  DtEntityStateUpdatePduCb cb, void* usr);
56  static void removeCallback(DtExerciseConn* conn,
57  DtEntityStateUpdatePduCb cb, void* usr);
58 
60  DtEntityStateUpdatePdu& operator=(const DtEntityStateUpdatePdu& orig);
61 
63  virtual void setEntityID(const DtEntityIdentifier& id);
64  virtual const DtEntityIdentifier& entityID() const;
65 
69  virtual DtU8 numRecords() const;
70 
72  virtual void setVelocity(const DtVector& velocity);
73  virtual const DtVector& velocity() const;
74 
76  virtual void setLocation(const DtVector& coords);
77  virtual const DtVector& location() const;
78 
80  virtual void setOrientation(const DtTaitBryan& orientation);
81  virtual const DtTaitBryan& orientation() const;
82 
84  virtual void setAppearance(DtU32 app);
85  virtual DtU32 appearance() const;
86 
88  virtual void setAppearanceAttribute(
89  const DtAppearAttribute attr, const DtAppearAttrVal val);
90  virtual DtAppearAttrVal appearanceAttribute(
91  const DtAppearAttribute attr) const;
92 
93 
96 
100  virtual bool setArtPartParameters(const DtArticulatedPartCollection& partList);
101  virtual bool getArtPartParameters(DtArticulatedPartCollection& partList) const;
102 
106  virtual bool setAttPartParameters(const DtAttachedPartCollection& partList);
107  virtual bool getAttPartParameters(DtAttachedPartCollection& partList) const;
108 
110  virtual void printData() const;
111 
113  virtual void printDataToStream(std::ostream& stream) const;
114 
115 protected:
116 
118  virtual DtPduKind internalGetPduKind() const;
119 
121  virtual DtNetEntityStateUpdatePdu* netPduStruct() const;
122 
125  DtEntityStateUpdatePdu* self() const;
126 
128  virtual char* var() const;
129 
131  virtual void setNumRecords(DtU8 value);
132 
134  virtual int artParmOffset() const;
135  virtual int attParmOffset() const;
136 
137  virtual void fillAttPartNetParams(const DtAttachedPartCollection& apList,
138  DtNetAttachedPart* netRecords);
139  virtual void fillAttPartCollection(DtAttachedPartCollection& apList,
140  const DtNetAttachedPart* netRecords) const;
141 
142 protected:
143 
145  static const int theStaticSize;
146 
147 protected:
148 
150  int myNumArtPartParams;
151 
153  int myNumAttPartParams;
154 
156  DtEntityIdentifier myEntityID;
157  DtVector myVector;
158  DtTaitBryan myEulerAngles;
159 };
160 
161 
162 #endif

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)