001/* 002 * To change this template, choose Tools | Templates 003 * and open the template in the editor. 004 */ 005 006package armyc2.c2sd.renderer.utilities; 007 008import java.util.ArrayList; 009 010import armyc2.c2sd.renderer.R; 011 012/** 013 * This class contains keys to the modifiers. A number of these we feed off of 014 * the symbol code instead of using the property. But those modifiers remain 015 * for completeness. 016 * 017 * U = units, E = equipment, I= installations, SI = signals intelligence (SIGINT), SO = stability operations, EU = EMS units, EEI = EMS equipment and incidents, EI = 018 * EMS installations. 019 * @author michael.spinelli 020 */ 021public class ModifiersUnits { 022 023 024//public static final int SYMBOL_ID = "Symbol ID"; 025 //public static final int SOURCE = "Source"; 026 //public static final int EDITOR_CLASS_TYPE = "Editor Class Type"; 027 //public static final int URN = "URN"; 028 //public static final int UIC = "UIC"; 029 //public static final int ANGLE_OF_ROTATION = "Angle of Rotation"; 030 /** 031 * The innermost part of a symbol that represents a warfighting object 032 * Here for completeness, not actually used as this comes from the 033 * symbol code. 034 * Type: U,E,I,SI,SO,EU,EEI,EI 035 * Length: G 036 */ 037 public static final int A_SYMBOL_ICON = 1; 038 /** 039 * A graphic modifier in a unit symbol that identifies command level 040 * We feed off of the symbol code so this isn't used 041 * Type: U,SO 042 * Length: G 043 */ 044 public static final int B_ECHELON = 2; 045 /** 046 * A text modifier in an equipment symbol that identifies the number of items present. 047 * Type: E,EEI 048 * Length: 9 049 */ 050 public static final int C_QUANTITY = 3; 051 /** 052 * A graphic modifier that identifies a unit or SO symbol as a task force (see 5.3.4.6 053 * and figures 2 and 3). 054 * Type: U,SO 055 * Length: G 056 */ 057 public static final int D_TASK_FORCE_INDICATOR = 4; 058 /** 059 * A graphic modifier that displays standard identity, battle dimension, or exercise 060 * amplifying descriptors of an object (see 5.3.1 and table II). 061 * Type: U,E,I,SO,EU,EEI,EI 062 * Length: G 063 */ 064 public static final int E_FRAME_SHAPE_MODIFIER = 5; 065 /** 066 * A text modifier in a unit symbol that displays (+) for reinforced, (-) for reduced,(+) reinforced and reduced. 067 * R = reinforced,D = reduced,RD = reinforced and reduced 068 * Type: U,SO 069 * Length: 23 070 */ 071 public static final int F_REINFORCED_REDUCED = 6; 072 /** 073 * A text modifier for units, equipment and installations; content is implementation specific. 074 * Type: U,E,I,SI,SO 075 * Length: 20 076 */ 077 public static final int G_STAFF_COMMENTS = 7; 078 /** 079 * Text modifier for amplifying free text 080 * Type: U,E,I,SI,SO,EU,EEI,EI 081 * Length: 20 082 */ 083 public static final int H_ADDITIONAL_INFO_1 = 8; 084 /** 085 * Text modifier for amplifying free text 086 * Type: U,E,I,SI,SO,EU,EEI,EI 087 * Length: 20 088 */ 089 public static final int H1_ADDITIONAL_INFO_2 = 9; 090 /** 091 * Text modifier for amplifying free text 092 * Type: U,E,I,SI,SO,EU,EEI,EI 093 * Length: 20 094 */ 095 public static final int H2_ADDITIONAL_INFO_3 = 10; 096 /** 097 * A text modifier for units, equipment, and installations that consists of 098 * a one letter reliability rating and a one-number credibility rating. 099 Reliability Ratings: A-completely reliable, B-usually reliable, 100 C-fairly reliable, D-not usually reliable, E-unreliable, 101 F-reliability cannot be judged. 102 Credibility Ratings: 1-confirmed by other sources, 103 2-probably true, 3-possibly true, 4-doubtfully true, 104 5-improbable, 6-truth cannot be judged. 105 Type: U,E,I,SI,SO,EU,EEI,EI 106 Length: 2 107 */ 108 public static final int J_EVALUATION_RATING = 11; 109 /** 110 * A text modifier for units and installations that indicates unit effectiveness or 111 * installation capability. 112 * Type: U,I,SO 113 * Length: 5,5,3 114 */ 115 public static final int K_COMBAT_EFFECTIVENESS = 12; 116 /** 117 * A text modifier for hostile equipment; “!� indicates detectable electronic 118 * signatures. 119 * Type: E,SI 120 * Length: 1 121 */ 122 public static final int L_SIGNATURE_EQUIP = 13; 123 /** 124 * A text modifier for units that indicates number or title of higher echelon 125 * command (corps are designated by Roman numerals). 126 * Type: U,SI 127 * Length: 21 128 */ 129 public static final int M_HIGHER_FORMATION = 14; 130 /** 131 * A text modifier for equipment; letters "ENY" denote hostile symbols. 132 * Type: E 133 * Length: 3 134 */ 135 public static final int N_HOSTILE = 15; 136 /** 137 * A text modifier displaying IFF/SIF Identification modes and codes. 138 * Type: U,E,SO 139 * Length: 5 140 */ 141 public static final int P_IFF_SIF = 16; 142 /** 143 * A graphic modifier for units and equipment that identifies the direction of 144 * movement or intended movement of an object (see 5.3.4.1 and figures 2 and 3). 145 * Type: U,E,SO,EU,EEI 146 * Length: G 147 */ 148 public static final int Q_DIRECTION_OF_MOVEMENT = 17; 149 /** 150 * A graphic modifier for equipment that depicts the mobility of an object (see 151 * 5.3.4.3, figures 2 and 3, and table VI). 152 * We feed off of the symbol code for mobility so this isn't used 153 * Type: E,EEI 154 * Length: G 155 */ 156 public static final int R_MOBILITY_INDICATOR = 18; 157 /** 158 * M = Mobile, S = Static, or U = Uncertain. 159 * Type: SI 160 * Length: 1 161 */ 162 public static final int R2_SIGNIT_MOBILITY_INDICATOR = 19; 163 /** 164 * Headquarters staff indicator: A graphic modifier for units, equipment, and 165 * installations that identifies a unit as a headquarters (see 5.3.4.8 and figures 2 and 166 * 3). 167 * Offset location indicator: A graphic modifier for units, equipment, and 168 * installations used when placing an object away from its actual location (see 169 * 5.3.4.9 and figures 2 and 3). 170 * Type: U,E,I,SO,EU,EEI,EI 171 * Length: G 172 */ 173 public static final int S_HQ_STAFF_OR_OFFSET_INDICATOR = 20; 174 /** 175 * A text modifier for units, equipment, and installations that uniquely identifies a 176 * particular symbol or track number. Identifies acquisitions number when used 177 * with SIGINT symbology. 178 * Type: U,E,I,SI,SO,EU,EEI,EI 179 * Length: 21 180 */ 181 public static final int T_UNIQUE_DESIGNATION_1 = 21; 182 /** 183 * A text modifier for units, equipment, and installations that uniquely identifies a 184 * particular symbol or track number. Identifies acquisitions number when used 185 * with SIGINT symbology. 186 * Type: U,E,I,SI,SO,EU,EEI,EI 187 * Length: 21 188 */ 189 public static final int T1_UNIQUE_DESIGNATION_2 = 22; 190 /** 191 * A text modifier for equipment that indicates types of equipment. 192 * For Tactical Graphics: 193 * A text modifier that indicates nuclear weapon type. 194 * Type: E,SI,EEI 195 * Length: 24 196 */ 197 public static final int V_EQUIP_TYPE = 23; 198 /** 199 * A text modifier for units, equipment, and installations that displays DTG format: 200 * DDHHMMSSZMONYYYY or “O/O� for on order (see 5.5.2.6). 201 * Type: U,E,I,SI,SO,EU,EEI,EI 202 * Length: 16 203 */ 204 public static final int W_DTG_1 = 24; 205 /** 206 * A text modifier for units, equipment, and installations that displays DTG format: 207 * DDHHMMSSZMONYYYY or “O/O� for on order (see 5.5.2.6). 208 * Type: U,E,I,SI,SO,EU,EEI,EI 209 * Length: 16 210 */ 211 public static final int W1_DTG_2 = 25; 212 /** 213 * A text modifier for units, equipment, and installations, that displays either 214 * altitude flight level, depth for submerged objects; or height of equipment or 215 * structures on the ground. See 5.5.2.5 for content. 216 * Type: U,E,I,SO,EU,EEI,EI 217 * Length: 14 218 */ 219 public static final int X_ALTITUDE_DEPTH = 26; 220 /** 221 * A text modifier for units, equipment, and installations that displays a symbol’s 222 * location in degrees, minutes, and seconds (or in UTM or other applicable display 223 * format). 224 * Conforms to decimal 225 * degrees format: 226 * xx.dddddhyyy.dddddh 227 * where 228 * xx = degrees latitude 229 * yyy = degrees longitude 230 * .ddddd = decimal degrees 231 * h = direction (N, E, S, W) 232 * Type: U,E,I,SI,SO,EU,EEI,EI 233 * Length: 19 234 */ 235 public static final int Y_LOCATION = 27; 236 /** 237 * A text modifier for units and equipment that displays velocity as set forth in 238 * MIL-STD-6040. 239 * Type: U,E,SO,EU,EEI 240 * Length: 8 241 */ 242 public static final int Z_SPEED = 28; 243 /** 244 * A text modifier for units; indicator is contained inside the frame (see figures 2 245 * and 3); contains the name of the special C2 Headquarters. 246 * Type: U,SO 247 * Length: 9 248 */ 249 public static final int AA_SPECIAL_C2_HQ = 29; 250 /** 251 * Feint or dummy indicator: A graphic modifier for units, equipment, and 252 * installations that identifies an offensive or defensive unit intended to draw the 253 * enemy’s attention away from the area of the main attack (see 5.3.4.7 and figures 254 * 2 and 3). 255 * Type: U,E,I,SO 256 * Length: G 257 */ 258 public static final int AB_FEINT_DUMMY_INDICATOR = 30; 259 /** 260 * Installation: A graphic modifier for units, equipment, and installations used to 261 * show that a particular symbol denotes an installation (see 5.3.4.5 and figures 2 262 * and 3). 263 * Not used, we feed off of symbol code for this 264 * Type: U,E,I,SO,EU,EEI,EI 265 * Length: G 266 */ 267 public static final int AC_INSTALLATION = 31; 268 /** 269 * ELNOT or CENOT 270 * Type: SI 271 * Length: 6 272 */ 273 public static final int AD_PLATFORM_TYPE = 32; 274 /** 275 * Equipment teardown time in minutes. 276 * Type: SI 277 * Length: 3 278 */ 279 public static final int AE_EQUIPMENT_TEARDOWN_TIME = 33; 280 /** 281 * Example: “Hawk� for Hawk SAM system. 282 * Type: SI 283 * Length: 12 284 */ 285 public static final int AF_COMMON_IDENTIFIER = 34; 286 /** 287 * Towed sonar array indicator: A graphic modifier for equipment that indicates the 288 * presence of a towed sonar array (see 5.3.4.4, figures 2 and 3, and table VII). 289 * Type: E 290 * Length: G 291 */ 292 public static final int AG_AUX_EQUIP_INDICATOR = 35; 293 /** 294 * A graphic modifier for units and equipment that indicates the area where an 295 * object is most likely to be, based on the object’s last report and the reporting 296 * accuracy of the sensor that detected the object (see 5.3.4.11.1 and figure 4). 297 * Type: E,U,SO,EU,EEI 298 * Length: G 299 */ 300 public static final int AH_AREA_OF_UNCERTAINTY = 36; 301 /** 302 * A graphic modifier for units and equipment that identifies where an object 303 * should be located at present, given its last reported course and speed (see 304 * 5.3.4.11.2 and figure 4). 305 * Type: E,U,SO,EU,EEI 306 * Length: G 307 */ 308 public static final int AI_DEAD_RECKONING_TRAILER = 37; 309 /** 310 * A graphic modifier for units and equipment that depicts the speed and direction 311 * of movement of an object (see 5.3.4.11.3 and figure 4). 312 * Type: E,U,SO,EU,EEI 313 * Length: G 314 */ 315 public static final int AJ_SPEED_LEADER = 38; 316 /** 317 * A graphic modifier for units and equipment that connects two objects and is 318 * updated dynamically as the positions of the objects change (see 5.3.4.11.4 and 319 * figure 4). 320 * Type: U,E,SO 321 * Length: G 322 */ 323 public static final int AK_PAIRING_LINE = 39; 324 /** 325 * An optional graphic modifier for equipment or installations that indicates 326 * operational condition or capacity. 327 * Type: E,I,SI,SO,EU,EEI,EI 328 * Length: G 329 */ 330 public static final int AL_OPERATIONAL_CONDITION = 40; 331 332 /** 333 * A graphic amplifier placed immediately atop the symbol. May denote, 1) 334 * local/remote status; 2) engagement status; and 3) weapon type. 335 * 336 * Type: U,E,I 337 * Length: G/8 338 */ 339 public static final int AO_ENGAGEMENT_BAR = 41; 340 341 /** 342 * Pulled from the SymbolID. Not something the user should set directly. 343 */ 344 public static final int CC_COUNTRY_CODE = 42; 345 346 /** 347 * Sonar Classification Confidence level. valid values are 1-5. 348 * Only applies to the 4 subsurface MILCO sea mines 349 */ 350 public static final int SCC_SONAR_CLASSIFICATION_CONFIDENCE = 50; 351 352 /** 353 * A generic name label that goes to the right of the symbol and 354 * any existing labels. If there are no existing labels, it goes right 355 * next to the right side of the symbol. This is a CPOF label that applies 356 * to all force elements. This IS NOT a MilStd or USAS Label. 357 */ 358 public static final int CN_CPOF_NAME_LABEL = 60; 359 360 361 362 //public static final int LENGTH = "Length"; 363 //public static final int WIDTH = "Width"; 364 //public static final int RADIUS = "Radius"; 365 //public static final int SEGMENT_DATA = "Segment Data"; 366 367 /** 368 * Returns an Arraylist of the modifer names for units 369 * @return 370 */ 371 public static ArrayList<Integer> GetModifierList() 372 { 373 ArrayList<Integer> list = new ArrayList<Integer>(); 374 375 //list.add(ModifierType.A_SYMBOL_ICON);//graphical, feeds off of symbol code, SIDC positions 3, 5-10 376 //list.add(ModifierType.B_ECHELON);//graphical, feeds off of symbol code, SIDC positions 11-12 377 list.add(C_QUANTITY); 378 //list.add(D_TASK_FORCE_INDICATOR);//graphical, feeds off of symbol code, SIDC positions 11-12 379 //list.add(E_FRAME_SHAPE_MODIFIER);//symbol frame, feeds off of symbol code, SIDC positions 3-4 380 list.add(F_REINFORCED_REDUCED);//R = reinforced, D = reduced, RD = reinforced and reduced 381 list.add(G_STAFF_COMMENTS); 382 list.add(H_ADDITIONAL_INFO_1); 383 list.add(H1_ADDITIONAL_INFO_2); 384 list.add(H2_ADDITIONAL_INFO_3); 385 list.add(J_EVALUATION_RATING); 386 list.add(K_COMBAT_EFFECTIVENESS); 387 list.add(L_SIGNATURE_EQUIP); 388 list.add(M_HIGHER_FORMATION); 389 list.add(N_HOSTILE); 390 list.add(P_IFF_SIF); 391 list.add(Q_DIRECTION_OF_MOVEMENT);//number in mils 392 //list.add(R_MOBILITY_INDICATOR);//graphical, feeds off of symbol code, SIDC positions 11-12 393 list.add(R2_SIGNIT_MOBILITY_INDICATOR); 394 //list.add(S_HQ_STAFF_OR_OFFSET_INDICATOR);//graphical, feeds off of symbol code, SIDC positions 11-12 395 list.add(T_UNIQUE_DESIGNATION_1); 396 list.add(T1_UNIQUE_DESIGNATION_2); 397 list.add(V_EQUIP_TYPE); 398 list.add(W_DTG_1); 399 list.add(W1_DTG_2); 400 list.add(X_ALTITUDE_DEPTH); 401 list.add(Y_LOCATION); 402 list.add(Z_SPEED); 403 404 list.add(AA_SPECIAL_C2_HQ); 405 //list.add(AB_FEINT_DUMMY_INDICATOR);//graphical, feeds off of symbol code, SIDC positions 11-12 406 //list.add(AC_INSTALLATION);//graphical, feeds off of symbol code, SIDC positions 11-12 407 list.add(AD_PLATFORM_TYPE); 408 list.add(AE_EQUIPMENT_TEARDOWN_TIME); 409 list.add(AF_COMMON_IDENTIFIER); 410 list.add(AG_AUX_EQUIP_INDICATOR); 411 list.add(AH_AREA_OF_UNCERTAINTY); 412 list.add(AI_DEAD_RECKONING_TRAILER); 413 list.add(AJ_SPEED_LEADER); 414 list.add(AK_PAIRING_LINE); 415 //list.add(AL_OPERATIONAL_CONDITION);//2525C ////graphical, feeds off of symbol code, SIDC positions 4 416 list.add(AO_ENGAGEMENT_BAR);//2525C 417 418 419 420 return list; 421 } 422 423 /** 424 * 425 * @param modifier like ModifiersTG.C_QUANTITY 426 * @return modifier name based on mofidier constants 427 */ 428 public static String getModifierName(int modifier) 429 { 430 switch(modifier) 431 { 432 case A_SYMBOL_ICON: 433 return "Symbol Icon"; 434 case B_ECHELON: 435 return "Echelon"; 436 case C_QUANTITY: 437 return "Quantity"; 438 case D_TASK_FORCE_INDICATOR: 439 return "Task Force Indicator"; 440 case E_FRAME_SHAPE_MODIFIER: 441 return "Frame Shape Modifier"; 442 case F_REINFORCED_REDUCED: 443 return "Reinforce Reduced"; 444 case G_STAFF_COMMENTS: 445 return "Staff Comments"; 446 case H_ADDITIONAL_INFO_1: 447 return "Additional Info 1"; 448 case H1_ADDITIONAL_INFO_2: 449 return "Additional Info 2"; 450 case H2_ADDITIONAL_INFO_3: 451 return "Additional Info 3"; 452 case J_EVALUATION_RATING: 453 return "Evaluation Rating"; 454 case K_COMBAT_EFFECTIVENESS: 455 return "Combat Effectiveness"; 456 case L_SIGNATURE_EQUIP: 457 return "Signature Equipment"; 458 case M_HIGHER_FORMATION: 459 return "Higher Formation"; 460 case N_HOSTILE: 461 return "Hostile"; 462 case P_IFF_SIF: 463 return "IFF SIF"; 464 case Q_DIRECTION_OF_MOVEMENT: 465 return "Direction of Movement"; 466 case R_MOBILITY_INDICATOR: 467 return "Mobility Indicator"; 468 case R2_SIGNIT_MOBILITY_INDICATOR: 469 return "Signals Intelligence Mobility Indicator"; 470 case S_HQ_STAFF_OR_OFFSET_INDICATOR: 471 return "HQ Staff / Offset Indicator"; 472 case T_UNIQUE_DESIGNATION_1: 473 return "Unique Designation 1"; 474 case T1_UNIQUE_DESIGNATION_2: 475 return "Unique Designation 2"; 476 case V_EQUIP_TYPE: 477 return "Equipment Type"; 478 case W_DTG_1: 479 return "Date Time Group 1"; 480 case W1_DTG_2: 481 return "Date Time Group 2"; 482 case X_ALTITUDE_DEPTH: 483 return "Altitude Depth"; 484 case Y_LOCATION: 485 return "Location"; 486 case Z_SPEED: 487 return "Speed"; 488 case AA_SPECIAL_C2_HQ: 489 return "Special C2 HQ"; 490 case AB_FEINT_DUMMY_INDICATOR: 491 return "Feint Dummy Indicator"; 492 case AC_INSTALLATION: 493 return "Installation"; 494 case AD_PLATFORM_TYPE: 495 return "Platform Type"; 496 case AE_EQUIPMENT_TEARDOWN_TIME: 497 return "Equipment Teardown Time"; 498 case AF_COMMON_IDENTIFIER: 499 return "Common Identifier"; 500 case AG_AUX_EQUIP_INDICATOR: 501 return "Auxiliary Equipment Indicator"; 502 case AH_AREA_OF_UNCERTAINTY: 503 return "Area of Uncertainty"; 504 case AI_DEAD_RECKONING_TRAILER: 505 return "Dead Reckoning Trailer"; 506 case AJ_SPEED_LEADER: 507 return "Speed Leader"; 508 case AK_PAIRING_LINE: 509 return "Pairing Line"; 510 case AL_OPERATIONAL_CONDITION: 511 return "Operational Condition"; 512 case AO_ENGAGEMENT_BAR: 513 return "Engagement Bar";//*/ 514 case SCC_SONAR_CLASSIFICATION_CONFIDENCE: 515 return "Sonar Classification Confidence"; 516 default: 517 return ""; 518 519 } 520 } 521 522 /** 523 * 524 * @param modifier like ModifiersUnits.C_QUANTITY 525 * @return modifier name based on mofidier constants 526 */ 527 public static String getModifierLetterCode(int modifier) { 528 switch (modifier) { 529 case A_SYMBOL_ICON: 530 return "A"; 531 case B_ECHELON: 532 return "B"; 533 case C_QUANTITY: 534 return "C"; 535 case D_TASK_FORCE_INDICATOR: 536 return "D"; 537 case E_FRAME_SHAPE_MODIFIER: 538 return "E"; 539 case F_REINFORCED_REDUCED: 540 return "F"; 541 case G_STAFF_COMMENTS: 542 return "G"; 543 case H_ADDITIONAL_INFO_1: 544 return "H"; 545 case H1_ADDITIONAL_INFO_2: 546 return "H1"; 547 case H2_ADDITIONAL_INFO_3: 548 return "H2"; 549 case J_EVALUATION_RATING: 550 return "J"; 551 case K_COMBAT_EFFECTIVENESS: 552 return "K"; 553 case L_SIGNATURE_EQUIP: 554 return "L"; 555 case M_HIGHER_FORMATION: 556 return "M"; 557 case N_HOSTILE: 558 return "N"; 559 case P_IFF_SIF: 560 return "P"; 561 case Q_DIRECTION_OF_MOVEMENT: 562 return "Q"; 563 case R_MOBILITY_INDICATOR: 564 return "R"; 565 case R2_SIGNIT_MOBILITY_INDICATOR: 566 return "R2"; 567 case S_HQ_STAFF_OR_OFFSET_INDICATOR: 568 return "S"; 569 case T_UNIQUE_DESIGNATION_1: 570 return "T"; 571 case T1_UNIQUE_DESIGNATION_2: 572 return "T1"; 573 case V_EQUIP_TYPE: 574 return "V"; 575 case W_DTG_1: 576 return "W"; 577 case W1_DTG_2: 578 return "W1"; 579 case X_ALTITUDE_DEPTH: 580 return "X"; 581 case Y_LOCATION: 582 return "Y"; 583 case Z_SPEED: 584 return "Z"; 585 case AA_SPECIAL_C2_HQ: 586 return "AA"; 587 case AB_FEINT_DUMMY_INDICATOR: 588 return "AB"; 589 case AC_INSTALLATION: 590 return "AC"; 591 case AD_PLATFORM_TYPE: 592 return "AD"; 593 case AE_EQUIPMENT_TEARDOWN_TIME: 594 return "AE"; 595 case AF_COMMON_IDENTIFIER: 596 return "AF"; 597 case AG_AUX_EQUIP_INDICATOR: 598 return "AG"; 599 case AH_AREA_OF_UNCERTAINTY: 600 return "AH"; 601 case AI_DEAD_RECKONING_TRAILER: 602 return "AI"; 603 case AJ_SPEED_LEADER: 604 return "AJ"; 605 case AK_PAIRING_LINE: 606 return "AK"; 607 case AL_OPERATIONAL_CONDITION: 608 return "AL"; 609 case AO_ENGAGEMENT_BAR: 610 return "AO"; 611 case SCC_SONAR_CLASSIFICATION_CONFIDENCE: 612 return "SCC"; 613 default: 614 return ""; 615 616 } 617 } 618 619 /** 620 * go from "T" or "T1" to integer constant values 9 and 10 621 * @param modLetter 622 * @return 623 */ 624 public static int getModifierKey(String modLetter) { 625 switch (modLetter) { 626 case "A": 627 return A_SYMBOL_ICON; 628 case "B": 629 return B_ECHELON; 630 case "C": 631 return C_QUANTITY; 632 case "D": 633 return D_TASK_FORCE_INDICATOR; 634 case "E": 635 return E_FRAME_SHAPE_MODIFIER; 636 case "F": 637 return F_REINFORCED_REDUCED; 638 case "G": 639 return G_STAFF_COMMENTS; 640 case "H": 641 return H_ADDITIONAL_INFO_1; 642 case "H1": 643 return H1_ADDITIONAL_INFO_2; 644 case "H2": 645 return H2_ADDITIONAL_INFO_3; 646 case "J": 647 return J_EVALUATION_RATING; 648 case "K": 649 return K_COMBAT_EFFECTIVENESS; 650 case "L": 651 return L_SIGNATURE_EQUIP; 652 case "M": 653 return M_HIGHER_FORMATION; 654 case "N": 655 return N_HOSTILE; 656 case "P": 657 return P_IFF_SIF; 658 case "Q": 659 return Q_DIRECTION_OF_MOVEMENT; 660 case "R": 661 return R_MOBILITY_INDICATOR; 662 case "R2": 663 return R2_SIGNIT_MOBILITY_INDICATOR; 664 case "S": 665 return S_HQ_STAFF_OR_OFFSET_INDICATOR; 666 case "T": 667 return T_UNIQUE_DESIGNATION_1; 668 case "T1": 669 return T1_UNIQUE_DESIGNATION_2; 670 case "V": 671 return V_EQUIP_TYPE; 672 case "W": 673 return W_DTG_1; 674 case "W1": 675 return W1_DTG_2; 676 case "X": 677 return X_ALTITUDE_DEPTH; 678 case "Y": 679 return Y_LOCATION; 680 case "Z": 681 return Z_SPEED; 682 case "AA": 683 return AA_SPECIAL_C2_HQ; 684 case "AB": 685 return AB_FEINT_DUMMY_INDICATOR; 686 case "AC": 687 return AC_INSTALLATION; 688 case "AD": 689 return AD_PLATFORM_TYPE; 690 case "AE": 691 return AE_EQUIPMENT_TEARDOWN_TIME; 692 case "AF": 693 return AF_COMMON_IDENTIFIER; 694 case "AG": 695 return AG_AUX_EQUIP_INDICATOR; 696 case "AH": 697 return AH_AREA_OF_UNCERTAINTY; 698 case "AI": 699 return AI_DEAD_RECKONING_TRAILER; 700 case "AJ": 701 return AJ_SPEED_LEADER; 702 case "AK": 703 return AK_PAIRING_LINE; 704 case "AL": 705 return AL_OPERATIONAL_CONDITION; 706 case "AO": 707 return AO_ENGAGEMENT_BAR; 708 case "SCC": 709 return SCC_SONAR_CLASSIFICATION_CONFIDENCE; 710 default: 711 return -1; 712 713 } 714 } 715 716}