MapLink Pro .
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
Loading...
Searching...
No Matches
TSLMilStd2525DSymbol Class Reference

Detailed Description

TSLMilStd2525DSymbol

A configuration class for building MIL-STD-2525D (20-character) SIDC codes using named enumerations. Set the desired fields, then call toSidc() to produce the 20-character code string.

Example usage:

TSLMilStd2525DSymbol sym; sym.setStandardIdentity(TSLMilStd2525DSymbol::SI_Friend); sym.setSymbolSet(TSLMilStd2525DSymbol::SS_LandUnit); sym.setStatus(TSLMilStd2525DSymbol::STS_Present); sym.setEntity(1); sym.setEntityType(1);

char sidc[21]; sym.toSidc(sidc); // sidc == "10030100000101000000"

Public Types

enum  StandardIdentity {
  SI_Pending = 0 , SI_Unknown = 1 , SI_AssumedFriend = 2 , SI_Friend = 3 ,
  SI_Neutral = 4 , SI_Suspect = 5 , SI_Hostile = 6
}
 Standard Identity (SIDC positions 3-4). More...
enum  SymbolSet {
  SS_Air = 1 , SS_AirMissile = 2 , SS_Space = 5 , SS_SpaceMissile = 6 ,
  SS_LandUnit = 10 , SS_LandCivilianUnit = 11 , SS_LandEquipment = 15 , SS_LandInstallation = 20 ,
  SS_ControlMeasure = 25 , SS_SeaSurface = 30 , SS_SeaSubsurface = 35 , SS_MineWarfare = 36 ,
  SS_Activities = 40 , SS_MeteorologicalAtmospheric = 45 , SS_MeteorologicalOceanographic = 46 , SS_MeteorologicalSpace = 47 ,
  SS_SignalsIntelligenceSpace = 50 , SS_SignalsIntelligenceAir = 51 , SS_SignalsIntelligenceLand = 52 , SS_SignalsIntelligenceSurface = 53 ,
  SS_SignalsIntelligenceSubsurface = 54 , SS_Cyberspace = 60
}
 Symbol Set (SIDC positions 5-6). More...
enum  Status { STS_Present = 0 , STS_Planned = 1 }
 Status (SIDC position 7). More...
enum  HQTFDummy {
  HQTFD_None = 0 , HQTFD_FeintDummy = 1 , HQTFD_Headquarters = 2 , HQTFD_FeintDummyHQ = 3 ,
  HQTFD_TaskForce = 4 , HQTFD_FeintDummyTF = 5 , HQTFD_TaskForceHQ = 6 , HQTFD_FeintDummyTFHQ = 7
}
 HQ/Task Force/Dummy (SIDC position 8). More...
enum  Amplifier {
  AMP_None = 0 , AMP_Team = 11 , AMP_Squad = 12 , AMP_Section = 13 ,
  AMP_Platoon = 14 , AMP_Company = 15 , AMP_Battalion = 16 , AMP_Regiment = 17 ,
  AMP_Brigade = 18 , AMP_Division = 21 , AMP_Corps = 22 , AMP_Army = 23 ,
  AMP_ArmyGroup = 24 , AMP_Region = 25 , AMP_Command = 26 , AMP_Wheeled = 31 ,
  AMP_CrossCountry = 32 , AMP_Tracked = 33 , AMP_WheeledTracked = 34 , AMP_Towed = 35 ,
  AMP_Railway = 36 , AMP_PackAnimals = 37 , AMP_NavalTowed = 41 , AMP_ShortTowedArray = 42 ,
  AMP_LongTowedArray = 43
}
 Echelon/Amplifier (SIDC positions 9-10). More...

Public Member Functions

 TSLMilStd2525DSymbol ()
 Construct with default field values (all zero = pending/present, no entity).
 TSLMilStd2525DSymbol (const char *sidc)
void setStandardIdentity (StandardIdentity si)
 Set individual fields.
void setSymbolSet (SymbolSet ss)
void setStatus (Status s)
void setHQTFDummy (HQTFDummy hq)
void setAmplifier (Amplifier amp)
void setEntity (unsigned int entity)
 positions 11-12 (0-99)
void setEntityType (unsigned int entityType)
 positions 13-14 (0-99)
void setEntitySubtype (unsigned int subtype)
 positions 15-16 (0-99)
void setModifier1 (unsigned int mod1)
 positions 17-18 (0-99)
void setModifier2 (unsigned int mod2)
 positions 19-20 (0-99)
bool toSidc (char *output) const
bool fromSidc (const char *sidc)
bool isValid () const
 Check if the currently configured fields form a valid SIDC.
StandardIdentity standardIdentity () const
 Get individual fields.
SymbolSet symbolSet () const
Status status () const
HQTFDummy hqTfDummy () const
Amplifier amplifier () const
unsigned int entity () const
unsigned int entityType () const
unsigned int entitySubtype () const
unsigned int modifier1 () const
unsigned int modifier2 () const

Member Enumeration Documentation

◆ Amplifier

Echelon/Amplifier (SIDC positions 9-10).

Enumerator
AMP_None 
AMP_Team 
AMP_Squad 
AMP_Section 
AMP_Platoon 
AMP_Company 
AMP_Battalion 
AMP_Regiment 
AMP_Brigade 
AMP_Division 
AMP_Corps 
AMP_Army 
AMP_ArmyGroup 
AMP_Region 
AMP_Command 
AMP_Wheeled 
AMP_CrossCountry 
AMP_Tracked 
AMP_WheeledTracked 
AMP_Towed 
AMP_Railway 
AMP_PackAnimals 
AMP_NavalTowed 
AMP_ShortTowedArray 
AMP_LongTowedArray 

◆ HQTFDummy

HQ/Task Force/Dummy (SIDC position 8).

Enumerator
HQTFD_None 
HQTFD_FeintDummy 
HQTFD_Headquarters 
HQTFD_FeintDummyHQ 
HQTFD_TaskForce 
HQTFD_FeintDummyTF 
HQTFD_TaskForceHQ 
HQTFD_FeintDummyTFHQ 

◆ StandardIdentity

Standard Identity (SIDC positions 3-4).

Enumerator
SI_Pending 
SI_Unknown 
SI_AssumedFriend 
SI_Friend 
SI_Neutral 
SI_Suspect 
SI_Hostile 

◆ Status

Status (SIDC position 7).

Enumerator
STS_Present 
STS_Planned 

◆ SymbolSet

Symbol Set (SIDC positions 5-6).

Enumerator
SS_Air 
SS_AirMissile 
SS_Space 
SS_SpaceMissile 
SS_LandUnit 
SS_LandCivilianUnit 
SS_LandEquipment 
SS_LandInstallation 
SS_ControlMeasure 
SS_SeaSurface 
SS_SeaSubsurface 
SS_MineWarfare 
SS_Activities 
SS_MeteorologicalAtmospheric 
SS_MeteorologicalOceanographic 
SS_MeteorologicalSpace 
SS_SignalsIntelligenceSpace 
SS_SignalsIntelligenceAir 
SS_SignalsIntelligenceLand 
SS_SignalsIntelligenceSurface 
SS_SignalsIntelligenceSubsurface 
SS_Cyberspace 

Constructor & Destructor Documentation

◆ TSLMilStd2525DSymbol() [1/2]

TSLMilStd2525DSymbol::TSLMilStd2525DSymbol ( )

Construct with default field values (all zero = pending/present, no entity).

◆ TSLMilStd2525DSymbol() [2/2]

TSLMilStd2525DSymbol::TSLMilStd2525DSymbol ( const char * sidc)
explicit

Construct from an existing 20-character SIDC string. Fields are parsed from the code; check isValid() for success.

Member Function Documentation

◆ amplifier()

TSLMilStd2525DSymbol::Amplifier TSLMilStd2525DSymbol::amplifier ( ) const
inline

◆ entity()

unsigned int TSLMilStd2525DSymbol::entity ( ) const
inline

◆ entitySubtype()

unsigned int TSLMilStd2525DSymbol::entitySubtype ( ) const
inline

◆ entityType()

unsigned int TSLMilStd2525DSymbol::entityType ( ) const
inline

◆ fromSidc()

bool TSLMilStd2525DSymbol::fromSidc ( const char * sidc)

Parse a 20-character SIDC string and populate this object's fields.

Returns
true if parsing succeeded.

◆ hqTfDummy()

TSLMilStd2525DSymbol::HQTFDummy TSLMilStd2525DSymbol::hqTfDummy ( ) const
inline

◆ isValid()

bool TSLMilStd2525DSymbol::isValid ( ) const

Check if the currently configured fields form a valid SIDC.

◆ modifier1()

unsigned int TSLMilStd2525DSymbol::modifier1 ( ) const
inline

◆ modifier2()

unsigned int TSLMilStd2525DSymbol::modifier2 ( ) const
inline

◆ setAmplifier()

void TSLMilStd2525DSymbol::setAmplifier ( Amplifier amp)

◆ setEntity()

void TSLMilStd2525DSymbol::setEntity ( unsigned int entity)

positions 11-12 (0-99)

◆ setEntitySubtype()

void TSLMilStd2525DSymbol::setEntitySubtype ( unsigned int subtype)

positions 15-16 (0-99)

◆ setEntityType()

void TSLMilStd2525DSymbol::setEntityType ( unsigned int entityType)

positions 13-14 (0-99)

◆ setHQTFDummy()

void TSLMilStd2525DSymbol::setHQTFDummy ( HQTFDummy hq)

◆ setModifier1()

void TSLMilStd2525DSymbol::setModifier1 ( unsigned int mod1)

positions 17-18 (0-99)

◆ setModifier2()

void TSLMilStd2525DSymbol::setModifier2 ( unsigned int mod2)

positions 19-20 (0-99)

◆ setStandardIdentity()

void TSLMilStd2525DSymbol::setStandardIdentity ( StandardIdentity si)

Set individual fields.

◆ setStatus()

void TSLMilStd2525DSymbol::setStatus ( Status s)

◆ setSymbolSet()

void TSLMilStd2525DSymbol::setSymbolSet ( SymbolSet ss)

◆ standardIdentity()

TSLMilStd2525DSymbol::StandardIdentity TSLMilStd2525DSymbol::standardIdentity ( ) const
inline

Get individual fields.

◆ status()

TSLMilStd2525DSymbol::Status TSLMilStd2525DSymbol::status ( ) const
inline

◆ symbolSet()

TSLMilStd2525DSymbol::SymbolSet TSLMilStd2525DSymbol::symbolSet ( ) const
inline

◆ toSidc()

bool TSLMilStd2525DSymbol::toSidc ( char * output) const

Generate the 20-character SIDC string from the configured fields.

Parameters
outputBuffer of at least 21 characters to receive the null-terminated SIDC.
Returns
true if the fields produce a valid SIDC.