WSF
Message11_1.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI//REL TO USA ONLY
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11#ifndef L16_MESSAGE11_1_HPP
12#define L16_MESSAGE11_1_HPP
13#include "MessageDefines.hpp"
14
15namespace WsfL16
16{
17namespace Messages
18{
19namespace J11_1
20{
21// J11.1 Weapon Directive Message: I, E0, C1-C9
22// C10 Created to support fast moving targets
23
56
73
74struct VelocityField8 : public NormalField<8, NoStatementMid>
75{
76public:
77 typedef double accessor_type;
80 {
82 return *this;
83 }
84 operator double() const { return FeetToMeters(DecodeTC(mValue)); }
85};
86
87struct VelocityField9 : public NormalField<9, NoStatementMid>
88{
89public:
90 typedef double accessor_type;
93 {
95 return *this;
96 }
97 operator double() const { return FeetToMeters(DecodeTC(mValue)); }
98};
99
100struct VelocityField12 : public NormalField<12, NoStatementMid>
101{
102public:
103 typedef double accessor_type;
106 {
108 return *this;
109 }
110 operator double() const { return FeetToMeters(DecodeTC(mValue)); }
111};
112
113struct VelocityField16 : public NormalField<16, NoStatementMid>
114{
115public:
116 typedef double accessor_type;
119 {
121 return *this;
122 }
123 operator double() const { return FeetToMeters(DecodeTC(mValue)); }
124};
125
127{
128public:
129 DEFINE_CONTINUATION(11, 1, 10)
130
131 typedef VelocityField16 FieldType1; // TARGET VELOCITY NORTH
132 typedef VelocityField16 FieldType2; // TARGET VELOCITY EAST
133 typedef VelocityField16 FieldType3; // TARGET VELOCITY DOWN
134 typedef SpareField<15> FieldType4; //
135
136 DEFINE_MEMBERS4(TargetVelocityNorth, TargetVelocityEast, TargetVelocityDown, Spare4);
137};
138
140{
141public:
142 DEFINE_CONTINUATION(11, 1, 9)
143
144 typedef LatitudeField<21> FieldType1; // LATITUDE, 0.00008 MINUTE
145 typedef LongitudeField<22> FieldType2; // LONGITUDE, 0.00008 MINUTE
146 typedef VelocityField12 FieldType3; // TARGET VELOCITY DOWN
147 typedef SpareField<8> FieldType4; //
148
149 DEFINE_MEMBERS4(Latitude, Longitude, TargetVelocityDown, Spare4);
150};
151
153{
154public:
155 DEFINE_CONTINUATION(11, 1, 5)
156
157 typedef TrackNumberField FieldType1; // TRACK NUMBER, TARGET
158 typedef IntegerFieldNS<12, NoStatementZero> FieldType2; // ENVIRONMENT (SPECIFIC TYPE)
159 typedef AngleField FieldType3; // IMPACT COURSE
160 typedef IntegerFieldNS<7, NoStatementMax> FieldType4; // IMPACT ELEVATION ANGLE
161 typedef TrackNumberAddresseeField FieldType5; // TRACK NUMBER, INDEX ORIGINATOR 2
162 typedef SpareField<1> FieldType6; //
163
164 DEFINE_MEMBERS6(TrackNumber, SpecificType, ImpactCourse, ImpactElevationAngle, TrackNumberOrig2, Spare6);
165};
166
168{
169public:
170 DEFINE_CONTINUATION(11, 1, 3)
171
172 typedef AltitudeField1<18> FieldType1; // HEIGHT ABOVE ELLIPSOID
173 typedef VelocityField9 FieldType2; // TARGET VELOCITY NORTH
174 typedef VelocityField9 FieldType3; // TARGET VELOCITY EAST
175 typedef IntegerField<21> FieldType4; // TIME OF TARGET MEASUREMENT
176 typedef BooleanField FieldType5; // REPORTED TGT VEL MEASURED BY OPERATOR OR SENSOR (TRUE=SENSOR)
177 typedef BooleanField FieldType6; // IFTU SUPPLEMENT INDICATOR
178 typedef SpareField<4> FieldType7; // SPARE
179
180 DEFINE_MEMBERS7(HeightAboveEllipsoid,
181 TargetVelocityNorth,
182 TargetVelocityEast,
183 TimeOfTgtMeasurement,
184 EstimatedMeasureIndicator,
185 IFTUSuppIndicator,
186 Spare4);
187};
188
190{
191public:
192 DEFINE_CONTINUATION(11, 1, 2)
193
194 typedef LatitudeField<27> FieldType1; // LATITUDE, 0.00008 MINUTE
195 typedef LongitudeField<28> FieldType2; // LONGITUDE, 0.00008 MINUTE
196 typedef VelocityField8 FieldType3; // TARGET VELOCITY DOWN
197
198 DEFINE_MEMBERS3(Latitude, Longitude, TargetVelocityDown);
199};
200
202{
203public:
204 DEFINE_CONTINUATION(11, 1, 1)
205
206 typedef ThirdPartySourceField FieldType1; // THIRD PARTY SOURCE TYPE
207 typedef IntegerFieldNS<15, NoStatementMax> FieldType2; // TRACK NUMBER, THIRD PARTY or NEW CONTROLLER
210
211 DEFINE_MEMBERS4(ThirdPartySource, TrackNumberHandOff, Spare3, Spare4);
212};
214
216{
217public:
218 DEFINE_EXTENSION(11, 1, 0)
219
223
224 DEFINE_MEMBERS3(Spare1, Spare2, Spare3);
225};
226
228
229class Initial : public InitialBase
230{
231public:
233
234 typedef TrackNumberAddresseeField FieldType1; // TRACK NUMBER, ADDRESSEE
236 typedef WeaponDiscreteField FieldType3; // WEAPON DIRECTIVE DISCRETE
237 typedef BooleanField FieldType4; // RESPONSE REQUEST
238 typedef IndexNumberField FieldType5; // INDEX NUMBER, TARGET
239 typedef BooleanField FieldType6; // FUSE MODE COMMAND
240 typedef EnvironmentField FieldType7; // ENVIRONMENT
242
243 DEFINE_MEMBERS8(TrackNumberAddressee, Spare2, WeaponDirective, ResponseRequest, IndexNumber, FuseModeCommand, Environment, Spare8);
244
245 DEFINE_CONTINUATIONS6(1, 2, 3, 5, 9, 10)
247
248protected:
249};
250
251} // namespace J11_1
252} // namespace Messages
253} // namespace WsfL16
254
255#endif
#define DEFINE_EXTENSIONS1()
Definition MessageDefines.hpp:242
#define DEFINE_CONTINUATIONS6(N1, N2, N3, N4, N5, N6)
Definition MessageDefines.hpp:179
#define DEFINE_CONTINUATION(_LABEL_, _SUB_LABEL_, _CONT_NUM_)
This should be used at the top of the public: section of each Continuation message.
Definition MessageDefines.hpp:72
#define DEFINE_EXTENSION(_LABEL_, _SUB_LABEL_, _EXT_NUM_)
This should be used at the top of the public: section of each Extension message.
Definition MessageDefines.hpp:56
Definition FieldTypes.hpp:795
Definition FieldTypes.hpp:828
for fields with 1 == true
Definition FieldTypes.hpp:986
The base class for J-Message ContinuationBase words.
Definition Messages.hpp:168
Definition FieldTypes.hpp:1279
Definition Messages.hpp:183
int DecodeTC(unsigned a2C) const
Definition FieldTypes.hpp:256
value_type mValue
Definition FieldTypes.hpp:293
unsigned EncodeTCMod(int aInt) const
Definition FieldTypes.hpp:281
SmallIntType< BIT_COUNT >::integer_type value_type
Use the smallest integer to hold the data.
Definition FieldTypes.hpp:229
InitialBase(const InitialBase &aSrc)
Definition Messages.cpp:123
Integral field with a 'NoStatement' value. Supports conversion to/from int.
Definition FieldTypes.hpp:389
Integral field without a 'NoStatement' value. Supports conversion to/from int.
Definition FieldTypes.hpp:373
Definition Message11_1.hpp:127
VelocityField16 FieldType3
Definition Message11_1.hpp:133
VelocityField16 FieldType1
Definition Message11_1.hpp:131
DEFINE_MEMBERS4(TargetVelocityNorth, TargetVelocityEast, TargetVelocityDown, Spare4)
VelocityField16 FieldType2
Definition Message11_1.hpp:132
SpareField< 15 > FieldType4
Definition Message11_1.hpp:134
Definition Message11_1.hpp:202
SpareField< 20 > FieldType4
Definition Message11_1.hpp:209
IntegerFieldNS< 15, NoStatementMax > FieldType2
Definition Message11_1.hpp:207
SpareField< 25 > FieldType3
Definition Message11_1.hpp:208
DEFINE_MEMBERS4(ThirdPartySource, TrackNumberHandOff, Spare3, Spare4)
ThirdPartySourceField FieldType1
Definition Message11_1.hpp:206
Definition Message11_1.hpp:190
LatitudeField< 27 > FieldType1
Definition Message11_1.hpp:194
DEFINE_MEMBERS3(Latitude, Longitude, TargetVelocityDown)
VelocityField8 FieldType3
Definition Message11_1.hpp:196
LongitudeField< 28 > FieldType2
Definition Message11_1.hpp:195
Definition Message11_1.hpp:168
DEFINE_MEMBERS7(HeightAboveEllipsoid, TargetVelocityNorth, TargetVelocityEast, TimeOfTgtMeasurement, EstimatedMeasureIndicator, IFTUSuppIndicator, Spare4)
VelocityField9 FieldType2
Definition Message11_1.hpp:173
SpareField< 4 > FieldType7
Definition Message11_1.hpp:178
VelocityField9 FieldType3
Definition Message11_1.hpp:174
BooleanField FieldType5
Definition Message11_1.hpp:176
AltitudeField1< 18 > FieldType1
Definition Message11_1.hpp:172
IntegerField< 21 > FieldType4
Definition Message11_1.hpp:175
BooleanField FieldType6
Definition Message11_1.hpp:177
Definition Message11_1.hpp:153
TrackNumberField FieldType1
Definition Message11_1.hpp:157
AngleField FieldType3
Definition Message11_1.hpp:159
SpareField< 1 > FieldType6
Definition Message11_1.hpp:162
DEFINE_MEMBERS6(TrackNumber, SpecificType, ImpactCourse, ImpactElevationAngle, TrackNumberOrig2, Spare6)
IntegerFieldNS< 7, NoStatementMax > FieldType4
Definition Message11_1.hpp:160
TrackNumberAddresseeField FieldType5
Definition Message11_1.hpp:161
IntegerFieldNS< 12, NoStatementZero > FieldType2
Definition Message11_1.hpp:158
Definition Message11_1.hpp:140
LatitudeField< 21 > FieldType1
Definition Message11_1.hpp:144
LongitudeField< 22 > FieldType2
Definition Message11_1.hpp:145
VelocityField12 FieldType3
Definition Message11_1.hpp:146
SpareField< 8 > FieldType4
Definition Message11_1.hpp:147
DEFINE_MEMBERS4(Latitude, Longitude, TargetVelocityDown, Spare4)
Definition Message11_1.hpp:216
SpareField< 25 > FieldType2
Definition Message11_1.hpp:221
SpareField< 25 > FieldType1
Definition Message11_1.hpp:220
SpareField< 18 > FieldType3
Definition Message11_1.hpp:222
DEFINE_MEMBERS3(Spare1, Spare2, Spare3)
Definition Message11_1.hpp:230
BooleanField FieldType6
Definition Message11_1.hpp:239
SpareField< 15 > FieldType8
Definition Message11_1.hpp:241
DEFINE_MEMBERS8(TrackNumberAddressee, Spare2, WeaponDirective, ResponseRequest, IndexNumber, FuseModeCommand, Environment, Spare8)
IndexNumberField FieldType5
Definition Message11_1.hpp:238
WeaponDiscreteField FieldType3
Definition Message11_1.hpp:236
BooleanField FieldType4
Definition Message11_1.hpp:237
EnvironmentField FieldType7
Definition Message11_1.hpp:240
TrackNumberAddresseeField FieldType1
Definition Message11_1.hpp:234
SpareField< 10 > FieldType2
Definition Message11_1.hpp:235
ThirdPartySourceType
Definition Message11_1.hpp:61
@ cUNDEFINED_1
Definition Message11_1.hpp:65
@ cUNDEFINED_2
Definition Message11_1.hpp:66
@ cNO_STATEMENT
Definition Message11_1.hpp:62
@ cALTERNATE_CONTROLLER
Definition Message11_1.hpp:64
@ cUNDEFINED_3
Definition Message11_1.hpp:67
@ cUNDEFINED_4
Definition Message11_1.hpp:68
@ cIN_FLIGHT_TARGET_UPDATE_3PS
Definition Message11_1.hpp:63
@ cUNDEFINED_5
Definition Message11_1.hpp:69
DEFINE_ACCESSORS(ThirdPartySourceField, ThirdPartySourceType)
DEFINE_ACCESSORS(WeaponDiscreteField, WeaponDiscreteType)
WeaponDiscreteType
Definition Message11_1.hpp:28
@ cABORT_FIXED_COORDINATES
Definition Message11_1.hpp:51
@ cNO_STATEMENT
Definition Message11_1.hpp:29
@ cTHIRD_PARTY_COMM_ON
Definition Message11_1.hpp:31
@ cQUERY_WIFT_SUPPLEMENT
Definition Message11_1.hpp:48
@ cHANDOFF_CONTROL_CHANGE_ORDER
Definition Message11_1.hpp:36
@ cABORT_IMMEDIATE
Definition Message11_1.hpp:52
@ cRETARGET_FIXED
Definition Message11_1.hpp:39
@ cEXCLUSION_ZONE_ABORT
Definition Message11_1.hpp:30
@ cTHIRD_PARTY_COMM_PING_ONLY
Definition Message11_1.hpp:33
@ cABORT_PREPLANNED
Definition Message11_1.hpp:50
@ cTHIRD_PARTY_COMM_OFF
Definition Message11_1.hpp:32
@ cHANDOFF_CHECK_IN_RESPONSE
Definition Message11_1.hpp:37
@ cQUERY_BASIC_WIFT
Definition Message11_1.hpp:47
@ cPING
Definition Message11_1.hpp:46
@ cLOITER_IMMEDIATE
Definition Message11_1.hpp:45
@ cIN_FLIGHT_TARGET_UPDATE
Definition Message11_1.hpp:41
@ cEMCON_STATE_CHANGE_TRANSMIT_ENABLE
Definition Message11_1.hpp:34
@ cRESUME
Definition Message11_1.hpp:42
@ cLOITER_FIXED_COORDINATES
Definition Message11_1.hpp:44
@ cEMCON_STATE_CHANGE_RADIO_SILENT
Definition Message11_1.hpp:35
@ cMISSION_SUPPLEMENT
Definition Message11_1.hpp:38
@ cQUERY_ALL_WIFT
Definition Message11_1.hpp:49
@ cLOITER_PREPLANNED
Definition Message11_1.hpp:43
@ cRETARGET_MOVING_RELOCATABLE
Definition Message11_1.hpp:40
Definition FieldTypes.hpp:1555
Definition FieldTypes.hpp:1665
Definition FieldTypes.hpp:2865
Definition Message11_1.hpp:20
IntegerFieldNS< 6, NoStatementMax > IndexNumberField
Definition Message11_1.hpp:227
IntegerFieldNS< 15, NoStatementMax > TrackNumberAddresseeField
Definition Message11_1.hpp:213
Definition ComputerPart.hpp:45
double FeetToMeters(double aFeet)
Feet to Meters.
Definition NumericConversion.hpp:24
double MetersToFeet(double aMeters)
Meters to Feet.
Definition NumericConversion.hpp:19
This file should be included prior to defining a message. Currently there is a limit of 32 fields per...
Definition AllMessages.hpp:55
Definition Message11_1.hpp:101
VelocityField12 & operator=(double aVal)
Definition Message11_1.hpp:105
AccessorUnitsMetersPerSecondTag accessor_units
Definition Message11_1.hpp:104
double accessor_type
Definition Message11_1.hpp:103
Definition Message11_1.hpp:114
VelocityField16 & operator=(double aVal)
Definition Message11_1.hpp:118
AccessorUnitsMetersPerSecondTag accessor_units
Definition Message11_1.hpp:117
double accessor_type
Definition Message11_1.hpp:116
Definition Message11_1.hpp:75
AccessorUnitsMetersPerSecondTag accessor_units
Definition Message11_1.hpp:78
VelocityField8 & operator=(double aVal)
Definition Message11_1.hpp:79
double accessor_type
Definition Message11_1.hpp:77
Definition Message11_1.hpp:88
AccessorUnitsMetersPerSecondTag accessor_units
Definition Message11_1.hpp:91
double accessor_type
Definition Message11_1.hpp:90
VelocityField9 & operator=(double aVal)
Definition Message11_1.hpp:92
Definition FieldTypes.hpp:311
Definition FieldTypes.hpp:317
A field defined as spare.
Definition FieldTypes.hpp:305
Copyrights Multiple, All Rights Reserved