VR-Link API Documentation for DIS
envProcPdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
7 
8 #pragma once
9 
10 #include "exerciseConn.h"
11 #include <vlutil/vlMachineTypes.h>
12 #include "hostStructs.h"
13 #include "pdu.h"
14 #include <vlpi/enviroTypeRec.h>
15 #include "stateMsg.h"
16 #include "envGeometry.h"
17 
18 #include "packets/envProcP.h"
19 
20 
21 #include <vector>
22 
24 
27  DtEnvironmentalProcessPdu* pdu, void* usr);
28 
29 
32 #if (DtHLA || DtTENA)
34 #else
36 #endif
37 {
38 
39 public:
40 
46 
49 
52 
54  virtual void setEnvironmentalProcessID(const DtEntityIdentifier& entity);
55  virtual const DtEntityIdentifier& environmentalProcessID() const;
56 
58  virtual void setEnvironmentType(const DtEnvironmentTypeRecord& type);
59  virtual const DtEnvironmentTypeRecord& environmentType() const;
60 
62  virtual void setModelType(DtEnvironmentalModelType value);
63  virtual DtEnvironmentalModelType modelType() const;
64 
66  virtual void setEnvironmentalStatus(DtU8 value);
67  virtual DtU8 environmentalStatus() const;
68 
70  virtual void setEnvironmentalStatusBit(
71  DtEnvironmentalStatusBit bit, bool value);
72  virtual bool environmentalStatusBit(
73  DtEnvironmentalStatusBit bit) const;
74 
76  virtual bool setNumberOfEnvironmentalRecords(DtU16 newNumberOfRecords);
77  virtual DtU16 numberOfEnvironmentalRecords() const;
78 
80  virtual void setSequenceNumber(DtU16 value);
81  virtual DtU16 sequenceNumber() const;
82 
85  virtual bool setRecordBitSize(int recordIndex, int newRecordBitSize);
86 
89  virtual DtNetEnvironmentalRecord* recordPointer(int recordIndex) const;
90 
92  virtual void printData() const;
93  virtual void printDataToStream(std::ostream& stream) const;
94 
95  //****
98 
99 
104  virtual int numberOfGeometryRecords() const;
105 
107  virtual DtEnvironmentalRecordType geometryRecordType(int index) const;
108 
112  virtual DtEnvironmentalRecordType stateRecordType(int index) const;
113 
119  virtual bool getGeometryRecord(int index,
120  DtEnvironmentalGeometryRecord& geometryRecord) const;
121 
127  virtual bool getStateRecord(int index,
128  DtEnvironmentalRecord& stateRecord) const;
129 
131  virtual void setEnvironmentalRecord(int index,
132  const DtEnvironmentalRecord& envRecord);
133 
134 public:
135 
138  static DtPdu* create(const DtNetPacket* initial,
140 
143  static void addCallback(DtExerciseConn* conn,
144  DtEnvironmentalProcessPduCb cb, void* usr);
145  static void removeCallback(DtExerciseConn* conn,
146  DtEnvironmentalProcessPduCb cb, void* usr);
147 
158  static void setLengthIsWholeEnvRec(bool lengthMode);
159  static bool lengthIsWholeEnvRec();
160 
161 protected:
162 
164  virtual DtPduKind internalGetPduKind() const;
165 
169 
172  DtEnvironmentalProcessPdu* self() const;
173 
175  virtual char* var() const;
176 
179  virtual int recordOffset(int recordIndex) const;
180 
181  virtual void invalidateCache();
182 
183 protected:
189  void verifyRecDataSize();
190 
191 
193  static const int theStaticSize;
194  static bool theLengthIsWholeRec;
195 
196 protected:
197 
201  mutable std::vector<int> myOffsetCache;
202 };
203 
204 

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)