/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package armyc2.c2sd.renderer.utilities; import java.util.ArrayList; /** * This class contains keys to the modifiers. A number of these we feed off of * the symbol code instead of using the property. But those modifiers remain * for completeness. * * U = units, E = equipment, I= installations, SI = signals intelligence (SIGINT), SO = stability operations, EU = EMS units, EEI = EMS equipment and incidents, EI = * EMS installations. * @author michael.spinelli */ public class ModifiersUnits { //public static final int SYMBOL_ID = "Symbol ID"; //public static final int SOURCE = "Source"; //public static final int EDITOR_CLASS_TYPE = "Editor Class Type"; //public static final int URN = "URN"; //public static final int UIC = "UIC"; //public static final int ANGLE_OF_ROTATION = "Angle of Rotation"; /** * The innermost part of a symbol that represents a warfighting object * Here for completeness, not actually used as this comes from the * symbol code. * Type: U,E,I,SI,SO,EU,EEI,EI * Length: G */ public static final int A_SYMBOL_ICON = 1; /** * A graphic modifier in a unit symbol that identifies command level * We feed off of the symbol code so this isn't used * Type: U,SO * Length: G */ public static final int B_ECHELON = 2; /** * A text modifier in an equipment symbol that identifies the number of items present. * Type: E,EEI * Length: 9 */ public static final int C_QUANTITY = 3; /** * A graphic modifier that identifies a unit or SO symbol as a task force (see 5.3.4.6 * and figures 2 and 3). * Type: U,SO * Length: G */ public static final int D_TASK_FORCE_INDICATOR = 4; /** * A graphic modifier that displays standard identity, battle dimension, or exercise * amplifying descriptors of an object (see 5.3.1 and table II). * Type: U,E,I,SO,EU,EEI,EI * Length: G */ public static final int E_FRAME_SHAPE_MODIFIER = 5; /** * A text modifier in a unit symbol that displays (+) for reinforced, (-) for reduced,(+) reinforced and reduced. * R = reinforced,D = reduced,RD = reinforced and reduced * Type: U,SO * Length: 23 */ public static final int F_REINFORCED_REDUCED = 6; /** * A text modifier for units, equipment and installations; content is implementation specific. * Type: U,E,I,SI,SO * Length: 20 */ public static final int G_STAFF_COMMENTS = 7; /** * Text modifier for amplifying free text * Type: U,E,I,SI,SO,EU,EEI,EI * Length: 20 */ public static final int H_ADDITIONAL_INFO_1 = 8; /** * Text modifier for amplifying free text * Type: U,E,I,SI,SO,EU,EEI,EI * Length: 20 */ public static final int H1_ADDITIONAL_INFO_2 = 9; /** * Text modifier for amplifying free text * Type: U,E,I,SI,SO,EU,EEI,EI * Length: 20 */ public static final int H2_ADDITIONAL_INFO_3 = 10; /** * A text modifier for units, equipment, and installations that consists of * a one letter reliability rating and a one-number credibility rating. Reliability Ratings: A-completely reliable, B-usually reliable, C-fairly reliable, D-not usually reliable, E-unreliable, F-reliability cannot be judged. Credibility Ratings: 1-confirmed by other sources, 2-probably true, 3-possibly true, 4-doubtfully true, 5-improbable, 6-truth cannot be judged. Type: U,E,I,SI,SO,EU,EEI,EI Length: 2 */ public static final int J_EVALUATION_RATING = 11; /** * A text modifier for units and installations that indicates unit effectiveness or * installation capability. * Type: U,I,SO * Length: 5,5,3 */ public static final int K_COMBAT_EFFECTIVENESS = 12; /** * A text modifier for hostile equipment; “!� indicates detectable electronic * signatures. * Type: E,SI * Length: 1 */ public static final int L_SIGNATURE_EQUIP = 13; /** * A text modifier for units that indicates number or title of higher echelon * command (corps are designated by Roman numerals). * Type: U,SI * Length: 21 */ public static final int M_HIGHER_FORMATION = 14; /** * A text modifier for equipment; letters "ENY" denote hostile symbols. * Type: E * Length: 3 */ public static final int N_HOSTILE = 15; /** * A text modifier displaying IFF/SIF Identification modes and codes. * Type: U,E,SO * Length: 5 */ public static final int P_IFF_SIF = 16; /** * A graphic modifier for units and equipment that identifies the direction of * movement or intended movement of an object (see 5.3.4.1 and figures 2 and 3). * Type: U,E,SO,EU,EEI * Length: G */ public static final int Q_DIRECTION_OF_MOVEMENT = 17; /** * A graphic modifier for equipment that depicts the mobility of an object (see * 5.3.4.3, figures 2 and 3, and table VI). * We feed off of the symbol code for mobility so this isn't used * Type: E,EEI * Length: G */ public static final int R_MOBILITY_INDICATOR = 18; /** * M = Mobile, S = Static, or U = Uncertain. * Type: SI * Length: 1 */ public static final int R2_SIGNIT_MOBILITY_INDICATOR = 19; /** * Headquarters staff indicator: A graphic modifier for units, equipment, and * installations that identifies a unit as a headquarters (see 5.3.4.8 and figures 2 and * 3). * Offset location indicator: A graphic modifier for units, equipment, and * installations used when placing an object away from its actual location (see * 5.3.4.9 and figures 2 and 3). * Type: U,E,I,SO,EU,EEI,EI * Length: G */ public static final int S_HQ_STAFF_OR_OFFSET_INDICATOR = 20; /** * A text modifier for units, equipment, and installations that uniquely identifies a * particular symbol or track number. Identifies acquisitions number when used * with SIGINT symbology. * Type: U,E,I,SI,SO,EU,EEI,EI * Length: 21 */ public static final int T_UNIQUE_DESIGNATION_1 = 21; /** * A text modifier for units, equipment, and installations that uniquely identifies a * particular symbol or track number. Identifies acquisitions number when used * with SIGINT symbology. * Type: U,E,I,SI,SO,EU,EEI,EI * Length: 21 */ public static final int T1_UNIQUE_DESIGNATION_2 = 22; /** * A text modifier for equipment that indicates types of equipment. * For Tactical Graphics: * A text modifier that indicates nuclear weapon type. * Type: E,SI,EEI * Length: 24 */ public static final int V_EQUIP_TYPE = 23; /** * A text modifier for units, equipment, and installations that displays DTG format: * DDHHMMSSZMONYYYY or “O/O� for on order (see 5.5.2.6). * Type: U,E,I,SI,SO,EU,EEI,EI * Length: 16 */ public static final int W_DTG_1 = 24; /** * A text modifier for units, equipment, and installations that displays DTG format: * DDHHMMSSZMONYYYY or “O/O� for on order (see 5.5.2.6). * Type: U,E,I,SI,SO,EU,EEI,EI * Length: 16 */ public static final int W1_DTG_2 = 25; /** * A text modifier for units, equipment, and installations, that displays either * altitude flight level, depth for submerged objects; or height of equipment or * structures on the ground. See 5.5.2.5 for content. * Type: U,E,I,SO,EU,EEI,EI * Length: 14 */ public static final int X_ALTITUDE_DEPTH = 26; /** * A text modifier for units, equipment, and installations that displays a symbol’s * location in degrees, minutes, and seconds (or in UTM or other applicable display * format). * Conforms to decimal * degrees format: * xx.dddddhyyy.dddddh * where * xx = degrees latitude * yyy = degrees longitude * .ddddd = decimal degrees * h = direction (N, E, S, W) * Type: U,E,I,SI,SO,EU,EEI,EI * Length: 19 */ public static final int Y_LOCATION = 27; /** * A text modifier for units and equipment that displays velocity as set forth in * MIL-STD-6040. * Type: U,E,SO,EU,EEI * Length: 8 */ public static final int Z_SPEED = 28; /** * A text modifier for units; indicator is contained inside the frame (see figures 2 * and 3); contains the name of the special C2 Headquarters. * Type: U,SO * Length: 9 */ public static final int AA_SPECIAL_C2_HQ = 29; /** * Feint or dummy indicator: A graphic modifier for units, equipment, and * installations that identifies an offensive or defensive unit intended to draw the * enemy’s attention away from the area of the main attack (see 5.3.4.7 and figures * 2 and 3). * Type: U,E,I,SO * Length: G */ public static final int AB_FEINT_DUMMY_INDICATOR = 30; /** * Installation: A graphic modifier for units, equipment, and installations used to * show that a particular symbol denotes an installation (see 5.3.4.5 and figures 2 * and 3). * Not used, we feed off of symbol code for this * Type: U,E,I,SO,EU,EEI,EI * Length: G */ public static final int AC_INSTALLATION = 31; /** * ELNOT or CENOT * Type: SI * Length: 6 */ public static final int AD_PLATFORM_TYPE = 32; /** * Equipment teardown time in minutes. * Type: SI * Length: 3 */ public static final int AE_EQUIPMENT_TEARDOWN_TIME = 33; /** * Example: “Hawk� for Hawk SAM system. * Type: SI * Length: 12 */ public static final int AF_COMMON_IDENTIFIER = 34; /** * Towed sonar array indicator: A graphic modifier for equipment that indicates the * presence of a towed sonar array (see 5.3.4.4, figures 2 and 3, and table VII). * Type: E * Length: G */ public static final int AG_AUX_EQUIP_INDICATOR = 35; /** * A graphic modifier for units and equipment that indicates the area where an * object is most likely to be, based on the object’s last report and the reporting * accuracy of the sensor that detected the object (see 5.3.4.11.1 and figure 4). * Type: E,U,SO,EU,EEI * Length: G */ public static final int AH_AREA_OF_UNCERTAINTY = 36; /** * A graphic modifier for units and equipment that identifies where an object * should be located at present, given its last reported course and speed (see * 5.3.4.11.2 and figure 4). * Type: E,U,SO,EU,EEI * Length: G */ public static final int AI_DEAD_RECKONING_TRAILER = 37; /** * A graphic modifier for units and equipment that depicts the speed and direction * of movement of an object (see 5.3.4.11.3 and figure 4). * Type: E,U,SO,EU,EEI * Length: G */ public static final int AJ_SPEED_LEADER = 38; /** * A graphic modifier for units and equipment that connects two objects and is * updated dynamically as the positions of the objects change (see 5.3.4.11.4 and * figure 4). * Type: U,E,SO * Length: G */ public static final int AK_PAIRING_LINE = 39; /** * An optional graphic modifier for equipment or installations that indicates * operational condition or capacity. * Type: E,I,SI,SO,EU,EEI,EI * Length: G */ public static final int AL_OPERATIONAL_CONDITION = 40; /** * A graphic amplifier placed immediately atop the symbol. May denote, 1) * local/remote status; 2) engagement status; and 3) weapon type. * * Type: U,E,I * Length: G/8 */ public static final int AO_ENGAGEMENT_BAR = 41; /** * Pulled from the SymbolID. Not something the user should set directly. */ public static final int CC_COUNTRY_CODE = 42; /** * Sonar Classification Confidence level. valid values are 1-5. * Only applies to the 4 subsurface MILCO sea mines */ public static final int SCC_SONAR_CLASSIFICATION_CONFIDENCE = 50; /** * A generic name label that goes to the right of the symbol and * any existing labels. If there are no existing labels, it goes right * next to the right side of the symbol. This is a CPOF label that applies * to all force elements. This IS NOT a MilStd or USAS Label. */ public static final int CN_CPOF_NAME_LABEL = 60; //public static final int LENGTH = "Length"; //public static final int WIDTH = "Width"; //public static final int RADIUS = "Radius"; //public static final int SEGMENT_DATA = "Segment Data"; /** * Returns an Arraylist of the modifer names for units * @return */ public static ArrayList<Integer> GetModifierList() { ArrayList<Integer> list = new ArrayList<Integer>(); //list.add(ModifierType.A_SYMBOL_ICON);//graphical, feeds off of symbol code, SIDC positions 3, 5-10 //list.add(ModifierType.B_ECHELON);//graphical, feeds off of symbol code, SIDC positions 11-12 list.add(C_QUANTITY); //list.add(D_TASK_FORCE_INDICATOR);//graphical, feeds off of symbol code, SIDC positions 11-12 //list.add(E_FRAME_SHAPE_MODIFIER);//symbol frame, feeds off of symbol code, SIDC positions 3-4 list.add(F_REINFORCED_REDUCED);//R = reinforced, D = reduced, RD = reinforced and reduced list.add(G_STAFF_COMMENTS); list.add(H_ADDITIONAL_INFO_1); list.add(H1_ADDITIONAL_INFO_2); list.add(H2_ADDITIONAL_INFO_3); list.add(J_EVALUATION_RATING); list.add(K_COMBAT_EFFECTIVENESS); list.add(L_SIGNATURE_EQUIP); list.add(M_HIGHER_FORMATION); list.add(N_HOSTILE); list.add(P_IFF_SIF); list.add(Q_DIRECTION_OF_MOVEMENT);//number in mils //list.add(R_MOBILITY_INDICATOR);//graphical, feeds off of symbol code, SIDC positions 11-12 list.add(R2_SIGNIT_MOBILITY_INDICATOR); //list.add(S_HQ_STAFF_OR_OFFSET_INDICATOR);//graphical, feeds off of symbol code, SIDC positions 11-12 list.add(T_UNIQUE_DESIGNATION_1); list.add(T1_UNIQUE_DESIGNATION_2); list.add(V_EQUIP_TYPE); list.add(W_DTG_1); list.add(W1_DTG_2); list.add(X_ALTITUDE_DEPTH); list.add(Y_LOCATION); list.add(Z_SPEED); list.add(AA_SPECIAL_C2_HQ); //list.add(AB_FEINT_DUMMY_INDICATOR);//graphical, feeds off of symbol code, SIDC positions 11-12 //list.add(AC_INSTALLATION);//graphical, feeds off of symbol code, SIDC positions 11-12 list.add(AD_PLATFORM_TYPE); list.add(AE_EQUIPMENT_TEARDOWN_TIME); list.add(AF_COMMON_IDENTIFIER); list.add(AG_AUX_EQUIP_INDICATOR); list.add(AH_AREA_OF_UNCERTAINTY); list.add(AI_DEAD_RECKONING_TRAILER); list.add(AJ_SPEED_LEADER); list.add(AK_PAIRING_LINE); //list.add(AL_OPERATIONAL_CONDITION);//2525C ////graphical, feeds off of symbol code, SIDC positions 4 list.add(AO_ENGAGEMENT_BAR);//2525C return list; } /** * * @param modifier like ModifiersTG.C_QUANTITY * @return modifier name based on mofidier constants */ public static String getModifierName(int modifier) { switch(modifier) { //case A_SYMBOL_ICON: // return "Symbol Icon"; case B_ECHELON: return "Echelon"; case C_QUANTITY: return "Quantity"; //case D_TASK_FORCE_INDICATOR: // return "Task Force Indicator"; //case E_FRAME_SHAPE_MODIFIER: // return "Frame Shape Modifier"; case F_REINFORCED_REDUCED: return "Reinforce Reduced"; case G_STAFF_COMMENTS: return "Staff Comments"; case H_ADDITIONAL_INFO_1: return "Additional Info 1"; case H1_ADDITIONAL_INFO_2: return "Additional Info 2"; case H2_ADDITIONAL_INFO_3: return "Additional Info 3"; case J_EVALUATION_RATING: return "Evaluation Rating"; case K_COMBAT_EFFECTIVENESS: return "Combat Effectiveness"; case L_SIGNATURE_EQUIP: return "Signature Equipment"; case M_HIGHER_FORMATION: return "Higher Formation"; case N_HOSTILE: return "Hostile"; case P_IFF_SIF: return "IFF SIF"; case Q_DIRECTION_OF_MOVEMENT: return "Direction of Movement"; case R_MOBILITY_INDICATOR: return "Mobility Indicator"; case R2_SIGNIT_MOBILITY_INDICATOR: return "Signals Intelligence Mobility Indicator"; //case S_HQ_STAFF_OR_OFFSET_INDICATOR: // return "HQ Staff / Offset Indicator"; //case S_OFFSET_INDICATOR: // return "Offset Indicator"; case T_UNIQUE_DESIGNATION_1: return "Unique Designation 1"; case T1_UNIQUE_DESIGNATION_2: return "Unique Designation 2"; case V_EQUIP_TYPE: return "Equipment Type"; case W_DTG_1: return "Date Time Group 1"; case W1_DTG_2: return "Date Time Group 2"; case X_ALTITUDE_DEPTH: return "Altitude Depth"; case Y_LOCATION: return "Location"; case Z_SPEED: return "Speed"; case AA_SPECIAL_C2_HQ: return "Special C2 HQ"; //case AB_FEINT_DUMMY_INDICATOR: // return "Feint Dummy Indicator"; //case AC_INSTALLATION: // return "Installation"; case AD_PLATFORM_TYPE: return "Platform Type"; case AE_EQUIPMENT_TEARDOWN_TIME: return "Equipment Teardown Time"; case AF_COMMON_IDENTIFIER: return "Common Identifier"; //case AG_AUX_EQUIP_INDICATOR: // return "Auxiliary Equipment Indicator"; /*case AH_AREA_OF_UNCERTAINTY: return "Area of Uncertainty"; case AI_DEAD_RECKONING_TRAILER: return "Dead Reckoning Trailer"; case AJ_SPEED_LEADER: return "Speed Leader"; case AK_PAIRING_LINE: return "Pairing Line"; case AL_OPERATIONAL_CONDITION: return "Operational Condition"; case AO_ENGAGEMENT_BAR: return "Engagement Bar";//*/ case SCC_SONAR_CLASSIFICATION_CONFIDENCE: return "Sonar Classification Confidence"; default: return ""; } } }