VR-Link API Documentation for DIS
 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 
91  virtual DtNetEnvironmentalRecord* recordPointer(int recordIndex) const;
92 
94  virtual void printData() const;
95  virtual void printDataToStream(std::ostream& stream) const;
96 
97  //****
100 
101 
106  virtual int numberOfGeometryRecords() const;
107 
109  virtual DtEnvironmentalRecordType geometryRecordType(int index) const;
110 
114  virtual DtEnvironmentalRecordType stateRecordType(int index) const;
115 
121  virtual bool getGeometryRecord(int index,
122  DtEnvironmentalGeometryRecord& geometryRecord) const;
123 
129  virtual bool getStateRecord(int index,
130  DtEnvironmentalRecord& stateRecord) const;
131 
133  virtual void setEnvironmentalRecord(int index,
134  const DtEnvironmentalRecord& envRecord);
135 
136 public:
137 
140  static DtPdu* create(const DtNetPacket* initial,
141  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
142 
145  static void addCallback(DtExerciseConn* conn,
146  DtEnvironmentalProcessPduCb cb, void* usr);
147  static void removeCallback(DtExerciseConn* conn,
148  DtEnvironmentalProcessPduCb cb, void* usr);
149 
160  static void setLengthIsWholeEnvRec(bool lengthMode);
161  static bool lengthIsWholeEnvRec();
162 
163 protected:
164 
166  virtual DtPduKind internalGetPduKind() const;
167 
171 
174  DtEnvironmentalProcessPdu* self() const;
175 
177  virtual char* var() const;
178 
181  virtual int recordOffset(int recordIndex) const;
182 
183  virtual void invalidateCache();
184 
185 protected:
186 
192  void verifyRecDataSize();
193 
194 
196  static const int theStaticSize;
197  static bool theLengthIsWholeRec;
198 
199 protected:
200 
204  mutable std::vector<int> myOffsetCache;
205 
206 };

Document ID: Generated on Fri May 15 06:36:13 EDT 2015 from SVN revision 153263
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)