WSF
FieldTypes.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_FIELDTYPES_HPP
12#define L16_FIELDTYPES_HPP
13
14#include "wsf_l16_export.h"
15
16#include <iostream>
17#include <limits>
18#include <map>
19#include <sstream>
20#include <string>
21#include <vector>
22
23#include "MessagePacking.hpp"
24#include "NumericConversion.hpp"
25#include "UtCast.hpp"
26#include "UtInput.hpp"
27
30
34
35namespace WsfL16
36{
37namespace Messages
38{
39using namespace WsfL16::NumericConversion; // for brevity
40
42{
43public:
44 MessageBitInput(const char* aBuffer)
45 : mBuffer(aBuffer)
46 , mBitOffset(0)
47 {
48 }
49
50 void Read(unsigned& aValue, int aBitCount)
51 {
52 Unpack(mBuffer, aValue, mBitOffset, mBitOffset + aBitCount - 1);
53 mBitOffset += aBitCount;
54 }
55 void Read(unsigned short& aValue, int aBitCount)
56 {
57 unsigned int readValue;
58 Unpack(mBuffer, readValue, mBitOffset, mBitOffset + aBitCount - 1);
59 aValue = readValue;
60 mBitOffset += aBitCount;
61 }
62 void Read(unsigned char& aValue, int aBitCount)
63 {
64 unsigned int readValue;
65 Unpack(mBuffer, readValue, mBitOffset, mBitOffset + aBitCount - 1);
66 aValue = readValue;
67 mBitOffset += aBitCount;
68 }
69 void Skip(int aBitCount) { mBitOffset += aBitCount; }
70 int GetBitOffset() { return mBitOffset; }
71
72private:
73 const char* mBuffer;
74 int mBitOffset;
75};
76
78{
79public:
80 MessageBitOutput(char* aBuffer)
81 : mBuffer(aBuffer)
82 , mBitOffset(0)
83 {
84 }
85
86 void Write(unsigned aValue, int aBitCount)
87 {
88 Pack(mBuffer, aValue, mBitOffset, mBitOffset + aBitCount - 1);
89 mBitOffset += aBitCount;
90 }
91 void Skip(int aBitCount) { mBitOffset += aBitCount; }
92 int GetBitOffset() { return mBitOffset; }
93 void Reset() { mBitOffset = 0; }
94
95private:
96 char* mBuffer;
97 int mBitOffset;
98};
99
100// struct AccessorUnitsNoneTag;
101struct NoAccessorTypeTag;
102
103struct NoEnumStringMapTag;
104struct EnumStringMapTag;
105
106struct NoAccessorUnitsTag;
108{
109 static const UtInput::ValueType cUNIT_TYPE = UtInput::cLENGTH;
110 static const char* GetName() { return "Meters"; }
111};
113{
114 static const UtInput::ValueType cUNIT_TYPE = UtInput::cSPEED;
115 static const char* GetName() { return "Meters Per Second"; }
116};
118{
119 static const UtInput::ValueType cUNIT_TYPE = UtInput::cFREQUENCY;
120 static const char* GetName() { return "Hz"; }
121};
123{
124 static const UtInput::ValueType cUNIT_TYPE = UtInput::cANGLE;
125 static const char* GetName() { return "Radians"; }
126};
128{
129 static const UtInput::ValueType cUNIT_TYPE = UtInput::cMASS;
130 static const char* GetName() { return "Kg"; }
131};
133{
134 static const UtInput::ValueType cUNIT_TYPE = UtInput::cLATITUDE;
135 static const char* GetName() { return "Deg"; }
136};
138{
139 static const UtInput::ValueType cUNIT_TYPE = UtInput::cLONGITUDE;
140 static const char* GetName() { return "Deg"; }
141};
142
143struct accessor_unit_type;
144struct FieldNoStatementInvalidTag;
145struct FieldNoStatementValidTag;
146
148#define DEFINE_ACCESSORS(_CLASS_, _TYPE_) \
149 typedef _TYPE_ accessor_type; \
150 _CLASS_& operator=(_TYPE_ aValue) \
151 { \
152 mValue = (value_type)aValue; \
153 return *this; \
154 } \
155 operator _TYPE_() const { return (_TYPE_)mValue; }
156
157#define DEFINE_ENUM_MAP() \
158 typedef EnumStringMapTag enum_map_type; \
159 static const char* GetEnumString(int aValue); \
160 static void CreateEnumMap(); \
161 static std::map<int, const char*> sEnumMap;
162
163#ifdef USE_LARGE_INTEGERS
165template<unsigned _BITS_>
166struct SmallIntType
167{
168 typedef unsigned integer_type;
169};
170#else
171template<unsigned _INDEX_>
173{
174};
175template<>
177{
178 typedef unsigned char integer_type;
179};
180template<>
182{
183 typedef unsigned short integer_type;
184};
185template<>
187{
188 typedef unsigned int integer_type;
189};
190
193template<unsigned _BITS_>
195{
196 typedef typename SmallIntTypeHelper<(_BITS_ > 8) + (_BITS_ > 16) + (_BITS_ > 32)>::integer_type integer_type;
197};
198#endif
199
200void WSF_L16_EXPORT FormatEnumerationString(std::string& aEnumString);
201
204template<unsigned BIT_COUNT>
206{
207private:
209 static const int HighBit = 1 << (BIT_COUNT - 1);
210 static const int LowMask = HighBit - 1;
211 static const int LowestValue = -(LowMask + 1);
212 static const int HighestValue = LowMask;
213
214public:
216 : mValue(0)
217 {
218 }
219 typedef NoAccessorTypeTag accessor_type;
220 typedef NoAccessorUnitsTag accessor_units;
221 typedef FieldNoStatementInvalidTag no_statement_type;
222 typedef NoEnumStringMapTag enum_map_type;
223
224 static const unsigned int cFIELD_SIZE = BIT_COUNT;
225 static const unsigned int cMID_VALUE = (1u << cFIELD_SIZE) / 2;
226 static const unsigned int cMAX_VALUE = (1u << cFIELD_SIZE) - 1;
227
230
232 {
233 aAr.Write(aField.mValue, cFIELD_SIZE);
234 return aAr;
235 }
236
238 {
239 aAr.Read(aField.mValue, cFIELD_SIZE);
240 return aAr;
241 }
242
243 value_type GetRawData() const { return mValue; }
244
245 template<class T>
246 value_type SafeCast(T aValue) const
247 {
248 return ut::safe_cast<value_type, T>(aValue);
249 }
250
251 void SetRawData(value_type aValue) { mValue = aValue; }
252
253protected:
256 int DecodeTC(unsigned a2C) const
257 {
258 int r = a2C;
259 if (a2C & HighBit)
260 {
261 unsigned int allBits = (unsigned int)-1;
262 r = (int)((allBits << BIT_COUNT) | a2C);
263 }
264 return r;
265 }
266
267 unsigned EncodeTC(int aInt) const
268 {
269 if (aInt < LowestValue)
270 {
271 aInt = LowestValue;
272 }
273 if (aInt > HighestValue)
274 {
275 aInt = HighestValue;
276 }
277 return static_cast<unsigned int>(aInt);
278 }
279
281 unsigned EncodeTCMod(int aInt) const
282 {
283 if (aInt < LowestValue)
284 {
285 aInt = LowestValue;
286 }
287 if (aInt > HighestValue - 1)
288 {
289 aInt = HighestValue - 1;
290 }
291 return static_cast<unsigned int>(aInt);
292 }
294};
295
297template<unsigned BIT_COUNT>
298struct DisusedField : public FieldBase<BIT_COUNT>
299{
300};
301
303template<unsigned BIT_COUNT>
304struct SpareField : public FieldBase<BIT_COUNT>
305{
306};
307
311{
312};
314{
315};
317{
318};
320{
321};
322
324template<unsigned NS_VALUE>
326{
327 static const int value = NS_VALUE;
328};
329
330namespace Detail
331{
333template<unsigned BIT_COUNT, typename NS_TAG>
335{
336 static const int value = NS_TAG::value;
337};
338template<unsigned BIT_COUNT>
339struct NS_Valuator<BIT_COUNT, NoStatementMax>
340{
341 static const int value = (1u << BIT_COUNT) - 1;
342};
343template<unsigned BIT_COUNT>
344struct NS_Valuator<BIT_COUNT, NoStatementMid>
345{
346 static const int value = (1u << BIT_COUNT) / 2;
347};
348template<unsigned BIT_COUNT>
349struct NS_Valuator<BIT_COUNT, NoStatementZero>
350{
351 static const int value = 0;
352};
353} // namespace Detail
354
357template<unsigned BIT_COUNT, typename NoStatementTag>
358class NormalField : public FieldBase<BIT_COUNT>
359{
360 typedef typename Detail::NS_Valuator<BIT_COUNT, NoStatementTag> NS_ValuatorType;
361
362public:
363 typedef FieldNoStatementValidTag no_statement_type;
364 static const unsigned int cNO_STATEMENT_VALUE = NS_ValuatorType::value;
368};
369
371template<unsigned BIT_COUNT>
372class IntegerField : public FieldBase<BIT_COUNT>
373{
374public:
377 typedef unsigned int accessor_type;
378 IntegerField& operator=(unsigned int aValue)
379 {
381 return *this;
382 }
383 operator unsigned int() const { return (unsigned int)FieldBase<BIT_COUNT>::mValue; }
384};
385
387template<unsigned BIT_COUNT, class NO_STATEMENT_TAG>
388class IntegerFieldNS : public NormalField<BIT_COUNT, NO_STATEMENT_TAG>
389{
390public:
392 typedef unsigned int accessor_type;
393 IntegerFieldNS& operator=(unsigned int aValue)
394 {
396 return *this;
397 }
398 operator unsigned int() const { return (unsigned int)FieldBase<BIT_COUNT>::mValue; }
399};
400
401class ActionField : public FieldBase<3>
402{
403public:
411 void SetValue(ActionTypes aType) { mValue = std::min<value_type>(aType, cUNDEFINED); }
413 {
414 if (mValue > 3)
415 {
416 return cUNDEFINED;
417 }
418 else
419 {
420 return (ActionTypes)mValue;
421 }
422 }
424};
425
427{
428public:
438 void SetValue(ActionPointerTypes aType) { mValue = std::min<value_type>(aType, cUNDEFINED); }
440 {
441 if (mValue >= 5)
442 {
443 return cUNDEFINED;
444 }
445 else
446 {
448 }
449 }
451};
452
471
472class AirPlatformActivityField : public NormalField<7, NoStatementZero>
473{
474public:
476 {
552 };
556};
557
616
617namespace Detail
618{
619template<unsigned BIT_COUNT>
621template<>
623{
625 static value_type Convert(double aAlt)
626 {
627 if (aAlt < -2000)
628 {
629 return (value_type)0;
630 }
631 else if (aAlt <= -0.5)
632 {
633 return (value_type)(-2000 / aAlt);
634 }
635 else if (aAlt <= 129070.5)
636 {
637 return (value_type)((int)(aAlt / 0.5) + 4001);
638 }
639 else
640 {
641 return (value_type)(262143);
642 }
643 }
644 static double Convert(value_type aVal)
645 {
646 if (aVal <= 0)
647 {
648 return -99999.9;
649 }
650 else if (aVal < 4001)
651 {
652 return -2000.0 / aVal;
653 }
654 else if (aVal < 262143)
655 {
656 return 0.5 * (aVal - 4001);
657 }
658 else
659 {
660 return 999999.9;
661 }
662 }
663};
664
665template<>
667{
669 static value_type Convert(double aAlt)
670 {
671 int intAlt = (int)(aAlt / 25.0);
672 if (intAlt == 63)
673 {
674 ++intAlt;
675 }
676 if (intAlt == 64)
677 {
678 --intAlt;
679 }
680 if (intAlt > (int)FieldBase<13>::cMAX_VALUE)
681 {
682 intAlt = (int)FieldBase<13>::cMAX_VALUE;
683 }
684 return (value_type)intAlt;
685 }
686 static double Convert(value_type aVal)
687 {
688 if (aVal == 63 || aVal == 64)
689 {
690 return -1.0;
691 }
692 return aVal * 25.0;
693 }
694};
695
696template<>
698{
700 static value_type Convert(double aAlt)
701 {
702 if (aAlt < -2000)
703 {
704 return (value_type)0;
705 }
706 else if (aAlt <= -25)
707 {
708 return (value_type)(-2000 / aAlt);
709 }
710 else if (aAlt <= 100325)
711 {
712 return (value_type)((int)(aAlt / 25) + 81);
713 }
714 else
715 {
716 return (value_type)(4095);
717 }
718 }
719 static double Convert(value_type aVal)
720 {
721 if (aVal <= 0)
722 {
723 return -99999.9;
724 }
725 else if (aVal < 81)
726 {
727 return -2000.0 / aVal;
728 }
729 else if (aVal < 4095)
730 {
731 return 25 * (aVal - 81);
732 }
733 else
734 {
735 return 999999.9;
736 }
737 }
738};
739
740template<>
742{
744 static value_type Convert(double aAlt) { return (value_type)(aAlt / 100.0); }
745 static double Convert(value_type aVal) { return aVal * 100.0; }
746};
747} // namespace Detail
748
749template<unsigned FIELD_SIZE>
750class AltitudeField : public NormalField<FIELD_SIZE, NoStatementMax>
751{
752 typedef typename NormalField<FIELD_SIZE, NoStatementMax>::value_type value_type;
753
754public:
755 typedef double accessor_type;
758 {
759 SetAltitudeMeters(aVal);
760 return *this;
761 }
762 operator double() const { return GetAltitudeMeters(); }
764 {
765 if (FIELD_SIZE == 13)
766 {
767 this->mValue = 63;
768 }
769 }
770 bool IsSkyObscured() const
771 {
772 if (FIELD_SIZE == 13)
773 {
774 return this->mValue == 63;
775 }
776 return false;
777 }
778 void SetUnknown() { this->mValue = this->cMAX_VALUE; }
779 bool IsUnknown() const { return this->mValue == this->cMAX_VALUE; }
781 void SetAltitudeMeters(double aAlt) { SetAltitudeFeet(MetersToFeet(aAlt)); }
782 double GetAltitudeFeet() const
783 {
784 if (IsUnknown())
785 {
786 return -1.0;
787 }
789 }
790 double GetAltitudeMeters() const { return FeetToMeters(GetAltitudeFeet()); }
791};
792
793template<unsigned FIELD_SIZE>
794class AltitudeField1 : public NormalField<FIELD_SIZE, NoStatementZero>
795{
797
798public:
799 typedef double accessor_type;
802 {
803 SetAltitudeMeters(aVal);
804 return *this;
805 }
806 operator double() const { return GetAltitudeMeters(); }
808 void SetAltitudeMeters(double aAlt) { SetAltitudeFeet(MetersToFeet(aAlt)); }
810 double GetAltitudeMeters() const { return FeetToMeters(GetAltitudeFeet()); }
811};
812
826
827class WSF_L16_EXPORT AngleField : public NormalField<9, NoStatementMax>
828{
829public:
830 bool IsIllegalValue() const { return (mValue < 511 && mValue >= 360); }
831 void SetDegrees(double aAngle);
832 void SetRadians(double aAngle) { SetDegrees(RadiansToDeg(aAngle)); }
833 double GetDegrees() const { return (double)mValue; }
834 double GetRadians() const { return DegToRadians(GetDegrees()); }
835 typedef double accessor_type;
837 AngleField& operator=(double aVal)
838 {
839 SetRadians(aVal);
840 return *this;
841 }
842 operator double() const { return GetRadians(); }
843};
844
845class WSF_L16_EXPORT AngleField16 : public NormalField<16, NoStatementMax>
846{
847public:
848 bool IsIllegalValue() const { return mValue >= 35999 && mValue < cMAX_VALUE; }
849 void SetDegrees(double aAngle);
850 void SetRadians(double aAngle) { SetDegrees(RadiansToDeg(aAngle)); }
851 double GetDegrees() const { return mValue / 100.0; }
852 double GetRadians() const { return DegToRadians(GetDegrees()); }
853 typedef double accessor_type;
856 {
857 SetRadians(aVal);
858 return *this;
859 }
860 operator double() const { return GetRadians(); }
861};
862
864{
865public:
866 void SetQualityRadians(double aRadian);
867 double GetQualityRadians() const;
868};
869
870class AreaAxisLengthField : public NormalField<6, NoStatementMax>
871{
872public:
873 typedef double accessor_type;
876 {
878 return *this;
879 }
880 operator double() const { return DataMilesToMeters(mValue); }
881};
882
883class EllipseOrientationOrTiltField : public NormalField<11, NoStatementValue<1024>>
884{
885 // const XATypes::Float64Min UNCERTAINTY_ORIENTATION_LSB = 0.08789;
886 // const XATypes::UInt32Min UNCERTAINTY_ORIENTATION_NEGATIVE_OFFSET = 2048;
887
888public:
889 typedef double accessor_type;
890
893
896 {
897 double aAngleDeg = RadiansToDeg(aAngleRadians);
898 if (aAngleDeg < 0)
899 {
900 mValue = (value_type)((aAngleDeg / 0.08789) + 0.5 + 2048);
901 }
902 else
903 {
904 mValue = (value_type)((aAngleDeg / 0.08789) + 0.5);
905 }
906 return *this;
907 }
908
910 operator double() const
911 {
912 if (mValue > 1024)
913 {
914 return DegToRadians((mValue - 2048) * 0.08789);
915 }
916 else if (mValue < 1024)
917 {
918 return DegToRadians(mValue * 0.08789);
919 }
920 else
921 {
922 return 0;
923 }
924 }
925};
926
927class AxisOrientationField : public NormalField<8, NoStatementMax>
928{
929public:
930 typedef double accessor_type;
933 {
934 double angle = RadiansToDeg(aAngle);
935 if (angle < 0)
936 {
937 angle += 720;
938 }
939 mValue = (value_type)angle % 180;
940 return *this;
941 }
942 operator double() const { return DegToRadians(mValue); }
943};
944
945class BearingField : public FieldBase<12>
946{
947public:
948 typedef double accessor_type;
951 {
952 mValue = (value_type)(NormalizeAngle0_360(RadiansToDeg(aVal)) * 4096.0 / 360.0);
953 return *this;
954 }
955 operator double() const { return DegToRadians(mValue * 360.0 / 4096.0); }
956};
957
958class AngleRateField : public NormalField<9, NoStatementMax>
959{
960public:
961 typedef double accessor_type;
964 {
965 mValue = (value_type)((RadiansToDeg(aVal) - (-90.0)) / 0.35225039);
966 return *this;
967 }
968 operator double() const { return DegToRadians((mValue * 0.35225039) + -90.0); }
969};
970
971class BearingInterceptField : public NormalField<16, NoStatementMax>
972{
973public:
974 typedef double accessor_type;
977 {
978 mValue = (value_type)(NormalizeAngle0_360(RadiansToDeg(aAngle)) * (65535.0 / 360.0));
979 return *this;
980 }
981 operator double() const { return DegToRadians(mValue * (360.0 / 65535.0)); }
982};
983
985class BooleanField : public FieldBase<1>
986{
987public:
989 bool IsNoStatement() const { return false; }
990 typedef bool accessor_type;
991 operator bool() const { return mValue != 0; }
993 {
994 mValue = aValue ? 1U : 0U;
995 return *this;
996 }
997};
998
999// four character callsign, 6 bits per character
1000// 0 = ' '
1001// 1-9 = '1'-'9'
1002// 10-36 = 'A'-'Z'
1003// 63 = '0'
1004//(others are invalid)
1005class WSF_L16_EXPORT CallsignFieldBase
1006{
1007protected:
1008 char GetCallsignChar(int aSixBit) const;
1009 int GetCharEnumeration(char aCharacter) const;
1010};
1011
1012template<unsigned CHAR_COUNT>
1013class CallsignField : public FieldBase<CHAR_COUNT * 6>, public CallsignFieldBase
1014{
1015public:
1016 static const int cCHARACTER_COUNT = CHAR_COUNT;
1017
1018 bool IsInvalidValue() const
1019 {
1020 int callsign = this->mValue;
1021 int bitShift = 18;
1022 for (int i = 0; i < cCHARACTER_COUNT; bitShift -= 6, ++i)
1023 {
1024 if ('_' == GetCallsignChar((callsign >> bitShift) & 0x3f))
1025 {
1026 return false;
1027 }
1028 }
1029 return true;
1030 }
1031
1032 typedef std::string accessor_type;
1033
1034 operator std::string() const
1035 {
1036 std::string lReturn;
1037 int callsign = this->mValue;
1038 int bitShift = 18;
1039 for (int i = 0; i < 4; bitShift -= 6, ++i)
1040 {
1041 lReturn += GetCallsignChar((callsign >> bitShift) & 0x3f);
1042 }
1043 return lReturn;
1044 }
1045
1046 void operator=(const std::string aCallsign)
1047 {
1048 int callsign = 0;
1049 int bitShift = 18;
1050 for (int i = 0; i < cCHARACTER_COUNT; bitShift -= 6, ++i)
1051 {
1052 if (aCallsign.length() <= unsigned(i))
1053 {
1054 continue;
1055 }
1056 int num = GetCharEnumeration(aCallsign[i]);
1057 callsign += num << bitShift;
1058 }
1059 this->mValue = callsign;
1060 }
1061};
1062
1100
1118
1138
1140
1141class DeltaLatLonField : public FieldBase<14>
1142{
1143public:
1144 typedef double accessor_type;
1145 DeltaLatLonField& operator=(double aDegrees)
1146 {
1147 EncodeTC((int)(aDegrees * 60.0 * .0313));
1148 return *this;
1149 }
1150 operator double() const { return DecodeTC(mValue) / 60.0 / .0313; }
1151};
1152
1153class DeltaElevationField : public NormalField<15, NoStatementMid>
1154{
1155public:
1157 typedef double accessor_type;
1159 {
1160 SetFeet(MetersToFeet(aMeters));
1161 return *this;
1162 }
1163 operator double() const { return FeetToMeters(GetFeet()); }
1164 void SetFeet(double aFeet)
1165 {
1166 int ft = (int)aFeet;
1167 mValue = (ft >= 0) ? ft : (32768 + ft);
1168 }
1169 double GetFeet() const { return (double)((mValue < cMID_VALUE) ? mValue : -32768 + mValue); }
1170};
1171
1193
1194class DepthField : public NormalField<7, NoStatementMax>
1195{
1196public:
1197 typedef double accessor_type;
1199 DepthField& operator=(double aDepth)
1200 {
1201 mValue = std::min<value_type>((value_type)(cMAX_VALUE - 1), (value_type)(aDepth / 15));
1202 return *this;
1203 }
1204 operator double() const { return mValue * 15.0; }
1205};
1206
1207template<int BIT_COUNT>
1208class ElevationField : public NormalField<BIT_COUNT, NoStatementMax>
1209{
1210public:
1211 typedef double accessor_type;
1213 ElevationField& operator=(double aMeters)
1214 {
1215 SetMeters(aMeters);
1216 return *this;
1217 }
1218 operator double() const { return GetMeters(); }
1219 void SetMeters(double aMeters) { SetFeet(MetersToFeet(aMeters)); }
1220 double GetMeters() const { return FeetToMeters(GetFeet()); }
1221 void SetFeet(double aFt) { this->mValue = (int)(aFt / 25); }
1222 double GetFeet() const { return this->mValue * 25; }
1223};
1224
1225int ElevationAngleField_ConvertToValue(double aValue, unsigned aMax, unsigned aMid);
1226double ElevationAngleField_ExtractDegrees(unsigned aValue, unsigned aMid);
1227
1228class ElevationAngle10Field : public NormalField<10, NoStatementMid>
1229{
1230public:
1231 typedef double accessor_type;
1233 operator double() const { return DecodeTC(mValue) * 3.1415926 / 1024.0; }
1235 {
1236 mValue = EncodeTC((int)(aVal / 3.1415926 * 1024.0));
1237 return *this;
1238 }
1239};
1240
1241// template <unsigned BIT_COUNT>
1242class ElevationAngleField : public NormalField<15, NoStatementMid>
1243{
1244public:
1245 typedef double accessor_type;
1248 {
1249 SetRadians(aRadians);
1250 return *this;
1251 }
1252 operator double() const { return GetRadians(); }
1253
1254 double GetRadians() const { return DegToRadians(GetDegrees()); }
1255 void SetRadians(double aAngle) { SetDegrees(RadiansToDeg(aAngle)); }
1256 // double GetDegrees() const { return ElevationAngleField_ExtractDegrees(mValue, cMID_VALUE); }
1257 double GetDegrees() const { return DecodeTC((unsigned)mValue) * (0.0054931640625); }
1258 // void SetDegrees(double aAngle) { mValue = ElevationAngleField_ConvertToValue(aAngle, cMAX_VALUE, cMID_VALUE); }
1259 void SetDegrees(double aDeg) { mValue = (value_type)EncodeTC((int)(aDeg / (0.0054931640625))); }
1260};
1261
1277
1294
1296{
1297public:
1308
1310 {
1311 if (aType > cUNDEFINED)
1312 {
1314 }
1315 else
1316 {
1317 mValue = (value_type)aType;
1318 }
1319 }
1321 {
1322 if (mValue > 5)
1323 {
1324 return cUNDEFINED;
1325 }
1326 else
1327 {
1328 return (WeaponTypes)mValue;
1329 }
1330 }
1331
1333};
1334
1348
1349class WSF_L16_EXPORT FireMethodField : public NormalField<3, NoStatementZero>
1350{
1351public:
1360 DEFINE_ACCESSORS(FireMethodField, FireMethods)
1361
1362 bool IsUndefined() const { return mValue > cSHOOT_LOOK_SHOOT; }
1364};
1365
1367{
1368public:
1369 bool IsFreq() const { return mValue == 0; }
1370 bool IsRange() const { return mValue == 1; }
1371 void SetFreqFlag() { mValue = 0; }
1372 void SetRangeFlag() { mValue = 1; }
1373};
1374
1391
1392class FrequencyField : public NormalField<20, NoStatementZero>
1393{
1394public:
1395 bool IsNoStatement() const { return mValue == 0; }
1396 typedef double accessor_type;
1399 {
1400 double val = aFreq;
1401 while (val >= 1048575.0)
1402 {
1403 val = val / 10;
1404 }
1405 int oval = (int)val;
1406 mValue = oval;
1407 return *this;
1408 }
1409 operator double() const { return (double)mValue; }
1410};
1411
1412class Frequency13Field : public NormalField<13, NoStatementZero>
1413{
1414public:
1415 bool IsIllegal() const { return (mValue >= 7001 && mValue <= 7039) || (mValue >= 7296 && mValue <= 8198); }
1416
1417 void SetUHF_Frequency(double aFreq) { mValue = (value_type)((aFreq - 225.0) / .025 + 1.0); }
1418
1419 bool IsUHF_Frequency() const { return mValue > 0 && mValue <= 7000; }
1420 double GetUHF_Frequency() const { return 225.0 + .025 * (mValue - 1); }
1421
1422 void SetChannelA(int aChannelNo) { mValue = (value_type)(7040 + aChannelNo); }
1423 void SetChannelB(int aChannelNo) { mValue = (value_type)(7168 + aChannelNo); }
1424
1425 bool IsChannelGroupA() const { return (mValue >= 7040) && (mValue <= 7040 + 127); }
1426 int GetChannelA() const { return mValue - 7040; }
1427
1428 bool IsChannelGroupB() const { return (mValue >= 7168) && (mValue <= 7168 + 127); }
1429 int GetChannelB() const { return mValue - 7168; }
1430};
1431
1432class FuelField : public NormalField<12, NoStatementMax>
1433{
1434public:
1435 typedef double accessor_type;
1437 {
1438 SetFuelKilograms(aKg);
1439 return *this;
1440 }
1441 operator double() const { return GetFuelKilograms(); }
1443 void SetFuelPounds(double aFuelPounds)
1444 {
1445 mValue = (value_type)(aFuelPounds / 100);
1446 if (mValue >= cMAX_VALUE)
1447 {
1448 mValue = (value_type)(cMAX_VALUE - 1);
1449 }
1450 }
1451 double GetFuelPounds() const { return mValue * 100.0; }
1452 void SetFuelKilograms(double aFuelKG) { SetFuelPounds(KilogramsToPounds(aFuelKG)); }
1454};
1455
1456class HourField : public NormalField<5, NoStatementMax>
1457{
1458public:
1459 typedef int accessor_type;
1461 {
1462 SetHour(aHour);
1463 return *this;
1464 }
1465 operator int() const { return GetHour(); }
1466 int GetHour() const { return mValue; }
1467 void SetHour(int aHour) { mValue = SafeCast(aHour); }
1468 void SetHourToNow();
1469 bool IsIllegalValue() const { return (mValue < 31 && mValue > 23); }
1470};
1471
1472class HundredthsField : public NormalField<7, NoStatementMax>
1473{
1474public:
1475 typedef int accessor_type;
1477 {
1478 mValue = aVal;
1479 return *this;
1480 }
1481 operator int() const
1482 {
1483 if (mValue <= 99)
1484 {
1485 return mValue;
1486 }
1487 return 0;
1488 }
1489};
1490
1508
1525
1528{
1529public:
1531 operator bool() const { return mValue == 0; }
1533 {
1534 mValue = aTf;
1535 return *this;
1536 }
1537};
1538
1539class JitterField : public NormalField<2, NoStatementZero>
1540{
1541public:
1549 DEFINE_ACCESSORS(JitterField, JitterTypes)
1551};
1552
1553template<unsigned BIT_COUNT>
1554class LatitudeField : public NormalField<BIT_COUNT, NoStatementMid>
1555{
1556public:
1557 typedef double accessor_type;
1559 LatitudeField& operator=(double aLatitude)
1560 {
1561 int maxInt = this->cMAX_VALUE;
1562 int numBitsMinusOne = this->cFIELD_SIZE - 1;
1563 int mymidInt = (1 << numBitsMinusOne);
1564 int mymidIntMinusOne = mymidInt - 1;
1565 if (aLatitude > 0.0f)
1566 {
1567 this->mValue = (int)(aLatitude / 90.0 * mymidIntMinusOne);
1568 }
1569 else if (aLatitude < 0.0f)
1570 {
1571 this->mValue = maxInt + (int)(aLatitude / 90.0 * mymidIntMinusOne);
1572 }
1573 else
1574 {
1575 this->mValue = 0;
1576 }
1577 return *this;
1578 }
1579
1580 operator double() const
1581 {
1582 double rlat;
1583 int midIntMinusOne = this->cMID_VALUE - 1;
1584 if (this->mValue < this->cMID_VALUE)
1585 {
1586 rlat = 90.0 * ((double)this->mValue) / midIntMinusOne;
1587 return rlat;
1588 }
1589 else if (this->mValue > this->cMID_VALUE)
1590 {
1591 rlat = -90.0 * ((double)(this->cMAX_VALUE - this->mValue)) / midIntMinusOne;
1592 return rlat;
1593 }
1594 return 90.0;
1595 }
1596};
1597
1598class LengthField : public NormalField<15, NoStatementMax>
1599{
1600public:
1601 typedef double accessor_type;
1603 LengthField& operator=(double aMeters)
1604 {
1605 SetMeters(aMeters);
1606 return *this;
1607 }
1608 operator double() const { return GetMeters(); }
1609 void SetMeters(double aMeters) { SetFeet(MetersToFeet(aMeters)); }
1610 double GetMeters() const { return FeetToMeters(GetFeet()); }
1611 void SetFeet(double aFeet) { mValue = (aFeet > this->cMAX_VALUE - 1) ? this->cMAX_VALUE - 1 : (int)aFeet; }
1612 double GetFeet() const { return (double)this->mValue; }
1613};
1614
1615class LetterField : public NormalField<5, NoStatementZero>
1616{
1617public:
1618 void SetLetter(char aChar);
1619 void SetLetter(int aInt);
1620 char GetLetter() const { return mValue + 'A' - 1; }
1621 bool IsUndefined() const { return mValue > 26; }
1622};
1623
1624class LetterNumberField : public NormalField<6, NoStatementZero>
1625{
1626public:
1627 bool IsUndefined() { return (mValue > 35); }
1628 LetterNumberField& operator=(char aChar);
1629 operator char() const;
1630};
1631
1648
1649class LockOnField : public NormalField<2, NoStatementZero>
1650{
1651public:
1659 DEFINE_ACCESSORS(LockOnField, LockOnTypes)
1661};
1662
1663template<unsigned BIT_COUNT>
1664class LongitudeField : public NormalField<BIT_COUNT, NoStatementMid>
1665{
1666public:
1667 typedef double accessor_type;
1669 LongitudeField& operator=(double aLongitude)
1670 {
1671 int maxInt = this->cMAX_VALUE;
1672 int numBitsMinusOne = this->cFIELD_SIZE - 1;
1673 int mymidInt = (1 << numBitsMinusOne);
1674 int mymidIntMinusOne = mymidInt - 1;
1675 if (aLongitude >= 0.0f)
1676 {
1677 this->mValue = (int)(aLongitude / 180.0 * mymidIntMinusOne);
1678 }
1679 else if (aLongitude < 0.0f)
1680 {
1681 this->mValue = maxInt + (int)(aLongitude / 180.0 * mymidIntMinusOne);
1682 }
1683 return *this;
1684 }
1685
1686 operator double() const
1687 {
1688 int range = this->cMID_VALUE - 1;
1689 if (this->mValue < this->cMID_VALUE)
1690 {
1691 return (double)this->mValue / range * 180.0;
1692 }
1693 else if (this->mValue > this->cMID_VALUE)
1694 {
1695 return -(double)(this->cMAX_VALUE - this->mValue) / range * 180.0;
1696 }
1697 return 0.0;
1698 }
1699};
1700
1701class MinuteField : public NormalField<6, NoStatementMax>
1702{
1703public:
1704 typedef int accessor_type;
1705 operator int() { return mValue; }
1707 {
1708 mValue = SafeCast(aMinute);
1709 return *this;
1710 }
1711 void SetMinuteToNow();
1712 bool IsIllegalValue() const;
1713};
1714
1758
1818
1819class Mode1CodeField : public NormalField<5, NoStatementZero>
1820{
1821public:
1822 typedef int accessor_type;
1823 Mode1CodeField& operator=(int aValue);
1824 operator int() const;
1825};
1826
1828
1830
1844
1858
1859class MultiplierField : public NormalField<4, NoStatementMax>
1860{
1861public:
1862 void SetMultiplier(double aFreq);
1863 int GetMultiplier() { return mValue; }
1864};
1865
1866class NetNumberField : public NormalField<7, NoStatementMax>
1867{
1868public:
1870};
1871
1890
1891
1905
1933
1947
1948class PointNumberField : public NormalField<2, NoStatementZero>
1949{
1950public:
1958 DEFINE_ACCESSORS(PointNumberField, PointNumberTypes)
1959};
1960
1962{
1963public:
1964 bool IsPoint() const { return mValue == 0; }
1965 bool IsTrack() const { return mValue == 1; }
1966 void SetPoint() { mValue = 0; }
1967 void SetTrack() { mValue = 1; }
1968};
1969
1994
1996{
1997public:
1998 bool IsPRF() const { return mValue == 0; }
1999 bool IsPRI() const { return mValue == 1; }
2000 void SetPRFflag() { mValue = 0; }
2001 void SetPRIflag() { mValue = 1; }
2002};
2003
2017
2018class PRF_Field : public NormalField<23, NoStatementZero>
2019{
2020public:
2022 typedef double accessor_type;
2024 PRF_Field& operator=(double aPrf)
2025 {
2026 SetPRF(aPrf);
2027 return *this;
2028 }
2029 operator double() const { return GetPRF(); }
2030
2031 void SetPRF(double aFreq) { mValue = (value_type)(aFreq * 10.0); }
2032 double GetPRF() const { return mValue / 10.0; }
2035 bool IsHigh() const { return mValue == (value_type)cMAX_VALUE; }
2036};
2037
2038class PulseWidthField : public NormalField<14, NoStatementZero>
2039{
2040public:
2041 typedef double accessor_type;
2042 PulseWidthField& operator=(double aPulseWidth)
2043 {
2044 mValue = (value_type)(aPulseWidth * 2.0);
2045 return *this;
2046 }
2047 operator double() const { return mValue / 2.0; }
2048};
2049
2051
2065
2109
2158
2173
2215class QualityField : public FieldBase<4>
2216{
2217public:
2218 QualityField& operator=(double aValue);
2219 operator double() const;
2220};
2221
2223{
2224public:
2225 bool IsSingleRF() { return mValue == 0; }
2226 void SetSingleRF() { mValue = 0; }
2227 bool IsAutomaticAgilityFrequency() { return mValue == 1; }
2229};
2230
2247
2264
2265class ReceiptComplianceField : public NormalField<5, NoStatementMax>
2266{
2267public:
2280
2281 DEFINE_ACCESSORS(ReceiptComplianceField, ReceiptComplianceTypes)
2282 bool IsCANTPRO() const { return mValue >= cCANTPRO && mValue <= 22; }
2284 bool IsResponse() const { return mValue <= 22 && !IsOriginalOrder(); }
2285};
2286
2288
2306
2308class ScanRateField : public FieldBase<10>
2309{
2310public:
2311 typedef double accessor_type;
2313 {
2314 mValue = (aRate > 1023.0) ? 1023 : (value_type)aRate;
2315 return *this;
2316 }
2317 operator double() const { return (double)mValue; }
2318};
2319
2321class ScanRatePeriodField : public NormalField<2, NoStatementZero>
2322{
2323public:
2331 DEFINE_ACCESSORS(ScanRatePeriodField, ScanRatePeriodFieldTypes)
2332};
2333
2374
2375class SecondField : public NormalField<6, NoStatementMax>
2376{
2377public:
2379 void SetSecondToNow();
2380 bool IsIllegalValue() const { return mValue != cMAX_VALUE && mValue > 59; }
2381};
2382
2383class SecureRadioField : public NormalField<2, NoStatementZero>
2384{
2385public:
2393 DEFINE_ACCESSORS(SecureRadioField, RadioSecurityTypes)
2394};
2395
2396class SpeedASW_Field : public NormalField<9, NoStatementMax>
2397{
2398public:
2399 typedef double accessor_type;
2402 {
2404 return *this;
2405 }
2406 operator double() const { return DataMilesToMeters(GetSpeedDataMiles()); }
2407 void SetSpeedDataMiles(double aSpeed) { mValue = (value_type)(aSpeed / 2.0); }
2408 double GetSpeedDataMiles() const { return mValue * 2.0; }
2409};
2410
2411class SpeedField : public NormalField<11, NoStatementMax>
2412{
2413public:
2414 typedef double accessor_type;
2416 SpeedField& operator=(double aMPS)
2417 {
2419 return *this;
2420 }
2421 operator double() const { return GetSpeedMetersPerSec(); }
2422 void SetSpeedDMPH(double aSpeed) { mValue = (value_type)((aSpeed / 2 > 2046) ? 2046 : aSpeed / 2); }
2423 void SetSpeedMetersPerSec(double aSpeed) { SetSpeedDMPH(MetersPerSecToDMPH(aSpeed)); }
2424 double GetSpeedDMPH() const { return mValue * 2.0; }
2426};
2427
2479
2480class DisSiteField : public IntegerField<16>
2481{
2482public:
2483 DEFINE_ACCESSORS(DisSiteField, unsigned short int);
2484};
2485
2487{
2488public:
2490};
2491
2493{
2494public:
2496};
2497
2498class StoresTypeField : public NormalField<8, NoStatementZero>
2499{
2500public:
2502 {
2608 cMK_63 = 131,
2633 };
2635 StoresTypeField& operator=(int aStoreType) { return operator=((StoresTypes)aStoreType); }
2636};
2637
2638class SquareCircleField : public NormalField<2, NoStatementZero>
2639{
2640public:
2648 DEFINE_ACCESSORS(SquareCircleField, SquareCircleTypes)
2649};
2650
2664
2678
2680
2682
2699
2714
2729
2743
2770
2787
2804
2818
2819class TimeSecondsField : public NormalField<8, NoStatementMax>
2820{
2821public:
2823};
2824
2826{
2827public:
2828 void SetTimeUncertainty(double aTimeNS);
2829 double GetTimeUncertainty() const;
2831};
2832
2849
2863
2864class WSF_L16_EXPORT TrackNumberField : public FieldBase<19>
2865{
2866public:
2868 typedef std::string accessor_type;
2869
2870 TrackNumberField& operator=(const std::string& aTNO)
2871 {
2872 SetTrackNumber(aTNO);
2873 return *this;
2874 }
2875 operator std::string() { return GetTrackNumberString(); }
2876
2877 void SetTrackNumber(const std::string aTNO);
2878 void SetTrackNumber(int aTNO);
2879 int GetTrackNumberInteger() const;
2880 static int GetTrackNumberInteger(int aTrackNumber);
2881 static void GetTrackNumberString(int aTNO, std::string& aTNO_String);
2882 std::string GetTrackNumberString() const;
2883 static int GetTrackNumberInteger(const std::string& aTNO_String);
2884
2885protected:
2886 static int CharToFiveBit(char aChar);
2887 static char FiveBitToChar(int aBits);
2888};
2889
2891
2893{
2894public:
2896 void SetUncertaintySquareMiles(double aValue);
2897 double GetUncertaintySquareMiles() const;
2898 double GetUncertaintySquareMeters() const;
2899 double GetDistance95CEP() const;
2900};
2901
2903{
2904public:
2905 void SetUncertaintySquareFeet(double aValue);
2906 double GetUncertaintySquareFeet() const;
2907 double GetUncertaintySquareMeters() const;
2908 double GetDistance95CEP() const;
2909};
2910
2936/*
2937class TrackMgmtStrengthPercentField : public NormalField<4, NoStatementZero>
2938{
2939 public:
2940 enum TrackMgmtStrengthPercentTypes
2941 {
2942 cNO_STATEMENT, cLT_OR_EQUAL_2_PERCENT,
2943 cGT_2_OR_EQUAL_4_PERCENT, cGT_4_OR_EQUAL_6_PERCENT,
2944 cGT_6_OR_EQUAL_8_PERCENT, cGT_8_OR_EQUAL_10_PERCENT,
2945 cGT_10_OR_EQUAL_15_PERCENT, cGT_15_OR_EQUAL_20_PERCENT,
2946 cGT_20_OR_EQUAL_25_PERCENT, cGT_25_OR_EQUAL_30_PERCENT,
2947 cGT_30_OR_EQUAL_40_PERCENT, cGT_40_OR_EQUAL_50_PERCENT,
2948 cGT_50_OR_EQUAL_60_PERCENT, cGT_60_OR_EQUAL_70_PERCENT,
2949 cGT_70_OR_EQUAL_80_PERCENT, cGT_80_PERCENT
2950 );
2951 DEFINE_ACCESSORS(TrackMgmtStrengthPercentField, TrackMgmtStrengthPercentTypes);
2952 DEFINE_ENUM_MAP()
2953};
2954*/
2955class WSF_L16_EXPORT TrackStrengthField : public NormalField<4, NoStatementZero>
2956{
2957public:
2958 typedef int accessor_type;
2959 TrackStrengthField& operator=(int aNumUnits);
2960 operator int() const;
2961 int GetStrength() const;
2962 bool IsFewUnits() const { return mValue == 13; }
2963 bool IsManyUnits() const { return mValue == 14; }
2964 bool IsGreaterThan12() const { return mValue == 15; }
2965};
2966
2967class TransverseMercatorGridCoordinateField : public NormalField<5, NoStatementZero>
2968{
2969public:
2970 typedef char accessor_type;
2972 {
2973 mValue = aGridCoord - 'A' + 1;
2974 return *this;
2975 }
2976 operator char() const { return 'A' - 1 + mValue; }
2977 bool IsInvalid() const { return mValue == 9 || mValue == 15 || mValue > 26; }
2978};
2979
2981{
2982public:
2983 typedef double accessor_type;
2985 {
2986 mValue = (value_type)(aMeters / 10);
2987 return *this;
2988 }
2989 operator double() const { return mValue * 10.0; }
2990 bool IsInvalid() const { return mValue > 9999; }
2991};
2992
3027
3053
3082
3083class WSF_L16_EXPORT WeaponTypeField : public FieldBase<2>
3084{
3085public:
3093 DEFINE_ACCESSORS(WeaponTypeField, WeaponTypes)
3095};
3096} // namespace Messages
3097} // namespace WsfL16
3098
3099#endif
#define DEFINE_ENUM_MAP()
Definition FieldTypes.hpp:157
#define DEFINE_ACCESSORS(_CLASS_, _TYPE_)
Macro to assist in defining assignment operator and conversion operator to TYPE.
Definition FieldTypes.hpp:148
Definition FieldTypes.hpp:402
ActionTypes
Definition FieldTypes.hpp:405
@ cDATA_UPDATE_REQUEST_BY_REQUEST_INDICATOR
Definition FieldTypes.hpp:406
@ cUNDEFINED
Definition FieldTypes.hpp:409
@ cBALLISTIC_MISSILE_UPDATE_REQUEST
Definition FieldTypes.hpp:408
@ cDATA_UPDATE_REQUEST_BY_TRACK_NUMBER
Definition FieldTypes.hpp:407
void SetValue(ActionTypes aType)
Definition FieldTypes.hpp:411
ActionTypes GetValue() const
Definition FieldTypes.hpp:412
Definition FieldTypes.hpp:427
void SetValue(ActionPointerTypes aType)
Definition FieldTypes.hpp:438
ActionPointerTypes GetValue() const
Definition FieldTypes.hpp:439
ActionPointerTypes
Definition FieldTypes.hpp:430
@ cSPECIAL_PROCESSING
Definition FieldTypes.hpp:435
@ cUNDEFINED
Definition FieldTypes.hpp:436
@ cWEAPONS
Definition FieldTypes.hpp:432
@ cNO_STATEMENT
Definition FieldTypes.hpp:431
@ cELECTRONIC_WARFARE
Definition FieldTypes.hpp:434
@ cTRACKING
Definition FieldTypes.hpp:433
Definition FieldTypes.hpp:454
ActionTrackMgmtTypes
Definition FieldTypes.hpp:457
@ cCHANGE_DATA_ORDER
Definition FieldTypes.hpp:460
@ cEXERCISE_STATUS_ORDER
Definition FieldTypes.hpp:464
@ cFORCE_TELL_STATUSC_CHANGE
Definition FieldTypes.hpp:462
@ cEMERGENCY_STATUS_CHANGE
Definition FieldTypes.hpp:461
@ cDIFFERENT_TRACK_REPORT
Definition FieldTypes.hpp:459
@ cSTRENGTH_CHANGE
Definition FieldTypes.hpp:463
@ cDROP_TRACK_REPORT
Definition FieldTypes.hpp:458
@ cUNDEFINED
Definition FieldTypes.hpp:465
ActionTrackMgmtTypes GetValue() const
Definition FieldTypes.hpp:468
void SetValue(ActionTrackMgmtTypes aType)
Definition FieldTypes.hpp:467
Definition FieldTypes.hpp:473
AirPlatformActivityTypes GetValue() const
Definition FieldTypes.hpp:554
AirPlatformActivityTypes
Definition FieldTypes.hpp:476
@ cCOMMAND_AND_CONTROL
Definition FieldTypes.hpp:527
@ cENGAGING_PRIORITY_KILL
Definition FieldTypes.hpp:538
@ cSPECIAL
Definition FieldTypes.hpp:521
@ cDIPPING
Definition FieldTypes.hpp:533
@ cRETURN_TO_BASE
Definition FieldTypes.hpp:529
@ cTANKING
Definition FieldTypes.hpp:518
@ cELECTRONIC_WARFARE_SUPPORT
Definition FieldTypes.hpp:491
@ cANTIAIR_WARFARE
Definition FieldTypes.hpp:526
@ cMINE_COUNTERMEASURES
Definition FieldTypes.hpp:504
@ cLASER_DESIGNATION
Definition FieldTypes.hpp:546
@ cRESCUE_COMBAT_AIR_PATROL
Definition FieldTypes.hpp:516
@ cMEDICAL_EVACUATION
Definition FieldTypes.hpp:503
@ cREFUELING_TANKING
Definition FieldTypes.hpp:506
@ cTROOPLIFT
Definition FieldTypes.hpp:524
@ cTRAINING
Definition FieldTypes.hpp:480
@ cFORWARD_AIR_CONTROLLER
Definition FieldTypes.hpp:509
@ cHIJACK
Definition FieldTypes.hpp:522
@ cVIDEO_DATA_LINKING
Definition FieldTypes.hpp:532
@ cSPOTTING
Definition FieldTypes.hpp:519
@ cCLEARED_TO_DROP
Definition FieldTypes.hpp:540
@ cESCORTING
Definition FieldTypes.hpp:486
@ cANTISUBMARINE_WARFARE
Definition FieldTypes.hpp:495
@ cAIR_TO_GROUND
Definition FieldTypes.hpp:543
@ cUNDER_RECALL
Definition FieldTypes.hpp:536
@ cENGAGING
Definition FieldTypes.hpp:537
@ cMINELAYING
Definition FieldTypes.hpp:487
@ cCOMMUNICATIONS_RELAY
Definition FieldTypes.hpp:492
@ cINTERVENING
Definition FieldTypes.hpp:541
@ cCOUNTER_AIR_WARFARE
Definition FieldTypes.hpp:528
@ cLOGISTICS_SUPPORT
Definition FieldTypes.hpp:481
@ cHIGH_ENERGY_LASING
Definition FieldTypes.hpp:551
@ cELECTRONIC_ATTACK
Definition FieldTypes.hpp:500
@ cCONVENTIONAL_ATTACK
Definition FieldTypes.hpp:502
@ cAIR_ASSAULT
Definition FieldTypes.hpp:498
@ cRESCUE_HELO
Definition FieldTypes.hpp:534
@ cPRECISION_BOMBING
Definition FieldTypes.hpp:545
@ cINVESTIGATING
Definition FieldTypes.hpp:539
@ cDIVERTING
Definition FieldTypes.hpp:542
@ cOVER_THE_HORIZON_TARGETING
Definition FieldTypes.hpp:479
@ cRECONNAISSANCE
Definition FieldTypes.hpp:478
@ cJAMMER
Definition FieldTypes.hpp:523
@ cVISUAL_IDENTIFICATION
Definition FieldTypes.hpp:550
@ cCOMBAT_AIR_PATROL
Definition FieldTypes.hpp:508
@ cSEARCH_AND_RESCUE
Definition FieldTypes.hpp:485
@ cORBITING
Definition FieldTypes.hpp:535
@ cINTERCEPTION
Definition FieldTypes.hpp:499
@ cGROUND_ATTACK_TACTICS
Definition FieldTypes.hpp:514
@ cSURFACE_COMBAT_AIR_PATROL
Definition FieldTypes.hpp:517
@ cVERY_IMPORTANT_PERSON_FLIGHT
Definition FieldTypes.hpp:510
@ cSHADOWING_INTERVENING
Definition FieldTypes.hpp:496
@ cSURVEILLANCE
Definition FieldTypes.hpp:484
@ cCLOSE_AIR_SUPPORT
Definition FieldTypes.hpp:512
@ cPATROL_OCEAN_SURVEILLANCE
Definition FieldTypes.hpp:493
@ cSPECIAL_WEAPONS_ATTACK
Definition FieldTypes.hpp:489
@ cINTERDICTION
Definition FieldTypes.hpp:507
@ cMINE_WARFARE
Definition FieldTypes.hpp:530
@ cSTRIKE_WARFARE
Definition FieldTypes.hpp:520
@ cTOWING
Definition FieldTypes.hpp:497
@ cPOLICING
Definition FieldTypes.hpp:501
@ cAIR_TO_AIR
Definition FieldTypes.hpp:544
@ cAIRBORNE_EARLY_WARNING
Definition FieldTypes.hpp:513
@ cSEARCH
Definition FieldTypes.hpp:505
@ cCOVERING
Definition FieldTypes.hpp:549
@ cELECTRONIC_WARFARE
Definition FieldTypes.hpp:483
@ cSHADOWING
Definition FieldTypes.hpp:548
@ cCHAFF_LAYING
Definition FieldTypes.hpp:531
@ cAIRBORNE_COMMAND_POST
Definition FieldTypes.hpp:515
@ cNO_STATEMENT
Definition FieldTypes.hpp:477
@ cINTRUDING
Definition FieldTypes.hpp:490
@ cAIRLIFT_TRANSPORT
Definition FieldTypes.hpp:494
@ cNONCOMBATANT_OPERATIONS
Definition FieldTypes.hpp:511
@ cTRANSITING
Definition FieldTypes.hpp:488
@ cBEACON_BOMBING
Definition FieldTypes.hpp:547
@ cXRAY
Definition FieldTypes.hpp:525
@ cANTISURFACE_WARFARE
Definition FieldTypes.hpp:482
void SetValue(AirPlatformActivityTypes aType)
Definition FieldTypes.hpp:553
Definition FieldTypes.hpp:559
AirPlatformTypes GetValue() const
Definition FieldTypes.hpp:613
void SetValue(AirPlatformTypes aType)
Definition FieldTypes.hpp:612
AirPlatformTypes
Definition FieldTypes.hpp:562
@ cHELICOPTER_GUNSHIP
Definition FieldTypes.hpp:592
@ cCRUISE_MISSILE
Definition FieldTypes.hpp:607
@ cBALLISTIC_MISSILE
Definition FieldTypes.hpp:608
@ cLIGHTER_THAN_AIR
Definition FieldTypes.hpp:587
@ cAIRBORNE_EARLY_WARNING_AND_CONTROL
Definition FieldTypes.hpp:579
@ cNO_STATEMENT
Definition FieldTypes.hpp:563
@ cMARITIME_PATROL_AIRCRAFT
Definition FieldTypes.hpp:580
@ cBOMBER
Definition FieldTypes.hpp:567
@ cDECOY
Definition FieldTypes.hpp:589
@ cGLIDER
Definition FieldTypes.hpp:588
@ cANTISUBMARINE_WARFARE
Definition FieldTypes.hpp:578
@ cAIR_TO_AIR_MISSILE
Definition FieldTypes.hpp:604
@ cFIGHTER_BOMBER
Definition FieldTypes.hpp:565
@ cRECONNAISSANCE
Definition FieldTypes.hpp:568
@ cMISSILE
Definition FieldTypes.hpp:576
@ cAIRBORNE_LASER
Definition FieldTypes.hpp:610
@ cTANKER_DROGUE_ONLY
Definition FieldTypes.hpp:571
@ cMISCELLANEOUS_FIXED_WING
Definition FieldTypes.hpp:598
@ cTACTICAL_SUPPORT
Definition FieldTypes.hpp:596
@ cSURFACE_TO_SURFACE_MISSILE
Definition FieldTypes.hpp:602
@ cINTERCEPTOR
Definition FieldTypes.hpp:572
@ cSURFACE_TO_SUBSURFACE_MISSILE
Definition FieldTypes.hpp:606
@ cATTACK
Definition FieldTypes.hpp:566
@ cDRONE
Definition FieldTypes.hpp:582
@ cTANKER
Definition FieldTypes.hpp:569
@ cMINE_WARFARE_HELICOPTER
Definition FieldTypes.hpp:594
@ cCIVIL_GENERAL
Definition FieldTypes.hpp:586
@ cSURFACE_TO_AIR_MISSILE
Definition FieldTypes.hpp:600
@ cMISSILE_CONTROL_UNIT
Definition FieldTypes.hpp:599
@ cELECTRONIC_WARFARE
Definition FieldTypes.hpp:577
@ cATTACK_HELICOPTER
Definition FieldTypes.hpp:591
@ cTRANSPORT_HELICOPTER
Definition FieldTypes.hpp:595
@ cAIRBORNE_COMMAND_POST
Definition FieldTypes.hpp:574
@ cSUBSURFACE_TO_SURFACE_MISSILE
Definition FieldTypes.hpp:605
@ cLOGISTIC
Definition FieldTypes.hpp:603
@ cAIRBORNE_LAND_SURVEILLANCE
Definition FieldTypes.hpp:609
@ cFIGHTER
Definition FieldTypes.hpp:564
@ cANTISUBMARINE_WARFARE_HELICOPTER
Definition FieldTypes.hpp:593
@ cCIVIL_AIRLINER
Definition FieldTypes.hpp:585
@ cTANKER_BOOM_ONLY
Definition FieldTypes.hpp:570
@ cMISSILE_CARRIER
Definition FieldTypes.hpp:575
@ cPATROL
Definition FieldTypes.hpp:597
@ cTRANSPORT
Definition FieldTypes.hpp:573
@ cFIXED_WING_GUNSHIP
Definition FieldTypes.hpp:584
@ cAIR_TO_SURFACE_MISSILE
Definition FieldTypes.hpp:601
@ cHELICOPTER
Definition FieldTypes.hpp:590
@ cSEARCH_AND_RESCUE
Definition FieldTypes.hpp:581
@ cREMOTELY_PILOTED_VEHICLE
Definition FieldTypes.hpp:583
Definition FieldTypes.hpp:795
AccessorUnitsMetersTag accessor_units
Definition FieldTypes.hpp:800
double GetAltitudeMeters() const
Definition FieldTypes.hpp:810
AltitudeField1 & operator=(double aVal)
Definition FieldTypes.hpp:801
double GetAltitudeFeet() const
Definition FieldTypes.hpp:809
void SetAltitudeFeet(double aAlt)
Definition FieldTypes.hpp:807
void SetAltitudeMeters(double aAlt)
Definition FieldTypes.hpp:808
double accessor_type
Definition FieldTypes.hpp:799
Definition FieldTypes.hpp:751
AltitudeField & operator=(double aVal)
Definition FieldTypes.hpp:757
AccessorUnitsMetersTag accessor_units
Definition FieldTypes.hpp:756
void SetAltitudeFeet(double aAlt)
Definition FieldTypes.hpp:780
void SetSkyObscured()
Definition FieldTypes.hpp:763
double GetAltitudeFeet() const
Definition FieldTypes.hpp:782
bool IsSkyObscured() const
Definition FieldTypes.hpp:770
double accessor_type
Definition FieldTypes.hpp:755
void SetUnknown()
Definition FieldTypes.hpp:778
double GetAltitudeMeters() const
Definition FieldTypes.hpp:790
bool IsUnknown() const
Definition FieldTypes.hpp:779
void SetAltitudeMeters(double aAlt)
Definition FieldTypes.hpp:781
Definition FieldTypes.hpp:814
DEFINE_ACCESSORS(AltitudeSourceField, AltitudeSourceTypes)
AltitudeSourceTypes
Definition FieldTypes.hpp:817
@ cAUTOMATIC_AIRCRAFT_REPORT
Definition FieldTypes.hpp:821
@ cSENSOR
Definition FieldTypes.hpp:819
@ cNO_STATEMENT_OR_ESTIMATED
Definition FieldTypes.hpp:818
@ cMANUAL_AIRCRAFT_REPORT
Definition FieldTypes.hpp:820
Definition FieldTypes.hpp:846
void SetDegrees(double aAngle)
Definition FieldTypes.cpp:248
double accessor_type
Definition FieldTypes.hpp:853
double GetRadians() const
Definition FieldTypes.hpp:852
double GetDegrees() const
Definition FieldTypes.hpp:851
bool IsIllegalValue() const
Definition FieldTypes.hpp:848
AccessorUnitsRadiansTag accessor_units
Definition FieldTypes.hpp:854
void SetRadians(double aAngle)
Definition FieldTypes.hpp:850
AngleField16 & operator=(double aVal)
Definition FieldTypes.hpp:855
Definition FieldTypes.hpp:828
bool IsIllegalValue() const
Definition FieldTypes.hpp:830
AccessorUnitsRadiansTag accessor_units
Definition FieldTypes.hpp:836
void SetDegrees(double aAngle)
Definition FieldTypes.cpp:238
double GetRadians() const
Definition FieldTypes.hpp:834
double GetDegrees() const
Definition FieldTypes.hpp:833
AngleField & operator=(double aVal)
Definition FieldTypes.hpp:837
double accessor_type
Definition FieldTypes.hpp:835
void SetRadians(double aAngle)
Definition FieldTypes.hpp:832
Definition FieldTypes.hpp:864
void SetQualityRadians(double aRadian)
Definition FieldTypes.cpp:263
double GetQualityRadians() const
Definition FieldTypes.cpp:271
Definition FieldTypes.hpp:959
AngleRateField & operator=(double aVal)
Definition FieldTypes.hpp:963
AccessorUnitsRadiansTag accessor_units
Definition FieldTypes.hpp:962
double accessor_type
Definition FieldTypes.hpp:961
Definition FieldTypes.hpp:871
double accessor_type
Definition FieldTypes.hpp:873
AccessorUnitsMetersTag accessor_units
Definition FieldTypes.hpp:874
AreaAxisLengthField & operator=(double aMeters)
Definition FieldTypes.hpp:875
Definition FieldTypes.hpp:928
AxisOrientationField & operator=(double aAngle)
Definition FieldTypes.hpp:932
double accessor_type
Definition FieldTypes.hpp:930
AccessorUnitsRadiansTag accessor_units
Definition FieldTypes.hpp:931
Definition FieldTypes.hpp:946
double accessor_type
Definition FieldTypes.hpp:948
BearingField & operator=(double aVal)
Definition FieldTypes.hpp:950
AccessorUnitsRadiansTag accessor_units
Definition FieldTypes.hpp:949
Definition FieldTypes.hpp:972
BearingInterceptField & operator=(double aAngle)
Definition FieldTypes.hpp:976
double accessor_type
Definition FieldTypes.hpp:974
AccessorUnitsRadiansTag accessor_units
Definition FieldTypes.hpp:975
BooleanField()
Definition FieldTypes.hpp:988
BooleanField & operator=(bool aValue)
Definition FieldTypes.hpp:992
bool accessor_type
Definition FieldTypes.hpp:990
bool IsNoStatement() const
Definition FieldTypes.hpp:989
Definition FieldTypes.hpp:1006
int GetCharEnumeration(char aCharacter) const
Definition FieldTypes.cpp:299
char GetCallsignChar(int aSixBit) const
Definition FieldTypes.cpp:277
Definition FieldTypes.hpp:1014
bool IsInvalidValue() const
Definition FieldTypes.hpp:1018
static const int cCHARACTER_COUNT
Definition FieldTypes.hpp:1016
std::string accessor_type
Definition FieldTypes.hpp:1032
void operator=(const std::string aCallsign)
Definition FieldTypes.hpp:1046
Definition FieldTypes.hpp:1102
CommImpairment
Definition FieldTypes.hpp:1105
@ cNO_STATEMENT
Definition FieldTypes.hpp:1106
@ cUHF_AM
Definition FieldTypes.hpp:1107
@ cHF_SSB_UPPER
Definition FieldTypes.hpp:1110
@ cVHF_FM
Definition FieldTypes.hpp:1109
@ cUHF_FM
Definition FieldTypes.hpp:1112
@ cVHF_AM
Definition FieldTypes.hpp:1108
@ cHF_SSB_LOWER
Definition FieldTypes.hpp:1113
@ cHF
Definition FieldTypes.hpp:1111
DEFINE_ACCESSORS(CommImpairmentField, CommImpairment)
Definition FieldTypes.hpp:1064
DEFINE_ACCESSORS(CommandField, CommandTypes)
CommandTypes
Definition FieldTypes.hpp:1067
@ cINTERVENE
Definition FieldTypes.hpp:1091
@ cWEAPONS_TIGHT
Definition FieldTypes.hpp:1069
@ cCEASE_ATTACK
Definition FieldTypes.hpp:1079
@ cPROCEED_TO_POINT
Definition FieldTypes.hpp:1081
@ cCEASE_PROCEEDING_TO_POINT
Definition FieldTypes.hpp:1082
@ cPRIORITY_KILL
Definition FieldTypes.hpp:1095
@ cASSUME_CONTROL
Definition FieldTypes.hpp:1077
@ cDISUSED
Definition FieldTypes.hpp:1080
@ cCLEAR_ENGAGE
Definition FieldTypes.hpp:1072
@ cENGAGE_IN_OBJECTIVE
Definition FieldTypes.hpp:1094
@ cCEASE_DUTIES_INDICATED
Definition FieldTypes.hpp:1086
@ cINVESTIGATE
Definition FieldTypes.hpp:1090
@ cUNDEFINED
Definition FieldTypes.hpp:1093
@ cCEASE_FIRE
Definition FieldTypes.hpp:1074
@ cSALVO_CLEAR_AIRCRAFT
Definition FieldTypes.hpp:1076
@ cASSUME_DUTIES_INDICATED
Definition FieldTypes.hpp:1085
@ cASSIGN
Definition FieldTypes.hpp:1071
@ cHOLD_FIRE
Definition FieldTypes.hpp:1073
@ cWEAPONS_FREE
Definition FieldTypes.hpp:1068
@ cCOVER
Definition FieldTypes.hpp:1075
@ cTRANSFER_CONTROL
Definition FieldTypes.hpp:1087
@ cSHADOW
Definition FieldTypes.hpp:1092
@ cCEASE_CONDUCTING_PROCEDURES_INDICATED
Definition FieldTypes.hpp:1084
@ cRETURN_TO_BASE
Definition FieldTypes.hpp:1088
@ cCONDUCT_PROCEDURES_INDICATED
Definition FieldTypes.hpp:1083
@ cLAUNCH_ALERT_AIRCRAFT
Definition FieldTypes.hpp:1089
@ cATTACK
Definition FieldTypes.hpp:1078
@ cENGAGE
Definition FieldTypes.hpp:1070
Definition FieldTypes.hpp:1120
Confidence
Definition FieldTypes.hpp:1123
@ cPOSSIBLE_SUBMARINE_HIGH_THREE
Definition FieldTypes.hpp:1128
@ cPOSSIBLE_SUBMARINE_LOW_ONE
Definition FieldTypes.hpp:1126
@ cNO_STATEMENT
Definition FieldTypes.hpp:1124
@ cCERTAIN_SUBMARINE
Definition FieldTypes.hpp:1131
@ cPOSSIBLE_SUBMARINE_LOW_TWO
Definition FieldTypes.hpp:1127
@ cUNCLASSIFIED
Definition FieldTypes.hpp:1125
@ cPROBABLE_SUBMARINE
Definition FieldTypes.hpp:1130
@ cSURFACE_VESSEL
Definition FieldTypes.hpp:1133
@ cNON_SUBMARINE
Definition FieldTypes.hpp:1132
@ cPOSSIBLE_SUBMARINE_HIGH_FOUR
Definition FieldTypes.hpp:1129
DEFINE_ACCESSORS(ConfidenceField, Confidence)
Definition FieldTypes.hpp:1154
void SetFeet(double aFeet)
Definition FieldTypes.hpp:1164
double GetFeet() const
Definition FieldTypes.hpp:1169
DeltaElevationField & operator=(double aMeters)
Definition FieldTypes.hpp:1158
AccessorUnitsMetersTag accessor_units
Definition FieldTypes.hpp:1156
double accessor_type
Definition FieldTypes.hpp:1157
Definition FieldTypes.hpp:1142
double accessor_type
Definition FieldTypes.hpp:1144
DeltaLatLonField & operator=(double aDegrees)
Definition FieldTypes.hpp:1145
Definition FieldTypes.hpp:1173
DEFINE_ACCESSORS(DepthCategoryField, DepthCategory)
DepthCategory
Definition FieldTypes.hpp:1176
@ cBETWEEN_FIRST_AND_SECOND_LAYERS
Definition FieldTypes.hpp:1183
@ cPERISCOPE_DEPTH
Definition FieldTypes.hpp:1180
@ cSURFACED
Definition FieldTypes.hpp:1178
@ cUNKNOWN
Definition FieldTypes.hpp:1188
@ cESTIMATED_SHALLOW
Definition FieldTypes.hpp:1179
@ cNO_STATEMENT
Definition FieldTypes.hpp:1177
@ cBELOW_BOTTOM_LAYER
Definition FieldTypes.hpp:1185
@ cBELOW_FIRST_LAYER
Definition FieldTypes.hpp:1182
@ cBETWEEN_SECOND_AND_THIRD_LAYERS
Definition FieldTypes.hpp:1184
@ cBOTTOMED
Definition FieldTypes.hpp:1187
@ cABOVE_FIRST_LAYER
Definition FieldTypes.hpp:1181
@ cESTIMATED_DEEP
Definition FieldTypes.hpp:1186
Definition FieldTypes.hpp:1195
AccessorUnitsMetersTag accessor_units
Definition FieldTypes.hpp:1198
double accessor_type
Definition FieldTypes.hpp:1197
DepthField & operator=(double aDepth)
Definition FieldTypes.hpp:1199
Definition FieldTypes.hpp:2487
DEFINE_ACCESSORS(DisApplicationField, unsigned short int)
Definition FieldTypes.hpp:2493
DEFINE_ACCESSORS(DisEntityIdField, unsigned short int)
Definition FieldTypes.hpp:2481
DEFINE_ACCESSORS(DisSiteField, unsigned short int)
Definition FieldTypes.hpp:1229
AccessorUnitsRadiansTag accessor_units
Definition FieldTypes.hpp:1232
double accessor_type
Definition FieldTypes.hpp:1231
ElevationAngle10Field & operator=(double aVal)
Definition FieldTypes.hpp:1234
Definition FieldTypes.hpp:1243
void SetRadians(double aAngle)
Definition FieldTypes.hpp:1255
AccessorUnitsRadiansTag accessor_units
Definition FieldTypes.hpp:1246
void SetDegrees(double aDeg)
Definition FieldTypes.hpp:1259
ElevationAngleField & operator=(double aRadians)
Definition FieldTypes.hpp:1247
double GetRadians() const
Definition FieldTypes.hpp:1254
double GetDegrees() const
Definition FieldTypes.hpp:1257
double accessor_type
Definition FieldTypes.hpp:1245
Definition FieldTypes.hpp:1209
double GetMeters() const
Definition FieldTypes.hpp:1220
double accessor_type
Definition FieldTypes.hpp:1211
AccessorUnitsMetersTag accessor_units
Definition FieldTypes.hpp:1212
ElevationField & operator=(double aMeters)
Definition FieldTypes.hpp:1213
void SetMeters(double aMeters)
Definition FieldTypes.hpp:1219
double GetFeet() const
Definition FieldTypes.hpp:1222
void SetFeet(double aFt)
Definition FieldTypes.hpp:1221
AccessorUnitsRadiansTag accessor_units
Return type as radians.
Definition FieldTypes.hpp:892
EllipseOrientationOrTiltField & operator=(double aAngleRadians)
Packing.
Definition FieldTypes.hpp:895
double accessor_type
Definition FieldTypes.hpp:889
Definition FieldTypes.hpp:1263
DEFINE_ACCESSORS(EmitterStatusField, StatusTypes)
StatusTypes
Definition FieldTypes.hpp:1266
@ cNO_STATEMENT
Definition FieldTypes.hpp:1267
@ cMISSILE_LAUNCH
Definition FieldTypes.hpp:1272
@ cTARGET_EMITTER_IN_TRACK
Definition FieldTypes.hpp:1271
@ cTARGET_EMITTER_ACTIVE
Definition FieldTypes.hpp:1269
@ cINACTIVE
Definition FieldTypes.hpp:1268
@ cTARGET_EMITTER_IN_SEARCH
Definition FieldTypes.hpp:1270
Definition FieldTypes.hpp:1296
WeaponTypes GetValue() const
Definition FieldTypes.hpp:1320
WeaponTypes
Definition FieldTypes.hpp:1299
@ cAVAILABLE_FOR_SUPPORT
Definition FieldTypes.hpp:1302
@ cNOT_AVAILABLE_FOR_SUPPORT
Definition FieldTypes.hpp:1303
@ cSUPPORT_NOT_EXPECTED
Definition FieldTypes.hpp:1305
@ cSUPPORT_EXPECTED
Definition FieldTypes.hpp:1304
@ cUNDEFINED
Definition FieldTypes.hpp:1306
@ cINTEND_TO_ENGAGE
Definition FieldTypes.hpp:1300
@ cDO_NOT_INTEND_TO_ENGAGE
Definition FieldTypes.hpp:1301
void SetValue(WeaponTypes aType)
Definition FieldTypes.hpp:1309
Definition FieldTypes.hpp:1279
DEFINE_ACCESSORS(EnvironmentField, EnvironmentTypes)
EnvironmentTypes
Definition FieldTypes.hpp:1282
@ cSURFACE
Definition FieldTypes.hpp:1286
@ cSUBSURFACE
Definition FieldTypes.hpp:1287
@ cNO_STATEMENT
Definition FieldTypes.hpp:1283
@ cUNDEFINED
Definition FieldTypes.hpp:1289
@ cLAND
Definition FieldTypes.hpp:1288
@ cAIR
Definition FieldTypes.hpp:1285
@ cSPACE
Definition FieldTypes.hpp:1284
Definition FieldTypes.hpp:1336
EquipmentOperationalStates
Definition FieldTypes.hpp:1339
@ cOPERATIONAL
Definition FieldTypes.hpp:1341
@ cNO_STATEMENT
Definition FieldTypes.hpp:1340
@ cOFF
Definition FieldTypes.hpp:1343
@ cNON_OPERATIONAL
Definition FieldTypes.hpp:1342
DEFINE_ACCESSORS(EquipmentOperationalField, EquipmentOperationalStates)
static const unsigned int cMAX_VALUE
Definition FieldTypes.hpp:226
static const unsigned int cFIELD_SIZE
Definition FieldTypes.hpp:224
static const unsigned int cMID_VALUE
Definition FieldTypes.hpp:225
FieldBase()
Definition FieldTypes.hpp:215
int DecodeTC(unsigned a2C) const
Definition FieldTypes.hpp:256
value_type mValue
Definition FieldTypes.hpp:293
friend MessageBitOutput & operator<<(MessageBitOutput &aAr, FieldBase< cFIELD_SIZE > &aField)
Definition FieldTypes.hpp:231
unsigned EncodeTC(int aInt) const
Encode an integer into a N-bit two's compliment representation.
Definition FieldTypes.hpp:267
value_type SafeCast(T aValue) const
Definition FieldTypes.hpp:246
value_type GetRawData() const
Definition FieldTypes.hpp:243
NoEnumStringMapTag enum_map_type
Definition FieldTypes.hpp:222
NoAccessorUnitsTag accessor_units
Definition FieldTypes.hpp:220
void SetRawData(value_type aValue)
Definition FieldTypes.hpp:251
friend MessageBitInput & operator<<(MessageBitInput &aAr, FieldBase< cFIELD_SIZE > &aField)
Definition FieldTypes.hpp:237
NoAccessorTypeTag accessor_type
Definition FieldTypes.hpp:219
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
FieldNoStatementInvalidTag no_statement_type
Definition FieldTypes.hpp:221
Definition FieldTypes.hpp:1350
bool IsUndefined() const
Definition FieldTypes.hpp:1362
FireMethods
Definition FieldTypes.hpp:1353
@ cNO_STATEMENT
Definition FieldTypes.hpp:1354
@ cDUAL_SHOT
Definition FieldTypes.hpp:1356
@ cSHOOT_LOOK_SHOOT
Definition FieldTypes.hpp:1358
@ cMULTIPLE_SHOT
Definition FieldTypes.hpp:1357
@ cSINGLE_SHOT
Definition FieldTypes.hpp:1355
Definition FieldTypes.hpp:1376
DEFINE_ACCESSORS(FixOrBearingField, Type)
Type
Definition FieldTypes.hpp:1379
@ cEW_FIX
Definition FieldTypes.hpp:1380
@ cBEARING_ES
Definition FieldTypes.hpp:1383
@ cBEARING_RADIO_DIRECTION_FINDING
Definition FieldTypes.hpp:1385
@ cBEARING_UNKNOWN
Definition FieldTypes.hpp:1386
@ cBEARING_TYPE_NOT_SPECIFIED
Definition FieldTypes.hpp:1382
@ cBEARING_EA
Definition FieldTypes.hpp:1384
@ cAREA_OF_PROBABILITY
Definition FieldTypes.hpp:1381
Definition FieldTypes.hpp:1367
void SetRangeFlag()
Definition FieldTypes.hpp:1372
void SetFreqFlag()
Definition FieldTypes.hpp:1371
bool IsFreq() const
Definition FieldTypes.hpp:1369
bool IsRange() const
Definition FieldTypes.hpp:1370
Definition FieldTypes.hpp:1413
bool IsChannelGroupB() const
Definition FieldTypes.hpp:1428
bool IsUHF_Frequency() const
Definition FieldTypes.hpp:1419
void SetChannelB(int aChannelNo)
Definition FieldTypes.hpp:1423
void SetUHF_Frequency(double aFreq)
Definition FieldTypes.hpp:1417
int GetChannelA() const
Definition FieldTypes.hpp:1426
bool IsChannelGroupA() const
Definition FieldTypes.hpp:1425
bool IsIllegal() const
Definition FieldTypes.hpp:1415
int GetChannelB() const
Definition FieldTypes.hpp:1429
void SetChannelA(int aChannelNo)
Definition FieldTypes.hpp:1422
double GetUHF_Frequency() const
Definition FieldTypes.hpp:1420
Definition FieldTypes.hpp:1393
double accessor_type
Definition FieldTypes.hpp:1396
FrequencyField & operator=(double aFreq)
Definition FieldTypes.hpp:1398
AccessorUnitsCyclesPerSecondTag accessor_units
Definition FieldTypes.hpp:1397
bool IsNoStatement() const
Definition FieldTypes.hpp:1395
Definition FieldTypes.hpp:1433
void SetFuelKilograms(double aFuelKG)
Definition FieldTypes.hpp:1452
double GetFuelPounds() const
Definition FieldTypes.hpp:1451
double GetFuelKilograms() const
Definition FieldTypes.hpp:1453
void SetFuelPounds(double aFuelPounds)
Definition FieldTypes.hpp:1443
FuelField & operator=(double aKg)
Definition FieldTypes.hpp:1436
double accessor_type
Definition FieldTypes.hpp:1435
AccessorUnitsKgTag accessor_units
Definition FieldTypes.hpp:1442
Definition FieldTypes.hpp:1457
HourField & operator=(int aHour)
Definition FieldTypes.hpp:1460
int GetHour() const
Definition FieldTypes.hpp:1466
int accessor_type
Definition FieldTypes.hpp:1459
void SetHour(int aHour)
Definition FieldTypes.hpp:1467
bool IsIllegalValue() const
Definition FieldTypes.hpp:1469
Definition FieldTypes.hpp:1473
HundredthsField & operator=(int aVal)
Definition FieldTypes.hpp:1476
int accessor_type
Definition FieldTypes.hpp:1475
Definition FieldTypes.hpp:1510
IdentityTypes
Definition FieldTypes.hpp:1513
@ cEXERCISE_NEUTRAL
Definition FieldTypes.hpp:1518
@ cEXERCISE_ASSUMED_FRIEND
Definition FieldTypes.hpp:1516
@ cJOKER
Definition FieldTypes.hpp:1519
@ cFAKER
Definition FieldTypes.hpp:1520
@ cEXERCISE_UNKNOWN
Definition FieldTypes.hpp:1515
@ cEXERCISE_FRIEND
Definition FieldTypes.hpp:1517
@ cEXERCISE_PENDING
Definition FieldTypes.hpp:1514
DEFINE_ACCESSORS(IdentityAmplifyField, IdentityTypes)
Definition FieldTypes.hpp:1492
IdentityTypes
Definition FieldTypes.hpp:1495
@ cUNKNOWN
Definition FieldTypes.hpp:1497
@ cUNDEFINED
Definition FieldTypes.hpp:1503
@ cSUSPECT
Definition FieldTypes.hpp:1501
@ cNEUTRAL
Definition FieldTypes.hpp:1500
@ cHOSTILE
Definition FieldTypes.hpp:1502
@ cPENDING
Definition FieldTypes.hpp:1496
@ cASSUMED_FRIEND
Definition FieldTypes.hpp:1498
@ cFRIEND
Definition FieldTypes.hpp:1499
DEFINE_ACCESSORS(IdentityField, IdentityTypes)
Integral field with a 'NoStatement' value. Supports conversion to/from int.
Definition FieldTypes.hpp:389
IntegerFieldNS & operator=(unsigned int aValue)
Definition FieldTypes.hpp:393
unsigned int accessor_type
Definition FieldTypes.hpp:392
NormalField< BIT_COUNT, NO_STATEMENT_TAG >::value_type value_type
Definition FieldTypes.hpp:391
IntegerField & operator=(unsigned int aValue)
Definition FieldTypes.hpp:378
unsigned int accessor_type
Definition FieldTypes.hpp:377
IntegerField()
Definition FieldTypes.hpp:376
FieldBase< BIT_COUNT >::value_type value_type
Definition FieldTypes.hpp:375
InverseBooleanField()
Definition FieldTypes.hpp:1530
InverseBooleanField & operator=(bool aTf)
Definition FieldTypes.hpp:1532
Definition FieldTypes.hpp:1540
JitterTypes
Definition FieldTypes.hpp:1543
@ cNO_JITTER
Definition FieldTypes.hpp:1545
@ cJITTER_PRESENT
Definition FieldTypes.hpp:1546
@ cUNDEFINED
Definition FieldTypes.hpp:1547
@ cNO_STATEMENT
Definition FieldTypes.hpp:1544
Definition FieldTypes.hpp:1555
double accessor_type
Definition FieldTypes.hpp:1557
LatitudeField & operator=(double aLatitude)
Definition FieldTypes.hpp:1559
AccessorUnitsLatitudeTag accessor_units
Definition FieldTypes.hpp:1558
Definition FieldTypes.hpp:1599
AccessorUnitsMetersTag accessor_units
Definition FieldTypes.hpp:1602
double accessor_type
Definition FieldTypes.hpp:1601
double GetFeet() const
Definition FieldTypes.hpp:1612
LengthField & operator=(double aMeters)
Definition FieldTypes.hpp:1603
void SetFeet(double aFeet)
Definition FieldTypes.hpp:1611
double GetMeters() const
Definition FieldTypes.hpp:1610
void SetMeters(double aMeters)
Definition FieldTypes.hpp:1609
Definition FieldTypes.hpp:1616
char GetLetter() const
Definition FieldTypes.hpp:1620
void SetLetter(char aChar)
Definition FieldTypes.cpp:656
bool IsUndefined() const
Definition FieldTypes.hpp:1621
Definition FieldTypes.hpp:1625
bool IsUndefined()
Definition FieldTypes.hpp:1627
Definition FieldTypes.hpp:1633
LinkStatusTypes
Definition FieldTypes.hpp:1636
@ cDEGRADED
Definition FieldTypes.hpp:1641
@ cNO_STATEMENT
Definition FieldTypes.hpp:1637
@ cNOT_AVAILABLE
Definition FieldTypes.hpp:1642
@ cAVAILABLE_VIA_LOCAL_BUFFER
Definition FieldTypes.hpp:1638
@ cAVAILABLE_VIA_LOCAL_AND_REMOTE_BUFFER
Definition FieldTypes.hpp:1640
@ cUNDEFINED
Definition FieldTypes.hpp:1643
@ cAVAILABLE_VIA_REMOTE_BUFFER
Definition FieldTypes.hpp:1639
DEFINE_ACCESSORS(LinkStatusField, LinkStatusTypes)
Definition FieldTypes.hpp:1650
LockOnTypes
Definition FieldTypes.hpp:1653
@ cNO_STATEMENT
Definition FieldTypes.hpp:1654
@ cUNDEFINED
Definition FieldTypes.hpp:1657
@ cSPY
Definition FieldTypes.hpp:1656
@ cLOCK_ON
Definition FieldTypes.hpp:1655
Definition FieldTypes.hpp:1665
AccessorUnitsLongitudeTag accessor_units
Definition FieldTypes.hpp:1668
LongitudeField & operator=(double aLongitude)
Definition FieldTypes.hpp:1669
double accessor_type
Definition FieldTypes.hpp:1667
Definition FieldTypes.hpp:42
void Read(unsigned &aValue, int aBitCount)
Definition FieldTypes.hpp:50
void Read(unsigned char &aValue, int aBitCount)
Definition FieldTypes.hpp:62
void Skip(int aBitCount)
Definition FieldTypes.hpp:69
int GetBitOffset()
Definition FieldTypes.hpp:70
void Read(unsigned short &aValue, int aBitCount)
Definition FieldTypes.hpp:55
MessageBitInput(const char *aBuffer)
Definition FieldTypes.hpp:44
Definition FieldTypes.hpp:78
int GetBitOffset()
Definition FieldTypes.hpp:92
MessageBitOutput(char *aBuffer)
Definition FieldTypes.hpp:80
void Reset()
Definition FieldTypes.hpp:93
void Write(unsigned aValue, int aBitCount)
Definition FieldTypes.hpp:86
void Skip(int aBitCount)
Definition FieldTypes.hpp:91
Definition FieldTypes.hpp:1702
int accessor_type
Definition FieldTypes.hpp:1704
MinuteField & operator=(int aMinute)
Definition FieldTypes.hpp:1706
Definition FieldTypes.hpp:1716
MissileType
Definition FieldTypes.hpp:1719
@ cMISSILE_2
Definition FieldTypes.hpp:1748
@ cMED_RNG_SSM
Definition FieldTypes.hpp:1725
@ cMISSILE_3
Definition FieldTypes.hpp:1749
@ cSM1_ER
Definition FieldTypes.hpp:1729
@ cEXT_RNG_SAM_SHRT
Definition FieldTypes.hpp:1731
@ cMISSILE_7
Definition FieldTypes.hpp:1753
@ cHARPOON
Definition FieldTypes.hpp:1745
@ cSM1_MR
Definition FieldTypes.hpp:1730
@ cEXT_RNG_SSM_SHRT
Definition FieldTypes.hpp:1734
@ cMISSILE_1
Definition FieldTypes.hpp:1747
@ cEXT_RNG_SAM_MED
Definition FieldTypes.hpp:1732
@ cSM2_BLOCK_IV
Definition FieldTypes.hpp:1741
@ cEXT_RNG_SSM_LONG
Definition FieldTypes.hpp:1736
@ cSM2_BLOCK_II
Definition FieldTypes.hpp:1737
@ cMISSILE_5
Definition FieldTypes.hpp:1751
@ cMED_RNG_SAM
Definition FieldTypes.hpp:1722
@ cNO_STATEMENT
Definition FieldTypes.hpp:1720
@ cSM2_BLOCK_III
Definition FieldTypes.hpp:1738
@ cSM2_BLOCK_IVA
Definition FieldTypes.hpp:1742
@ cMISSILE_6
Definition FieldTypes.hpp:1752
@ cEXT_RNG_SAM_LONG
Definition FieldTypes.hpp:1733
@ cTOMAHAWK_TLAM_C
Definition FieldTypes.hpp:1744
@ cEXT_RNG_SSM_MED
Definition FieldTypes.hpp:1735
@ cTOMAHAWK_TASM
Definition FieldTypes.hpp:1743
@ cLONG_RNG_SSM
Definition FieldTypes.hpp:1726
@ cSHRT_RNG_SSM
Definition FieldTypes.hpp:1724
@ cLONG_RNG_SAM
Definition FieldTypes.hpp:1723
@ cSM2_ER
Definition FieldTypes.hpp:1727
@ cSM2_MR
Definition FieldTypes.hpp:1728
@ cSM2_BLOCK_IIIB
Definition FieldTypes.hpp:1740
@ cSM2_BLOCK_IIIA
Definition FieldTypes.hpp:1739
@ cSM3_LEAP
Definition FieldTypes.hpp:1746
@ cSHRT_RNG_SAM
Definition FieldTypes.hpp:1721
@ cMISSILE_4
Definition FieldTypes.hpp:1750
DEFINE_ACCESSORS(MissileTypeField, MissileType)
Definition FieldTypes.hpp:1760
MissionTypes
Definition FieldTypes.hpp:1763
@ cAIR_TO_AIR
Definition FieldTypes.hpp:1778
@ cREFUEL
Definition FieldTypes.hpp:1765
@ cATTACK
Definition FieldTypes.hpp:1805
@ cVISUAL_IDENTIFICATION
Definition FieldTypes.hpp:1796
@ cWEAPONS_TIGHT
Definition FieldTypes.hpp:1790
@ cCEASE_DO_NOT_DROP
Definition FieldTypes.hpp:1774
@ cPRIORITY_KILL
Definition FieldTypes.hpp:1770
@ cNO_STATEMENT
Definition FieldTypes.hpp:1764
@ cDIVERT
Definition FieldTypes.hpp:1776
@ cSEARCH_AND_RESCUE
Definition FieldTypes.hpp:1779
@ cWEAPONS_FREE
Definition FieldTypes.hpp:1789
@ cSENSOR_TARGET_REPORTS_ON
Definition FieldTypes.hpp:1801
@ cSHADOW
Definition FieldTypes.hpp:1788
@ cESCORT
Definition FieldTypes.hpp:1787
@ cCOUNTER_AIR_ATTACK
Definition FieldTypes.hpp:1808
@ cLASER_DESIGNATION
Definition FieldTypes.hpp:1782
@ cINVESTIGATE_INTERROGATE
Definition FieldTypes.hpp:1772
@ cCEASE_FIRE
Definition FieldTypes.hpp:1810
@ cFIGHTER_SWEEP
Definition FieldTypes.hpp:1809
@ cAIR_TO_SURFACE
Definition FieldTypes.hpp:1777
@ cORBIT
Definition FieldTypes.hpp:1766
@ cHOLD_FIRE
Definition FieldTypes.hpp:1811
@ cTRACK_DESIGNATION
Definition FieldTypes.hpp:1799
@ cBREAK_ENGAGEMENT
Definition FieldTypes.hpp:1771
@ cCOVER
Definition FieldTypes.hpp:1795
@ cCLEAR_TO_DROP
Definition FieldTypes.hpp:1773
@ cSALVO_CLEAR_AIRCRAFT
Definition FieldTypes.hpp:1791
@ cCLOSE_AIR_SUPPORT
Definition FieldTypes.hpp:1784
@ cALERT_CONDITION_WHITE
Definition FieldTypes.hpp:1792
@ cPRECISION_BOMBING
Definition FieldTypes.hpp:1781
@ cGO_TO_VOICE
Definition FieldTypes.hpp:1798
@ cINTERVENE
Definition FieldTypes.hpp:1775
@ cINTERDICTION
Definition FieldTypes.hpp:1785
@ cBEACON_BOMBING
Definition FieldTypes.hpp:1783
@ cSUPPRESSION_OF_ENEMY_AD
Definition FieldTypes.hpp:1803
@ cCEASE_MISSION
Definition FieldTypes.hpp:1813
@ cALERT_CONDITION_YELLOW
Definition FieldTypes.hpp:1793
@ cCANCEL_TRACK_DESIGNATION
Definition FieldTypes.hpp:1800
@ cUNDEFINED
Definition FieldTypes.hpp:1812
@ cAERIAL_RECONNAISSANCE
Definition FieldTypes.hpp:1786
@ cALERT_CONDITION_RED
Definition FieldTypes.hpp:1794
@ cENGAGE
Definition FieldTypes.hpp:1769
@ cCEASE_ATTACK
Definition FieldTypes.hpp:1806
@ cDISUSED
Definition FieldTypes.hpp:1797
@ cCOMBAT_AIR_PATROL
Definition FieldTypes.hpp:1780
@ cRECALL
Definition FieldTypes.hpp:1767
@ cARMED_RECONNAISSANCE
Definition FieldTypes.hpp:1804
@ cRELATED_MISSION_DATA
Definition FieldTypes.hpp:1807
@ cRETURN_TO_BASE
Definition FieldTypes.hpp:1768
@ cSENSOR_TARGET_REPORTS_OFF
Definition FieldTypes.hpp:1802
DEFINE_ACCESSORS(MissionTypeField, MissionTypes)
Definition FieldTypes.hpp:1820
Mode1CodeField & operator=(int aValue)
Definition FieldTypes.cpp:610
int accessor_type
Definition FieldTypes.hpp:1822
Definition FieldTypes.hpp:1832
DEFINE_ACCESSORS(Mode3InterrogationTypeField, Mode3_InterrogationTypes)
Mode3_InterrogationTypes
Definition FieldTypes.hpp:1835
@ cINCORRECT
Definition FieldTypes.hpp:1838
@ cNO_STATEMENT
Definition FieldTypes.hpp:1836
@ cCORRECT
Definition FieldTypes.hpp:1837
@ cNO_RESPONSE
Definition FieldTypes.hpp:1839
Definition FieldTypes.hpp:1846
Mode4_IndicatorTypes
Definition FieldTypes.hpp:1849
@ cVALID_RESPONSE
Definition FieldTypes.hpp:1853
@ cINVALID_RESPONSE
Definition FieldTypes.hpp:1852
@ cNO_STATEMENT
Definition FieldTypes.hpp:1850
@ cNO_RESPONSE
Definition FieldTypes.hpp:1851
DEFINE_ACCESSORS(Mode4IndicatorField, Mode4_IndicatorTypes)
Definition FieldTypes.hpp:1860
int GetMultiplier()
Definition FieldTypes.hpp:1863
void SetMultiplier(double aFreq)
Definition FieldTypes.cpp:644
Definition FieldTypes.hpp:1867
NetParticipationStatusState
Definition FieldTypes.hpp:1876
@ cNO_STATEMENT
Definition FieldTypes.hpp:1877
@ cACTIVE_NON_SPECIFIC
Definition FieldTypes.hpp:1878
@ cTACTICAL_SYSTEM_DATA_FAILURE
Definition FieldTypes.hpp:1883
@ cINACTIVE_NON_SPECIFIC
Definition FieldTypes.hpp:1879
@ cCONDITIONAL_RADIO_SILENCE
Definition FieldTypes.hpp:1880
@ cHIGH_ERROR_RATE
Definition FieldTypes.hpp:1881
@ cPOLLING
Definition FieldTypes.hpp:1884
@ cNO_J00_BEING_RECEIVED
Definition FieldTypes.hpp:1882
DEFINE_ACCESSORS(NetworkParticipationStatusField, NetParticipationStatusState)
bool IsInvalidValue()
Definition FieldTypes.hpp:1886
Definition FieldTypes.hpp:359
NormalField()
Definition FieldTypes.hpp:365
void SetNoStatement()
Definition FieldTypes.hpp:366
bool IsNoStatement() const
Definition FieldTypes.hpp:367
FieldNoStatementValidTag no_statement_type
Definition FieldTypes.hpp:363
static const unsigned int cNO_STATEMENT_VALUE
Definition FieldTypes.hpp:364
Definition FieldTypes.hpp:1893
DEFINE_ACCESSORS(OperationalCapabilityField, CapabilityStates)
CapabilityStates
Definition FieldTypes.hpp:1896
@ cUNABLE_TO_PERFORM_MISSION
Definition FieldTypes.hpp:1900
@ cABLE_TO_PERFORM_MISSION
Definition FieldTypes.hpp:1898
@ cLOW_FUEL_STATE
Definition FieldTypes.hpp:1899
@ cNO_STATEMENT
Definition FieldTypes.hpp:1897
Definition FieldTypes.hpp:1907
ImpairmentTypes
Definition FieldTypes.hpp:1910
@ cSURVEILLANCE_RADAR
Definition FieldTypes.hpp:1912
@ cIFF_SIF_INTERROGATOR
Definition FieldTypes.hpp:1919
@ cATC_RADAR
Definition FieldTypes.hpp:1918
@ cUNDEFINED
Definition FieldTypes.hpp:1928
@ cLAUNCHER_FAILURE
Definition FieldTypes.hpp:1926
@ cMOBILITY
Definition FieldTypes.hpp:1920
@ cGUIDANCE_RADAR
Definition FieldTypes.hpp:1915
@ cORDNANCE_DEPLETED
Definition FieldTypes.hpp:1925
@ cNO_STATEMENT
Definition FieldTypes.hpp:1911
@ cES_PASSIVE_SENSOR
Definition FieldTypes.hpp:1923
@ cHEIGHT_FINDER_RADAR
Definition FieldTypes.hpp:1917
@ cACQUISITION_RADAR
Definition FieldTypes.hpp:1913
@ cTRACKING_RADAR
Definition FieldTypes.hpp:1914
@ cPRIMARY_POWER
Definition FieldTypes.hpp:1921
@ cMULTIFUNCTION_RADAR
Definition FieldTypes.hpp:1916
@ cCOMMUNICATIONS
Definition FieldTypes.hpp:1922
@ cTDS_FAILURE
Definition FieldTypes.hpp:1927
@ cMULTISTATIC_PASSIVE_SENSOR
Definition FieldTypes.hpp:1924
DEFINE_ACCESSORS(OperationalImpairmentField, ImpairmentTypes)
Definition FieldTypes.hpp:2019
bool IsHigh() const
Definition FieldTypes.hpp:2035
PRF_Field & operator=(double aPrf)
Definition FieldTypes.hpp:2024
void SetHigh()
Or a 'high' value meaning anything over 131,071 hz.
Definition FieldTypes.hpp:2034
double GetPRF() const
Definition FieldTypes.hpp:2032
void SetPRF(double aFreq)
Definition FieldTypes.hpp:2031
double accessor_type
Can be either a frequency,.
Definition FieldTypes.hpp:2022
AccessorUnitsCyclesPerSecondTag accessor_units
Definition FieldTypes.hpp:2023
Definition FieldTypes.hpp:1996
bool IsPRI() const
Definition FieldTypes.hpp:1999
void SetPRFflag()
Definition FieldTypes.hpp:2000
void SetPRIflag()
Definition FieldTypes.hpp:2001
bool IsPRF() const
Definition FieldTypes.hpp:1998
Definition FieldTypes.hpp:2005
PrfTypes
Definition FieldTypes.hpp:2008
@ cMED
Definition FieldTypes.hpp:2011
@ cNO_STATEMENT
Definition FieldTypes.hpp:2009
@ cMISSILE_COMPATIBLE
Definition FieldTypes.hpp:2013
@ cHIGH
Definition FieldTypes.hpp:2012
@ cLOW
Definition FieldTypes.hpp:2010
DEFINE_ACCESSORS(PRF_TypeField, PrfTypes)
Definition FieldTypes.hpp:1935
DEFINE_ACCESSORS(PeriodicReportField, PeriodicReportTypes)
PeriodicReportTypes
Definition FieldTypes.hpp:1938
@ cNO_STATEMENT
Definition FieldTypes.hpp:1939
@ cORIGIAL_OR_CHANGED
Definition FieldTypes.hpp:1940
@ cUNDEFINED
Definition FieldTypes.hpp:1942
@ cPERIODIC
Definition FieldTypes.hpp:1941
Definition FieldTypes.hpp:1949
PointNumberTypes
Definition FieldTypes.hpp:1952
@ cUNDEFINED
Definition FieldTypes.hpp:1956
@ cNO_STATEMENT
Definition FieldTypes.hpp:1953
@ cSTART_POINT
Definition FieldTypes.hpp:1954
@ cSTOP_POINT
Definition FieldTypes.hpp:1955
Definition FieldTypes.hpp:1962
bool IsPoint() const
Definition FieldTypes.hpp:1964
void SetTrack()
Definition FieldTypes.hpp:1967
bool IsTrack() const
Definition FieldTypes.hpp:1965
void SetPoint()
Definition FieldTypes.hpp:1966
Definition FieldTypes.hpp:1971
PointTypes
Definition FieldTypes.hpp:1974
@ cPOINT
Definition FieldTypes.hpp:1983
@ cORIGIN_OF_BEARING
Definition FieldTypes.hpp:1990
@ cTARGET
Definition FieldTypes.hpp:1976
@ cLASER_DESIGNATOR
Definition FieldTypes.hpp:1981
@ cCONTACT_POINT
Definition FieldTypes.hpp:1980
@ cCENTER_POINT
Definition FieldTypes.hpp:1984
@ cBEACON
Definition FieldTypes.hpp:1979
@ cCLOSEST_FRIENDLY
Definition FieldTypes.hpp:1977
@ cMARKER
Definition FieldTypes.hpp:1982
@ cTARGET_DEFENSES
Definition FieldTypes.hpp:1986
@ cUNDEFINED_2
Definition FieldTypes.hpp:1989
@ cUNDEFINED_1
Definition FieldTypes.hpp:1988
@ cNO_STATEMENT
Definition FieldTypes.hpp:1975
@ cINTERNAL_ROUTE_POINT
Definition FieldTypes.hpp:1985
@ cINITIAL_POINT
Definition FieldTypes.hpp:1978
@ cENGAGEMENT_POINT
Definition FieldTypes.hpp:1987
Definition FieldTypes.hpp:2039
PulseWidthField & operator=(double aPulseWidth)
Definition FieldTypes.hpp:2042
double accessor_type
Definition FieldTypes.hpp:2041
Definition FieldTypes.hpp:2216
QualityField & operator=(double aValue)
Definition FieldTypes.cpp:690
Definition FieldTypes.hpp:2223
void SetSingleRF()
Definition FieldTypes.hpp:2226
bool IsSingleRF()
Definition FieldTypes.hpp:2225
bool IsAutomaticAgilityFrequency()
Definition FieldTypes.hpp:2227
void SetAutomaticAgilityFrequency()
Definition FieldTypes.hpp:2228
Definition FieldTypes.hpp:2053
DEFINE_ACCESSORS(RadarSystemStatusField, RadarStatusTypes)
RadarStatusTypes
Definition FieldTypes.hpp:2056
@ cSYSTEM_OFF
Definition FieldTypes.hpp:2060
@ cSYSTEM_NOT_OPERATIONAL
Definition FieldTypes.hpp:2059
@ cNO_STATEMENT
Definition FieldTypes.hpp:2057
@ cSYSTEM_OPERATIONAL
Definition FieldTypes.hpp:2058
Definition FieldTypes.hpp:2232
RadioStatuses
Definition FieldTypes.hpp:2235
@ cRECEIVER_NON_OPERATIONAL
Definition FieldTypes.hpp:2240
@ cRADIO_OFF
Definition FieldTypes.hpp:2238
@ cRADIO_ON
Definition FieldTypes.hpp:2237
@ cRADIO_NON_OPERATIONAL
Definition FieldTypes.hpp:2239
@ cNO_STATEMENT
Definition FieldTypes.hpp:2236
@ cTRANSMITTER_NON_OPERATIONAL
Definition FieldTypes.hpp:2241
bool IsUndefined()
Definition FieldTypes.hpp:2245
Definition FieldTypes.hpp:2249
RadioTypes
Definition FieldTypes.hpp:2252
@ cVHF_AM
Definition FieldTypes.hpp:2255
@ cUHF_FM
Definition FieldTypes.hpp:2259
@ cHF
Definition FieldTypes.hpp:2258
@ cHF_SSB_UPPER
Definition FieldTypes.hpp:2257
@ cVHF_FM
Definition FieldTypes.hpp:2256
@ cUHF_AM
Definition FieldTypes.hpp:2254
@ cNO_STATEMENT
Definition FieldTypes.hpp:2253
@ cHF_SSB_LOWER
Definition FieldTypes.hpp:2260
Definition FieldTypes.hpp:2266
bool IsCANTPRO() const
Definition FieldTypes.hpp:2282
bool IsResponse() const
Definition FieldTypes.hpp:2284
bool IsOriginalOrder() const
Definition FieldTypes.hpp:2283
ReceiptComplianceTypes
Definition FieldTypes.hpp:2269
@ cMACHINE_RECEIPT
Response NOT required.
Definition FieldTypes.hpp:2272
@ cORDER_NO_RESPONSE
Response required.
Definition FieldTypes.hpp:2271
@ cORDER_RESPONSE_REQUIRED
Definition FieldTypes.hpp:2270
@ cNO_STATEMENT
(CANNOT PROCESS)
Definition FieldTypes.hpp:2278
@ cHAVCO
(WILL COMPLY)
Definition FieldTypes.hpp:2274
@ cCANTPRO
(CANNOT COMPLY)
Definition FieldTypes.hpp:2277
@ cWILCO
Order received without error.
Definition FieldTypes.hpp:2273
@ cORDER_MACHINE
(HAVE COMPLIED)
Definition FieldTypes.hpp:2275
@ cCANTCO
Definition FieldTypes.hpp:2276
Definition FieldTypes.hpp:2290
StateType
Definition FieldTypes.hpp:2293
@ cSTANDBY
Definition FieldTypes.hpp:2295
@ cINITIALIZATION
Definition FieldTypes.hpp:2301
@ cTRANSITION_TO_OFF_LINE
Definition FieldTypes.hpp:2296
@ cTRANSITION_TO_STANDBY
Definition FieldTypes.hpp:2297
@ cTRANSITION_TO_ROAD_MARCH
Definition FieldTypes.hpp:2299
@ cREORIENTATION
Definition FieldTypes.hpp:2300
@ cTRANSITION_OUT_OF_STANDBY
Definition FieldTypes.hpp:2298
@ cNO_STATEMENT
Definition FieldTypes.hpp:2294
DEFINE_ACCESSORS(SAM_ModeStateField, StateType)
Antenna.
Definition FieldTypes.hpp:2309
ScanRateField & operator=(double aRate)
Definition FieldTypes.hpp:2312
double accessor_type
Definition FieldTypes.hpp:2311
Antenna.
Definition FieldTypes.hpp:2322
ScanRatePeriodFieldTypes
Definition FieldTypes.hpp:2325
@ cNO_STATEMENT
Definition FieldTypes.hpp:2326
@ cSCAN_PERIOD
Definition FieldTypes.hpp:2328
@ cPRIMARY
Definition FieldTypes.hpp:2327
@ cSECONDARY_SCAN_RATE
Definition FieldTypes.hpp:2329
Definition FieldTypes.hpp:2335
ScanTypeFieldTypes
Definition FieldTypes.hpp:2338
@ cVERTICAL_SECTOR_C
Definition FieldTypes.hpp:2356
@ cNO_STATEMENT
Definition FieldTypes.hpp:2339
@ cALSO_UNDEFINED
Definition FieldTypes.hpp:2370
@ cSTEADY
Definition FieldTypes.hpp:2350
@ cLOBE_SWITCHING
Definition FieldTypes.hpp:2342
@ cCONICAL_SCAN
Definition FieldTypes.hpp:2345
@ cHELICAL
Definition FieldTypes.hpp:2361
@ cFIXED_SCAN
Definition FieldTypes.hpp:2340
@ cCIRCULAR_SCAN
Definition FieldTypes.hpp:2341
@ cCOMPLEX_SCAN
Definition FieldTypes.hpp:2346
@ cBI_DIRECTIONAL
Definition FieldTypes.hpp:2359
@ cPASSIVE_SCAN
Definition FieldTypes.hpp:2368
@ cVERTICAL_SECTOR_S
Definition FieldTypes.hpp:2357
@ cUNIDIRECTIONAL
Definition FieldTypes.hpp:2352
@ cSPIRAL
Definition FieldTypes.hpp:2347
@ cBI_DIRECTIONAL_SECTOR
Definition FieldTypes.hpp:2365
@ cHORIZONTAL_SECTOR_B
Definition FieldTypes.hpp:2354
@ cHORIZONTAL_SECTOR_T
Definition FieldTypes.hpp:2355
@ cDISUSED
Definition FieldTypes.hpp:2343
@ cCIRCULAR_AND_CONICAL
Definition FieldTypes.hpp:2360
@ cOTHER
Definition FieldTypes.hpp:2366
@ cAGILE_BEAM
Definition FieldTypes.hpp:2363
@ cUNDEFINED
Definition FieldTypes.hpp:2369
@ cMONOPULSE
Definition FieldTypes.hpp:2367
@ cUNI_DIRECTIONAL_SECTOR
Definition FieldTypes.hpp:2364
@ cSECTOR_SCAN
Definition FieldTypes.hpp:2344
@ cCIRCULAR_AND_VERTICAL_SECTOR
Definition FieldTypes.hpp:2362
@ cVARIABLE_RANDOM
Definition FieldTypes.hpp:2349
@ cSECTOR_AND_CONICAL
Definition FieldTypes.hpp:2358
@ cUNDETERMINED
Definition FieldTypes.hpp:2353
@ cMANUAL
Definition FieldTypes.hpp:2351
@ cRASTER
Definition FieldTypes.hpp:2348
Definition FieldTypes.hpp:2376
bool IsIllegalValue() const
Definition FieldTypes.hpp:2380
DEFINE_ACCESSORS(SecondField, int)
void SetSecondToNow()
Definition FieldTypes.cpp:726
Definition FieldTypes.hpp:2384
RadioSecurityTypes
Definition FieldTypes.hpp:2387
@ cUNDEFINED
Definition FieldTypes.hpp:2391
@ cSECURE
Definition FieldTypes.hpp:2389
@ cNOT_SECURE
Definition FieldTypes.hpp:2390
@ cNO_STATEMENT
Definition FieldTypes.hpp:2388
Definition FieldTypes.hpp:2429
SiteType
Definition FieldTypes.hpp:2432
@ cMPC
Definition FieldTypes.hpp:2458
@ cCRC_MCE
Definition FieldTypes.hpp:2441
@ cTADC
Definition FieldTypes.hpp:2452
@ cCRP
Definition FieldTypes.hpp:2438
@ cADTOC_BDE
Definition FieldTypes.hpp:2472
@ cENSCE
Definition FieldTypes.hpp:2464
@ cPLSS
Definition FieldTypes.hpp:2463
@ cSSI_THAAD
Definition FieldTypes.hpp:2469
@ cFACP
Definition FieldTypes.hpp:2466
@ cROCC
Definition FieldTypes.hpp:2454
@ cSOC
Definition FieldTypes.hpp:2435
@ cTACC_USMC
Definition FieldTypes.hpp:2451
@ cTGIF
Definition FieldTypes.hpp:2465
@ cTOC
Definition FieldTypes.hpp:2459
@ cNO_STATEMENT
Definition FieldTypes.hpp:2433
@ cAEGIS
Definition FieldTypes.hpp:2439
@ cLCS_THAAD
Definition FieldTypes.hpp:2468
@ cADTOC_BN
Definition FieldTypes.hpp:2471
@ cNIKE
Definition FieldTypes.hpp:2461
@ cBM_DEFENSE_SITE
Definition FieldTypes.hpp:2474
@ cSHORAD_BDE
Definition FieldTypes.hpp:2448
@ cADCP
Definition FieldTypes.hpp:2473
@ cHIMAD_BN
Definition FieldTypes.hpp:2444
@ cSWC
Definition FieldTypes.hpp:2450
@ cRADIL
Definition FieldTypes.hpp:2455
@ cHAWK_AFP
Definition FieldTypes.hpp:2447
@ cSOC_CRC
Definition FieldTypes.hpp:2436
@ cTAOC
Definition FieldTypes.hpp:2453
@ cSHORAD_BN
Definition FieldTypes.hpp:2449
@ cJTAGS
Definition FieldTypes.hpp:2470
@ cGCI
Definition FieldTypes.hpp:2457
@ cTACC_USAF
Definition FieldTypes.hpp:2440
@ cDIVARTY
Definition FieldTypes.hpp:2460
@ cTOC_THAAD
Definition FieldTypes.hpp:2467
@ cASIT
Definition FieldTypes.hpp:2456
@ cPATRIOT_ECS
Definition FieldTypes.hpp:2446
@ cHIMAD_BDE
Definition FieldTypes.hpp:2443
@ cPATRIOT_BN_ICC
Definition FieldTypes.hpp:2445
@ cSSSB
Definition FieldTypes.hpp:2442
@ cCRC
Definition FieldTypes.hpp:2437
@ cGACC
Definition FieldTypes.hpp:2462
@ cADOC
Definition FieldTypes.hpp:2434
DEFINE_ACCESSORS(SiteTypeField, SiteType)
Definition FieldTypes.hpp:2397
double GetSpeedDataMiles() const
Definition FieldTypes.hpp:2408
void SetSpeedDataMiles(double aSpeed)
Definition FieldTypes.hpp:2407
double accessor_type
Definition FieldTypes.hpp:2399
SpeedASW_Field & operator=(double aMPS)
Definition FieldTypes.hpp:2401
AccessorUnitsMetersPerSecondTag accessor_units
Definition FieldTypes.hpp:2400
Definition FieldTypes.hpp:2412
void SetSpeedDMPH(double aSpeed)
Definition FieldTypes.hpp:2422
double GetSpeedDMPH() const
Definition FieldTypes.hpp:2424
double GetSpeedMetersPerSec() const
Definition FieldTypes.hpp:2425
double accessor_type
Definition FieldTypes.hpp:2414
SpeedField & operator=(double aMPS)
Definition FieldTypes.hpp:2416
void SetSpeedMetersPerSec(double aSpeed)
Definition FieldTypes.hpp:2423
AccessorUnitsMetersPerSecondTag accessor_units
Definition FieldTypes.hpp:2415
Definition FieldTypes.hpp:2639
SquareCircleTypes
Definition FieldTypes.hpp:2642
@ cNO_STATEMENT
Definition FieldTypes.hpp:2643
@ cSQUARE_RECTANGLE
Definition FieldTypes.hpp:2644
@ cCIRCLE_ELLIPTICAL
Definition FieldTypes.hpp:2645
@ cUNDEFINED
Definition FieldTypes.hpp:2646
Definition FieldTypes.hpp:2499
DEFINE_ACCESSORS(StoresTypeField, StoresTypes)
StoresTypes
Definition FieldTypes.hpp:2502
@ cMK_76
Definition FieldTypes.hpp:2577
@ cAGM_65B_MAVERICK_TV
Definition FieldTypes.hpp:2509
@ cCRV_7_UNGUIDED_ROCKET
Definition FieldTypes.hpp:2576
@ cMICA_IR
Definition FieldTypes.hpp:2625
@ cAGM_62_WALLEYE
Definition FieldTypes.hpp:2544
@ cMK_82SE_SNAKE_EYE
Definition FieldTypes.hpp:2539
@ cCBU_81B
Definition FieldTypes.hpp:2527
@ cCBU_78_GATOR_MINE
Definition FieldTypes.hpp:2580
@ cMW1_MKSA_TOR
Definition FieldTypes.hpp:2560
@ cMJU_27
Definition FieldTypes.hpp:2600
@ cMK_40_SEA_MINE_1000LB
Definition FieldTypes.hpp:2603
@ cMK_81SE
Definition FieldTypes.hpp:2537
@ cMK_65_SEA_MINE
Definition FieldTypes.hpp:2610
@ cMICA_EM
Definition FieldTypes.hpp:2571
@ cMK_24
Definition FieldTypes.hpp:2532
@ cR550_MAGIC_II
Definition FieldTypes.hpp:2570
@ cAIM_7_SPARROW
Definition FieldTypes.hpp:2504
@ cAGM_65D_MAVERICK_IR
Definition FieldTypes.hpp:2510
@ cCBU_90
Definition FieldTypes.hpp:2523
@ cGBU_24
Definition FieldTypes.hpp:2582
@ cGBU_22B
Definition FieldTypes.hpp:2531
@ cBLU_1
Definition FieldTypes.hpp:2562
@ cMK_58
Definition FieldTypes.hpp:2602
@ cCBU_93
Definition FieldTypes.hpp:2525
@ cMK_52_SEA_MINE_1200LB
Definition FieldTypes.hpp:2605
@ cBDU_48_PRACTICE_BOMB
Definition FieldTypes.hpp:2574
@ cMK_63
Definition FieldTypes.hpp:2608
@ cGBU_27_LG_BLU_109
Definition FieldTypes.hpp:2583
@ cAGM_62_WALLEYE_II_ER_DL_EO_2400LB
Definition FieldTypes.hpp:2546
@ cJDAM_TRAINING
Definition FieldTypes.hpp:2590
@ cATM_84_HARPOON_TRAINING
Definition FieldTypes.hpp:2597
@ cMK_83_GP_1000LB
Definition FieldTypes.hpp:2540
@ cCBU_103_WCMD_CEM
Definition FieldTypes.hpp:2621
@ cIRIS_T_AIM_SHORT_RANGE
Definition FieldTypes.hpp:2613
@ cNO_STATEMENT
Definition FieldTypes.hpp:2503
@ cAGM_86C_D_CALCM
Definition FieldTypes.hpp:2556
@ cGBU_10_PAVEWAY_MK_84
Definition FieldTypes.hpp:2528
@ cR550_MAGIC_I
Definition FieldTypes.hpp:2569
@ cMK_84_LD_2000LB
Definition FieldTypes.hpp:2541
@ cMK_36_SEA_MINE
Definition FieldTypes.hpp:2534
@ cGBU_31_JDAM_BLU_109
Definition FieldTypes.hpp:2591
@ cBL_755
Definition FieldTypes.hpp:2579
@ cBLU_27_NAPALM
Definition FieldTypes.hpp:2515
@ cGBU_15V_4B
Definition FieldTypes.hpp:2530
@ cCBU_92
Definition FieldTypes.hpp:2524
@ cMK_33
Definition FieldTypes.hpp:2533
@ cAGM_158_JASSM
Definition FieldTypes.hpp:2620
@ cFLARE_TP_400
Definition FieldTypes.hpp:2565
@ cSEA_EAGLE
Definition FieldTypes.hpp:2568
@ cAGM_142_HAVE_NAP
Definition FieldTypes.hpp:2619
@ cAIM_120_AMRAAM
Definition FieldTypes.hpp:2514
@ cGBU_28_LG_BLU_113
Definition FieldTypes.hpp:2584
@ cAGM_88_HARM
Definition FieldTypes.hpp:2513
@ cCBU_97_SFW
Definition FieldTypes.hpp:2629
@ cBLU_109_2000LB_PENETRATOR
Definition FieldTypes.hpp:2615
@ cMJU_37
Definition FieldTypes.hpp:2601
@ cAS30_LASER
Definition FieldTypes.hpp:2626
@ cAGM_78
Definition FieldTypes.hpp:2512
@ cAIM_54_PHOENIX
Definition FieldTypes.hpp:2506
@ cMK_86_BOMB
Definition FieldTypes.hpp:2557
@ cEGBU_27
Definition FieldTypes.hpp:2630
@ cR530
Definition FieldTypes.hpp:2550
@ cCBU_104_WCMD_GATOR
Definition FieldTypes.hpp:2622
@ cMK_41_SEA_MINE_2000LB
Definition FieldTypes.hpp:2604
@ cJSOW_TRAINING
Definition FieldTypes.hpp:2586
@ cGBU_XX_PAVEWAY_II_MK_81
Definition FieldTypes.hpp:2627
@ cBDU_48_PRACTICE_MINE
Definition FieldTypes.hpp:2575
@ cCBU_87_CEM
Definition FieldTypes.hpp:2521
@ cKORMORAN_II
Definition FieldTypes.hpp:2628
@ cM129_2000LB_LEAFLET_CHAFF
Definition FieldTypes.hpp:2611
@ cEGBU_28
Definition FieldTypes.hpp:2631
@ cGBU_16
Definition FieldTypes.hpp:2581
@ cAGM_130_POWERED_STANDOFF_WEAPON
Definition FieldTypes.hpp:2618
@ cS530_SUPER_530F
Definition FieldTypes.hpp:2551
@ cCBU_BL_755
Definition FieldTypes.hpp:2558
@ cAGM_154_JSOW_BLU_108
Definition FieldTypes.hpp:2588
@ cAGM_84H_SLAM_ER
Definition FieldTypes.hpp:2596
@ cMK_82_LD
Definition FieldTypes.hpp:2538
@ cMK_117_750_LB
Definition FieldTypes.hpp:2542
@ cMK_55_SEA_MINE_2100LB
Definition FieldTypes.hpp:2606
@ cGBU_12_PAVEWAY_MK_82
Definition FieldTypes.hpp:2529
@ cKORMORAN
Definition FieldTypes.hpp:2561
@ cAGM_65F_MAVERICK_IR_MAW
Definition FieldTypes.hpp:2593
@ cMK_82_AIR
Definition FieldTypes.hpp:2516
@ cMK_64_SEA_MINE
Definition FieldTypes.hpp:2609
@ cMK_45
Definition FieldTypes.hpp:2535
@ cAGM_45_SHRIKE
Definition FieldTypes.hpp:2507
@ cCBU_2_C_A
Definition FieldTypes.hpp:2563
@ cAGM_65E_MAVERICK_LASER
Definition FieldTypes.hpp:2511
@ cAIM_9X_HIGH_OFF_BORESIGHT
Definition FieldTypes.hpp:2612
@ cAGM_65G_MAVERICK_IR_MAW
Definition FieldTypes.hpp:2594
@ cMK_106_PRACTICE_BOMB
Definition FieldTypes.hpp:2578
@ cASLAM
Definition FieldTypes.hpp:2549
@ cAGM_84E_SLAM
Definition FieldTypes.hpp:2595
@ cMW1_KB_44_TOR
Definition FieldTypes.hpp:2559
@ cAIM_132_ASRAAM
Definition FieldTypes.hpp:2548
@ cBDU_50_PRACTICE_BOMB
Definition FieldTypes.hpp:2614
@ cTALD
Definition FieldTypes.hpp:2598
@ cSUPER_530D_S530D
Definition FieldTypes.hpp:2572
@ cCBU_89_GATOR
Definition FieldTypes.hpp:2522
@ cMC_1_AG
Definition FieldTypes.hpp:2617
@ cAGM_154_JSOW_BLU_97
Definition FieldTypes.hpp:2587
@ cSKY_FLASH
Definition FieldTypes.hpp:2547
@ cFIRST_UNDEFINED
Definition FieldTypes.hpp:2632
@ cBDU_33_PRACTICE_BOMB
Definition FieldTypes.hpp:2573
@ cAIM_9_SIDEWINDER
Definition FieldTypes.hpp:2505
@ cLGTR
Definition FieldTypes.hpp:2585
@ cAGM_84_HARPOON
Definition FieldTypes.hpp:2555
@ cASPIDE
Definition FieldTypes.hpp:2552
@ cMK_56_SEA_MINE_2200LB
Definition FieldTypes.hpp:2607
@ cCBU_421A
Definition FieldTypes.hpp:2526
@ cM_116_A1_A2
Definition FieldTypes.hpp:2564
@ cCBU_49
Definition FieldTypes.hpp:2519
@ cAGM_62_WALLEYE_I_EO_1000LB
Definition FieldTypes.hpp:2545
@ cCBU_59_B_ROCKEYE_II
Definition FieldTypes.hpp:2520
@ cCHF_ALE_40_4
Definition FieldTypes.hpp:2567
@ cAGM_154_JSOW_UNITARY
Definition FieldTypes.hpp:2589
@ cAGM_65A_MAVERICK_TV
Definition FieldTypes.hpp:2508
@ cCBU_105_WCMD_SFW
Definition FieldTypes.hpp:2623
@ cGBU_31_JDAM_MK_84
Definition FieldTypes.hpp:2592
@ cFLARE_ALE_40
Definition FieldTypes.hpp:2566
@ cCBU_24
Definition FieldTypes.hpp:2518
@ cROCKETS
Definition FieldTypes.hpp:2543
@ cMATRA_250_AG
Definition FieldTypes.hpp:2616
@ cSHAFRIR
Definition FieldTypes.hpp:2553
@ cMK_77
Definition FieldTypes.hpp:2536
@ cAGM_12_BULLPUP
Definition FieldTypes.hpp:2554
@ cLUU_2
Definition FieldTypes.hpp:2599
@ cGBU_37_GAM_5000LB
Definition FieldTypes.hpp:2624
@ cBSU_50
Definition FieldTypes.hpp:2517
StoresTypeField & operator=(int aStoreType)
Definition FieldTypes.hpp:2635
DEFINE_ACCESSORS(SubsurfacePlatformActivityField, ActivityType)
ActivityType
Definition FieldTypes.hpp:2070
@ cSHADOWING_INTERVENING
Definition FieldTypes.hpp:2090
@ cTRANSITING
Definition FieldTypes.hpp:2082
@ cELECTRONIC_WARFARE_EW
Definition FieldTypes.hpp:2077
@ cESCORTING
Definition FieldTypes.hpp:2080
@ cCONVENTIONAL_ATTACK
Definition FieldTypes.hpp:2096
@ cNO_STATEMENT
Definition FieldTypes.hpp:2071
@ cANTISUBMARINE_WARFARE_ASW
Definition FieldTypes.hpp:2089
@ cMINELAYING
Definition FieldTypes.hpp:2081
@ cDIRECT_SUPPORT
Definition FieldTypes.hpp:2101
@ cRETURN_TO_BASE_RTB
Definition FieldTypes.hpp:2103
@ cSEARCH_AND_RESCUE_SAR
Definition FieldTypes.hpp:2079
@ cSPECIAL_WEAPONS_ATTACK
Definition FieldTypes.hpp:2083
@ cSURVEILLANCE
Definition FieldTypes.hpp:2078
@ cPATROL
Definition FieldTypes.hpp:2087
@ cSURFACING
Definition FieldTypes.hpp:2084
@ cNONCOMBATANT_OPERATIONS
Definition FieldTypes.hpp:2100
@ cVIDEO_DATA_LINKING_TARGETING
Definition FieldTypes.hpp:2102
@ cANTISURFACE_WARFARE
Definition FieldTypes.hpp:2076
@ cRESET_TO_NO_STATEMENT
Definition FieldTypes.hpp:2104
@ cBOTTOMING
Definition FieldTypes.hpp:2091
@ cSTRIKE_WARFARE
Definition FieldTypes.hpp:2093
@ cOVER_THE_HORIZON_TARGETING_OTHT
Definition FieldTypes.hpp:2073
@ cMINE_WARFARE
Definition FieldTypes.hpp:2098
@ cCLANDESTINE_OPERATIONS
Definition FieldTypes.hpp:2094
@ cTRANSPORT
Definition FieldTypes.hpp:2088
@ cINTELLIGENCE_COLLECTING
Definition FieldTypes.hpp:2086
@ cRECONNAISSANCE
Definition FieldTypes.hpp:2072
@ cSPECIAL_WARFARE
Definition FieldTypes.hpp:2092
@ cMARKING
Definition FieldTypes.hpp:2099
@ cAMPHIBIOUS_WARFARE
Definition FieldTypes.hpp:2085
@ cTRAINING
Definition FieldTypes.hpp:2074
@ cDIVING
Definition FieldTypes.hpp:2075
@ cMINE_COUNTERMEASURES
Definition FieldTypes.hpp:2097
@ cSNORKELING
Definition FieldTypes.hpp:2095
Definition FieldTypes.hpp:2111
PlatformType
Definition FieldTypes.hpp:2114
@ cCONVENTIONAL_AUXILIARY
Definition FieldTypes.hpp:2150
@ cTYPE_I_NUCLEAR
Definition FieldTypes.hpp:2128
@ cNO_STATEMENT
Definition FieldTypes.hpp:2115
@ cDIESEL_ELECTRIC_MISSILE_SUBMARINE
Definition FieldTypes.hpp:2119
@ cATTACK_SUBMARINE
Definition FieldTypes.hpp:2143
@ cCRUISE_MISSILE_LAUNCHER
Definition FieldTypes.hpp:2144
@ cTYPE_III_NUCLEAR
Definition FieldTypes.hpp:2130
@ cCONVENTIONAL_COMMAND_AND_CONTROL
Definition FieldTypes.hpp:2149
@ cTYPE_3_DIESEL
Definition FieldTypes.hpp:2123
@ cTYPE_II_NUCLEAR
Definition FieldTypes.hpp:2129
@ cNON_MILITARY_SUBMERSIBLE
Definition FieldTypes.hpp:2146
@ cTYPE_VII_NUCLEAR
Definition FieldTypes.hpp:2148
@ cTYPE_V_NUCLEAR
Definition FieldTypes.hpp:2132
@ cSEABED_PIPELINE
Definition FieldTypes.hpp:2139
@ cSURFACE_VESSEL
Definition FieldTypes.hpp:2134
@ cMINE
Definition FieldTypes.hpp:2136
@ cTYPE_2_DIESEL
Definition FieldTypes.hpp:2122
@ cNUCLEAR_BALLISTIC_MISSILE_SUBMARINE
Definition FieldTypes.hpp:2127
@ cNUCLEAR_MISSILE_SUBMARINE
Definition FieldTypes.hpp:2126
@ cRESET_TO_NO_STATEMENT
Definition FieldTypes.hpp:2153
@ cDECOY
Definition FieldTypes.hpp:2137
@ cTORPEDO
Definition FieldTypes.hpp:2135
@ cNUCLEAR_ATTACK_SUBMARINE
Definition FieldTypes.hpp:2125
@ cNON_SUBMARINE
Definition FieldTypes.hpp:2133
@ cTYPE_1_DIESEL
Definition FieldTypes.hpp:2121
@ cKNUCKLE_WAKE
Definition FieldTypes.hpp:2142
@ cTYPE_VI_NUCLEAR
Definition FieldTypes.hpp:2147
@ cDIESEL_ELECTRIC_SUBMARINE_GENERAL
Definition FieldTypes.hpp:2117
@ cSUBMARINE_PROPULSION_UNKNOWN
Definition FieldTypes.hpp:2116
@ cNUCLEAR_COMMAND_AND_CONTROL
Definition FieldTypes.hpp:2151
@ cFISH_MARINE_LIFE
Definition FieldTypes.hpp:2140
@ cWRECK
Definition FieldTypes.hpp:2138
@ cMISSILE_CONTROL_UNIT
Definition FieldTypes.hpp:2152
@ cSWIMMER_FROGMAN
Definition FieldTypes.hpp:2141
@ cTYPE_IV_NUCLEAR
Definition FieldTypes.hpp:2131
@ cDIESEL_ELECTRIC_BALLISTIC_MISSILE_SUBMARINE
Definition FieldTypes.hpp:2120
@ cNUCLEAR_SUBMARINE_GENERAL
Definition FieldTypes.hpp:2124
@ cDIESEL_ELECTRIC_ATTACK_SUBMARINE
Definition FieldTypes.hpp:2118
@ cPINNACLE_SEAMOUNTAIN
Definition FieldTypes.hpp:2145
DEFINE_ACCESSORS(SubsurfacePlatformField, PlatformType)
Definition FieldTypes.hpp:2652
DEFINE_ACCESSORS(SystemStatusField, StatusTypes)
StatusTypes
Definition FieldTypes.hpp:2655
@ cNOT_OPERATIONAL
Definition FieldTypes.hpp:2658
@ cDEGRADED
Definition FieldTypes.hpp:2657
@ cNO_STATEMENT
Definition FieldTypes.hpp:2656
@ cOPERATIONAL
Definition FieldTypes.hpp:2659
Definition FieldTypes.hpp:2160
DefenseTypes
Definition FieldTypes.hpp:2163
@ cAIRCRAFT
Definition FieldTypes.hpp:2165
@ cANTIAIRCRAFT_ARTILLERY
Definition FieldTypes.hpp:2168
@ cSMALL_ARMS
Definition FieldTypes.hpp:2169
@ cNO_STATEMENT
Definition FieldTypes.hpp:2164
@ cSURFACE_TO_AIR_MISSILE
Definition FieldTypes.hpp:2166
@ cNO_KNOWN_DEFENSES
Definition FieldTypes.hpp:2167
Definition FieldTypes.hpp:2175
TargetTypes
Definition FieldTypes.hpp:2178
@ cWARSHIP_SMALL
Definition FieldTypes.hpp:2209
@ cCONVOY
Definition FieldTypes.hpp:2186
@ cAIRPORT_FACILITIES
Definition FieldTypes.hpp:2203
@ _AIRCRAFT
Definition FieldTypes.hpp:2195
@ cPETROLEUM
Definition FieldTypes.hpp:2181
@ cPOWER_PLANT
Definition FieldTypes.hpp:2200
@ cANTIAIRCRAFT_ARTILLERY_AAA
Definition FieldTypes.hpp:2193
@ cWARSHIP_MED
Definition FieldTypes.hpp:2208
@ cCOMMUNICATIONS
Definition FieldTypes.hpp:2184
@ cSUPPLY_DEPOT
Definition FieldTypes.hpp:2202
@ cTUNNEL
Definition FieldTypes.hpp:2205
@ cINDUSTRIAL_SITE
Definition FieldTypes.hpp:2201
@ cARMORED_VEHICLES
Definition FieldTypes.hpp:2190
@ cNO_STATEMENT
Definition FieldTypes.hpp:2179
@ cDOCK_AREA
Definition FieldTypes.hpp:2188
@ _AND_LUBRICANTS_POL
Definition FieldTypes.hpp:2183
@ cOTHER_SURFACE_MARITIME_VESSELS
Definition FieldTypes.hpp:2210
@ cGUN_EMPLACEMENT
Definition FieldTypes.hpp:2198
@ _OIL
Definition FieldTypes.hpp:2182
@ cRAIL
Definition FieldTypes.hpp:2191
@ cWARSHIP_LARGE
Definition FieldTypes.hpp:2207
@ cDAM
Definition FieldTypes.hpp:2206
@ cAIR_DEFENSES
Definition FieldTypes.hpp:2194
@ cVEHICLES
Definition FieldTypes.hpp:2185
@ cSURFACE_TO_AIR_MISSILE_SAM
Definition FieldTypes.hpp:2192
@ cPILL_BOX_BUNKER
Definition FieldTypes.hpp:2197
@ cARTILLERY_MORTARS
Definition FieldTypes.hpp:2196
@ cAIRBASE
Definition FieldTypes.hpp:2211
@ cFORTIFICATION
Definition FieldTypes.hpp:2199
@ cROAD
Definition FieldTypes.hpp:2204
@ cTROOPS
Definition FieldTypes.hpp:2189
@ cSHIPPING
Definition FieldTypes.hpp:2187
@ cBRIDGE
Definition FieldTypes.hpp:2180
Definition FieldTypes.hpp:2666
TextTypes
Definition FieldTypes.hpp:2669
@ cASSOCIATED_TEXT_C2
Definition FieldTypes.hpp:2671
@ cUNDEFINED
Definition FieldTypes.hpp:2673
@ cASSOCIATED_TEXT_C2_C3
Definition FieldTypes.hpp:2672
@ cNO_ASSOCIATED_TEXT
Definition FieldTypes.hpp:2670
Definition FieldTypes.hpp:2684
ThreatEnvironmentTypes
Definition FieldTypes.hpp:2687
@ cSUBSURFACE_MARITIME
Definition FieldTypes.hpp:2692
@ cNO_STATEMENT
Definition FieldTypes.hpp:2688
@ cMINES
Definition FieldTypes.hpp:2691
@ cLAND_GROUND
Definition FieldTypes.hpp:2693
@ cSURFACE_MARITIME
Definition FieldTypes.hpp:2690
@ cAIR
Definition FieldTypes.hpp:2689
@ cUNDEFINED
Definition FieldTypes.hpp:2695
@ cSPACE
Definition FieldTypes.hpp:2694
Definition FieldTypes.hpp:2701
ThreatEvaluationTypes
Definition FieldTypes.hpp:2704
@ cTHREAT
Definition FieldTypes.hpp:2708
@ cPENDING
Definition FieldTypes.hpp:2705
@ cNON_THREAT
Definition FieldTypes.hpp:2707
@ cFRIEND
Definition FieldTypes.hpp:2709
@ cUNDEFINED
Definition FieldTypes.hpp:2710
@ cUNKNOWN
Definition FieldTypes.hpp:2706
Definition FieldTypes.hpp:2716
PostureType
Definition FieldTypes.hpp:2719
@ cUNKNOWN
Definition FieldTypes.hpp:2723
@ cCANCEL
Definition FieldTypes.hpp:2724
@ cLAUNCHED_FIRED
Definition FieldTypes.hpp:2722
@ cSEARCH_SURVEILLANCE
Definition FieldTypes.hpp:2720
@ cDIRECTED_TO_ENGAGE
Definition FieldTypes.hpp:2725
@ cREADY_TO_LAUNCH_FIRE
Definition FieldTypes.hpp:2721
DEFINE_ACCESSORS(ThreatPostureField, PostureType)
Definition FieldTypes.hpp:2731
DEFINE_ACCESSORS(ThreatWarningField, ThreatWarningTypes)
ThreatWarningTypes
Definition FieldTypes.hpp:2734
@ cNO_STATEMENT
Definition FieldTypes.hpp:2735
@ cWHITE
Definition FieldTypes.hpp:2736
@ cRED
Definition FieldTypes.hpp:2738
@ cYELLOW
Definition FieldTypes.hpp:2737
Definition FieldTypes.hpp:2745
WeaponTypes
Definition FieldTypes.hpp:2748
@ cACTIVE_AAM
Definition FieldTypes.hpp:2752
@ cHEAT_AAM
Definition FieldTypes.hpp:2750
@ cNO_STATEMENT
Definition FieldTypes.hpp:2749
@ cHARM
Definition FieldTypes.hpp:2753
@ cRADAR_AAM
Definition FieldTypes.hpp:2751
DEFINE_ACCESSORS(ThreatWeaponField, WeaponTypes)
Definition FieldTypes.hpp:2758
TimeTypes
Definition FieldTypes.hpp:2761
@ cTIME_ON_TARGET
Definition FieldTypes.hpp:2763
@ cCHANGED_TIME_ON_TARGET
Definition FieldTypes.hpp:2766
@ cNO_STATEMENT
Definition FieldTypes.hpp:2762
@ cILLUMINATION_ON
Definition FieldTypes.hpp:2764
@ cINITIAL_POINT_TIME
Definition FieldTypes.hpp:2765
Definition FieldTypes.hpp:2772
TimeFunctionTypes
Definition FieldTypes.hpp:2775
@ cDEPARTURE_TIME
Definition FieldTypes.hpp:2780
@ cACTIVATION_TIME
Definition FieldTypes.hpp:2777
@ cNO_STATEMENT
Definition FieldTypes.hpp:2776
@ cDEACTIVATION_TIME
Definition FieldTypes.hpp:2778
@ cOP_TIME
Definition FieldTypes.hpp:2783
@ cARRIVAL_TIME
Definition FieldTypes.hpp:2779
@ cTIME_POINT_ESTABLISHED
Definition FieldTypes.hpp:2781
@ cNON_OP_TIME
Definition FieldTypes.hpp:2782
Definition FieldTypes.hpp:2789
DEFINE_ACCESSORS(TimeFunctionInterceptField, TimeFunctionInterceptTypes)
TimeFunctionInterceptTypes
Definition FieldTypes.hpp:2792
@ cTIME_OF_ACTUAL_INTERCEPT
Definition FieldTypes.hpp:2795
@ cTIME_OF_PREDICTED_INTERCEPT
Definition FieldTypes.hpp:2794
@ cUNDEFINED4
Definition FieldTypes.hpp:2797
@ cUNDEFINED5
Definition FieldTypes.hpp:2798
@ cNO_STATEMENT
Definition FieldTypes.hpp:2793
@ cUNDEFINED7
Definition FieldTypes.hpp:2800
@ cUNDEFINED3
Definition FieldTypes.hpp:2796
@ cUNDEFINED6
Definition FieldTypes.hpp:2799
Definition FieldTypes.hpp:2806
DEFINE_ACCESSORS(TimeIndicatorField, TimeIndicatorTypes)
TimeIndicatorTypes
Definition FieldTypes.hpp:2809
@ cTIME_OF_EXTRAPOLATION
Definition FieldTypes.hpp:2812
@ cTIME_OF_OBSERVATION
Definition FieldTypes.hpp:2811
@ cNO_STATEMENT
Definition FieldTypes.hpp:2810
@ cGREATER_THAN_1_HOUR
Definition FieldTypes.hpp:2814
@ cTRACK_AGE
Definition FieldTypes.hpp:2813
Definition FieldTypes.hpp:2826
void SetTimeUncertainty(double aTimeNS)
Definition FieldTypes.cpp:924
void SetNetTimeReference()
Definition FieldTypes.hpp:2830
double GetTimeUncertainty() const
Definition FieldTypes.cpp:942
Definition FieldTypes.hpp:2834
DEFINE_ACCESSORS(TimeReportField, TimeReportTypes)
TimeReportTypes
Definition FieldTypes.hpp:2837
@ cDEPART_STATION
Definition FieldTypes.hpp:2842
@ cTIME_REMAINING_ON_STATION
Definition FieldTypes.hpp:2841
@ cNO_STATEMENT
Definition FieldTypes.hpp:2838
@ cUNDEFINED
Definition FieldTypes.hpp:2844
@ cTIME_OF_REPORT
Definition FieldTypes.hpp:2839
@ cTIME_ON_TARGET
Definition FieldTypes.hpp:2843
@ cARRIVE_ON_STATION
Definition FieldTypes.hpp:2840
Definition FieldTypes.hpp:2820
Definition FieldTypes.hpp:2912
TrackMgmtStrengthTypes
Definition FieldTypes.hpp:2915
@ c51_TRUE_70_VEHICLES
Definition FieldTypes.hpp:2928
@ c71_THRU_100_VEHICLES
Definition FieldTypes.hpp:2929
@ c101_THRU_200_VEHICLES
Definition FieldTypes.hpp:2930
@ c4_THRU_5_VEHICLES
Definition FieldTypes.hpp:2920
@ cGREATER_THAN_200_VEHICLES
Definition FieldTypes.hpp:2931
@ c41_THRU_50_VEHICLES
Definition FieldTypes.hpp:2927
@ c3_VEHICLES
Definition FieldTypes.hpp:2919
@ c1_VEHICLE
Definition FieldTypes.hpp:2917
@ c2_VEHICLES
Definition FieldTypes.hpp:2918
@ c11_THRU_15_VEHICLES
Definition FieldTypes.hpp:2923
@ c6_THRU_7_VEHICLES
Definition FieldTypes.hpp:2921
@ c8_THRU_10_VEHICLES
Definition FieldTypes.hpp:2922
@ c31_THRU_40_VEHICLES
Definition FieldTypes.hpp:2926
@ c16_THRU_20_VEHICLES
Definition FieldTypes.hpp:2924
@ cNO_STATEMENT
Definition FieldTypes.hpp:2916
@ c21_THRU_30_VEHICLES
Definition FieldTypes.hpp:2925
DEFINE_ACCESSORS(TrackMgmtStrengthField, TrackMgmtStrengthTypes)
void SetTrackNumber(const std::string aTNO)
Definition FieldTypes.cpp:952
TrackNumberField & operator=(const std::string &aTNO)
Definition FieldTypes.hpp:2870
static void GetTrackNumberString(int aTNO, std::string &aTNO_String)
Definition FieldTypes.cpp:1020
std::string accessor_type
Definition FieldTypes.hpp:2868
TrackNumberField()
Definition FieldTypes.hpp:2867
Definition FieldTypes.hpp:2903
double GetUncertaintySquareFeet() const
Definition FieldTypes.cpp:1142
double GetDistance95CEP() const
Definition FieldTypes.cpp:1147
double GetUncertaintySquareMeters() const
Definition FieldTypes.cpp:1158
void SetUncertaintySquareFeet(double aValue)
Definition FieldTypes.cpp:1129
Definition FieldTypes.hpp:2893
double GetUncertaintySquareMiles() const
Definition FieldTypes.cpp:1105
double GetDistance95CEP() const
Definition FieldTypes.cpp:1117
double GetUncertaintySquareMeters() const
Definition FieldTypes.cpp:1110
void SetUncertaintySquareMiles(double aValue)
'Data miles' = 6000 ft
Definition FieldTypes.cpp:1092
Definition FieldTypes.hpp:2956
int accessor_type
Definition FieldTypes.hpp:2958
bool IsManyUnits() const
Definition FieldTypes.hpp:2963
bool IsFewUnits() const
Definition FieldTypes.hpp:2962
TrackStrengthField & operator=(int aNumUnits)
Definition FieldTypes.cpp:1183
bool IsGreaterThan12() const
Definition FieldTypes.hpp:2964
Definition FieldTypes.hpp:2851
TrackingStatusTypes
Definition FieldTypes.hpp:2854
@ cNOT_UNDER_TRACK
Definition FieldTypes.hpp:2856
@ cNO_STATEMENT
Definition FieldTypes.hpp:2855
@ cUNDEFINED
Definition FieldTypes.hpp:2858
@ cTN_OBJECTIVE_UNDER_TRACK
Definition FieldTypes.hpp:2857
DEFINE_ACCESSORS(TrackingStatusField, TrackingStatusTypes)
bool IsInvalid() const
Definition FieldTypes.hpp:2990
TransverseMercatorCoordinateField & operator=(double aMeters)
Definition FieldTypes.hpp:2984
double accessor_type
Definition FieldTypes.hpp:2983
bool IsInvalid() const
Definition FieldTypes.hpp:2977
TransverseMercatorGridCoordinateField & operator=(char aGridCoord)
Definition FieldTypes.hpp:2971
char accessor_type
Definition FieldTypes.hpp:2970
Definition FieldTypes.hpp:2994
DEFINE_ACCESSORS(VectorField, VectorType)
VectorType
Definition FieldTypes.hpp:2997
@ cREVERT_TO_VOICE
Definition FieldTypes.hpp:3004
@ cFIELD_CONDITION_IMC
Definition FieldTypes.hpp:3014
@ cCOMMAND_ALTITUDE_CHANGE
Definition FieldTypes.hpp:3007
@ cNO_STATEMENT
Definition FieldTypes.hpp:2998
@ cCOLLISION_CUT_OFF_VECTOR
Definition FieldTypes.hpp:3018
@ cVISUAL_ID_TARGET_VECTOR
Definition FieldTypes.hpp:3017
@ cJOIN_UP_RENDEZVOUS
Definition FieldTypes.hpp:3015
@ cCV_RECOVERY_CASE_3
Definition FieldTypes.hpp:3012
@ cFIELD_CONDITION_VMC
Definition FieldTypes.hpp:3013
@ cCOURSE_CHANGE_WARNING
Definition FieldTypes.hpp:3002
@ cBUG_OUT_HEADING
Definition FieldTypes.hpp:3009
@ cNOT_UNDER_COMMAND
Definition FieldTypes.hpp:3016
@ cSTERN_VECTOR
Definition FieldTypes.hpp:3020
@ cCV_RECOVERY_CASE_2
Definition FieldTypes.hpp:3011
@ cCOMMAND_CONTROL
Definition FieldTypes.hpp:3003
@ cCOMMAND_COURSE_CHANGE
Definition FieldTypes.hpp:3006
@ cREFUEL_VECTOR
Definition FieldTypes.hpp:3022
@ cCOMMAND_SPEED_CHANGE
Definition FieldTypes.hpp:3008
@ cLANDING_CHECKLIST
Definition FieldTypes.hpp:3005
@ cORBIT_VECTOR
Definition FieldTypes.hpp:3021
@ cCV_RECOVERY_CASE_1
Definition FieldTypes.hpp:3010
@ cPURSUIT_VECTOR
Definition FieldTypes.hpp:3019
@ cSPEED_CHANGE_WARNING
Definition FieldTypes.hpp:3001
@ cALTITUDE_CHANGE_WARNING
Definition FieldTypes.hpp:3000
@ cTO_WAYPOINT
Definition FieldTypes.hpp:2999
Definition FieldTypes.hpp:3029
EngagementStatusTypes
Definition FieldTypes.hpp:3032
@ cEFFECTIVE_TARGET_DESTROYED_GRAND_SLAM
Definition FieldTypes.hpp:3038
@ cHEADS_UP
Definition FieldTypes.hpp:3042
@ cCOVERING
Definition FieldTypes.hpp:3047
@ cINVESTIGATING_INTERROGATING
Definition FieldTypes.hpp:3044
@ cFIRING_MISSILE_IN_FLIGHT_ENGAGING_TO_DESTROY
Definition FieldTypes.hpp:3037
@ cBATTLE_DAMAGE_ASSESSMENT_UNKNOWN
Definition FieldTypes.hpp:3048
@ cENGAGEMENT_INTERRUPTED
Definition FieldTypes.hpp:3043
@ cSHADOWING
Definition FieldTypes.hpp:3045
@ cENGAGEMENT_BROKEN
Definition FieldTypes.hpp:3041
@ cNO_STATEMENT
Definition FieldTypes.hpp:3033
@ cNOT_EFFECTIVE
Definition FieldTypes.hpp:3040
@ cRECOMMEND_REATTACK
Definition FieldTypes.hpp:3034
@ cWEAPON_ASSIGNED
Definition FieldTypes.hpp:3035
@ cINTERVENING
Definition FieldTypes.hpp:3046
@ cPARTIALLY_EFFECTIVE
Definition FieldTypes.hpp:3039
@ cTRACKING_LOCKED_ON_READY_TO_FIRE_BIRD_AFFIRM
Definition FieldTypes.hpp:3036
DEFINE_ACCESSORS(WeaponEngagementStatusField, EngagementStatusTypes)
Definition FieldTypes.hpp:3055
WeaponTypes
Definition FieldTypes.hpp:3058
@ cCHAFF
Definition FieldTypes.hpp:3072
@ cDECEPTION_JAMMER
Definition FieldTypes.hpp:3075
@ cANTISUBMARINE_WARFARE_MISSILE
Definition FieldTypes.hpp:3065
@ cDEPTH_CHARGE_DEPTH_BOMB
Definition FieldTypes.hpp:3066
@ cTORPEDO
Definition FieldTypes.hpp:3067
@ cSURFACE_TO_SURFACE_MISSILE_SSM
Definition FieldTypes.hpp:3061
@ cINFRARED_DECOY
Definition FieldTypes.hpp:3071
@ cBEAM_WEAPON
Definition FieldTypes.hpp:3070
@ cCONVENTIONAL_SHRT_RNG_MISSILE_OR_GUNS
Definition FieldTypes.hpp:3063
@ cNO_STATEMENT
Definition FieldTypes.hpp:3059
@ cAIR_TO_SURFACE_MISSILE_ASM
Definition FieldTypes.hpp:3077
@ cANTISUBMARINE_WARFARE_HELICOPTER
Definition FieldTypes.hpp:3064
@ cLASER
Definition FieldTypes.hpp:3069
@ cBARRAGE_JAMMER
Definition FieldTypes.hpp:3074
@ cINTERCEPTOR
Definition FieldTypes.hpp:3076
@ cSURFACE_TO_AIR_MISSILE_SAM
Definition FieldTypes.hpp:3060
@ cFIXED_WING_ANTISUBMARINE_WARFARE_AIRCRAFT
Definition FieldTypes.hpp:3068
@ cSPOT_JAMMER
Definition FieldTypes.hpp:3073
@ cAIRCRAFT
Definition FieldTypes.hpp:3062
DEFINE_ACCESSORS(WeaponSystemField, WeaponTypes)
Definition FieldTypes.hpp:3084
WeaponTypes
Definition FieldTypes.hpp:3087
@ cAIRCRAFT
Definition FieldTypes.hpp:3089
@ cMISSILE
Definition FieldTypes.hpp:3090
@ cCONVENTIONAL
Definition FieldTypes.hpp:3091
@ cALL_WEAPON_SYSTEMS
Definition FieldTypes.hpp:3088
Definition FieldTypes.hpp:331
Definition ComputerPart.hpp:45
IntegerFieldNS< 7, NoStatementMax > ControlChannelField
Definition FieldTypes.hpp:1139
LatitudeField< 21 > TgtLatitudeField
Definition FieldTypes.hpp:2679
void WSF_L16_EXPORT Unpack(const char *aBuf, unsigned int &aData, int start, int stop)
Definition MessagePacking.cpp:95
double ElevationAngleField_ExtractDegrees(unsigned aValue, unsigned aMid)
Definition FieldTypes.cpp:398
LongitudeField< 22 > TgtLongitudeField
Definition FieldTypes.hpp:2681
IntegerFieldNS< 4, NoStatementZero > RecurrenceRateField
Definition FieldTypes.hpp:2287
int ElevationAngleField_ConvertToValue(double aAngle, unsigned aMax, unsigned aMid)
Definition FieldTypes.cpp:378
void FormatEnumerationString(std::string &aEnum)
Definition FieldTypes.cpp:27
NormalField< 12, NoStatementZero > Mode3CodeField
Definition FieldTypes.hpp:1829
void WSF_L16_EXPORT Pack(char *aBuf, unsigned int aData, int start, int stop)
Definition MessagePacking.cpp:34
IntegerFieldNS< 3, NoStatementZero > ProbabilityOfKillField
Definition FieldTypes.hpp:2050
NormalField< 12, NoStatementZero > Mode2CodeField
Definition FieldTypes.hpp:1827
IntegerFieldNS< 15, NoStatementMax > TrackNumberAddresseeField
Definition FieldTypes.hpp:2890
double DataMilesToMeters(double aDataMiles)
Data miles to Meters.
Definition NumericConversion.hpp:59
double KilogramsToPounds(double aKg)
Kilograms to Pounds.
Definition NumericConversion.hpp:99
double FeetToMeters(double aFeet)
Feet to Meters.
Definition NumericConversion.hpp:24
double MetersToDataMiles(double aMeters)
Meters to Data miles.
Definition NumericConversion.hpp:44
double RadiansToDeg(double aRadians)
Radians to Degrees.
Definition NumericConversion.hpp:29
double DMPHToMetersPerSec(double aMPH)
Data miles per hour to Meters per second.
Definition NumericConversion.hpp:89
double NormalizeAngle0_360(double aAngle)
Definition NumericConversion.hpp:109
double MetersToFeet(double aMeters)
Meters to Feet.
Definition NumericConversion.hpp:19
double PoundsToKilograms(double aPounds)
Pounds to Kilograms.
Definition NumericConversion.hpp:104
double DegToRadians(double aDegrees)
Degrees to Radians.
Definition NumericConversion.hpp:34
double MetersPerSecToDMPH(double aMPS)
Meters per second to Data miles per hour.
Definition NumericConversion.hpp:74
This file should be included prior to defining a message. Currently there is a limit of 32 fields per...
Definition AllMessages.hpp:55
static const UtInput::ValueType cUNIT_TYPE
Definition FieldTypes.hpp:119
static const char * GetName()
Definition FieldTypes.hpp:120
Definition FieldTypes.hpp:128
static const UtInput::ValueType cUNIT_TYPE
Definition FieldTypes.hpp:129
static const char * GetName()
Definition FieldTypes.hpp:130
Definition FieldTypes.hpp:133
static const char * GetName()
Definition FieldTypes.hpp:135
static const UtInput::ValueType cUNIT_TYPE
Definition FieldTypes.hpp:134
Definition FieldTypes.hpp:138
static const char * GetName()
Definition FieldTypes.hpp:140
static const UtInput::ValueType cUNIT_TYPE
Definition FieldTypes.hpp:139
static const UtInput::ValueType cUNIT_TYPE
Definition FieldTypes.hpp:114
static const char * GetName()
Definition FieldTypes.hpp:115
Definition FieldTypes.hpp:108
static const UtInput::ValueType cUNIT_TYPE
Definition FieldTypes.hpp:109
static const char * GetName()
Definition FieldTypes.hpp:110
Definition FieldTypes.hpp:123
static const char * GetName()
Definition FieldTypes.hpp:125
static const UtInput::ValueType cUNIT_TYPE
Definition FieldTypes.hpp:124
FieldBase< 11 >::value_type value_type
Definition FieldTypes.hpp:743
static value_type Convert(double aAlt)
Definition FieldTypes.hpp:744
static double Convert(value_type aVal)
Definition FieldTypes.hpp:745
static value_type Convert(double aAlt)
Definition FieldTypes.hpp:700
FieldBase< 12 >::value_type value_type
Definition FieldTypes.hpp:699
static double Convert(value_type aVal)
Definition FieldTypes.hpp:719
static value_type Convert(double aAlt)
Definition FieldTypes.hpp:669
static double Convert(value_type aVal)
Definition FieldTypes.hpp:686
FieldBase< 13 >::value_type value_type
Definition FieldTypes.hpp:668
FieldBase< 18 >::value_type value_type
Definition FieldTypes.hpp:624
static value_type Convert(double aAlt)
Definition FieldTypes.hpp:625
static double Convert(value_type aVal)
Definition FieldTypes.hpp:644
static const int value
Definition FieldTypes.hpp:341
static const int value
Definition FieldTypes.hpp:346
static const int value
Definition FieldTypes.hpp:351
compute the no-statement value based on bit-count
Definition FieldTypes.hpp:335
static const int value
Definition FieldTypes.hpp:336
A field defined as disused.
Definition FieldTypes.hpp:299
Definition FieldTypes.hpp:311
Definition FieldTypes.hpp:314
Definition FieldTypes.hpp:320
use a specific no-statement value
Definition FieldTypes.hpp:326
static const int value
Definition FieldTypes.hpp:327
Definition FieldTypes.hpp:317
unsigned char integer_type
Definition FieldTypes.hpp:178
unsigned short integer_type
Definition FieldTypes.hpp:183
unsigned int integer_type
Definition FieldTypes.hpp:188
Definition FieldTypes.hpp:195
SmallIntTypeHelper<(_BITS_ >8)+(_BITS_ >16)+(_BITS_ >32)>::integer_type integer_type
Definition FieldTypes.hpp:196
A field defined as spare.
Definition FieldTypes.hpp:305
Copyrights Multiple, All Rights Reserved