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 */
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. */
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. */
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 */
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. */
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 */
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 */
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 */
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. */
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 */
805
806/* 5.2.3: location of the radiating portion of the antenna, specified in world coordinates and entity coordinates. */
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 */
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 */
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 */
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 */
1075
1076/* Section 5.3.12: Abstract superclass for reliable simulation management PDUs */
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 */
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 */
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 */
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 */
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 */
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 */
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 */
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 */
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 */
2037
2038/* 5.3.3.3. Information about elastic collisions in a DIS exercise shall be communicated using a Collision-Elastic PDU. COMPLETE */
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 */
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 */
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
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
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
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
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
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
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
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
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
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