VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
griddedDataPdu.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2013 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtHLA || DtDIS
13 
14 #include "gridAxisRecordVariable.h"
15 #include <vlutil/vlMachineTypes.h>
16 #include "hostStructs.h"
17 #include "pdu.h"
18 #include "stateMsg.h"
19 #include <matrix/vlMath.h>
20 
21 #include "packets/gridDataP.h"
22 
23 #include "gridAxisRecordFixed.h"
24 
25 #include "gridDataRecord.h"
26 #include "gridDataRecordType0.h"
27 #include "gridDataRecordType1.h"
28 #include "gridDataRecordType2.h"
29 
31 
33 
35 typedef void (*DtGriddedDataPduCb)(DtGriddedDataPdu* pdu, void* usr);
36 
40 #if DtHLA
41 class DT_DLL_VL DtGriddedDataPdu : public DtPdu
42 #else // DtDIS
44 #endif
45 {
46 
47 public:
48 
52  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
54 
56  virtual ~DtGriddedDataPdu();
57 
60  static DtPdu* create(const DtNetPacket* initial,
61  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
62 
65  static void addCallback(DtExerciseConn* conn,
66  DtGriddedDataPduCb cb, void* usr);
67  static void removeCallback(DtExerciseConn* conn,
68  DtGriddedDataPduCb cb, void* usr);
69 
72 
74  virtual void setEnvSimAppID(const DtEntityIdentifier& app);
75  virtual const DtEntityIdentifier& envSimAppID() const;
76 
78  virtual void setFieldNumber(DtU16 field);
79  virtual DtU16 fieldNumber() const;
80 
82  virtual void setPduNumber(DtU16 num);
83  virtual DtU16 pduNumber() const;
84 
86  virtual void setPduTotal(DtU16 total);
87  virtual DtU16 pduTotal() const;
88 
90  virtual void setCoordSystem(DtU16 sys);
91  virtual DtU16 coordSystem() const;
92 
94  virtual bool setNumGridAxes(DtU8 axes);
95  virtual DtU8 numGridAxes() const;
96 
98  virtual void setConstantGrid(DtU8 constant);
99  virtual DtU8 constantGrid() const;
100 
102  virtual void setEnvironmentType(const DtEnvironmentTypeRecord& type);
103  virtual const DtEnvironmentTypeRecord& environmentType() const;
104 
106  virtual void setOrientation(const DtTaitBryan& orientation);
107  virtual const DtTaitBryan& orientation() const;
108 
112  virtual void setSampleTime(int index, DtU32 time);
113  virtual DtU32 sampleTime(int index) const;
114 
116  virtual void setTotalValues(DtU32 total);
117  virtual DtU32 totalValues() const;
118 
121  virtual bool setVectorDim(DtU8 dim);
122  virtual DtU8 vectorDim() const;
123 
125  virtual DtGridAxisType gridAxisRecordType(int index) const;
126 
133  virtual bool setGridAxisRecord(int index,
134  const DtGridAxisRecordFixed& init);
135  virtual bool getGridAxisRecord(int index,
136  DtGridAxisRecordFixed& record) const;
137  virtual bool setGridAxisRecord(int index,
138  const DtGridAxisRecordVariable& init);
139  virtual bool getGridAxisRecord(int index,
140  DtGridAxisRecordVariable& record) const;
141 
143  virtual DtGridDataRecType gridDataRecordType(int index) const;
144 
151  virtual bool setGridDataRecord(int index,
152  const DtGridDataRecordType0& init);
153  virtual bool getGridDataRecord(int index,
154  DtGridDataRecordType0& record) const;
155  virtual bool setGridDataRecord(int index,
156  const DtGridDataRecordType1& init);
157  virtual bool getGridDataRecord(int index,
158  DtGridDataRecordType1& record) const;
159  virtual bool setGridDataRecord(int index,
160  const DtGridDataRecordType2& init);
161  virtual bool getGridDataRecord(int index,
162  DtGridDataRecordType2& record) const;
163 
165  virtual void printData() const;
166 
168  virtual void printDataToStream(std::ostream& stream) const;
169 
170 protected:
171 
173  virtual DtPduKind internalGetPduKind() const;
174 
176  virtual DtNetGriddedDataPdu* netPduStruct() const;
177 
179  virtual char* var() const;
180 
183  DtGriddedDataPdu* self() const;
184 
186  virtual int gridAxisRecordLength(DtNetGridAxisRecordFixed* rec) const;
187 
189  virtual int gridDataRecordLength(DtNetGridDataRecord* rec) const;
190 
192  virtual int gridAxisRecordOffset(int recordIndex) const;
193 
195  virtual int gridDataRecordOffset(int recordIndex) const;
196 
199  int newSize);
200 
202  virtual bool resizeGridDataRecord(DtNetGridDataRecord* rec,
203  int newSize);
204 
205 protected:
206 
208  static const int theStaticSize;
209 
210 protected:
211 
216 
217 };
218 
219 #endif // DtHLA || DtDIS

Document ID: Generated on Thu Feb 22 04:26:36 EST 2018 from SVN revision 186468
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)