VR-Exchange 2.5 API Documentation
 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) 2014 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #if DtTENA
11 
12 #pragma once
13 
14 #include <vlTena/dllExport.h>
15 #include <vlTena/exerciseConn.h>
16 
17 #include <vl/packets/gridDataP.h>
18 #include <vl/gridDataRecordType0.h>
19 #include <vl/gridDataRecordType1.h>
20 #include <vl/gridDataRecordType2.h>
21 #include <vl/gridAxisRecordFixed.h>
22 #include <vl/gridAxisRecordVariable.h>
23 #include <vl/gridDataRecord.h>
24 #include <vl/pdu.h>
25 
26 #include <vlutil/vlMachineTypes.h>
27 #include <vlpi/environmentTypeRecord.h>
28 #include <matrix/vlMath.h>
29 
30 namespace MAKVrExchange
31 {
32 
33  namespace DtTenaBroker
34  {
35 
36  class DtGriddedDataPdu;
37 
39  typedef void (*DtGriddedDataPduCb)(DtGriddedDataPdu* pdu, void* usr);
40 
44  class DT_DLL_VLTENA DtGriddedDataPdu : public DtPdu
45  {
46  public:
47 
49  DtGriddedDataPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
50  DtGriddedDataPdu(const DtNetGriddedDataPdu* initial,
51  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0 );
52  DtGriddedDataPdu(const DtGriddedDataPdu& orig);
53 
55  virtual ~DtGriddedDataPdu();
56 
59  static DtPdu* create(const DtNetPacket* initial,
60  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
61 
64  static void addCallback(DtExerciseConn* conn,
65  DtGriddedDataPduCb cb, void* usr);
66  static void removeCallback(DtExerciseConn* conn,
67  DtGriddedDataPduCb cb, void* usr);
68 
70  DtGriddedDataPdu& operator=(const DtGriddedDataPdu& orig);
71 
73  virtual void setEnvSimAppID(const DtEntityIdentifier& app);
74  virtual const DtEntityIdentifier& envSimAppID() const;
75 
77  virtual void setFieldNumber(DtU16 field);
78  virtual DtU16 fieldNumber() const;
79 
81  virtual void setPduNumber(DtU16 num);
82  virtual DtU16 pduNumber() const;
83 
85  virtual void setPduTotal(DtU16 total);
86  virtual DtU16 pduTotal() const;
87 
89  virtual void setCoordSystem(DtU16 sys);
90  virtual DtU16 coordSystem() const;
91 
93  virtual bool setNumGridAxes(DtU8 axes);
94  virtual DtU8 numGridAxes() const;
95 
97  virtual void setConstantGrid(DtU8 constant);
98  virtual DtU8 constantGrid() const;
99 
101  virtual void setEnvironmentType(const DtEnvironmentTypeRecord& type);
102  virtual const DtEnvironmentTypeRecord& environmentType() const;
103 
105  virtual void setOrientation(const DtTaitBryan& orientation);
106  virtual const DtTaitBryan& orientation() const;
107 
111  virtual void setSampleTime(int index, DtU32 time);
112  virtual DtU32 sampleTime(int index) const;
113 
115  virtual void setTotalValues(DtU32 total);
116  virtual DtU32 totalValues() const;
117 
120  virtual bool setVectorDim(DtU8 dim);
121  virtual DtU8 vectorDim() const;
122 
124  virtual DtGridAxisType gridAxisRecordType(int index) const;
125 
132  virtual bool setGridAxisRecord(int index,
133  const DtGridAxisRecordFixed& init);
134  virtual bool getGridAxisRecord(int index,
135  DtGridAxisRecordFixed& record) const;
136  virtual bool setGridAxisRecord(int index,
137  const DtGridAxisRecordVariable& init);
138  virtual bool getGridAxisRecord(int index,
139  DtGridAxisRecordVariable& record) const;
140 
142  virtual DtGridDataRecType gridDataRecordType(int index) const;
143 
150  virtual bool setGridDataRecord(int index,
151  const DtGridDataRecordType0& init);
152  virtual bool getGridDataRecord(int index,
153  DtGridDataRecordType0& record) const;
154  virtual bool setGridDataRecord(int index,
155  const DtGridDataRecordType1& init);
156  virtual bool getGridDataRecord(int index,
157  DtGridDataRecordType1& record) const;
158  virtual bool setGridDataRecord(int index,
159  const DtGridDataRecordType2& init);
160  virtual bool getGridDataRecord(int index,
161  DtGridDataRecordType2& record) const;
162 
164  virtual void printData() const;
165 
167  virtual void printDataToStream(std::ostream& stream) const;
168 
169  protected:
170 
172  virtual DtPduKind internalGetPduKind() const;
173 
175  virtual DtNetGriddedDataPdu* netPduStruct() const;
176 
178  virtual char* var() const;
179 
182  DtGriddedDataPdu* self() const;
183 
185  virtual int gridAxisRecordLength(DtNetGridAxisRecordFixed* rec) const;
186 
188  virtual int gridDataRecordLength(DtNetGridDataRecord* rec) const;
189 
191  virtual int gridAxisRecordOffset(int recordIndex) const;
192 
194  virtual int gridDataRecordOffset(int recordIndex) const;
195 
197  virtual bool resizeGridAxisRecord(DtNetGridAxisRecordFixed* rec,
198  int newSize);
199 
201  virtual bool resizeGridDataRecord(DtNetGridDataRecord* rec,
202  int newSize);
203 
204  protected:
205 
207  static const int theStaticSize;
208 
209  protected:
210 
212  DtEntityIdentifier myEntityID;
213  DtEnvironmentTypeRecord myEnvironmentType;
214  DtTaitBryan myEulerAngles;
215 
216  };
217 
218  }
219 }
220 
221 #endif // DtTENA

Document ID: Generated on Wed Dec 21 15:05:11 EST 2016 from SVN revision 171891
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)