VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
minefieldQueryPdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2013 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
9 #pragma once
10 
11 #if DtDIS
12 
13 #include <vlutil/vlMachineTypes.h>
14 #include "hostStructs.h"
15 #include "interactionDIS.h"
16 #include "exerciseConn.h"
17 
18 #include "packets/mineQueryP.h"
19 
21 
22 
23 class DT_DLL_VL DtMinefieldQueryPdu;
24 
26 typedef void (*DtMinefieldQueryPduCb)(DtMinefieldQueryPdu* pdu, void* usr);
27 
28 
32 class DT_DLL_VL DtMinefieldQueryPdu : public DtInteraction
33 {
34 
35 public:
36 
38  DtMinefieldQueryPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
39  DtMinefieldQueryPdu(const DtNetMinefieldQueryPdu* initial,
40  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
41  DtMinefieldQueryPdu(const DtMinefieldQueryPdu& orig);
42 
44  virtual ~DtMinefieldQueryPdu();
45 
47  DtMinefieldQueryPdu& operator=(const DtMinefieldQueryPdu& orig);
48 
50  virtual void setMinefieldID(const DtEntityIdentifier& id);
51  virtual const DtEntityIdentifier& minefieldID() const;
52 
54  virtual void setRequestingEntityID(const DtEntityIdentifier& id);
55  virtual const DtEntityIdentifier& requestingEntityID() const;
56 
58  virtual void setRequestID(DtU8 id);
59  virtual DtU8 requestID() const;
60 
62  virtual bool setNumPerimeterPoints(DtU8 num);
63  virtual DtU8 numPerimeterPoints() const;
64 
66  virtual bool setNumSensorTypes(DtU8 num);
67  virtual DtU8 numSensorTypes() const;
68 
70  virtual void setDataFilter(DtU32 value);
71  virtual DtU32 dataFilter() const;
72 
76  virtual void setDataFilterField(
77  DtMinefieldDataFilterField field, bool value);
78  virtual bool getDataFilterField(DtMinefieldDataFilterField field);
79 
81  virtual void setRequestedMineType(const DtEntityType& type);
82  virtual const DtEntityType& requestedMineType() const;
83 
86  virtual bool setPerimeterPoint(int index,
87  const DtMinefieldPerimeterRecord& init);
88  virtual bool getPerimeterPoint(int index,
89  DtMinefieldPerimeterRecord& record) const;
90 
93  virtual bool getSensorTypeCategory(int index,
94  DtSensorTypeCategory& value);
95 
99  virtual bool setSensorTypeSubcategory(int index,
101  virtual bool setSensorTypeSubcategory(int index,
103  virtual bool setSensorTypeSubcategory(int index,
105  virtual bool setSensorTypeSubcategory(int index,
107  virtual bool setSensorTypeSubcategory(int index,
109  virtual bool setSensorTypeSubcategory(int index,
111  virtual bool setSensorTypeSubcategory(int index,
113  virtual bool setSensorTypeSubcategory(int index,
115 
120  virtual bool getSensorTypeSubcategory(int index,
122  virtual bool getSensorTypeSubcategory(int index,
124  virtual bool getSensorTypeSubcategory(int index,
126  virtual bool getSensorTypeSubcategory(int index,
128  virtual bool getSensorTypeSubcategory(int index,
130  virtual bool getSensorTypeSubcategory(int index,
132  virtual bool getSensorTypeSubcategory(int index,
134  virtual bool getSensorTypeSubcategory(int index,
136 
138  virtual void printData() const;
139 
141  virtual void printDataToStream(std::ostream &stream) const;
142 
143 public:
144 
147  static DtPdu* create(const DtNetPacket* initial,
148  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
149 
152  static void addCallback(DtExerciseConn* conn,
153  DtMinefieldQueryPduCb cb, void* usr);
154  static void removeCallback(DtExerciseConn* conn,
155  DtMinefieldQueryPduCb cb, void* usr);
156 
157 protected:
158 
160  virtual DtPduKind internalGetPduKind() const;
161 
163  virtual DtNetMinefieldQueryPdu* netPduStruct() const;
164 
167  DtMinefieldQueryPdu* self() const;
168 
170  virtual char* var() const;
171 
173  virtual int perimeterPointRecordOffset(int recordIndex) const;
174 
176  virtual int sensorTypeRecordOffset(int recordIndex) const;
177 
179  virtual void setSensorType(int index, DtU16 value);
180  virtual DtU16 sensorType(int index) const;
181 
182 protected:
183 
185  static const int theStaticSize;
186 
187 protected:
188 
190  DtEntityIdentifier myEntityID;
191  DtEntityType myEntityType;
192  DtMinefieldPerimeterRecord myPerimeterRecord;
193 
194 };
195 
196 #endif

Document ID: Generated on Mon Jun 22 21:18:40 EDT 2020 from SVN revision 213785
Copyright © 2005-2018 MAK Technologies. All Rights Reserved (www.mak.com)