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-2025 MAK Technologies, Inc
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
DtInteraction is an abstract base class for representing HLA interactions (or events) (as opposed to ...
Definition: interactionHLA.h:33
DtMagneticSensorTypeSubcategory
Definition: disEnums.h:2687
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
DtInteraction & operator=(const DtInteraction &orig)
assignment operator
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Definition: pduHeader.h:14
DtMultispectralSensorTypeSubcategory
Definition: disEnums.h:2713
DtRADAR_SensorTypeSubcategory
Definition: disEnums.h:2677
static void removeCallback(DtExerciseConn *conn, const std::vector< DtString > *classes, DtReceiveInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
virtual void printData() const
Print the interaction&#39;s data to DtInfo.
Definition: interactionHLA.h:358
DtLaserSensorTypeSubcategory
Definition: disEnums.h:2695
virtual void printDataToStream(std::ostream &stream) const
Print the interaction&#39;s data to the stream.
Definition: interactionHLA.h:366
DtPdu is the base class for all PDU&#39;s in VR-Link.
Definition: pdu.h:69
unsigned char DtU8
An eight bit unsigned integer value.
Definition: vlMachineTypes.h:137
static void addCallback(DtExerciseConn *conn, const std::vector< DtString > *classes, DtReceiveInteractionCb cb, void *usr, DtDDMRegionSP region=DtDDMRegionSP())
Register/Deregister callback function cb with conn, on all interaction class name (char*) contained i...
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
This file provides protocol to independence DtExerciseConn.
This file is deprecated - Please see simulationAddress.h, entityIdentifier.h, entityType.h, burstDescriptor.h, and NetStructs.h.
struct DtBufferPlaceHolder * DtBufferPtr
Definition: vlBaseMsg.h:17
unsigned short DtU16
A 16 bit unsigned integer value.
Definition: vlMachineTypes.h:140
#define DtUSE_INTERNAL_BUFFER
Definition: vlBaseMsg.h:22
DtMinefieldDataFilterField
Minefield PDU enums.
Definition: disEnums.h:2602
DtSONARSensorTypeSubcategory
Definition: disEnums.h:2701
unsigned long DtU32
A 32 bit unsigned integer value.
Definition: vlMachineTypes.h:153
DtFLIR_SensorTypeSubcategory
Definition: disEnums.h:2663
DtPduKind
([UID 4]) - PDU Type
Definition: disEnums.h:238
DtPhysicalSensorTypeSubcategory
Definition: disEnums.h:2706
DtOpticalSensorTypeSubcategory
Definition: disEnums.h:2647
This file contains typedefs for machine dependant types.
DtEntityType is used to represent the type an entity object.
Definition: entityType.h:26
DtSensorTypeCategory
Definition: disEnums.h:2634

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)