FreeWRL / FreeX3D 4.3.0
DIS.h
1#ifndef DIS_H
2#define DIS_H
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8enum {
9 type_UINT = 0,
10 type_UBYTE,
11 type_BYTE,
12 type_DOUBLE,
13 type_SHORT,
14 type_ULONG,
15 type_FLOAT,
16 type_USHORT,
17 type_INT,
18 type_LONG,
19 type_SystemID,
20 type_RadioEntityType,
21 type_LayerHeader,
22 type_AcousticEmitterSystem,
23 type_FourByteChunk,
24 type_Orientation,
25 type_OneByteChunk,
26 type_EventID,
27 type_VectoringNozzleSystemData,
28 type_ObjectType,
29 type_FundamentalParameterDataIff,
30 type_EightByteChunk,
31 type_FixedDatum,
32 type_GridAxisRecord,
33 type_AggregateID,
34 type_TwoByteChunk,
35 type_ClockTime,
36 type_Relationship,
37 type_Vector3Float,
38 type_ModulationType,
39 type_SimulationAddress,
40 type_IffFundamentalData,
41 type_AggregateType,
42 type_BeamData,
43 type_NamedLocation,
44 type_RecordSet,
45 type_SphericalHarmonicAntennaPattern,
46 type_ShaftRPMs,
47 type_IntercomCommunicationsParameters,
48 type_AcousticBeamFundamentalParameter,
49 type_EntityType,
50 type_FundamentalParameterData,
51 type_ApaData,
52 type_Environment,
53 type_AcousticEmitter,
54 type_AngularVelocityVector,
55 type_AggregateMarking,
56 type_EntityID,
57 type_SixByteChunk,
58 type_Vector3Double,
59 type_Pdu,
60 type_VariableDatum,
61 type_ArticulationParameter,
62 type_Marking,
63 type_Point,
64 type_PropulsionSystemData,
65 type_EmitterSystem,
66 type_PduContainer,
67 type_ElectronicEmissionBeamData,
68 type_LogisticsFamilyPdu,
69 type_ServiceRequestPdu,
70 type_RepairCompletePdu,
71 type_DeadReckoningParameter,
72 type_BeamAntennaPattern,
73 type_SyntheticEnvironmentFamilyPdu,
74 type_AcousticEmitterSystemData,
75 type_RepairResponsePdu,
76 type_SimulationManagementFamilyPdu,
77 type_AntennaLocation,
78 type_DataQueryPdu,
79 type_BurstDescriptor,
80 type_LinearObjectStatePdu,
81 type_CreateEntityPdu,
82 type_RadioCommunicationsFamilyPdu,
83 type_AcousticBeamData,
84 type_IntercomSignalPdu,
85 type_GridAxisRecordRepresentation2,
86 type_LinearSegmentParameter,
87 type_GridAxisRecordRepresentation1,
88 type_GridAxisRecordRepresentation0,
89 type_RemoveEntityPdu,
90 type_ResupplyReceivedPdu,
91 type_WarfareFamilyPdu,
92 type_ElectronicEmissionSystemData,
93 type_ActionRequestPdu,
94 type_SupplyQuantity,
95 type_AcknowledgePdu,
96 type_DistributedEmissionsFamilyPdu,
97 type_IffAtcNavAidsLayer1Pdu,
98 type_SimulationManagementWithReliabilityFamilyPdu,
99 type_ActionRequestReliablePdu,
100 type_DesignatorPdu,
101 type_GriddedDataPdu,
102 type_SetRecordReliablePdu,
103 type_StopFreezePdu,
104 type_ResupplyCancelPdu,
105 type_EntityManagementFamilyPdu,
106 type_StartResumePdu,
107 type_TransmitterPdu,
108 type_TrackJamTarget,
109 type_ElectronicEmissionsPdu,
110 type_ResupplyOfferPdu,
111 type_MinefieldFamilyPdu,
112 type_SetDataReliablePdu,
113 type_EventReportPdu,
114 type_PointObjectStatePdu,
115 type_EnvironmentalProcessPdu,
116 type_DataPdu,
117 type_IsGroupOfPdu,
118 type_MinefieldDataPdu,
119 type_TransferControlRequestPdu,
120 type_EntityInformationFamilyPdu,
121 type_AcknowledgeReliablePdu,
122 type_StartResumeReliablePdu,
123 type_IffAtcNavAidsLayer2Pdu,
124 type_ArealObjectStatePdu,
125 type_DataQueryReliablePdu,
126 type_AggregateStatePdu,
127 type_EntityStateUpdatePdu,
128 type_MinefieldStatePdu,
129 type_DataReliablePdu,
130 type_CommentPdu,
131 type_CommentReliablePdu,
132 type_DetonationPdu,
133 type_SetDataPdu,
134 type_RecordQueryReliablePdu,
135 type_CollisionPdu,
136 type_ActionResponsePdu,
137 type_FirePdu,
138 type_ReceiverPdu,
139 type_UaPdu,
140 type_IntercomControlPdu,
141 type_SignalPdu,
142 type_RemoveEntityReliablePdu,
143 type_SeesPdu,
144 type_CreateEntityReliablePdu,
145 type_StopFreezeReliablePdu,
146 type_EventReportReliablePdu,
147 type_MinefieldResponseNackPdu,
148 type_CollisionElasticPdu,
149 type_ActionResponseReliablePdu,
150 type_IsPartOfPdu,
151 type_MinefieldQueryPdu,
152 type_EntityStatePdu,
153 type_FastEntityStatePdu,
154};
155/* 5.2.58. Used in IFF ATC PDU */
156struct SystemID{
158 unsigned short systemType;
160 unsigned short systemName;
162 unsigned char systemMode;
164 unsigned char changeOptions;
165};
166
167/* Section 5.2.25. Identifies the type of radio */
170 unsigned char entityKind;
172 unsigned char domain;
174 unsigned short country;
176 unsigned char category;
178 unsigned char nomenclatureVersion;
179 unsigned short nomenclature;
180};
181
182/* 5.2.47. Layer header. */
185 unsigned char layerNumber;
189 unsigned short length;
190};
191
192/* 5.3.35: Information about a particular UA emitter shall be represented using an Acoustic Emitter System record. This record shall consist of three fields: Acoustic Name, Function, and Acoustic ID Number */
195 unsigned short acousticName;
197 unsigned char acousticFunction;
199 unsigned char acousticID;
200};
201
202/* 32 bit piece of data */
206};
207
208/* Section 5.2.17. Three floating point values representing an orientation, psi, theta, and phi, aka the euler angles, in radians */
210 float psi;
211 float theta;
212 float phi;
213};
214
215/* 8 bit piece of data */
219};
220
221/* Section 5.2.18. Identifies a unique event in a simulation via the combination of three values */
222struct EventID{
224 unsigned short site;
226 unsigned short application;
228 unsigned short eventNumber;
229};
230
231/* Data about a vectoring nozzle system */
237};
238
239/* Identifies type of object. This is a shorter version of EntityType that omits the specific and extra fields. */
242 unsigned char entityKind;
244 unsigned char domain;
246 unsigned short country;
248 unsigned char category;
250 unsigned char subcategory;
251};
252
253/* 5.2.45. Fundamental IFF atc data */
256 float erp;
258 float frequency;
260 float pgrf;
264 unsigned int burstLength;
266 unsigned char applicableModes;
268 unsigned short pad2;
270 unsigned char pad3;
271};
272
273/* 64 bit piece of data */
277};
278
279/* Section 5.2.18. Fixed Datum Record */
282 unsigned int fixedDatumID;
284 unsigned int fixedDatumValue;
285};
286
287/* 5.2.44: Grid data record, a common abstract superclass for several subtypes */
290 unsigned short sampleType;
292 unsigned short dataRepresentation;
293};
294
295/* Section 5.2.36. Each agregate in a given simulation app is given an aggregate identifier number unique for all other aggregates in that app and in that exercise. The id is valid for the duration of the the exercise. */
298 unsigned short site;
300 unsigned short application;
302 unsigned short aggregateID;
303};
304
305/* 16 bit piece of data */
309};
310
311/* Section 5.2.8. Time measurements that exceed one hour. Hours is the number of hours since January 1, 1970, UTC */
314 int hour;
316 unsigned int timePastHour;
317};
318
319/* 5.2.56. Purpose for joinging two entities */
322 unsigned short nature;
324 unsigned short position;
325};
326
327/* Section 5.2.33. Three floating point values, x, y, and z */
330 float x;
332 float y;
334 float z;
335};
336
337/* Radio modulation */
340 unsigned short spreadSpectrum;
342 unsigned short major;
344 unsigned short detail;
346 unsigned short system;
347};
348
349/* Section 5.2.14.1. A Simulation Address record shall consist of the Site Identification number and the Application Identification number. */
352 unsigned short site;
354 unsigned short application;
355};
356
357/* 5.2.42. Basic operational data ofr IFF ATC NAVAIDS */
360 unsigned char systemStatus;
362 unsigned char alternateParameter4;
364 unsigned char informationLayers;
366 unsigned char modifier;
368 unsigned short parameter1;
370 unsigned short parameter2;
372 unsigned short parameter3;
374 unsigned short parameter4;
376 unsigned short parameter5;
378 unsigned short parameter6;
379};
380
381/* Section 5.2.38. Identifies the type of aggregate including kind of entity, domain (surface, subsurface, air, etc) country, category, etc. */
384 unsigned char aggregateKind;
386 unsigned char domain;
388 unsigned short country;
390 unsigned char category;
392 unsigned char subcategory;
394 unsigned char specific;
395 unsigned char extra;
396};
397
398/* Section 5.2.39. Specification of the data necessary to describe the scan volume of an emitter. */
399struct BeamData{
410};
411
412/* discrete ostional relationsihip */
415 unsigned short stationName;
417 unsigned short stationNumber;
418};
419
420/* Record sets, used in transfer control request PDU */
423 unsigned int recordID;
427 unsigned short recordLength;
429 unsigned short recordCount;
431 unsigned short recordValues;
433 unsigned char pad4;
434};
435
436/* Section 5.2.4.3. Used when the antenna pattern type in the transmitter pdu is of value 2. Specified the direction and radiation pattern from a radio transmitter's antenna. NOTE: this class must be hand-coded to clean up some implementation details. */
438 char order;
439};
440
441/* Shaft RPMs, used in underwater acoustic clacluations. */
449};
450
451/* 5.2.46. Intercom communcations parameters */
454 unsigned short recordType;
456 unsigned short recordLength;
458 unsigned int recordSpecificField;
459};
460
461/* Used in UaPdu */
466 unsigned short scanPattern;
475};
476
477/* Section 5.2.16. Identifies the type of entity, including kind of entity, domain (surface, subsurface, air, etc) country, category, etc. */
480 unsigned char entityKind;
482 unsigned char domain;
484 unsigned short country;
486 unsigned char category;
488 unsigned char subcategory;
490 unsigned char specific;
491 unsigned char extra;
492};
493
494/* Section 5.2.22. Contains electromagnetic emmision regineratin parameters that are variable throughout a scenario dependent on the actions of the participants in the simulation. Also provides basic parametric data that may be used to support low-fidelity simulations. */
497 float frequency;
516};
517
518/* Used in UA PDU */
519struct ApaData{
521 unsigned short parameterIndex;
524};
525
526/* Section 5.2.40. Information about a geometry, a state associated with a geometry, a bounding volume, or an associated entity ID. NOTE: this class requires hand coding. */
529 unsigned int environmentType;
531 unsigned char length;
533 unsigned char index;
535 unsigned char padding1;
537 unsigned char geometry;
539 unsigned char padding2;
540};
541
542/* Section 5.2.35. information about a specific UA emmtter */
545 unsigned short acousticName;
547 unsigned char function;
549 unsigned char acousticIdNumber;
550};
551
552/* 5.2.2: angular velocity measured in radians per second out each of the entity's own coordinate axes. */
555 float x;
557 float y;
559 float z;
560};
561
562/* Section 5.2.37. Specifies the character set used inthe first byte, followed by up to 31 characters of text data. */
565 unsigned char characterSet;
567 char characters[31];
568};
569
570/* Each entity in a given DIS simulation application shall be given an entity identifier number unique to all other entities in that application. This identifier number is valid for the duration of the exercise; however, entity identifier numbers may be reused when all possible numbers have been exhausted. No entity shall have an entity identifier number of NO_ENTITY, ALL_ENTITIES, or RQST_ASSIGN_ID. The entity iden- tifier number need not be registered or retained for future exercises. The entity identifier number shall be specified by a 16-bit unsigned integer. An entity identifier number equal to zero with valid site and application identification shall address a simulation application. An entity identifier number equal to ALL_ENTITIES shall mean all entities within the specified site and application. An entity identifier number equal to RQST_ASSIGN_ID allows the receiver of the create entity to define the entity identifier number of the new entity. */
571struct EntityID{
573 unsigned short site;
575 unsigned short application;
577 unsigned short entity;
578};
579
580/* 48 bit piece of data */
584};
585
586/* Section 5.3.34. Three double precision floating point values, x, y, and z */
589 double x;
591 double y;
593 double z;
594};
595
596/* The superclass for all PDUs. This incorporates the PduHeader record, section 5.2.29. */
597struct Pdu{
599 unsigned char protocolVersion;
601 unsigned char exerciseID;
603 unsigned char pduType;
605 unsigned char protocolFamily;
607 unsigned int timestamp;
609 unsigned short length;
611 short padding;
612};
613
614/* Section 5.2.32. Variable Datum Record */
617 unsigned int variableDatumID;
619 unsigned int variableDatumLength;
622};
623
624/* Section 5.2.5. Articulation parameters for movable parts and attached parts of an entity. Specifes wether or not a change has occured, the part identifcation of the articulated part to which it is attached, and the type and value of each parameter. */
626 unsigned char parameterTypeDesignator;
627 unsigned char changeIndicator;
628 unsigned short partAttachedTo;
629 int parameterType;
630 double parameterValue;
631};
632
633/* Section 5.2.15. Specifies the character set used inthe first byte, followed by 11 characters of text data. */
634struct Marking{
636 unsigned char characterSet;
638 char characters[11];
639};
640
641/* x,y point */
642struct Point{
644 float x;
646 float y;
647};
648
649/* Data about a propulsion system */
654 float engineRpm;
655};
656
657/* Section 5.2.11. This field shall specify information about a particular emitter system */
660 unsigned short emitterName;
662 unsigned char function;
664 unsigned char emitterIdNumber;
665};
666
667/* Used for XML compatability. A container that holds PDUs */
672 void * pdus;
673};
674
675/* Description of one electronic emission beam */
678 unsigned char beamDataLength;
680 unsigned char beamIDNumber;
682 unsigned short beamParameterIndex;
686 unsigned char beamFunction;
690 unsigned char highDensityTrackJam;
692 unsigned char pad4;
694 unsigned int jammingModeSequence;
697};
698
699/* Section 5.3.5. Abstract superclass for logistics PDUs. COMPLETE */
701 struct Pdu myPdu;
702};
703
704/* Section 5.3.5.1. Information about a request for supplies. COMPLETE */
706 struct LogisticsFamilyPdu myLogisticsFamilyPdu;
712 unsigned char serviceTypeRequested;
714 unsigned char numberOfSupplyTypes;
717 void * supplies;
718};
719
720/* Section 5.2.5.5. Repair is complete. COMPLETE */
722 struct LogisticsFamilyPdu myLogisticsFamilyPdu;
728 unsigned short repair;
730 short padding2;
731};
732
733/* represents values used in dead reckoning algorithms */
743};
744
745/* Section 5.2.4.2. Used when the antenna pattern type field has a value of 1. Specifies the direction, patter, and polarization of radiation from an antenna. */
749 float azimuthBeamwidth;
750 float referenceSystem;
751 short padding1;
752 char padding2;
754 float ez;
756 float ex;
758 float phase;
759};
760
761/* Section 5.3.11: Abstract superclass for synthetic environment PDUs */
763 struct Pdu myPdu;
764};
765
766/* Used in the UA pdu; ties together an emmitter and a location. This requires manual cleanup; the beam data should not be attached to each emitter system. */
771 unsigned char numberOfBeams;
773 unsigned short pad2;
779 void * beamRecords;
780};
781
782/* Section 5.2.5.6. Sent after repair complete PDU. COMPLETE */
784 struct LogisticsFamilyPdu myLogisticsFamilyPdu;
790 unsigned char repairResult;
792 short padding1;
794 char padding2;
795};
796
797/* Section 5.3.6. Abstract superclass for PDUs relating to the simulation itself. COMPLETE */
799 struct Pdu myPdu;
804};
805
806/* 5.2.3: location of the radiating portion of the antenna, specified in world coordinates and entity coordinates. */
812};
813
814/* Section 5.3.6.8. Request for data from an entity. COMPLETE */
816 struct SimulationManagementFamilyPdu mySimulationManagementFamilyPdu;
818 unsigned int requestID;
820 unsigned int timeInterval;
826 void * fixedDatums;
829};
830
831/* Section 5.2.7. Specifies the type of muntion fired, the type of warhead, the type of fuse, the number of rounds fired, and the rate at which the roudns are fired in rounds per minute. */
836 unsigned short warhead;
838 unsigned short fuse;
840 unsigned short quantity;
842 unsigned short rate;
843};
844
845/* Section 5.3.11.4: Information abut the addition or modification of a synthecic enviroment object that is anchored to the terrain with a single point and has size or orientation. COMPLETE */
847 struct SyntheticEnvironmentFamilyPdu mySyntheticEnvironmentFamilyPdu;
853 unsigned short updateNumber;
855 unsigned char forceID;
857 unsigned char numberOfSegments;
866};
867
868/* Section 5.3.6.1. Create a new entity. COMPLETE */
870 struct SimulationManagementFamilyPdu mySimulationManagementFamilyPdu;
872 unsigned int requestID;
873};
874
875/* Section 5.3.8. Abstract superclass for radio communications PDUs. */
877 struct Pdu myPdu;
881 unsigned short radioId;
882};
883
884/* Used in UA PDU */
887 unsigned short beamDataLength;
889 unsigned char beamIDNumber;
891 unsigned short pad2;
894};
895
896/* Section 5.3.8.4. Actual transmission of intercome voice data. COMPLETE */
898 struct RadioCommunicationsFamilyPdu myRadioCommunicationsFamilyPdu;
902 unsigned short communicationsDeviceID;
904 unsigned short encodingScheme;
906 unsigned short tdlType;
908 unsigned int sampleRate;
910 unsigned short dataLength;
912 unsigned short samples;
914 void * data;
915};
916
917/* 5.2.44: Grid data record, representation 1 */
919 struct GridAxisRecord myGridAxisRecord;
921 unsigned short numberOfValues;
923 void * dataValues;
924};
925
926/* 5.2.48: Linear segment parameters */
929 unsigned char segmentNumber;
937 unsigned short segmentLength;
939 unsigned short segmentWidth;
941 unsigned short segmentHeight;
943 unsigned short segmentDepth;
945 unsigned int pad1;
946};
947
948/* 5.2.44: Grid data record, representation 1 */
950 struct GridAxisRecord myGridAxisRecord;
956 unsigned short numberOfValues;
958 void * dataValues;
959};
960
961/* 5.2.44: Grid data record, representation 0 */
963 struct GridAxisRecord myGridAxisRecord;
965 unsigned short numberOfBytes;
967 void * dataValues;
968};
969
970/* Section 5.3.6.2. Remove an entity. COMPLETE */
972 struct SimulationManagementFamilyPdu mySimulationManagementFamilyPdu;
974 unsigned int requestID;
975};
976
977/* Section 5.3.5.3. Receipt of supplies is communiated. COMPLETE */
979 struct LogisticsFamilyPdu myLogisticsFamilyPdu;
985 unsigned char numberOfSupplyTypes;
987 short padding1;
989 char padding2;
990 void * supplies;
991};
992
993/* Section 5.3.4. abstract superclass for fire and detonation pdus that have shared information. COMPLETE */
995 struct Pdu myPdu;
1000};
1001
1002/* Data about one electronic system */
1005 unsigned char systemDataLength;
1007 unsigned char numberOfBeams;
1009 unsigned short emissionsPadding2;
1016};
1017
1018/* Section 5.3.6.6. Request from simulation manager to an entity. COMPLETE */
1020 struct SimulationManagementFamilyPdu mySimulationManagementFamilyPdu;
1022 unsigned int requestID;
1024 unsigned int actionID;
1033};
1034
1035/* Section 5.2.30. A supply, and the amount of that supply. Similar to an entity kind but with the addition of a quantity. */
1040 unsigned char quantity;
1041};
1042
1043/* Section 5.3.6.5. Acknowledge the receiptof a start/resume, stop/freeze, or RemoveEntityPDU. COMPLETE */
1045 struct SimulationManagementFamilyPdu mySimulationManagementFamilyPdu;
1047 unsigned short acknowledgeFlag;
1049 unsigned short responseFlag;
1051 unsigned int requestID;
1052};
1053
1054/* Section 5.3.7. Electronic Emissions. Abstract superclass for distirubted emissions PDU */
1056 struct Pdu myPdu;
1057};
1058
1059/* 5.3.7.4.1: Navigational and IFF PDU. COMPLETE */
1061 struct DistributedEmissionsFamilyPdu myDistributedEmissionsFamilyPdu;
1071 unsigned short pad2;
1074};
1075
1076/* Section 5.3.12: Abstract superclass for reliable simulation management PDUs */
1078 struct Pdu myPdu;
1083};
1084
1085/* Section 5.3.12.6: request from a simulation manager to a managed entity to perform a specified action. COMPLETE */
1087 struct SimulationManagementWithReliabilityFamilyPdu mySimulationManagementWithReliabilityFamilyPdu;
1091 unsigned short pad1;
1093 unsigned char pad2;
1095 unsigned int requestID;
1097 unsigned int actionID;
1106};
1107
1108/* Section 5.3.7.2. Handles designating operations. COMPLETE */
1110 struct DistributedEmissionsFamilyPdu myDistributedEmissionsFamilyPdu;
1114 unsigned short codeName;
1118 unsigned short designatorCode;
1130 unsigned short padding1;
1135};
1136
1137/* Section 5.3.11.2: Information about globat, spatially varying enviornmental effects. This requires manual cleanup; the grid axis records are variable sized. UNFINISHED */
1139 struct SyntheticEnvironmentFamilyPdu mySyntheticEnvironmentFamilyPdu;
1143 unsigned short fieldNumber;
1145 unsigned short pduNumber;
1147 unsigned short pduTotal;
1149 unsigned short coordinateSystem;
1151 unsigned char numberOfGridAxes;
1153 unsigned char constantGrid;
1159 long long sampleTime;
1161 unsigned int totalValues;
1163 unsigned char vectorDimension;
1165 unsigned short padding1;
1167 unsigned char padding2;
1170};
1171
1172/* Section 5.3.12.14: Initializing or changing internal parameter info. Needs manual intervention to fix padding in recrod set PDUs. UNFINISHED */
1174 struct SimulationManagementWithReliabilityFamilyPdu mySimulationManagementWithReliabilityFamilyPdu;
1176 unsigned int requestID;
1180 unsigned short pad1;
1182 unsigned char pad2;
1184 unsigned int numberOfRecordSets;
1186 void * recordSets;
1187};
1188
1189/* Section 5.2.3.4. Stop or freeze an exercise. COMPLETE */
1191 struct SimulationManagementFamilyPdu mySimulationManagementFamilyPdu;
1195 unsigned char reason;
1197 unsigned char frozenBehavior;
1199 short padding1;
1201 unsigned int requestID;
1202};
1203
1204/* Section 5.2.5.4. Cancel of resupply by either the receiving or supplying entity. COMPLETE */
1206 struct LogisticsFamilyPdu myLogisticsFamilyPdu;
1211};
1212
1213/* Section 5.3.9. Common superclass for EntityManagment PDUs, including aggregate state, isGroupOf, TransferControLRequest, and isPartOf */
1215 struct Pdu myPdu;
1216};
1217
1218/* Section 5.2.6.3. Start or resume an exercise. COMPLETE */
1220 struct SimulationManagementFamilyPdu mySimulationManagementFamilyPdu;
1226 unsigned int requestID;
1227};
1228
1229/* Section 5.3.8.1. Detailed information about a radio transmitter. This PDU requires manually written code to complete, since the modulation parameters are of variable length. UNFINISHED */
1231 struct RadioCommunicationsFamilyPdu myRadioCommunicationsFamilyPdu;
1235 unsigned char transmitState;
1237 unsigned char inputSource;
1239 unsigned short padding1;
1245 unsigned short antennaPatternType;
1247 unsigned short antennaPatternCount;
1249 unsigned long long frequency;
1253 float power;
1257 unsigned short cryptoSystem;
1259 unsigned short cryptoKeyId;
1263 unsigned short padding2;
1265 unsigned char padding3;
1270};
1271
1272/* One track/jam target */
1277 unsigned char emitterID;
1279 unsigned char beamID;
1280};
1281
1282/* Section 5.3.7.1. Information about active electronic warfare (EW) emissions and active EW countermeasures shall be communicated using an Electromagnetic Emission PDU. COMPLETE (I think) */
1284 struct DistributedEmissionsFamilyPdu myDistributedEmissionsFamilyPdu;
1290 unsigned char stateUpdateIndicator;
1292 unsigned char numberOfSystems;
1294 unsigned short paddingForEmissionsPdu;
1296 void * systems;
1297};
1298
1299/* Section 5.3.5.2. Information about a request for supplies. COMPLETE */
1301 struct LogisticsFamilyPdu myLogisticsFamilyPdu;
1307 unsigned char numberOfSupplyTypes;
1309 short padding1;
1312 void * supplies;
1313};
1314
1315/* Section 5.3.10.1 Abstract superclass for PDUs relating to minefields */
1317 struct Pdu myPdu;
1318};
1319
1320/* Section 5.3.12.9: initializing or chaning internal state information, reliable. Needs manual intervention to fix padding on variable datums. UNFINISHED */
1322 struct SimulationManagementWithReliabilityFamilyPdu mySimulationManagementWithReliabilityFamilyPdu;
1326 unsigned short pad1;
1328 unsigned char pad2;
1330 unsigned int requestID;
1339};
1340
1341/* Section 5.3.6.11. Reports occurance of a significant event to the simulation manager. COMPLETE */
1343 struct SimulationManagementFamilyPdu mySimulationManagementFamilyPdu;
1345 unsigned int eventType;
1347 unsigned int padding1;
1356};
1357
1358/* Section 5.3.11.3: Inormation abut the addition or modification of a synthecic enviroment object that is anchored to the terrain with a single point. COMPLETE */
1360 struct SyntheticEnvironmentFamilyPdu mySyntheticEnvironmentFamilyPdu;
1366 unsigned short updateNumber;
1368 unsigned char forceID;
1370 unsigned char modifications;
1384 unsigned int pad2;
1385};
1386
1387/* Section 5.3.11.1: Information about environmental effects and processes. This requires manual cleanup. the environmental record is variable, as is the padding. UNFINISHED */
1389 struct SyntheticEnvironmentFamilyPdu mySyntheticEnvironmentFamilyPdu;
1395 unsigned char modelType;
1397 unsigned char environmentStatus;
1401 unsigned short sequenceNumber;
1404};
1405
1406/* Section 5.3.6.10. Information issued in response to a data query pdu or a set data pdu is communicated using a data pdu. COMPLETE */
1407struct DataPdu{
1408 struct SimulationManagementFamilyPdu mySimulationManagementFamilyPdu;
1410 unsigned int requestID;
1412 unsigned int padding1;
1421};
1422
1423/* Section 5.3.9.2 Information about a particular group of entities grouped together for the purposes of netowrk bandwidth reduction or aggregation. Needs manual cleanup. The GED size requires a database lookup. UNFINISHED */
1425 struct EntityManagementFamilyPdu myEntityManagementFamilyPdu;
1433 unsigned int pad2;
1435 double latitude;
1437 double longitude;
1440};
1441
1442/* Section 5.3.10.3 Information about individual mines within a minefield. This is very, very wrong. UNFINISHED */
1444 struct MinefieldFamilyPdu myMinefieldFamilyPdu;
1452 unsigned char requestID;
1454 unsigned char pduSequenceNumber;
1456 unsigned char numberOfPdus;
1460 unsigned char numberOfSensorTypes;
1462 unsigned char pad2;
1464 unsigned int dataFilter;
1470 unsigned char pad3;
1473};
1474
1475/* Section 5.3.9.3 Information initiating the dyanic allocation and control of simulation entities between two simulation applications. Requires manual cleanup. The padding between record sets is variable. UNFINISHED */
1477 struct EntityManagementFamilyPdu myEntityManagementFamilyPdu;
1483 unsigned int requestID;
1487 unsigned char tranferType;
1491 unsigned char numberOfRecordSets;
1493 void * recordSets;
1494};
1495
1496/* Section 5.3.3. Common superclass for EntityState, Collision, collision-elastic, and entity state update PDUs. This should be abstract. COMPLETE */
1498 struct Pdu myPdu;
1499};
1500
1501/* Section 5.3.12.5: Ack receipt of a start-resume, stop-freeze, create-entity or remove enitty (reliable) pdus. COMPLETE */
1503 struct SimulationManagementWithReliabilityFamilyPdu mySimulationManagementWithReliabilityFamilyPdu;
1505 unsigned short acknowledgeFlag;
1507 unsigned short responseFlag;
1509 unsigned int requestID;
1510};
1511
1512/* Section 5.3.12.3: Start resume simulation, relaible. COMPLETE */
1514 struct SimulationManagementWithReliabilityFamilyPdu mySimulationManagementWithReliabilityFamilyPdu;
1522 unsigned short pad1;
1524 unsigned char pad2;
1526 unsigned int requestID;
1527};
1528
1529/* Section 5.3.7.4.2 When present, layer 2 should follow layer 1 and have the following fields. This requires manual cleanup. the beamData attribute semantics are used in multiple ways. UNFINSISHED */
1531 struct IffAtcNavAidsLayer1Pdu myIffAtcNavAidsLayer1Pdu;
1540};
1541
1542/* Section 5.3.11.5: Information about the addition/modification of an oobject that is geometrically achored to the terrain with a set of three or more points that come to a closure. COMPLETE */
1544 struct SyntheticEnvironmentFamilyPdu mySyntheticEnvironmentFamilyPdu;
1550 unsigned short updateNumber;
1552 unsigned char forceID;
1554 unsigned char modifications;
1560 unsigned short numberOfPoints;
1567};
1568
1569/* Section 5.3.12.8: request for data from an entity. COMPLETE */
1571 struct SimulationManagementWithReliabilityFamilyPdu mySimulationManagementWithReliabilityFamilyPdu;
1575 unsigned short pad1;
1577 unsigned char pad2;
1579 unsigned int requestID;
1581 unsigned int timeInterval;
1590};
1591
1592/* Section 5.3.9.1 informationa bout aggregating entities anc communicating information about the aggregated entities. requires manual intervention to fix the padding between entityID lists and silent aggregate sysem lists--this padding is dependent on how many entityIDs there are, and needs to be on a 32 bit word boundary. UNFINISHED */
1594 struct EntityManagementFamilyPdu myEntityManagementFamilyPdu;
1598 unsigned char forceID;
1600 unsigned char aggregateState;
1604 unsigned int formation;
1616 unsigned short numberOfDisAggregates;
1618 unsigned short numberOfDisEntities;
1628 unsigned char pad2;
1637};
1638
1639/* 5.3.3.4. Nonstatic information about a particular entity may be communicated by issuing an Entity State Update PDU. COMPLETE */
1641 struct EntityInformationFamilyPdu myEntityInformationFamilyPdu;
1656 void * articulationParameters;
1657};
1658
1659/* Section 5.3.10.1 Abstract superclass for PDUs relating to minefields. COMPLETE */
1661 struct MinefieldFamilyPdu myMinefieldFamilyPdu;
1665 unsigned short minefieldSequence;
1667 unsigned char forceID;
1673 unsigned short numberOfMineTypes;
1679 unsigned short appearance;
1681 unsigned short protocolMode;
1685 void * mineType;
1686};
1687
1688/* Section 5.3.12.10: issued in response to a data query R or set dataR pdu. Needs manual intervention to fix padding on variable datums. UNFINSIHED */
1690 struct SimulationManagementWithReliabilityFamilyPdu mySimulationManagementWithReliabilityFamilyPdu;
1692 unsigned int requestID;
1696 unsigned short pad1;
1698 unsigned char pad2;
1707};
1708
1709/* Section 5.3.6.12. Arbitrary messages can be entered into the data stream via use of this PDU. COMPLETE */
1711 struct SimulationManagementFamilyPdu mySimulationManagementFamilyPdu;
1720};
1721
1722/* Section 5.3.12.12: Arbitrary messages. Only reliable this time. Neds manual intervention to fix padding in variable datums. UNFINISHED */
1724 struct SimulationManagementWithReliabilityFamilyPdu mySimulationManagementWithReliabilityFamilyPdu;
1733};
1734
1735/* Section 5.3.4.2. Information about stuff exploding. COMPLETE */
1737 struct WarfareFamilyPdu myWarfareFamilyPdu;
1751 unsigned char detonationResult;
1755 short pad;
1756 void * articulationParameters;
1757};
1758
1759/* Section 5.3.6.9. Change state information with the data contained in this. COMPLETE */
1761 struct SimulationManagementFamilyPdu mySimulationManagementFamilyPdu;
1763 unsigned int requestID;
1765 unsigned int padding1;
1774};
1775
1776/* Section 5.3.12.13: A request for one or more records of data from an entity. COMPLETE */
1778 struct SimulationManagementWithReliabilityFamilyPdu mySimulationManagementWithReliabilityFamilyPdu;
1780 unsigned int requestID;
1784 unsigned short pad1;
1786 unsigned char pad2;
1788 unsigned short eventType;
1790 unsigned int time;
1792 unsigned int numberOfRecords;
1794 void * recordIDs;
1795};
1796
1797/* Section 5.3.3.2. Information about a collision. COMPLETE */
1799 struct EntityInformationFamilyPdu myEntityInformationFamilyPdu;
1807 unsigned char collisionType;
1809 char pad;
1813 float mass;
1816};
1817
1818/* Section 5.3.6.7. response to an action request PDU. COMPLETE */
1820 struct SimulationManagementFamilyPdu mySimulationManagementFamilyPdu;
1822 unsigned int requestID;
1824 unsigned int requestStatus;
1833};
1834
1835/* Sectioin 5.3.4.1. Information about someone firing something. COMPLETE */
1836struct FirePdu{
1837 struct WarfareFamilyPdu myWarfareFamilyPdu;
1842 int fireMissionIndex;
1850 float range;
1851};
1852
1853/* Section 5.3.8.3. Communication of a receiver state. COMPLETE */
1855 struct RadioCommunicationsFamilyPdu myRadioCommunicationsFamilyPdu;
1857 unsigned short receiverState;
1859 unsigned short padding1;
1865 unsigned short transmitterRadioId;
1866};
1867
1868/* Section 5.3.7.3. Information about underwater acoustic emmissions. This requires manual cleanup. The beam data records should ALL be a the finish, rather than attached to each emitter system. UNFINISHED */
1869struct UaPdu{
1870 struct DistributedEmissionsFamilyPdu myDistributedEmissionsFamilyPdu;
1878 char pad;
1880 unsigned short passiveParameterIndex;
1884 unsigned char numberOfShafts;
1886 unsigned char numberOfAPAs;
1890 void * shaftRPMs;
1892 void * apaData;
1893 void * emitterSystems;
1894};
1895
1896/* Section 5.3.8.5. Detailed inofrmation about the state of an intercom device and the actions it is requestion of another intercom device, or the response to a requested action. Required manual intervention to fix the intercom parameters, which can be of varialbe length. UNFINSISHED */
1898 struct RadioCommunicationsFamilyPdu myRadioCommunicationsFamilyPdu;
1900 unsigned char controlType;
1908 unsigned char sourceLineID;
1910 unsigned char transmitPriority;
1912 unsigned char transmitLineState;
1914 unsigned char command;
1923};
1924
1925/* Section 5.3.8.2. Detailed information about a radio transmitter. This PDU requires manually written code to complete. The encodingScheme field can be used in multiple ways, which requires hand-written code to finish. UNFINISHED */
1927 struct RadioCommunicationsFamilyPdu myRadioCommunicationsFamilyPdu;
1929 unsigned short encodingScheme;
1931 unsigned short tdlType;
1933 unsigned int sampleRate;
1937 short samples;
1939 void * data;
1940};
1941
1942/* Section 5.3.12.2: Removal of an entity , reliable. COMPLETE */
1944 struct SimulationManagementWithReliabilityFamilyPdu mySimulationManagementWithReliabilityFamilyPdu;
1948 unsigned short pad1;
1950 unsigned char pad2;
1952 unsigned int requestID;
1953};
1954
1955/* Section 5.3.7.5. SEES PDU, supplemental emissions entity state information. COMPLETE */
1956struct SeesPdu{
1957 struct DistributedEmissionsFamilyPdu myDistributedEmissionsFamilyPdu;
1974};
1975
1976/* Section 5.3.12.1: creation of an entity , reliable. COMPLETE */
1978 struct SimulationManagementWithReliabilityFamilyPdu mySimulationManagementWithReliabilityFamilyPdu;
1982 unsigned short pad1;
1984 unsigned char pad2;
1986 unsigned int requestID;
1987};
1988
1989/* Section 5.3.12.4: Stop freeze simulation, relaible. COMPLETE */
1991 struct SimulationManagementWithReliabilityFamilyPdu mySimulationManagementWithReliabilityFamilyPdu;
1995 unsigned char reason;
1997 unsigned char frozenBehavior;
2001 unsigned char pad1;
2003 unsigned int requestID;
2004};
2005
2006/* Section 5.3.12.11: reports the occurance of a significatnt event to the simulation manager. Needs manual intervention to fix padding in variable datums. UNFINISHED. */
2008 struct SimulationManagementWithReliabilityFamilyPdu mySimulationManagementWithReliabilityFamilyPdu;
2010 unsigned short eventType;
2012 unsigned int pad1;
2021};
2022
2023/* Section 5.3.10.4 proivde the means to request a retransmit of a minefield data pdu. COMPLETE */
2025 struct MinefieldFamilyPdu myMinefieldFamilyPdu;
2031 unsigned char requestID;
2033 unsigned char numberOfMissingPdus;
2036};
2037
2038/* 5.3.3.3. Information about elastic collisions in a DIS exercise shall be communicated using a Collision-Elastic PDU. COMPLETE */
2040 struct EntityInformationFamilyPdu myEntityInformationFamilyPdu;
2048 short pad;
2052 float mass;
2071};
2072
2073/* Section 5.3.12.7: Response from an entity to an action request PDU. COMPLETE */
2075 struct SimulationManagementWithReliabilityFamilyPdu mySimulationManagementWithReliabilityFamilyPdu;
2077 unsigned int requestID;
2079 unsigned int responseStatus;
2088};
2089
2090/* Section 5.3.9.4 The joining of two or more simulation entities is communicated by this PDU. COMPLETE */
2092 struct EntityManagementFamilyPdu myEntityManagementFamilyPdu;
2105};
2106
2107/* Section 5.3.10.2 Query a minefield for information about individual mines. Requires manual clean up to get the padding right. UNFINISHED */
2109 struct MinefieldFamilyPdu myMinefieldFamilyPdu;
2115 unsigned char requestID;
2119 unsigned char pad2;
2121 unsigned char numberOfSensorTypes;
2123 unsigned int dataFilter;
2130};
2131
2132/* Section 5.3.3.1. Represents the postion and state of one entity in the world. COMPLETE */
2134 struct EntityInformationFamilyPdu myEntityInformationFamilyPdu;
2138 unsigned char forceId;
2143 struct EntityType alternativeEntityType;
2160};
2161
2162/* Section 5.3.3.1. Represents the postion and state of one entity in the world. This is identical in function to entity state pdu, but generates less garbage to collect in the Java world. COMPLETE */
2164 struct EntityInformationFamilyPdu myEntityInformationFamilyPdu;
2166 unsigned short site;
2168 unsigned short application;
2170 unsigned short entity;
2172 unsigned char forceId;
2176 unsigned char entityKind;
2178 unsigned char domain;
2180 unsigned short country;
2182 unsigned char category;
2184 unsigned char subcategory;
2186 unsigned char specific;
2187 unsigned char extra;
2189 unsigned char altEntityKind;
2191 unsigned char altDomain;
2193 unsigned short altCountry;
2195 unsigned char altCategory;
2197 unsigned char altSubcategory;
2199 unsigned char altSpecific;
2200 unsigned char altExtra;
2208 double xLocation;
2210 double yLocation;
2212 double zLocation;
2213 float psi;
2214 float theta;
2215 float phi;
2235 char marking[12];
2240};
2241
2242
2243unsigned char * dis_ctor(int distype);
2244void dis_dtor(unsigned char *item, int distype);
2245unsigned char * dis_marshal(unsigned char * datastream, unsigned char *item, int type);
2246unsigned char *dis_unmarshal(unsigned char *datastream, unsigned char* item, int type);
2247int pduToDis(int pdu)
2248;
2249#ifdef __cplusplus
2250}
2251#endif
2252
2253#endif //DIS_H
unsigned int requestID
Request ID that is unique.
Definition: DIS.h:1051
unsigned short acknowledgeFlag
type of message being acknowledged
Definition: DIS.h:1047
unsigned short responseFlag
Whether or not the receiving entity was able to comply with the request.
Definition: DIS.h:1049
unsigned int requestID
Request ID.
Definition: DIS.h:1509
unsigned short responseFlag
response flags
Definition: DIS.h:1507
unsigned short acknowledgeFlag
ack flags
Definition: DIS.h:1505
unsigned char beamIDNumber
beamIDNumber
Definition: DIS.h:889
unsigned short beamDataLength
beam data length
Definition: DIS.h:887
unsigned short pad2
padding
Definition: DIS.h:891
struct AcousticBeamFundamentalParameter fundamentalDataParameters
fundamental data parameters
Definition: DIS.h:893
unsigned short scanPattern
scan pattern
Definition: DIS.h:466
float beamCenterDE
beam center
Definition: DIS.h:472
unsigned short activeEmissionParameterIndex
parameter index
Definition: DIS.h:464
float deBeamwidth
DE beamwidth (vertical beamwidth)
Definition: DIS.h:474
float azimuthalBeamwidth
azimuthal beamwidth
Definition: DIS.h:470
float beamCenterAzimuth
beam center azimuth
Definition: DIS.h:468
unsigned char emitterSystemDataLength
Length of emitter system data.
Definition: DIS.h:769
void * beamRecords
For each beam in numberOfBeams, an emitter system.
Definition: DIS.h:779
unsigned char numberOfBeams
Number of beams.
Definition: DIS.h:771
struct AcousticEmitterSystem acousticEmitterSystem
This field shall specify the system for a particular UA emitter.
Definition: DIS.h:775
struct Vector3Float emitterLocation
Represents the location wrt the entity.
Definition: DIS.h:777
unsigned short pad2
padding
Definition: DIS.h:773
unsigned char acousticFunction
This field shall describe the function of the acoustic system.
Definition: DIS.h:197
unsigned char acousticID
This field shall specify the UA emitter identification number relative to a specific system.
Definition: DIS.h:199
unsigned short acousticName
This field shall specify the system for a particular UA emitter.
Definition: DIS.h:195
unsigned char acousticIdNumber
The UA emitter identification number relative to a specific system.
Definition: DIS.h:549
unsigned short acousticName
the system for a particular UA emitter, and an enumeration
Definition: DIS.h:545
unsigned char function
The function of the acoustic system.
Definition: DIS.h:547
unsigned int actionID
identifies the action being requested
Definition: DIS.h:1024
unsigned int requestID
Request ID that is unique.
Definition: DIS.h:1022
unsigned int numberOfFixedDatumRecords
Number of fixed datum records.
Definition: DIS.h:1026
void * variableDatums
variable length list of variable length datums
Definition: DIS.h:1032
unsigned int numberOfVariableDatumRecords
Number of variable datum records.
Definition: DIS.h:1028
void * fixedDatums
variable length list of fixed datums
Definition: DIS.h:1030
unsigned char pad2
padding
Definition: DIS.h:1093
void * fixedDatumRecords
Fixed datum records.
Definition: DIS.h:1103
unsigned int numberOfVariableDatumRecords
variable datum record count
Definition: DIS.h:1101
unsigned int requestID
request ID
Definition: DIS.h:1095
void * variableDatumRecords
Variable datum records.
Definition: DIS.h:1105
unsigned int actionID
request ID
Definition: DIS.h:1097
unsigned char requiredReliabilityService
level of reliability service used for this transaction
Definition: DIS.h:1089
unsigned int numberOfFixedDatumRecords
Fixed datum record count.
Definition: DIS.h:1099
unsigned short pad1
padding
Definition: DIS.h:1091
void * fixedDatums
variable length list of fixed datums
Definition: DIS.h:1830
unsigned int numberOfVariableDatumRecords
Number of variable datum records.
Definition: DIS.h:1828
unsigned int requestStatus
Status of response.
Definition: DIS.h:1824
unsigned int numberOfFixedDatumRecords
Number of fixed datum records.
Definition: DIS.h:1826
void * variableDatums
variable length list of variable length datums
Definition: DIS.h:1832
unsigned int requestID
Request ID that is unique.
Definition: DIS.h:1822
void * variableDatumRecords
Variable datum records.
Definition: DIS.h:2087
unsigned int responseStatus
status of response
Definition: DIS.h:2079
void * fixedDatumRecords
Fixed datum records.
Definition: DIS.h:2085
unsigned int numberOfFixedDatumRecords
Fixed datum record count.
Definition: DIS.h:2081
unsigned int numberOfVariableDatumRecords
variable datum record count
Definition: DIS.h:2083
unsigned int requestID
request ID
Definition: DIS.h:2077
unsigned short site
The site ID.
Definition: DIS.h:298
unsigned short aggregateID
the aggregate ID
Definition: DIS.h:302
unsigned short application
The application ID.
Definition: DIS.h:300
char characters[31]
The characters.
Definition: DIS.h:567
unsigned char characterSet
The character set.
Definition: DIS.h:565
struct Vector3Double centerOfMass
center of mass of the aggregation
Definition: DIS.h:1612
struct AggregateMarking aggregateMarking
marking for aggregate; first char is charset type, rest is char data
Definition: DIS.h:1606
struct Vector3Float dimensions
dimensions of bounding box for the aggregated entities, origin at the center of mass
Definition: DIS.h:1608
void * entityIDList
entity ID list
Definition: DIS.h:1626
void * silentAggregateSystemList
silent entity types
Definition: DIS.h:1630
unsigned char pad2
^^^padding to put the start of the next list on a 32 bit boundary.
Definition: DIS.h:1628
unsigned short numberOfSilentEntityTypes
number of silent entity types
Definition: DIS.h:1622
unsigned char forceID
force ID
Definition: DIS.h:1598
void * silentEntitySystemList
silent entity types
Definition: DIS.h:1632
unsigned short numberOfDisEntities
number of entities
Definition: DIS.h:1618
struct Vector3Float velocity
velocity of aggregation
Definition: DIS.h:1614
struct EntityType aggregateType
entity type of the aggregated entities
Definition: DIS.h:1602
unsigned int numberOfVariableDatumRecords
number of variable datum records
Definition: DIS.h:1634
void * variableDatumList
variableDatums
Definition: DIS.h:1636
unsigned int formation
formation of aggregated entities
Definition: DIS.h:1604
unsigned char aggregateState
state of aggregate
Definition: DIS.h:1600
unsigned short numberOfDisAggregates
number of aggregates
Definition: DIS.h:1616
void * aggregateIDList
aggregates list
Definition: DIS.h:1624
struct EntityID aggregateID
ID of aggregated entities.
Definition: DIS.h:1596
struct Orientation orientation
orientation of the bounding box
Definition: DIS.h:1610
unsigned short numberOfSilentAggregateTypes
number of silent aggregate types
Definition: DIS.h:1620
unsigned char subcategory
subcategory of entity
Definition: DIS.h:392
unsigned char category
category of entity
Definition: DIS.h:390
unsigned short country
country to which the design of the entity is attributed
Definition: DIS.h:388
unsigned char domain
Domain of entity (air, surface, subsurface, space, etc)
Definition: DIS.h:386
unsigned char aggregateKind
Kind of entity.
Definition: DIS.h:384
unsigned char specific
specific info based on subcategory field
Definition: DIS.h:394
float x
velocity about the x axis
Definition: DIS.h:555
float y
velocity about the y axis
Definition: DIS.h:557
float z
velocity about the zaxis
Definition: DIS.h:559
struct Vector3Float relativeAntennaLocation
Location of the radiating portion of the antenna in entity coordinates.
Definition: DIS.h:811
struct Vector3Double antennaLocation
Location of the radiating portion of the antenna in world coordinates.
Definition: DIS.h:809
Definition: DIS.h:519
short parameterValue
Index of APA parameter.
Definition: DIS.h:523
unsigned short parameterIndex
Index of APA parameter.
Definition: DIS.h:521
struct SimulationAddress receivingID
receiver ID
Definition: DIS.h:1564
struct SimulationAddress requesterID
requesterID
Definition: DIS.h:1562
unsigned char forceID
force ID
Definition: DIS.h:1552
struct EntityID referencedObjectID
Object with which this point object is associated.
Definition: DIS.h:1548
void * objectLocation
location of object
Definition: DIS.h:1566
unsigned short numberOfPoints
Number of points.
Definition: DIS.h:1560
struct SixByteChunk objectAppearance
Object appearance.
Definition: DIS.h:1558
struct EntityType objectType
Object type.
Definition: DIS.h:1556
unsigned short updateNumber
unique update number of each state transition of an object
Definition: DIS.h:1550
unsigned char modifications
modifications enumeration
Definition: DIS.h:1554
struct EntityID objectID
Object in synthetic environment.
Definition: DIS.h:1546
float phase
THe phase angle between Ez and Ex in radians.
Definition: DIS.h:758
float ex
Magnigute of the x-component in beam coordinates at some arbitrary single point in the mainbeam and i...
Definition: DIS.h:756
struct Orientation beamDirection
The rotation that transformst he reference coordinate sytem into the beam coordinate system.
Definition: DIS.h:748
float ez
Magnigute of the z-component in beam coordinates at some arbitrary single point in the mainbeam and i...
Definition: DIS.h:754
Definition: DIS.h:399
float beamAzimuthCenter
Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan vo...
Definition: DIS.h:401
float beamAzimuthSweep
Specifies the beam azimuth sweep to determine scan volume.
Definition: DIS.h:403
float beamSweepSync
allows receiver to synchronize its regenerated scan pattern to that of the emmitter.
Definition: DIS.h:409
float beamElevationCenter
Specifies the beam elevation center to determine scan volume.
Definition: DIS.h:405
float beamElevationSweep
Specifies the beam elevation sweep to determine scan volume.
Definition: DIS.h:407
unsigned short quantity
how many of the munition were fired
Definition: DIS.h:840
unsigned short rate
rate at which the munition was fired
Definition: DIS.h:842
struct EntityType munition
What munition was used in the burst.
Definition: DIS.h:834
unsigned short warhead
type of warhead
Definition: DIS.h:836
unsigned short fuse
type of fuse used
Definition: DIS.h:838
Definition: DIS.h:312
unsigned int timePastHour
Time past the hour.
Definition: DIS.h:316
int hour
Hours in UTC.
Definition: DIS.h:314
float collisionResultYY
tensor values
Definition: DIS.h:2062
float collisionResultXZ
tensor values
Definition: DIS.h:2060
struct Vector3Float unitSurfaceNormal
This record shall represent the normal vector to the surface at the point of collision detection.
Definition: DIS.h:2068
float coefficientOfRestitution
This field shall represent the degree to which energy is conserved in a collision.
Definition: DIS.h:2070
struct EntityID issuingEntityID
ID of the entity that issued the collision PDU.
Definition: DIS.h:2042
struct Vector3Float location
Location with respect to entity the issuing entity collided with.
Definition: DIS.h:2054
float mass
mass of issuing entity
Definition: DIS.h:2052
float collisionResultYZ
tensor values
Definition: DIS.h:2064
float collisionResultZZ
tensor values
Definition: DIS.h:2066
struct EntityID collidingEntityID
ID of entity that has collided with the issuing entity ID.
Definition: DIS.h:2044
float collisionResultXY
tensor values
Definition: DIS.h:2058
struct EventID collisionEventID
ID of event.
Definition: DIS.h:2046
struct Vector3Float contactVelocity
velocity at collision
Definition: DIS.h:2050
short pad
some padding
Definition: DIS.h:2048
float collisionResultXX
tensor values
Definition: DIS.h:2056
struct Vector3Float velocity
velocity at collision
Definition: DIS.h:1811
float mass
mass of issuing entity
Definition: DIS.h:1813
char pad
some padding
Definition: DIS.h:1809
unsigned char collisionType
ID of event.
Definition: DIS.h:1807
struct EventID eventID
ID of event.
Definition: DIS.h:1805
struct EntityID issuingEntityID
ID of the entity that issued the collision PDU.
Definition: DIS.h:1801
struct EntityID collidingEntityID
ID of entity that has collided with the issuing entity ID.
Definition: DIS.h:1803
struct Vector3Float location
Location with respect to entity the issuing entity collided with.
Definition: DIS.h:1815
void * variableDatums
variable length list of variable length datums
Definition: DIS.h:1719
void * fixedDatums
variable length list of fixed datums
Definition: DIS.h:1717
unsigned int numberOfFixedDatumRecords
Number of fixed datum records.
Definition: DIS.h:1713
unsigned int numberOfVariableDatumRecords
Number of variable datum records.
Definition: DIS.h:1715
unsigned int numberOfVariableDatumRecords
variable datum record count
Definition: DIS.h:1728
void * fixedDatumRecords
Fixed datum records.
Definition: DIS.h:1730
void * variableDatumRecords
Variable datum records.
Definition: DIS.h:1732
unsigned int numberOfFixedDatumRecords
Fixed datum record count.
Definition: DIS.h:1726
unsigned int requestID
Identifier for the request.
Definition: DIS.h:872
unsigned char pad2
padding
Definition: DIS.h:1984
unsigned char requiredReliabilityService
level of reliability service used for this transaction
Definition: DIS.h:1980
unsigned short pad1
padding
Definition: DIS.h:1982
unsigned int requestID
Request ID.
Definition: DIS.h:1986
Definition: DIS.h:1407
unsigned int numberOfVariableDatumRecords
Number of variable datum records.
Definition: DIS.h:1416
void * fixedDatums
variable length list of fixed datums
Definition: DIS.h:1418
void * variableDatums
variable length list of variable length datums
Definition: DIS.h:1420
unsigned int requestID
ID of request.
Definition: DIS.h:1410
unsigned int numberOfFixedDatumRecords
Number of fixed datum records.
Definition: DIS.h:1414
unsigned int padding1
padding
Definition: DIS.h:1412
unsigned int requestID
ID of request.
Definition: DIS.h:818
unsigned int numberOfFixedDatumRecords
Number of fixed datum records.
Definition: DIS.h:822
unsigned int numberOfVariableDatumRecords
Number of variable datum records.
Definition: DIS.h:824
void * variableDatums
variable length list of variable length datums
Definition: DIS.h:828
void * fixedDatums
variable length list of fixed datums
Definition: DIS.h:826
unsigned int timeInterval
time issues between issues of Data PDUs.
Definition: DIS.h:820
unsigned int numberOfVariableDatumRecords
variable datum record count
Definition: DIS.h:1585
unsigned int requestID
request ID
Definition: DIS.h:1579
unsigned char pad2
padding
Definition: DIS.h:1577
unsigned int numberOfFixedDatumRecords
Fixed datum record count.
Definition: DIS.h:1583
void * variableDatumRecords
Variable datum records.
Definition: DIS.h:1589
void * fixedDatumRecords
Fixed datum records.
Definition: DIS.h:1587
unsigned int timeInterval
time interval between issuing data query PDUs
Definition: DIS.h:1581
unsigned char requiredReliabilityService
level of reliability service used for this transaction
Definition: DIS.h:1573
unsigned short pad1
padding
Definition: DIS.h:1575
unsigned int numberOfVariableDatumRecords
variable datum record count
Definition: DIS.h:1702
unsigned char requiredReliabilityService
level of reliability service used for this transaction
Definition: DIS.h:1694
unsigned short pad1
padding
Definition: DIS.h:1696
void * variableDatumRecords
Variable datum records.
Definition: DIS.h:1706
void * fixedDatumRecords
Fixed datum records.
Definition: DIS.h:1704
unsigned int numberOfFixedDatumRecords
Fixed datum record count.
Definition: DIS.h:1700
unsigned int requestID
Request ID.
Definition: DIS.h:1692
unsigned char pad2
padding
Definition: DIS.h:1698
struct Vector3Float entityAngularVelocity
angular velocity of the entity
Definition: DIS.h:742
struct Vector3Float entityLinearAcceleration
Linear acceleration of the entity.
Definition: DIS.h:740
unsigned char deadReckoningAlgorithm
enumeration of what dead reckoning algorighm to use
Definition: DIS.h:736
char otherParameters[15]
other parameters to use in the dead reckoning algorithm
Definition: DIS.h:738
float designatorWavelength
This field shall identify the designator wavelength in units of microns.
Definition: DIS.h:1122
unsigned short codeName
This field shall specify a unique emitter database number assigned to differentiate between otherwise...
Definition: DIS.h:1114
struct EntityID designatedEntityID
ID of the entity being designated.
Definition: DIS.h:1116
char deadReckoningAlgorithm
Dead reckoning algorithm.
Definition: DIS.h:1128
struct EntityID designatingEntityID
ID of the entity designating.
Definition: DIS.h:1112
char padding2
padding
Definition: DIS.h:1132
unsigned short padding1
padding
Definition: DIS.h:1130
unsigned short designatorCode
This field shall identify the designator code being used by the designating entity
Definition: DIS.h:1118
struct Vector3Double designatorSpotLocation
designtor spot wrt the designated entity
Definition: DIS.h:1126
struct Vector3Float designatorSpotWrtDesignated
designtor spot wrt the designated entity
Definition: DIS.h:1124
struct Vector3Float entityLinearAcceleration
linear accelleration of entity
Definition: DIS.h:1134
float designatorPower
This field shall identify the designator output power in watts.
Definition: DIS.h:1120
struct Vector3Float locationInEntityCoordinates
location of the detonation or impact in the target entity's coordinate system.
Definition: DIS.h:1749
struct BurstDescriptor burstDescriptor
Describes munition used.
Definition: DIS.h:1747
struct Vector3Double locationInWorldCoordinates
where the detonation is, in world coordinates
Definition: DIS.h:1745
unsigned char detonationResult
result of the explosion
Definition: DIS.h:1751
struct EventID eventID
ID firing event.
Definition: DIS.h:1741
unsigned char numberOfArticulationParameters
How many articulation parameters we have.
Definition: DIS.h:1753
short pad
padding
Definition: DIS.h:1755
struct EntityID munitionID
ID of muntion that was fired.
Definition: DIS.h:1739
struct Vector3Float velocity
ID firing event.
Definition: DIS.h:1743
char otherParameters[8]
Eight bytes of arbitrary data.
Definition: DIS.h:276
unsigned short beamParameterIndex
This field shall specify a Beam Parameter Index number that shall be used by receiving entities in co...
Definition: DIS.h:682
unsigned char pad4
padding
Definition: DIS.h:692
unsigned char beamDataLength
This field shall specify the length of this beams data in 32 bit words.
Definition: DIS.h:678
unsigned char numberOfTrackJamTargets
Number of track/jam targets.
Definition: DIS.h:688
unsigned char beamFunction
beam function of a particular beam
Definition: DIS.h:686
unsigned char highDensityTrackJam
wheher or not the receiving simulation apps can assume all the targets in the scan pattern are being ...
Definition: DIS.h:690
void * trackJamTargets
variable length list of track/jam targets
Definition: DIS.h:696
unsigned char beamIDNumber
This field shall specify a unique emitter database number assigned to differentiate between otherwise...
Definition: DIS.h:680
struct FundamentalParameterData fundamentalParameterData
Fundamental parameter data such as frequency range, beam sweep, etc.
Definition: DIS.h:684
unsigned int jammingModeSequence
identify jamming techniques used
Definition: DIS.h:694
unsigned char systemDataLength
This field shall specify the length of this emitter system's data (including beam data and its track/...
Definition: DIS.h:1005
unsigned char numberOfBeams
This field shall specify the number of beams being described in the current PDU for the system being ...
Definition: DIS.h:1007
struct Vector3Float location
Location with respect to the entity.
Definition: DIS.h:1013
void * beamDataRecords
variable length list of beam data records
Definition: DIS.h:1015
unsigned short emissionsPadding2
padding.
Definition: DIS.h:1009
struct EmitterSystem emitterSystem
This field shall specify information about a particular emitter system.
Definition: DIS.h:1011
struct EventID eventID
ID of event.
Definition: DIS.h:1288
void * systems
Electronic emmissions systems.
Definition: DIS.h:1296
unsigned short paddingForEmissionsPdu
padding
Definition: DIS.h:1294
struct EntityID emittingEntityID
ID of the entity emitting.
Definition: DIS.h:1286
unsigned char numberOfSystems
This field shall specify the number of emission systems being described in the current PDU.
Definition: DIS.h:1292
unsigned char stateUpdateIndicator
This field shall be used to indicate if the data in the PDU represents a state update or just data th...
Definition: DIS.h:1290
unsigned char emitterIdNumber
emitter ID, 8 bit enumeration
Definition: DIS.h:664
unsigned short emitterName
Name of the emitter, 16 bit enumeration.
Definition: DIS.h:660
unsigned char function
function of the emitter, 8 bit enumeration
Definition: DIS.h:662
Definition: DIS.h:571
unsigned short application
The application ID.
Definition: DIS.h:575
unsigned short site
The site ID.
Definition: DIS.h:573
unsigned short entity
the entity ID
Definition: DIS.h:577
struct Vector3Float entityLinearVelocity
Describes the speed of the entity in the world.
Definition: DIS.h:2145
struct Marking marking
characters that can be used for debugging, or to draw unique strings on the side of entities in the w...
Definition: DIS.h:2155
struct EntityType entityType
Describes the type of entity in the world.
Definition: DIS.h:2142
int capabilities
a series of bit flags
Definition: DIS.h:2157
struct EntityID entityID
Unique ID for an entity that is tied to this state information.
Definition: DIS.h:2136
void * articulationParameters
variable length list of articulation parameters
Definition: DIS.h:2159
struct Orientation entityOrientation
describes the orientation of the entity, in euler angles
Definition: DIS.h:2149
int entityAppearance
a series of bit flags that are used to help draw the entity, such as smoking, on fire,...
Definition: DIS.h:2151
struct Vector3Double entityLocation
describes the location of the entity in the world
Definition: DIS.h:2147
unsigned char forceId
What force this entity is affiliated with, eg red, blue, neutral, etc.
Definition: DIS.h:2138
struct DeadReckoningParameter deadReckoningParameters
parameters used for dead reckoning
Definition: DIS.h:2153
char numberOfArticulationParameters
How many articulation parameters are in the variable length list.
Definition: DIS.h:2140
struct Orientation entityOrientation
describes the orientation of the entity, in euler angles
Definition: DIS.h:1653
struct Vector3Double entityLocation
describes the location of the entity in the world
Definition: DIS.h:1651
int entityAppearance
a series of bit flags that are used to help draw the entity, such as smoking, on fire,...
Definition: DIS.h:1655
unsigned char numberOfArticulationParameters
How many articulation parameters are in the variable length list.
Definition: DIS.h:1647
char padding1
Padding.
Definition: DIS.h:1645
struct Vector3Float entityLinearVelocity
Describes the speed of the entity in the world.
Definition: DIS.h:1649
struct EntityID entityID
This field shall identify the entity issuing the PDU.
Definition: DIS.h:1643
unsigned char domain
Domain of entity (air, surface, subsurface, space, etc)
Definition: DIS.h:482
unsigned short country
country to which the design of the entity is attributed
Definition: DIS.h:484
unsigned char entityKind
Kind of entity.
Definition: DIS.h:480
unsigned char specific
specific info based on subcategory field
Definition: DIS.h:490
unsigned char category
category of entity
Definition: DIS.h:486
unsigned char subcategory
subcategory of entity
Definition: DIS.h:488
unsigned char padding2
padding to bring the total size up to a 64 bit boundry
Definition: DIS.h:539
unsigned char padding1
padding
Definition: DIS.h:535
unsigned int environmentType
Record type.
Definition: DIS.h:529
unsigned char length
length, in bits
Definition: DIS.h:531
unsigned char index
Identify the sequentially numbered record index.
Definition: DIS.h:533
unsigned char geometry
Geometry or state record.
Definition: DIS.h:537
unsigned short sequenceNumber
PDU sequence number for the environmentla process if pdu sequencing required.
Definition: DIS.h:1401
void * environmentRecords
environemt records
Definition: DIS.h:1403
unsigned char modelType
model type
Definition: DIS.h:1395
struct EntityID environementalProcessID
Environmental process ID.
Definition: DIS.h:1391
unsigned char numberOfEnvironmentRecords
number of environment records
Definition: DIS.h:1399
struct EntityType environmentType
Environment type.
Definition: DIS.h:1393
unsigned char environmentStatus
Environment status.
Definition: DIS.h:1397
Definition: DIS.h:222
unsigned short application
The application ID.
Definition: DIS.h:226
unsigned short eventNumber
the number of the event
Definition: DIS.h:228
unsigned short site
The site ID.
Definition: DIS.h:224
void * fixedDatums
variable length list of fixed datums
Definition: DIS.h:1353
unsigned int eventType
Type of event.
Definition: DIS.h:1345
unsigned int numberOfFixedDatumRecords
Number of fixed datum records.
Definition: DIS.h:1349
unsigned int padding1
padding
Definition: DIS.h:1347
unsigned int numberOfVariableDatumRecords
Number of variable datum records.
Definition: DIS.h:1351
void * variableDatums
variable length list of variable length datums
Definition: DIS.h:1355
void * fixedDatumRecords
Fixed datum records.
Definition: DIS.h:2018
unsigned short eventType
Event type.
Definition: DIS.h:2010
unsigned int numberOfFixedDatumRecords
Fixed datum record count.
Definition: DIS.h:2014
void * variableDatumRecords
Variable datum records.
Definition: DIS.h:2020
unsigned int pad1
padding
Definition: DIS.h:2012
unsigned int numberOfVariableDatumRecords
variable datum record count
Definition: DIS.h:2016
float xAcceleration
X value.
Definition: DIS.h:2223
unsigned char altSubcategory
subcategory of entity
Definition: DIS.h:2197
float zAngularVelocity
Z value.
Definition: DIS.h:2233
unsigned char altSpecific
specific info based on subcategory field
Definition: DIS.h:2199
unsigned short application
The application ID.
Definition: DIS.h:2168
unsigned char altDomain
Domain of entity (air, surface, subsurface, space, etc)
Definition: DIS.h:2191
unsigned short country
country to which the design of the entity is attributed
Definition: DIS.h:2180
double zLocation
Z value.
Definition: DIS.h:2212
unsigned char altEntityKind
Kind of entity.
Definition: DIS.h:2189
unsigned char altCategory
category of entity
Definition: DIS.h:2195
unsigned short site
The site ID.
Definition: DIS.h:2166
unsigned char forceId
what force this entity is affiliated with, eg red, blue, neutral, etc
Definition: DIS.h:2172
unsigned short entity
the entity ID
Definition: DIS.h:2170
char numberOfArticulationParameters
How many articulation parameters are in the variable length list.
Definition: DIS.h:2174
int entityAppearance
a series of bit flags that are used to help draw the entity, such as smoking, on fire,...
Definition: DIS.h:2217
unsigned char subcategory
subcategory of entity
Definition: DIS.h:2184
void * articulationParameters
variable length list of articulation parameters
Definition: DIS.h:2239
double yLocation
y Value
Definition: DIS.h:2210
double xLocation
X value.
Definition: DIS.h:2208
float xAngularVelocity
X value.
Definition: DIS.h:2229
float yAngularVelocity
y Value
Definition: DIS.h:2231
unsigned char category
category of entity
Definition: DIS.h:2182
unsigned char deadReckoningAlgorithm
enumeration of what dead reckoning algorighm to use
Definition: DIS.h:2219
float xVelocity
X velo.
Definition: DIS.h:2202
int capabilities
a series of bit flags
Definition: DIS.h:2237
unsigned char entityKind
Kind of entity.
Definition: DIS.h:2176
unsigned char domain
Domain of entity (air, surface, subsurface, space, etc)
Definition: DIS.h:2178
unsigned char specific
specific info based on subcategory field
Definition: DIS.h:2186
float yVelocity
y Value
Definition: DIS.h:2204
float yAcceleration
y Value
Definition: DIS.h:2225
char otherParameters[15]
other parameters to use in the dead reckoning algorithm
Definition: DIS.h:2221
float zAcceleration
Z value.
Definition: DIS.h:2227
float zVelocity
Z value.
Definition: DIS.h:2206
unsigned short altCountry
country to which the design of the entity is attributed
Definition: DIS.h:2193
char marking[12]
characters that can be used for debugging, or to draw unique strings on the side of entities in the w...
Definition: DIS.h:2235
Definition: DIS.h:1836
struct BurstDescriptor burstDescriptor
Describes munitions used in the firing event.
Definition: DIS.h:1846
struct EntityID munitionID
ID of the munition that is being shot.
Definition: DIS.h:1839
struct Vector3Float velocity
Velocity of the ammunition.
Definition: DIS.h:1848
struct EventID eventID
ID of event.
Definition: DIS.h:1841
struct Vector3Double locationInWorldCoordinates
location of the firing event
Definition: DIS.h:1844
float range
range to the target
Definition: DIS.h:1850
unsigned int fixedDatumValue
Value for the fixed datum.
Definition: DIS.h:284
unsigned int fixedDatumID
ID of the fixed datum.
Definition: DIS.h:282
char otherParameters[4]
four bytes of arbitrary data
Definition: DIS.h:205
float pulseWidth
Pulse width.
Definition: DIS.h:262
unsigned char pad3
padding
Definition: DIS.h:270
unsigned char applicableModes
Applicable modes enumeration.
Definition: DIS.h:266
unsigned short pad2
padding
Definition: DIS.h:268
unsigned int burstLength
Burst length.
Definition: DIS.h:264
float frequency
frequency
Definition: DIS.h:258
float effectiveRadiatedPower
Effective radiated power for the emission in DdBm.
Definition: DIS.h:501
float pulseWidth
Average pulse width of the emission in microseconds.
Definition: DIS.h:505
float beamAzimuthSweep
Specifies the beam azimuth sweep to determine scan volume.
Definition: DIS.h:509
float frequencyRange
Bandwidth of the frequencies corresponding to the fequency field.
Definition: DIS.h:499
float beamElevationSweep
Specifies the beam elevation sweep to determine scan volume.
Definition: DIS.h:513
float beamAzimuthCenter
Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan vo...
Definition: DIS.h:507
float pulseRepetitionFrequency
Average repetition frequency of the emission in hertz.
Definition: DIS.h:503
float beamSweepSync
allows receiver to synchronize its regenerated scan pattern to that of the emmitter.
Definition: DIS.h:515
float frequency
center frequency of the emission in hertz.
Definition: DIS.h:497
float beamElevationCenter
Specifies the beam elevation center to determine scan volume.
Definition: DIS.h:511
unsigned short numberOfBytes
number of bytes of environmental state data
Definition: DIS.h:965
void * dataValues
variable length list of data parameters ^^^this is wrong–need padding as well
Definition: DIS.h:967
float fieldOffset
constant offset used to scale grid data
Definition: DIS.h:954
unsigned short numberOfValues
Number of data values.
Definition: DIS.h:956
void * dataValues
variable length list of data parameters ^^^this is wrong–need padding as well
Definition: DIS.h:958
float fieldScale
constant scale factor
Definition: DIS.h:952
unsigned short numberOfValues
number of values
Definition: DIS.h:921
void * dataValues
variable length list of data parameters ^^^this is wrong–need padding as well
Definition: DIS.h:923
unsigned short dataRepresentation
value that describes data representation
Definition: DIS.h:292
unsigned short sampleType
type of environmental sample
Definition: DIS.h:290
unsigned char padding2
padding
Definition: DIS.h:1167
unsigned char numberOfGridAxes
number of grid axes for the environmental data
Definition: DIS.h:1151
unsigned short coordinateSystem
coordinate system of the grid
Definition: DIS.h:1149
struct Orientation orientation
orientation of the data grid
Definition: DIS.h:1157
unsigned short fieldNumber
unique identifier for each piece of enviornmental data
Definition: DIS.h:1143
long long sampleTime
valid time of the enviormental data sample, 64 bit unsigned int
Definition: DIS.h:1159
unsigned int totalValues
total number of all data values for all pdus for an environmental sample
Definition: DIS.h:1161
void * gridDataList
Grid data ^^^This is wrong.
Definition: DIS.h:1169
unsigned short pduNumber
sequence number for the total set of PDUS used to transmit the data
Definition: DIS.h:1145
unsigned short padding1
padding
Definition: DIS.h:1165
unsigned short pduTotal
Total number of PDUS used to transmit the data.
Definition: DIS.h:1147
struct EntityID environmentalSimulationApplicationID
environmental simulation application ID
Definition: DIS.h:1141
struct EntityType environmentType
type of environment
Definition: DIS.h:1155
unsigned char constantGrid
are domain grid axes identidal to those of the priveious domain update?
Definition: DIS.h:1153
unsigned char vectorDimension
total number of data values at each grid point.
Definition: DIS.h:1163
struct SystemID systemID
System ID information.
Definition: DIS.h:1069
struct EventID eventID
Number generated by the issuing simulation to associate realted events.
Definition: DIS.h:1065
unsigned short pad2
padding
Definition: DIS.h:1071
struct IffFundamentalData fundamentalParameters
fundamental parameters
Definition: DIS.h:1073
struct Vector3Float location
Location wrt entity.
Definition: DIS.h:1067
struct EntityID emittingEntityId
ID of the entity that is the source of the emissions.
Definition: DIS.h:1063
struct BeamData beamData
beam data
Definition: DIS.h:1535
void * fundamentalIffParameters
variable length list of fundamental parameters.
Definition: DIS.h:1539
struct BeamData secondaryOperationalData
Secondary operational data, 5.2.57.
Definition: DIS.h:1537
struct LayerHeader layerHeader
layer header
Definition: DIS.h:1533
unsigned short parameter3
parameter, enumeration
Definition: DIS.h:372
unsigned char alternateParameter4
Alternate parameter 4.
Definition: DIS.h:362
unsigned char modifier
enumeration
Definition: DIS.h:366
unsigned short parameter4
parameter, enumeration
Definition: DIS.h:374
unsigned short parameter5
parameter, enumeration
Definition: DIS.h:376
unsigned short parameter6
parameter, enumeration
Definition: DIS.h:378
unsigned char informationLayers
eight boolean fields
Definition: DIS.h:364
unsigned char systemStatus
system status
Definition: DIS.h:360
unsigned short parameter1
parameter, enumeration
Definition: DIS.h:368
unsigned short parameter2
parameter, enumeration
Definition: DIS.h:370
unsigned short recordType
Type of intercom parameters record.
Definition: DIS.h:454
unsigned int recordSpecificField
Jerks.
Definition: DIS.h:458
unsigned short recordLength
length of record
Definition: DIS.h:456
unsigned char controlType
control type
Definition: DIS.h:1900
void * intercomParameters
^^^This is wrong–the length of the data field is variable.
Definition: DIS.h:1922
unsigned char command
detailed type requested.
Definition: DIS.h:1914
unsigned char sourceLineID
Line number to which the intercom control refers.
Definition: DIS.h:1908
unsigned int intercomParametersLength
number of intercom parameters
Definition: DIS.h:1920
struct EntityID sourceEntityID
Source entity ID.
Definition: DIS.h:1904
unsigned char transmitLineState
current transmit state of the line
Definition: DIS.h:1912
struct EntityID masterEntityID
eid of the entity that has created this intercom channel.
Definition: DIS.h:1916
unsigned char sourceCommunicationsDeviceID
The specific intercom device being simulated within an entity.
Definition: DIS.h:1906
unsigned short masterCommunicationsDeviceID
specific intercom device that has created this intercom channel
Definition: DIS.h:1918
unsigned char communicationsChannelType
control type
Definition: DIS.h:1902
unsigned char transmitPriority
priority of this message relative to transmissons from other intercom devices
Definition: DIS.h:1910
unsigned short communicationsDeviceID
ID of communications device.
Definition: DIS.h:902
unsigned short dataLength
data length
Definition: DIS.h:910
struct EntityID entityID
entity ID
Definition: DIS.h:900
unsigned int sampleRate
sample rate
Definition: DIS.h:908
unsigned short encodingScheme
encoding scheme
Definition: DIS.h:904
void * data
data bytes
Definition: DIS.h:914
unsigned short tdlType
tactical data link type
Definition: DIS.h:906
unsigned short samples
samples
Definition: DIS.h:912
struct EntityID groupEntityID
ID of aggregated entities.
Definition: DIS.h:1427
unsigned char numberOfGroupedEntities
Number of individual entities constituting the group.
Definition: DIS.h:1431
void * groupedEntityDescriptions
GED records about each individual entity in the group.
Definition: DIS.h:1439
double latitude
latitude
Definition: DIS.h:1435
double longitude
longitude
Definition: DIS.h:1437
unsigned int pad2
padding
Definition: DIS.h:1433
unsigned char groupedEntityCategory
type of entities constituting the group
Definition: DIS.h:1429
struct EntityID orginatingEntityID
ID of entity originating PDU.
Definition: DIS.h:2094
struct Vector3Float partLocation
location of part; centroid of part in host's coordinate system.
Definition: DIS.h:2100
struct NamedLocation namedLocationID
named location
Definition: DIS.h:2102
struct EntityID receivingEntityID
ID of entity receiving PDU.
Definition: DIS.h:2096
struct Relationship relationship
relationship of joined parts
Definition: DIS.h:2098
struct EntityType partEntityType
entity type
Definition: DIS.h:2104
unsigned char layerSpecificInformaiton
Layer speccific information enumeration.
Definition: DIS.h:187
unsigned short length
information length
Definition: DIS.h:189
unsigned char layerNumber
Layer number.
Definition: DIS.h:185
unsigned char numberOfSegments
number of linear segment parameters
Definition: DIS.h:857
struct SimulationAddress requesterID
requesterID
Definition: DIS.h:859
void * linearSegmentParameters
Linear segment parameters.
Definition: DIS.h:865
unsigned short updateNumber
unique update number of each state transition of an object
Definition: DIS.h:853
struct SimulationAddress receivingID
receiver ID
Definition: DIS.h:861
struct EntityID objectID
Object in synthetic environment.
Definition: DIS.h:849
unsigned char forceID
force ID
Definition: DIS.h:855
struct ObjectType objectType
Object type.
Definition: DIS.h:863
struct EntityID referencedObjectID
Object with which this point object is associated.
Definition: DIS.h:851
unsigned short segmentLength
segmentLength
Definition: DIS.h:937
struct SixByteChunk segmentAppearance
segment appearance
Definition: DIS.h:931
unsigned short segmentWidth
segmentWidth
Definition: DIS.h:939
unsigned char segmentNumber
number of segments
Definition: DIS.h:929
struct Orientation orientation
orientation
Definition: DIS.h:935
unsigned short segmentHeight
segmentHeight
Definition: DIS.h:941
struct Vector3Double location
location
Definition: DIS.h:933
unsigned int pad1
segment Depth
Definition: DIS.h:945
unsigned short segmentDepth
segment Depth
Definition: DIS.h:943
Definition: DIS.h:634
char characters[11]
The characters.
Definition: DIS.h:638
unsigned char characterSet
The character set.
Definition: DIS.h:636
unsigned char requestID
request ID
Definition: DIS.h:1452
void * sensorTypes
Sensor types, each 16 bits long.
Definition: DIS.h:1468
struct EntityType mineType
Mine type.
Definition: DIS.h:1466
void * mineLocation
Mine locations.
Definition: DIS.h:1472
unsigned char pduSequenceNumber
pdu sequence number
Definition: DIS.h:1454
struct EntityID requestingEntityID
ID of entity making request.
Definition: DIS.h:1448
struct EntityID minefieldID
Minefield ID.
Definition: DIS.h:1446
unsigned short minefieldSequenceNumbeer
Minefield sequence number.
Definition: DIS.h:1450
unsigned char numberOfMinesInThisPdu
how many mines are in this PDU
Definition: DIS.h:1458
unsigned char numberOfSensorTypes
how many sensor type are in this PDU
Definition: DIS.h:1460
unsigned char pad2
padding
Definition: DIS.h:1462
unsigned char pad3
Padding to get things 32-bit aligned.
Definition: DIS.h:1470
unsigned int dataFilter
32 boolean fields
Definition: DIS.h:1464
unsigned char numberOfPdus
number of pdus in response
Definition: DIS.h:1456
unsigned char requestID
request ID
Definition: DIS.h:2115
unsigned char numberOfSensorTypes
Number of sensor types.
Definition: DIS.h:2121
unsigned char numberOfPerimeterPoints
Number of perimeter points for the minefield.
Definition: DIS.h:2117
void * sensorTypes
Sensor types, each 16 bits long.
Definition: DIS.h:2129
unsigned char pad2
Padding.
Definition: DIS.h:2119
unsigned int dataFilter
data filter, 32 boolean fields
Definition: DIS.h:2123
struct EntityType requestedMineType
Entity type of mine being requested.
Definition: DIS.h:2125
struct EntityID requestingEntityID
EID of entity making the request.
Definition: DIS.h:2113
void * requestedPerimeterPoints
perimeter points of request
Definition: DIS.h:2127
struct EntityID minefieldID
Minefield ID.
Definition: DIS.h:2111
struct EntityID requestingEntityID
entity ID making the request
Definition: DIS.h:2029
unsigned char numberOfMissingPdus
how many pdus were missing
Definition: DIS.h:2033
void * missingPduSequenceNumbers
PDU sequence numbers that were missing.
Definition: DIS.h:2035
struct EntityID minefieldID
Minefield ID.
Definition: DIS.h:2027
unsigned char requestID
request ID
Definition: DIS.h:2031
unsigned short numberOfMineTypes
how many mine types
Definition: DIS.h:1673
void * perimeterPoints
perimeter points for the minefield
Definition: DIS.h:1683
void * mineType
Type of mines.
Definition: DIS.h:1685
struct EntityID minefieldID
Minefield ID.
Definition: DIS.h:1663
unsigned char numberOfPerimeterPoints
Number of permieter points.
Definition: DIS.h:1669
struct Orientation minefieldOrientation
orientation of minefield
Definition: DIS.h:1677
unsigned char forceID
force ID
Definition: DIS.h:1667
unsigned short protocolMode
protocolMode
Definition: DIS.h:1681
struct EntityType minefieldType
type of minefield
Definition: DIS.h:1671
struct Vector3Double minefieldLocation
location of minefield in world coords
Definition: DIS.h:1675
unsigned short appearance
appearance bitflags
Definition: DIS.h:1679
unsigned short minefieldSequence
Minefield sequence.
Definition: DIS.h:1665
unsigned short system
system
Definition: DIS.h:346
unsigned short detail
detail
Definition: DIS.h:344
unsigned short spreadSpectrum
spread spectrum, 16 bit boolean array
Definition: DIS.h:340
unsigned short major
major
Definition: DIS.h:342
unsigned short stationName
station name enumeration
Definition: DIS.h:415
unsigned short stationNumber
station number
Definition: DIS.h:417
unsigned char category
category of entity
Definition: DIS.h:248
unsigned char domain
Domain of entity (air, surface, subsurface, space, etc)
Definition: DIS.h:244
unsigned short country
country to which the design of the entity is attributed
Definition: DIS.h:246
unsigned char entityKind
Kind of entity.
Definition: DIS.h:242
unsigned char subcategory
subcategory of entity
Definition: DIS.h:250
char otherParameters[1]
one byte of arbitrary data
Definition: DIS.h:218
void * pdus
record sets
Definition: DIS.h:672
int numberOfPdus
Number of PDUs in the container list.
Definition: DIS.h:670
Definition: DIS.h:597
unsigned char exerciseID
Exercise ID.
Definition: DIS.h:601
unsigned int timestamp
Timestamp value.
Definition: DIS.h:607
unsigned short length
Length, in bytes, of the PDU.
Definition: DIS.h:609
unsigned char pduType
Type of pdu, unique for each PDU class.
Definition: DIS.h:603
unsigned char protocolFamily
value that refers to the protocol family, eg SimulationManagement, et
Definition: DIS.h:605
unsigned char protocolVersion
The version of the protocol.
Definition: DIS.h:599
short padding
zero-filled array of padding
Definition: DIS.h:611
struct EntityID referencedObjectID
Object with which this point object is associated.
Definition: DIS.h:1364
struct ObjectType objectType
Object type.
Definition: DIS.h:1372
struct EntityID objectID
Object in synthetic environment.
Definition: DIS.h:1362
unsigned int pad2
padding
Definition: DIS.h:1384
double objectAppearance
Object apperance.
Definition: DIS.h:1378
unsigned char modifications
modifications
Definition: DIS.h:1370
struct SimulationAddress receivingID
receiver ID
Definition: DIS.h:1382
unsigned char forceID
force ID
Definition: DIS.h:1368
unsigned short updateNumber
unique update number of each state transition of an object
Definition: DIS.h:1366
struct Vector3Double objectLocation
Object location.
Definition: DIS.h:1374
struct Orientation objectOrientation
Object orientation.
Definition: DIS.h:1376
struct SimulationAddress requesterID
requesterID
Definition: DIS.h:1380
Definition: DIS.h:642
float x
x
Definition: DIS.h:644
float y
y
Definition: DIS.h:646
float powerSetting
powerSetting
Definition: DIS.h:652
float engineRpm
engine RPMs
Definition: DIS.h:654
unsigned short radioId
particular radio within an entity
Definition: DIS.h:881
struct EntityID entityId
ID of the entitythat is the source of the communication.
Definition: DIS.h:879
unsigned short country
country to which the design of the entity is attributed
Definition: DIS.h:174
unsigned char domain
Domain of entity (air, surface, subsurface, space, etc)
Definition: DIS.h:172
unsigned char entityKind
Kind of entity.
Definition: DIS.h:170
unsigned char category
category of entity
Definition: DIS.h:176
unsigned char nomenclatureVersion
specific info based on subcategory field
Definition: DIS.h:178
struct EntityID transmitterEntityId
ID of transmitter.
Definition: DIS.h:1863
unsigned short transmitterRadioId
ID of transmitting radio.
Definition: DIS.h:1865
unsigned short padding1
padding
Definition: DIS.h:1859
unsigned short receiverState
encoding scheme used, and enumeration
Definition: DIS.h:1857
float receivedPoser
received power
Definition: DIS.h:1861
unsigned int requestID
request ID
Definition: DIS.h:1780
unsigned char pad2
padding
Definition: DIS.h:1786
unsigned short pad1
padding.
Definition: DIS.h:1784
unsigned int numberOfRecords
numberOfRecords
Definition: DIS.h:1792
void * recordIDs
record IDs
Definition: DIS.h:1794
unsigned short eventType
event type
Definition: DIS.h:1788
unsigned int time
time
Definition: DIS.h:1790
unsigned char requiredReliabilityService
level of reliability service used for this transaction
Definition: DIS.h:1782
Definition: DIS.h:421
unsigned short recordValues
^^^This is wrong–variable sized data records
Definition: DIS.h:431
unsigned short recordCount
record count
Definition: DIS.h:429
unsigned char pad4
^^^This is wrong–variable sized padding
Definition: DIS.h:433
unsigned short recordLength
record length
Definition: DIS.h:427
unsigned int recordID
record ID
Definition: DIS.h:423
unsigned int recordSetSerialNumber
record set serial number
Definition: DIS.h:425
unsigned short nature
Nature of join.
Definition: DIS.h:322
unsigned short position
position of join
Definition: DIS.h:324
unsigned int requestID
Identifier for the request.
Definition: DIS.h:974
unsigned char pad2
padding
Definition: DIS.h:1950
unsigned short pad1
padding
Definition: DIS.h:1948
unsigned int requestID
Request ID.
Definition: DIS.h:1952
unsigned char requiredReliabilityService
level of reliability service used for this transaction
Definition: DIS.h:1946
struct EntityID repairingEntityID
Entity that is supplying.
Definition: DIS.h:726
struct EntityID receivingEntityID
Entity that is receiving service.
Definition: DIS.h:724
unsigned short repair
Enumeration for type of repair.
Definition: DIS.h:728
short padding2
padding, number prevents conflict with superclass ivar name
Definition: DIS.h:730
struct EntityID receivingEntityID
Entity that is receiving service.
Definition: DIS.h:786
char padding2
padding
Definition: DIS.h:794
struct EntityID repairingEntityID
Entity that is supplying.
Definition: DIS.h:788
short padding1
padding
Definition: DIS.h:792
unsigned char repairResult
Result of repair operation.
Definition: DIS.h:790
struct EntityID supplyingEntityID
Entity that is supplying.
Definition: DIS.h:1210
struct EntityID receivingEntityID
Entity that is receiving service.
Definition: DIS.h:1208
short padding1
padding
Definition: DIS.h:1309
unsigned char numberOfSupplyTypes
how many supplies are being offered
Definition: DIS.h:1307
struct EntityID supplyingEntityID
Entity that is supplying.
Definition: DIS.h:1305
struct EntityID receivingEntityID
Entity that is receiving service.
Definition: DIS.h:1303
char padding2
padding
Definition: DIS.h:1311
struct EntityID supplyingEntityID
Entity that is supplying.
Definition: DIS.h:983
unsigned char numberOfSupplyTypes
how many supplies are being offered
Definition: DIS.h:985
short padding1
padding
Definition: DIS.h:987
struct EntityID receivingEntityID
Entity that is receiving service.
Definition: DIS.h:981
char padding2
padding
Definition: DIS.h:989
Definition: DIS.h:1956
unsigned short infraredSignatureRepresentationIndex
IR Signature representation index.
Definition: DIS.h:1961
unsigned short radarCrossSectionSignatureRepresentationIndex
radar cross section representation index
Definition: DIS.h:1965
unsigned short numberOfPropulsionSystems
how many propulsion systems
Definition: DIS.h:1967
void * vectoringSystemData
variable length list of vectoring system data
Definition: DIS.h:1973
struct EntityID orginatingEntityID
Originating entity ID.
Definition: DIS.h:1959
unsigned short acousticSignatureRepresentationIndex
acoustic Signature representation index
Definition: DIS.h:1963
unsigned short numberOfVectoringNozzleSystems
how many vectoring nozzle systems
Definition: DIS.h:1969
void * propulsionSystemData
variable length list of propulsion system data
Definition: DIS.h:1971
unsigned char numberOfSupplyTypes
How many requested.
Definition: DIS.h:714
struct EntityID servicingEntityID
Entity that is providing the service.
Definition: DIS.h:710
unsigned char serviceTypeRequested
type of service requested
Definition: DIS.h:712
short serviceRequestPadding
padding
Definition: DIS.h:716
struct EntityID requestingEntityID
Entity that is requesting service.
Definition: DIS.h:708
void * fixedDatums
variable length list of fixed datums
Definition: DIS.h:1771
unsigned int requestID
ID of request.
Definition: DIS.h:1763
unsigned int numberOfFixedDatumRecords
Number of fixed datum records.
Definition: DIS.h:1767
unsigned int padding1
padding
Definition: DIS.h:1765
void * variableDatums
variable length list of variable length datums
Definition: DIS.h:1773
unsigned int numberOfVariableDatumRecords
Number of variable datum records.
Definition: DIS.h:1769
unsigned char requiredReliabilityService
level of reliability service used for this transaction
Definition: DIS.h:1324
unsigned short pad1
padding
Definition: DIS.h:1326
unsigned char pad2
padding
Definition: DIS.h:1328
unsigned int numberOfVariableDatumRecords
variable datum record count
Definition: DIS.h:1334
void * variableDatumRecords
Variable datum records.
Definition: DIS.h:1338
unsigned int requestID
Request ID.
Definition: DIS.h:1330
void * fixedDatumRecords
Fixed datum records.
Definition: DIS.h:1336
unsigned int numberOfFixedDatumRecords
Fixed datum record count.
Definition: DIS.h:1332
unsigned int requestID
request ID
Definition: DIS.h:1176
void * recordSets
record sets
Definition: DIS.h:1186
unsigned short pad1
padding.
Definition: DIS.h:1180
unsigned char pad2
padding
Definition: DIS.h:1182
unsigned int numberOfRecordSets
Number of record sets in list.
Definition: DIS.h:1184
unsigned char requiredReliabilityService
level of reliability service used for this transaction
Definition: DIS.h:1178
Definition: DIS.h:442
short orderedShaftRPMs
ordered shaft rpms
Definition: DIS.h:446
short currentShaftRPMs
Current shaft RPMs.
Definition: DIS.h:444
float shaftRPMRateOfChange
rate of change of shaft RPMs
Definition: DIS.h:448
void * data
list of eight bit values
Definition: DIS.h:1939
unsigned int sampleRate
sample rate
Definition: DIS.h:1933
unsigned short encodingScheme
encoding scheme used, and enumeration
Definition: DIS.h:1929
short dataLength
length od data
Definition: DIS.h:1935
unsigned short tdlType
tdl type
Definition: DIS.h:1931
short samples
number of samples
Definition: DIS.h:1937
unsigned short application
The application ID.
Definition: DIS.h:354
unsigned short site
The site ID.
Definition: DIS.h:352
struct EntityID receivingEntityID
Entity that is intended to receive message.
Definition: DIS.h:803
struct EntityID originatingEntityID
Entity that is sending message.
Definition: DIS.h:801
struct EntityID originatingEntityID
Object originatig the request.
Definition: DIS.h:1080
struct EntityID receivingEntityID
Object with which this point object is associated.
Definition: DIS.h:1082
char otherParameters[6]
six bytes of arbitrary data
Definition: DIS.h:583
struct ClockTime simulationTime
Simulation clock time at which the simulation shall start or resume.
Definition: DIS.h:1224
struct ClockTime realWorldTime
UTC time at which the simulation shall start or resume.
Definition: DIS.h:1222
unsigned int requestID
Identifier for the request.
Definition: DIS.h:1226
struct ClockTime simulationTime
time in simulation for the simulation to resume
Definition: DIS.h:1518
unsigned char requiredReliabilityService
level of reliability service used for this transaction
Definition: DIS.h:1520
unsigned short pad1
padding
Definition: DIS.h:1522
struct ClockTime realWorldTime
time in real world for this operation to happen
Definition: DIS.h:1516
unsigned char pad2
padding
Definition: DIS.h:1524
unsigned int requestID
Request ID.
Definition: DIS.h:1526
unsigned char reason
Reason the simulation was stopped or frozen.
Definition: DIS.h:1195
short padding1
padding
Definition: DIS.h:1199
struct ClockTime realWorldTime
UTC time at which the simulation shall stop or freeze.
Definition: DIS.h:1193
unsigned int requestID
Request ID that is unique.
Definition: DIS.h:1201
unsigned char frozenBehavior
Internal behavior of the simulation and its appearance while frozento the other participants.
Definition: DIS.h:1197
unsigned char reason
Reason for stopping/freezing simulation.
Definition: DIS.h:1995
unsigned char pad1
padding
Definition: DIS.h:2001
unsigned char requiredReliablityService
reliablity level
Definition: DIS.h:1999
struct ClockTime realWorldTime
time in real world for this operation to happen
Definition: DIS.h:1993
unsigned int requestID
Request ID.
Definition: DIS.h:2003
unsigned char frozenBehavior
internal behvior of the simulation while frozen
Definition: DIS.h:1997
struct EntityType supplyType
Type of supply.
Definition: DIS.h:1038
unsigned char quantity
quantity to be supplied
Definition: DIS.h:1040
Definition: DIS.h:156
unsigned char changeOptions
Change Options.
Definition: DIS.h:164
unsigned char systemMode
System mode.
Definition: DIS.h:162
unsigned short systemType
System Type.
Definition: DIS.h:158
unsigned short systemName
System name, an enumeration.
Definition: DIS.h:160
unsigned char emitterID
Emitter ID.
Definition: DIS.h:1277
struct EntityID trackJam
track/jam target
Definition: DIS.h:1275
unsigned char beamID
beam ID
Definition: DIS.h:1279
unsigned char tranferType
type of transfer desired
Definition: DIS.h:1487
unsigned int requestID
ID ofrequest.
Definition: DIS.h:1483
struct EntityID orginatingEntityID
ID of entity originating request.
Definition: DIS.h:1479
struct EntityID transferEntityID
The entity for which control is being requested to transfer.
Definition: DIS.h:1489
unsigned char numberOfRecordSets
number of record sets to transfer
Definition: DIS.h:1491
unsigned char requiredReliabilityService
required level of reliabliity service.
Definition: DIS.h:1485
void * recordSets
^^^This is wrong–the RecordSet class needs more work
Definition: DIS.h:1493
struct EntityID recevingEntityID
ID of entity receiving request.
Definition: DIS.h:1481
unsigned char modulationParameterCount
how many modulation parameters we have
Definition: DIS.h:1261
unsigned short antennaPatternType
antenna pattern type
Definition: DIS.h:1245
unsigned char padding3
padding3
Definition: DIS.h:1265
void * antennaPatternList
variable length list of antenna pattern records
Definition: DIS.h:1269
unsigned char transmitState
transmit state
Definition: DIS.h:1235
float power
transmission power
Definition: DIS.h:1253
void * modulationParametersList
variable length list of modulation parameters
Definition: DIS.h:1267
unsigned short padding2
padding2
Definition: DIS.h:1263
unsigned short cryptoSystem
crypto system enumeration
Definition: DIS.h:1257
float transmitFrequencyBandwidth
transmit frequency Bandwidth
Definition: DIS.h:1251
struct RadioEntityType radioEntityType
linear accelleration of entity
Definition: DIS.h:1233
struct Vector3Double antennaLocation
Location of antenna.
Definition: DIS.h:1241
struct Vector3Float relativeAntennaLocation
relative location of antenna
Definition: DIS.h:1243
unsigned short cryptoKeyId
crypto system key identifer
Definition: DIS.h:1259
unsigned char inputSource
input source
Definition: DIS.h:1237
unsigned short antennaPatternCount
atenna pattern length
Definition: DIS.h:1247
unsigned long long frequency
frequency
Definition: DIS.h:1249
unsigned short padding1
padding
Definition: DIS.h:1239
struct ModulationType modulationType
modulation
Definition: DIS.h:1255
char otherParameters[2]
two bytes of arbitrary data
Definition: DIS.h:308
Definition: DIS.h:1869
char stateChangeIndicator
This field shall be used to indicate whether the data in the UA PDU represent a state update or data ...
Definition: DIS.h:1876
unsigned short passiveParameterIndex
This field indicates which database record (or file) shall be used in the definition of passive signa...
Definition: DIS.h:1880
struct EntityID emittingEntityID
ID of the entity that is the source of the emission.
Definition: DIS.h:1872
char pad
padding
Definition: DIS.h:1878
void * apaData
apaData
Definition: DIS.h:1892
struct EventID eventID
ID of event.
Definition: DIS.h:1874
void * shaftRPMs
shaft RPM values
Definition: DIS.h:1890
unsigned char propulsionPlantConfiguration
This field shall specify the entity propulsion plant configuration.
Definition: DIS.h:1882
unsigned char numberOfShafts
This field shall represent the number of shafts on a platform.
Definition: DIS.h:1884
unsigned char numberOfUAEmitterSystems
This field shall specify the number of UA emitter systems being described in the current UA PDU.
Definition: DIS.h:1888
unsigned char numberOfAPAs
This field shall indicate the number of APAs described in the current UA PDU.
Definition: DIS.h:1886
unsigned int variableDatumID
ID of the variable datum.
Definition: DIS.h:617
void * variableDatums
variable length list of 64-bit datums
Definition: DIS.h:621
unsigned int variableDatumLength
length of the variable datums
Definition: DIS.h:619
double x
X value.
Definition: DIS.h:589
double y
Y value.
Definition: DIS.h:591
double z
Z value.
Definition: DIS.h:593
float z
Z value.
Definition: DIS.h:334
float y
y Value
Definition: DIS.h:332
float x
X value.
Definition: DIS.h:330
float horizontalDeflectionAngle
horizontal deflection angle
Definition: DIS.h:234
float verticalDeflectionAngle
vertical deflection angle
Definition: DIS.h:236
struct EntityID firingEntityID
ID of the entity that shot.
Definition: DIS.h:997
struct EntityID targetEntityID
ID of the entity that is being shot at.
Definition: DIS.h:999