15#ifndef WSFPPROXYBASICVALUES_HPP
16#define WSFPPROXYBASICVALUES_HPP
25#include "UtAngleR.hpp"
26#include "UtAngleRate.hpp"
27#include "UtDataSize.hpp"
28#include "UtLatPos.hpp"
29#include "UtLength.hpp"
30#include "UtLonPos.hpp"
32#include "UtStringUtil.hpp"
34#include "UtUnitTypes.hpp"
83#ifdef WSF_PARSE_DEBUG_MEMORY
99 Position(
const UtLatPos&,
const UtLonPos&);
101 std::string ToString()
const;
104 void CopyValue(
const Position& aRhs);
105 bool Equal(
const Position& aRhs)
const;
106 bool Less(
const Position& aRhs)
const;
107 bool SetFromString(
const std::string& aString);
108 void SetMGRS(
const std::string& aMGRS);
110 UtLatPos GetLatitude()
const;
111 UtLonPos GetLongitude()
const;
116 mLatFormat = aLat.GetFormat();
123 mLonFormat = aLon.GetFormat();
128 if (mFormat != aRhs.mFormat)
138 return memcmp((
void*)
mMGRS, (
void*)aRhs.
mMGRS, 16) == 0;
143 std::string PrintLatLon(
bool aShowPositionKeyword)
const;
146 if (mFormat != cLAT_LON)
149 mLatitude = mLongitude = 0.0;
176 void CopyValue(
const Length2& aRhs);
177 bool Equal(
const Length2& aRhs)
const;
178 bool Less(
const Length2& aRhs)
const;
179 bool SetFromString(
const std::string& aString);
197 void CopyValue(
const Length3& aRhs);
198 bool Equal(
const Length3& aRhs)
const;
199 bool Less(
const Length3& aRhs)
const;
200 bool SetFromString(
const std::string& aString);
224 void SetFromString(
const std::string& aText);
247 operator bool() {
return mValue; }
257 mValue = aRhs.mValue;
270 return mValue == aRhs.mValue;
272 bool Less(
const Bool& aRhs)
const {
return mValue < aRhs.mValue; }
289template<
typename T, WsfProxy::ValueKind PROXY_TYPE_ID>
302 std::stringstream ss(aText);
317 std::stringstream ss;
361template<
typename T, WsfProxy::ValueKind PROXY_TYPE_ID>
383template<
typename T, WsfProxy::ValueKind PROXY_TYPE_ID>
500 return std::string();
535 return std::string();
@ cMDB_PROXY_BASIC_VALUE
Definition WsfParseDebugMarkers.hpp:23
Definition WsfParseNode.hpp:61
static std::string GetNodeString(WsfParseNode *aNodePtr)
Definition WsfParseNode.cpp:42
Definition WsfParseRule.hpp:131
bool operator!=(const BasicValueT< T, PROXY_TYPE_ID > &aRhs) const
Definition WsfPProxyBasicValues.hpp:355
BasicValueT()
Definition WsfPProxyBasicValues.hpp:296
void CopyValue(const BasicValueT< T, PROXY_TYPE_ID > &aRhs)
Definition WsfPProxyBasicValues.hpp:328
bool Equal(const BasicValueT< T, PROXY_TYPE_ID > &aRhs) const
Definition WsfPProxyBasicValues.hpp:334
void Read(WsfParseNode *aNodePtr)
Definition WsfPProxyBasicValues.hpp:306
static const WsfProxy::ValueKind cPROXY_TYPE_ID
Definition WsfPProxyBasicValues.hpp:294
T & GetValue()
Definition WsfPProxyBasicValues.hpp:347
T mValue
Definition WsfPProxyBasicValues.hpp:358
void SetValue(const T &aValue)
Definition WsfPProxyBasicValues.hpp:349
T ContainedBasicType
Definition WsfPProxyBasicValues.hpp:293
bool operator==(const BasicValueT< T, PROXY_TYPE_ID > &aRhs) const
Definition WsfPProxyBasicValues.hpp:354
std::string ToString() const
Definition WsfPProxyBasicValues.hpp:315
void SetFromString(const std::string &aText)
Definition WsfPProxyBasicValues.hpp:300
bool Less(const BasicValueT< T, PROXY_TYPE_ID > &aRhs) const
Definition WsfPProxyBasicValues.hpp:346
const T & GetValue() const
Definition WsfPProxyBasicValues.hpp:348
std::string Write(WsfParseRule *)
Definition WsfPProxyBasicValues.hpp:314
void SetUnset()
Definition WsfPProxyBasicValues.hpp:65
void SetInherited(bool aIsInherited)
Definition WsfPProxyBasicValues.hpp:68
BasicValue()
Definition WsfPProxyBasicValues.hpp:49
void ValueAsssigned()
Definition WsfPProxyBasicValues.hpp:81
bool IsSet() const noexcept
Definition WsfPProxyBasicValues.hpp:63
bool IsUnset() const
Definition WsfPProxyBasicValues.hpp:61
bool IsInherited() const
Definition WsfPProxyBasicValues.hpp:67
ValueFlags
Definition WsfPProxyBasicValues.hpp:54
@ cCOPY_BITS
Definition WsfPProxyBasicValues.hpp:58
@ cVALUE_BITS
Definition WsfPProxyBasicValues.hpp:57
@ cVALUE_INHERITED
Definition WsfPProxyBasicValues.hpp:55
@ cVALUE_UNSET
Definition WsfPProxyBasicValues.hpp:56
void ClearUnset()
Definition WsfPProxyBasicValues.hpp:66
unsigned char mBasicValueFlags
Definition WsfPProxyBasicValues.hpp:82
std::string ToString() const
Definition WsfPProxyBasicValues.hpp:234
bool Equal(const Bool &aRhs) const
Definition WsfPProxyBasicValues.hpp:260
void CopyValue(const Bool &aRhs)
Definition WsfPProxyBasicValues.hpp:255
bool operator!=(const Bool &aRhs) const
Definition WsfPProxyBasicValues.hpp:280
bool Less(const Bool &aRhs) const
Definition WsfPProxyBasicValues.hpp:272
Bool()
Definition WsfPProxyBasicValues.hpp:214
bool operator=(bool aRhs)
Definition WsfPProxyBasicValues.hpp:248
static const WsfProxy::ValueKind cPROXY_TYPE_ID
Definition WsfPProxyBasicValues.hpp:213
bool Negate()
Definition WsfPProxyBasicValues.hpp:273
bool IsTrue()
Definition WsfPProxyBasicValues.hpp:278
bool operator==(const Bool &aRhs) const
Definition WsfPProxyBasicValues.hpp:279
Bool(bool aValue)
Definition WsfPProxyBasicValues.hpp:218
void SetFromString(const std::string &aText)
Definition WsfPProxyBasicValues.cpp:36
void Read(WsfParseNode *aNodePtr)
Definition WsfPProxyBasicValues.hpp:225
std::string Write(WsfParseRule *)
Definition WsfPProxyBasicValues.hpp:233
Definition WsfPProxyBasicValues.hpp:167
bool operator==(const Length2 &aRhs) const
Definition WsfPProxyBasicValues.hpp:180
bool operator!=(const Length2 &aRhs) const
Definition WsfPProxyBasicValues.hpp:181
double mX
Definition WsfPProxyBasicValues.hpp:183
static const WsfProxy::ValueKind cPROXY_TYPE_ID
Definition WsfPProxyBasicValues.hpp:169
std::string ToString() const
Definition WsfPProxyBasicValues.cpp:343
double mY
Definition WsfPProxyBasicValues.hpp:184
unsigned char mFormat
Definition WsfPProxyBasicValues.hpp:182
Length2()
Definition WsfPProxyBasicValues.cpp:336
bool Equal(const Length2 &aRhs) const
Definition WsfPProxyBasicValues.cpp:364
void Read(WsfParseNode *aNodePtr)
Definition WsfPProxyBasicValues.cpp:305
std::string Write(WsfParseRule *)
Definition WsfPProxyBasicValues.hpp:175
Definition WsfPProxyBasicValues.hpp:188
bool Equal(const Length3 &aRhs) const
Definition WsfPProxyBasicValues.cpp:499
Length3()
Definition WsfPProxyBasicValues.cpp:467
double mZ
Definition WsfPProxyBasicValues.hpp:206
bool operator!=(const Length3 &aRhs) const
Definition WsfPProxyBasicValues.hpp:202
std::string ToString() const
Definition WsfPProxyBasicValues.cpp:475
static const WsfProxy::ValueKind cPROXY_TYPE_ID
Definition WsfPProxyBasicValues.hpp:190
double mY
Definition WsfPProxyBasicValues.hpp:205
void Read(WsfParseNode *aNodePtr)
Definition WsfPProxyBasicValues.cpp:430
std::string Write(WsfParseRule *)
Definition WsfPProxyBasicValues.hpp:196
double mX
Definition WsfPProxyBasicValues.hpp:204
unsigned char mFormat
Definition WsfPProxyBasicValues.hpp:203
bool operator==(const Length3 &aRhs) const
Definition WsfPProxyBasicValues.hpp:201
Definition WsfPProxyBasicValues.hpp:385
static const int cUNIT_TYPE_ID
Definition WsfPProxyBasicValues.hpp:388
NumericUnitaryValueT()
Definition WsfPProxyBasicValues.hpp:389
NumericUnitaryValueT(const T &aValue)
Definition WsfPProxyBasicValues.hpp:393
T UnitaryValueType
Definition WsfPProxyBasicValues.hpp:387
NumericUnitaryValueT< T, PROXY_TYPE_ID > & operator=(const T &aValue)
Definition WsfPProxyBasicValues.hpp:397
Definition WsfPProxyBasicValues.hpp:363
NumericValueT< T, PROXY_TYPE_ID > & operator=(const T &aValue)
Definition WsfPProxyBasicValues.hpp:376
NumericValueT(const T &aValue)
Definition WsfPProxyBasicValues.hpp:374
NumericValueT()
Definition WsfPProxyBasicValues.hpp:370
bool Negate(void *p)
Definition WsfPProxyBasicValues.hpp:365
Definition WsfPProxyBasicValues.hpp:89
static const WsfProxy::ValueKind cPROXY_TYPE_ID
Definition WsfPProxyBasicValues.hpp:91
Format
Definition WsfPProxyBasicValues.hpp:93
@ cLAT_LON
Definition WsfPProxyBasicValues.hpp:94
@ cMGRS
Definition WsfPProxyBasicValues.hpp:95
char mMGRS[16]
Definition WsfPProxyBasicValues.hpp:162
double mLongitude
Definition WsfPProxyBasicValues.hpp:160
void SetLatitude(UtLatPos aLat)
Definition WsfPProxyBasicValues.hpp:112
double mLatitude
Definition WsfPProxyBasicValues.hpp:159
void SetLongitude(UtLonPos aLon)
Definition WsfPProxyBasicValues.hpp:119
Position()
Definition WsfPProxyBasicValues.cpp:186
bool operator==(const Position &aRhs) const
Definition WsfPProxyBasicValues.hpp:126
void SetValue(const std::string &aText)
Definition WsfPProxyBasicValues.hpp:526
void SetFromString(const std::string &aText)
Definition WsfPProxyBasicValues.hpp:521
void Read(WsfParseNode *aNodePtr)
Definition WsfPProxyBasicValues.hpp:516
bool Negate()
Definition WsfPProxyBasicValues.hpp:538
std::string ToString() const
Definition WsfPProxyBasicValues.hpp:527
QuotableString(const std::string &aValue)
Definition WsfPProxyBasicValues.hpp:511
bool Negate()
Definition WsfPProxyBasicValues.hpp:503
void SetValue(const std::string &aText)
Definition WsfPProxyBasicValues.hpp:491
void SetFromString(const std::string &aText)
Definition WsfPProxyBasicValues.hpp:486
String(const std::string &aValue)
Definition WsfPProxyBasicValues.hpp:481
String()
Definition WsfPProxyBasicValues.hpp:480
std::string ToString() const
Definition WsfPProxyBasicValues.hpp:492
Definition WsfPProxyBasicValues.hpp:41
NumericUnitaryValueT< UtTimeValue, WsfProxy::cTIME_VALUE > Time
Definition WsfPProxyBasicValues.hpp:415
NumericUnitaryValueT< UtTime2Value, WsfProxy::cTIME2_VALUE > Time2
Definition WsfPProxyBasicValues.hpp:439
NumericUnitaryValueT< UtTorqueValue, WsfProxy::cTORQUE_VALUE > Torque
Definition WsfPProxyBasicValues.hpp:431
NumericUnitaryValueT< UtRatioValue, WsfProxy::cRATIO_VALUE > Ratio
Definition WsfPProxyBasicValues.hpp:463
NumericValueT< UtLonPos, WsfProxy::cLONGITUDE_VALUE > Longitude
Definition WsfPProxyBasicValues.hpp:411
NumericUnitaryValueT< UtLengthValue, WsfProxy::cLENGTH_VALUE > Length
Definition WsfPProxyBasicValues.hpp:413
NumericUnitaryValueT< UtAngularInertiaValue, WsfProxy::cANGULARINERTIA_VALUE > AngularInertia
Definition WsfPProxyBasicValues.hpp:473
NumericUnitaryValueT< UtDataRateValue, WsfProxy::cDATARATE_VALUE > DataRate
Definition WsfPProxyBasicValues.hpp:451
NumericUnitaryValueT< UtAreaDBValue, WsfProxy::cAREADB_VALUE > AreaDB
Definition WsfPProxyBasicValues.hpp:435
NumericUnitaryValueT< UtSpecificRangeValue, WsfProxy::cSPECIFICRANGE_VALUE > SpecificRange
Definition WsfPProxyBasicValues.hpp:471
NumericUnitaryValueT< UtFrequencyValue, WsfProxy::cFREQUENCY_VALUE > Frequency
Definition WsfPProxyBasicValues.hpp:443
NumericUnitaryValueT< UtAreaValue, WsfProxy::cAREA_VALUE > Area
Definition WsfPProxyBasicValues.hpp:433
NumericUnitaryValueT< UtVolumeValue, WsfProxy::cVOLUME_VALUE > Volume
Definition WsfPProxyBasicValues.hpp:437
NumericUnitaryValueT< UtFluenceValue, WsfProxy::cFLUENCE_VALUE > Fluence
Definition WsfPProxyBasicValues.hpp:459
NumericUnitaryValueT< UtSpeedValue, WsfProxy::cSPEED_VALUE > Speed
Definition WsfPProxyBasicValues.hpp:417
ValueKind
Definition WsfPProxyCommon.hpp:39
@ cBOOL_VALUE
Definition WsfPProxyCommon.hpp:45
@ cLENGTH3_VALUE
Definition WsfPProxyCommon.hpp:84
@ cPOSITION_VALUE
Definition WsfPProxyCommon.hpp:82
@ cLENGTH2_VALUE
Definition WsfPProxyCommon.hpp:83
NumericValueT< UtLatPos, WsfProxy::cLATITUDE_VALUE > Latitude
Definition WsfPProxyBasicValues.hpp:409
NumericUnitaryValueT< UtPowerDBValue, WsfProxy::cPOWERDB_VALUE > PowerDB
Definition WsfPProxyBasicValues.hpp:423
NumericValueT< int, WsfProxy::cINT_VALUE > Int
Definition WsfPProxyBasicValues.hpp:407
@ cVALUE_INHERITED
Definition WsfPProxyCommon.hpp:34
@ cVALUE_UNSET
Definition WsfPProxyCommon.hpp:35
NumericUnitaryValueT< UtAngularAccelerationValue, WsfProxy::cANGULARACCELERATION_VALUE > AngularAcceleration
Definition WsfPProxyBasicValues.hpp:449
NumericUnitaryValueT< UtIrradianceValue, WsfProxy::cIRRADIANCE_VALUE > Irradiance
Definition WsfPProxyBasicValues.hpp:461
NumericUnitaryValueT< UtPowerValue, WsfProxy::cPOWER_VALUE > Power
Definition WsfPProxyBasicValues.hpp:421
NumericUnitaryValueT< UtDataSizeValue, WsfProxy::cDATASIZE_VALUE > DataSize
Definition WsfPProxyBasicValues.hpp:419
NumericUnitaryValueT< UtMassTransferValue, WsfProxy::cMASSTRANSFER_VALUE > MassTransfer
Definition WsfPProxyBasicValues.hpp:455
NumericUnitaryValueT< UtMassDensityValue, WsfProxy::cMASSDENSITY_VALUE > MassDensity
Definition WsfPProxyBasicValues.hpp:453
NumericUnitaryValueT< UtSolidAngleValue, WsfProxy::cSOLIDANGLE_VALUE > SolidAngle
Definition WsfPProxyBasicValues.hpp:425
NumericUnitaryValueT< UtAngleValue, WsfProxy::cANGLE_VALUE > Angle
Definition WsfPProxyBasicValues.hpp:445
NumericUnitaryValueT< UtForceValue, WsfProxy::cFORCE_VALUE > Force
Definition WsfPProxyBasicValues.hpp:429
NumericUnitaryValueT< UtAccelerationValue, WsfProxy::cACCELERATION_VALUE > Acceleration
Definition WsfPProxyBasicValues.hpp:441
NumericUnitaryValueT< UtEnergyValue, WsfProxy::cENERGY_VALUE > Energy
Definition WsfPProxyBasicValues.hpp:457
NumericUnitaryValueT< UtAngularRateValue, WsfProxy::cANGULARRATE_VALUE > AngularRate
Definition WsfPProxyBasicValues.hpp:447
NumericUnitaryValueT< UtTemperatureValue, WsfProxy::cTEMPERATURE_VALUE > Temperature
Definition WsfPProxyBasicValues.hpp:469
NumericUnitaryValueT< UtMassValue, WsfProxy::cMASS_VALUE > Mass
Definition WsfPProxyBasicValues.hpp:427
NumericUnitaryValueT< UtNoisePressureValue, WsfProxy::cNOISEPRESSURE_VALUE > NoisePressure
Definition WsfPProxyBasicValues.hpp:465
NumericUnitaryValueT< UtPressureValue, WsfProxy::cPRESSURE_VALUE > Pressure
Definition WsfPProxyBasicValues.hpp:467
NumericValueT< double, WsfProxy::cDOUBLE_VALUE > Double
Definition WsfPProxyBasicValues.hpp:405
AltitudeReferenceEnum
Denotes altitude reference.
Definition WsfPProxyBasicValues.hpp:553
@ MSL
denotes the altitude is measured from mean sea level (MSL)
Definition WsfPProxyBasicValues.hpp:558
@ Default
Definition WsfPProxyBasicValues.hpp:557
@ AGL
denotes the altitude is measured from above ground level (AGL)
Definition WsfPProxyBasicValues.hpp:559
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32