VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
isGroupOfPdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
9 
10 #pragma once
11 
12 #if DtDIS
13 
14 #include <vlutil/vlMachineTypes.h>
15 #include "hostStructs.h"
16 #include "interactionDIS.h"
17 #include <matrix/vlMath.h>
18 #include "exerciseConn.h"
19 
20 #include "packets/isGroupOfP.h"
21 
31 
32 
33 
35 
37 typedef void (*DtIsGroupOfPduCb)(DtIsGroupOfPdu* pdu, void* usr);
38 
39 
43 
44 
46 {
47 
48 public:
49 
52  DtIsGroupOfPdu(const DtNetIsGroupOfPdu* initial,
53  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
54  DtIsGroupOfPdu(const DtIsGroupOfPdu& orig);
55 
57  virtual ~DtIsGroupOfPdu();
58 
61 
63  virtual void setGroupEntityID(const DtEntityIdentifier& id);
64  virtual const DtEntityIdentifier& groupEntityID() const;
65 
68  virtual void setCategory(DtGroupedEntityCategory value);
69  virtual DtGroupedEntityCategory category() const;
70 
72  virtual bool setNumEntities(DtU8 num);
73  virtual DtU8 numEntities() const;
74 
76  virtual void setLattitude(DtFloat64 value);
77  virtual DtFloat64 lattitude() const;
78 
80  virtual void setLongitude(DtFloat64 value);
81  virtual DtFloat64 longitude() const;
82 
85  virtual bool setBasicFixedWingAircraftRecord(int index,
86  const DtBasicFixedWingAircraftRecord& init);
87  virtual bool getBasicFixedWingAircraftRecord(int index,
88  DtBasicFixedWingAircraftRecord& record) const;
89 
92  virtual bool setEnhancedFixedWingAircraftRecord(int index,
94  virtual bool getEnhancedFixedWingAircraftRecord(int index,
95  DtEnhancedFixedWingAircraftRecord& record) const;
96 
99  virtual bool setBasicRotorWingAircraftRecord(int index,
100  const DtBasicRotorWingAircraftRecord& init);
101  virtual bool getBasicRotorWingAircraftRecord(int index,
102  DtBasicRotorWingAircraftRecord& record) const;
103 
106  virtual bool setEnhancedRotorWingAircraftRecord(int index,
108  virtual bool getEnhancedRotorWingAircraftRecord(int index,
109  DtEnhancedRotorWingAircraftRecord& record) const;
110 
113  virtual bool setBasicGroundCombatSoldierRecord(int index,
115  virtual bool getBasicGroundCombatSoldierRecord(int index,
116  DtBasicGroundCombatSoldierRecord& record) const;
117 
120  virtual bool setEnhancedGroundCombatSoldierRecord(int index,
122  virtual bool getEnhancedGroundCombatSoldierRecord(int index,
124 
127  virtual bool setBasicGroundCombatVehicleRecord(int index,
129  virtual bool getBasicGroundCombatVehicleRecord(int index,
130  DtBasicGroundCombatVehicleRecord& record) const;
131 
134  virtual bool setEnhancedGroundCombatVehicleRecord(int index,
136  virtual bool getEnhancedGroundCombatVehicleRecord(int index,
138 
141  virtual bool setGroundLogisticsVehicleRecord(int index,
142  const DtGroundLogisticsVehicleRecord& init);
143  virtual bool getGroundLogisticsVehicleRecord(int index,
144  DtGroundLogisticsVehicleRecord& record) const;
145 
147  virtual void printData() const;
148 
150  virtual void printDataToStream(std::ostream& stream) const;
151 
152 public:
153 
156  static DtPdu* create(const DtNetPacket* initial,
157  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
158 
161  static void addCallback(DtExerciseConn* conn,
162  DtIsGroupOfPduCb cb, void* usr);
163  static void removeCallback(DtExerciseConn* conn,
164  DtIsGroupOfPduCb cb, void* usr);
165 
166 protected:
167 
169  virtual DtPduKind internalGetPduKind() const;
170 
172  virtual DtNetIsGroupOfPdu* netPduStruct() const;
173 
176  DtIsGroupOfPdu* self() const;
177 
179  virtual char* var() const;
180 
182  virtual int recordSize() const;
183 
184 protected:
185 
187  static const int theStaticSize;
188 
189 protected:
190 
193 
194 };
195 
196 #endif
DtInteraction is an base class for representing DIS PDUs which don&#39;t have state.
Definition: interactionDIS.h:24
Instances of DtBasicRotorWingAircraftRecord are used to contain the entity state and logistics inform...
Definition: basicRotorWingAircraftRecord.h:26
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
static const int theStaticSize
Size of PDU with zero parameter records.
Definition: isGroupOfPdu.h:187
Instances of DtEnhancedGroundCombatVehicleRecord are used to contain the entity state and logistics i...
Definition: enhancedGroundCombatVehicleRecord.h:27
DtInteraction & operator=(const DtInteraction &orig)
assignment operator
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Definition: pduHeader.h:14
class DtPduFactory:
Definition: pduFactory.h:38
This file declares classes for the idGroupOf object.
Instances of DtBasicGroundCombatSoldierRecord are used to contain the entity state and logistics info...
Definition: basicGroundCombatSoldierRecord.h:27
virtual void printDataToStream(std::ostream &stream) const
This file defines math constants and methods which may be useful in simulations.
virtual DtPduKind internalGetPduKind() const =0
Returns the PDU kind associated with the derived PDU class.
DtPdu is the base class for all PDU&#39;s in VR-Link.
Definition: pdu.h:69
Instances of DtBasicGroundCombatVehicleRecord are used to contain the entity state and logistics info...
Definition: basicGroundCombatVehicleRecord.h:27
unsigned char DtU8
An eight bit unsigned integer value.
Definition: vlMachineTypes.h:137
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
This file provides protocol to independence DtExerciseConn.
Instances of DtEnhancedFixedWingAircraftRecord are used to contain the entity state and logistics inf...
Definition: enhancedFixedWingAircraftRecord.h:27
void(* DtIsGroupOfPduCb)(DtIsGroupOfPdu *pdu, void *usr)
DtIsGroupOfPdu callback function signature.
Definition: isGroupOfPdu.h:37
virtual void printData() const
Print the PDU&#39;s data (not including header).
The following is the network structure for the IsGroupOf PDU.
Definition: isGroupOfP.h:142
This file is deprecated - Please see simulationAddress.h, entityIdentifier.h, entityType.h, burstDescriptor.h, and NetStructs.h.
struct DtBufferPlaceHolder * DtBufferPtr
Definition: vlBaseMsg.h:17
#define DtUSE_INTERNAL_BUFFER
Definition: vlBaseMsg.h:22
Instances of DtEnhancedGroundCombatSoldierRecord are used to contain the entity state and logistics i...
Definition: enhancedGroundCombatSoldierRecord.h:28
Instances of DtIsGroupOfPdu are used to communicate information about a particular group of entities ...
Definition: isGroupOfPdu.h:45
Instances of DtEnhancedRotorWingAircraftRecord are used to contain the entity state and logistics inf...
Definition: enhancedRotorWingAircraftRecord.h:25
DtGroupedEntityCategory
IsGroupOf PDU enums.
Definition: disEnums.h:2835
Instances of DtGroundLogisticsVehicleRecord are used to contain the entity state and logistics inform...
Definition: groundLogisticsVehicleRecord.h:26
DtEntityIdentifier myEntityID
Temporary objects for reference returns.
Definition: isGroupOfPdu.h:192
DtPduKind
([UID 4]) - PDU Type
Definition: disEnums.h:238
Instances of DtBasicFixedWingAircraftRecord are used to contain the entity state and logistics inform...
Definition: basicFixedWingAircraftRecord.h:26
This file contains typedefs for machine dependant types.

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)