VR-Link API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
environmentalProcessPdu.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 #include <vlutil/vlMachineTypes.h>
13 
14 #include <vl/pdu.h>
15 #include <vl/stateMsg.h>
17 #include <vl/exerciseConn.h>
19 
20 #include <vl/packets/envProcP.h>
21 
22 #include <vector>
23 
25 
28  DtEnvironmentalProcessPdu* pdu, void* usr);
29 
33 #if DtDIS
35 #else
37 #endif
38 {
39 public:
40 
43 
45  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
46 
48 
51 
54 
56  virtual void setEnvironmentalProcessID(const DtEntityIdentifier& entity);
57  virtual const DtEntityIdentifier& environmentalProcessID() const;
58 
60  virtual void setEnvironmentType(const DtEnvironmentTypeRecord& type);
61  virtual const DtEnvironmentTypeRecord& environmentType() const;
62 
64  virtual void setModelType(DtEnvironmentalModelType value);
65  virtual DtEnvironmentalModelType modelType() const;
66 
68  virtual void setEnvironmentalStatus(DtU8 value);
69  virtual DtU8 environmentalStatus() const;
70 
72  virtual void setEnvironmentalStatusBit(
73  DtEnvironmentalStatusBit bit, bool value);
74  virtual bool environmentalStatusBit(
75  DtEnvironmentalStatusBit bit) const;
76 
78  virtual bool setNumberOfEnvironmentalRecords(DtU16 newNumberOfRecords);
79  virtual DtU16 numberOfEnvironmentalRecords() const;
80 
82  virtual void setSequenceNumber(DtU16 value);
83  virtual DtU16 sequenceNumber() const;
84 
87  virtual bool setRecordBitSize(int recordIndex, int newRecordBitSize);
88 
90  virtual void printData() const;
91  virtual void printDataToStream(std::ostream& stream) const;
92 
94  virtual void setEnvironmentalRecord(int index,
95  const DtEnvironmentalRecord& envRecord);
96 
99  virtual DtNetEnvironmentalRecord* recordPointer(int recordIndex) const;
100 
101  //****
110 
111 
116  virtual int numberOfGeometryRecords() const;
117 
119  virtual DtEnvironmentalRecordType geometryRecordType(int index) const;
120 
124  virtual DtEnvironmentalRecordType stateRecordType(int index) const;
125 
131  virtual bool getGeometryRecord(int index,
132  DtEnvironmentalGeometryRecord& geometryRecord) const;
133 
139  virtual bool getStateRecord(int index,
140  DtEnvironmentalRecord& stateRecord) const;
141 
142 public:
143 
146  static DtPdu* create(const DtNetPacket* initial,
147  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
148 
151  static void addCallback(DtExerciseConn* conn,
152  DtEnvironmentalProcessPduCb cb, void* usr);
153  static void removeCallback(DtExerciseConn* conn,
154  DtEnvironmentalProcessPduCb cb, void* usr);
155 
168  static void setLengthIsWholeEnvRec(bool lengthMode);
169  static bool lengthIsWholeEnvRec();
170 
171 protected:
172 
174  virtual DtPduKind internalGetPduKind() const;
175 
179 
182  DtEnvironmentalProcessPdu* self() const;
183 
185  virtual char* var() const;
186 
189  virtual int recordOffset(int recordIndex) const;
190 
191  virtual void invalidateCache();
192 
193 protected:
194 
200  void verifyRecDataSize();
201 
202 
204  static const int theStaticSize;
205  static bool theLengthIsWholeRec;
206 
207 protected:
208 
212  mutable std::vector<int> myOffsetCache;
213 
214 };

Document ID: Generated on Fri Dec 2 02:42:08 EST 2016 from SVN revision 171416
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)