VR-Link API Documentation for DIS
aggStatePdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #ifndef DtAggregateStatePdu_H_
7 #define DtAggregateStatePdu_H_
8 
12 
13 #if DtDIS
14 
15 #include <vlutil/vlMachineTypes.h>
16 #include "hostStructs.h"
17 #include "stateMsg.h"
18 #include "exerciseConn.h"
19 #include "aggEntList.h"
20 #include "aggAggList.h"
21 #include "varDatumRec.h"
22 
23 #include <matrix/vlMath.h>
24 
25 #include "packets/aggStateP.h"
26 
28 
29 
31 typedef void (*DtAggregateStatePduCb)(DtAggregateStatePdu* pdu, void* usr);
32 
33 
38 {
39 
40 public:
41 
47 
49  virtual ~DtAggregateStatePdu();
50 
53 
55  virtual void setAggregateID(const DtEntityIdentifier& entity);
56  virtual const DtEntityIdentifier& aggregateID() const;
57 
59  virtual void setForceID(DtForceType force);
60  virtual DtForceType forceID() const;
61 
63  virtual void setAggregateState(DtAggregateState value);
64  virtual DtAggregateState aggregateState() const;
65 
67  virtual void setAggregateType(const DtEntityType& type);
68  virtual const DtEntityType& aggregateType() const;
69 
71  virtual void setFormation(DtAggregateFormation value);
72  virtual DtAggregateFormation formation() const;
73 
75  virtual void setMarkingCharacterSet(DtCharacterSet value);
76  virtual DtCharacterSet markingCharacterSet() const;
77 
79  virtual void setMarkingText(DtU8* copyFrom);
80  virtual void getMarkingText(DtU8* copyTo) const;
81 
83  virtual void setDimensions(const DtVector& dims);
84  virtual const DtVector& dimensions() const;
85 
87  virtual void setOrientation(const DtTaitBryan& orientation);
88  virtual const DtTaitBryan& orientation() const;
89 
91  virtual void setLocation(const DtVector& coords);
92  virtual const DtVector& location() const;
93 
95  virtual void setVelocity(const DtVector& coords);
96  virtual const DtVector& velocity() const;
97 
100  virtual bool setNumberOfDIS_Subaggregates(DtU16 newNumberOfAggregates);
101  virtual DtU16 numberOfDIS_Subaggregates() const;
102 
105  virtual bool setNumberOfDIS_Entities(DtU16 newNumberOfEntities);
106  virtual DtU16 numberOfDIS_Entities() const;
107 
110  virtual bool setNumberOfSilentSubaggregates(
111  DtU16 newNumberOfAggregates);
112  virtual DtU16 numberOfSilentSubaggregates() const;
113 
116  virtual bool setNumberOfSilentEntities(DtU16 newNumberOfEntities);
117  virtual DtU16 numberOfSilentEntities() const;
118 
121  virtual bool setSubaggregateID(int index,
122  const DtEntityIdentifier& aggID);
123  virtual bool getSubaggregateID(int index,
124  DtEntityIdentifier& aggID) const;
125 
127  virtual bool setEntityID(int index,
128  const DtEntityIdentifier& entID);
129  virtual bool getEntityID(int index,
130  DtEntityIdentifier& entID) const;
131 
134  virtual bool setSilentAggregateList(int index,
135  const DtSilentAggregateList& aggList);
136  virtual bool getSilentAggregateList(int index,
137  DtSilentAggregateList& aggList) const;
138 
141  virtual bool setSilentEntityList(int index,
142  const DtSilentEntityList& entList);
143  virtual bool getSilentEntityList(int index,
144  DtSilentEntityList& entList) const;
145 
148  virtual bool setNumberOfDatumRecords(DtU32 newNumberOfRecords);
149  virtual DtU32 numberOfDatumRecords() const;
150 
153  virtual bool setVariableDatumRecord(int index,
154  const DtVariableDatumRecord& rec);
155  virtual bool getVariableDatumRecord(int index,
156  DtVariableDatumRecord& rec) const;
157 
159  virtual const DtVariableDatumRecord& variableDatumRecordConstRef(
160  int index) const;
161 
163  virtual void printData() const;
164 
166  virtual void printDataToStream(std::ostream& stream) const;
167 
168 
173 
176  virtual bool setDatumBitLength(int index, DtU32 newRecordBitLength);
177  virtual bool getDatumBitLength(int index, DtU32& length) const;
178 
181  virtual bool setDatumID(int index, DtDatumParam value);
182  virtual bool getDatumID(int index, DtDatumParam& value) const;
183 
186  virtual bool setDatumValFloat64(int index, DtFloat64 value);
187  virtual bool getDatumValFloat64(int index, DtFloat64& value) const;
188 
191  virtual bool setDatumValFloat32(int index, DtFloat32 value);
192  virtual bool getDatumValFloat32(int index, DtFloat32& value) const;
193 
196  virtual bool setDatumValInt32(int index, DtInt32 value);
197  virtual bool getDatumValInt32(int index, DtInt32& value) const;
198 
201  virtual bool setDatumValU32(int index, DtU32 value);
202  virtual bool getDatumValU32(int index, DtU32& value) const;
203 
206  virtual bool setDatumValInt16(int index, DtInt16 value);
207  virtual bool getDatumValInt16(int index, DtInt16& value) const;
208 
211  virtual bool setDatumValU16(int index, DtU16 value);
212  virtual bool getDatumValU16(int index, DtU16& value) const;
213 
216  virtual bool setDatumValU8(int index, DtU8 value);
217  virtual bool getDatumValU8(int index, DtU8& value) const;
218 
222  virtual bool setDatumValByteArray(int index, const DtU8* setFrom);
223  virtual bool getDatumValByteArray(int index, DtU8* copyTo) const;
224 
226  virtual bool getDatumValPtr(int index, DtNetU8*& datumPtr);
227 
228 public:
229 
232  static DtPdu* create(const DtNetPacket* initial,
234 
237  static void addCallback(DtExerciseConn* conn,
238  DtAggregateStatePduCb cb, void* usr);
239  static void removeCallback(DtExerciseConn* conn,
240  DtAggregateStatePduCb cb, void* usr);
241 
242 protected:
243 
245  virtual DtPduKind internalGetPduKind() const;
246 
249  virtual DtNetAggregateStatePdu* netPduStruct() const;
250 
253  DtAggregateStatePdu* self() const;
254 
256  virtual char* var() const;
257 
260  virtual int subaggregateID_Offset(int index) const;
261 
264  virtual int entityID_Offset(int index) const;
265 
268  virtual int paddingOffset() const;
269 
272  virtual int paddingBytes() const;
273 
276  virtual int silentAggregateOffset(int index) const;
277 
280  virtual int silentEntityOffset(int index) const;
281 
284  virtual int numberOfDatumRecordsOffset() const;
285 
288  virtual int datumRecordOffset(int index) const;
289 
290 protected:
291 
293  static const int theStaticSize;
294 
295 protected:
296 
304 };
305 
306 #endif
307 #endif
308 

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)