001/* 002 * To change this template, choose Tools | Templates 003 * and open the template in the editor. 004 */ 005 006package armyc2.c2sd.JavaLineArray; 007import java.util.ArrayList; 008import armyc2.c2sd.renderer.utilities.ErrorLogger; 009import armyc2.c2sd.renderer.utilities.RendererException; 010import armyc2.c2sd.renderer.utilities.RendererSettings; 011/** 012 * A class for the interface between the points calculation CELineArray and 013 * the tactical renderer. 014 * 015 * @author Michael Deutch 016 */ 017public final class CELineArray { 018 private static final String _className="CELineArray"; 019 /** 020 * Client interface function, called by tactical renderer clsChannelUtility 021 * @param lpsaUpperVBPoints the client points as an array of 2-tuples: x pixels, y pixels 022 * @param lpsaLowerVBPoints generally the same as the upper points 023 * @param resultVBPoints calculated points to return as 3 tuples: x,y,linestyle 024 * @param vblUpperCounter the number of client points 025 * @param vblLowerCounter the number of client points 026 * @param vbiDrawThis the line type as a hierarchy 027 * @param vblChannelWidth the channel width in pixels 028 * @param usePtr currently being used as the distance from the this to the back of the arrowhead 029 * @param shapes ShapeInfo object to return which will contain the GeneralPath for the line 030 * @return the point count for the return array 031 */ 032 public static int CGetChannel2Double(double[] lpsaUpperVBPoints, 033 double[] lpsaLowerVBPoints, 034 double[] resultVBPoints, 035 int vblUpperCounter, 036 int vblLowerCounter, 037 int vbiDrawThis, 038 int vblChannelWidth, 039 int usePtr, 040 ArrayList<Shape2>shapes, 041 int rev) throws Exception 042 { 043 int lResult = -1; 044 045 try { 046 lResult = Channels.GetChannel1Double(lpsaUpperVBPoints, 047 lpsaLowerVBPoints, 048 resultVBPoints, 049 vblUpperCounter, 050 vblLowerCounter, 051 vbiDrawThis, 052 vblChannelWidth, 053 usePtr, 054 shapes, 055 rev); 056 057 //GC.Collect(); 058 } catch (Exception exc) { 059 ErrorLogger.LogException(_className ,"CGetChannel2Double", 060 new RendererException("Failed inside CGetChannel2Double " + Integer.toString(vbiDrawThis), exc)); 061 } 062 return lResult; 063 } 064 /** 065 * public function to return the line count required for all of the symbols 066 * 067 * @param plArrayOfLongs the client points as an array of POINT2 in pixels. 068 * @param lElements the number of client points. 069 * @param lineType the line type 070 * @param ChannelWdith the chanel width in pixels 071 * @param rev the Mil-Standard-2525 revision 072 * 073 * @return the number of points which will be required for the symbol. 074 */ 075 public static int CGetLineCountDouble(double[] plArrayOfLongs, 076 int lElements, //number of points 077 int lineType, 078 int ChannelWidth, 079 int rev) { 080 int lResult = 0; 081 try { 082 //declarations 083 int lPtrcntr = 0; 084 int lLowerFlotCount = 0, lUpperFlotCount = 0; 085 POINT2[] pLinePoints = new POINT2[lElements]; 086 POINT2[] pLowerLinePoints = new POINT2[lElements], 087 pUpperLinePoints = new POINT2[lElements], 088 pUpperLowerLinePoints = new POINT2[2 * lElements + 2]; 089 short i = 0; 090 //end declarations 091 092 if (lElements <= 0) { 093 return -1; 094 } 095 096 lineutility.InitializePOINT2Array(pLinePoints); 097 lineutility.InitializePOINT2Array(pUpperLinePoints); 098 lineutility.InitializePOINT2Array(pLowerLinePoints); 099 for (i = 0; i < lElements; i++) { 100 pLinePoints[i].x = plArrayOfLongs[lPtrcntr]; 101 lPtrcntr++; 102 pLinePoints[i].y = plArrayOfLongs[lPtrcntr]; 103 lPtrcntr++; 104 } 105 for (i = 0; i < lElements; i++) { 106 pLowerLinePoints[i] = new POINT2(pLinePoints[i]); 107 pUpperLinePoints[i] = new POINT2(pLinePoints[i]); 108 } 109 110 switch (lineType) { 111 case TacticalLines.CHANNEL: 112 case TacticalLines.CHANNEL_FLARED: 113 case TacticalLines.CHANNEL_DASHED: 114 lResult = 2 * lElements; 115 break; 116 case TacticalLines.AXAD: 117 case TacticalLines.MAIN: 118 case TacticalLines.MAIN_STRAIGHT: 119 case TacticalLines.AAFNT: 120 case TacticalLines.AAFNT_STRAIGHT: 121 case TacticalLines.AIRAOA: 122 case TacticalLines.SPT: 123 case TacticalLines.SPT_STRAIGHT: 124 //points for these need not be bounded 125 //they have an extra 8 points for the arrowhead 126 lResult = 2 * lElements + 8; 127 break; 128 case TacticalLines.CATK: 129 lResult = 2 * lElements + 8; 130 break; 131 case TacticalLines.CATKBYFIRE: 132 lResult = 2 * lElements + 17; 133 break; 134 case TacticalLines.AAAAA: 135 lResult = 2 * lElements + 19; 136 break; 137 case TacticalLines.LC: 138 pUpperLinePoints = Channels.GetChannelArray2Double(1, pUpperLinePoints, 1, lElements, lineType, ChannelWidth); 139 pLowerLinePoints = Channels.GetChannelArray2Double(1, pLowerLinePoints, 0, lElements, lineType, ChannelWidth); 140 lUpperFlotCount = flot.GetFlotCountDouble(pUpperLinePoints, lElements); 141 lLowerFlotCount = flot.GetFlotCountDouble(pLowerLinePoints, lElements); 142 lResult = lUpperFlotCount + lLowerFlotCount; 143 break; 144 default: 145 //call GetCountersDouble for the remaining line types. 146 lResult = countsupport.GetCountersDouble(lineType, lElements, pLinePoints, null,rev); 147 break; 148 } 149 150 151 //clean up 152 //pvblCounters = null; 153 pLinePoints = null; 154 pLowerLinePoints = null; 155 pUpperLinePoints = null; 156 pUpperLowerLinePoints = null; 157 //GC.Collect(); 158 } catch (Exception exc) { 159 ErrorLogger.LogException(_className ,"CGetLineCountDouble", 160 new RendererException("Failed inside CGetLineCount " + Integer.toString(lineType), exc)); 161 } 162 return (lResult); 163 } 164 /** 165 * Return the line type as a hierarchy from the 15 character Mil-Standard-2525 symbol code 166 * @param strLine 167 * @param rev the Mil-Standard-2525 revision 168 * @return 169 */ 170 public static int CGetLinetypeFromString(String strLine, 171 int rev) 172 { 173 try 174 { 175 //added this section so the SEC tester can test from generic names 176 //these strings will not be used by the CPOF client 177 if(strLine.length()<15) 178 { 179 if(rev==RendererSettings.Symbology_2525C) 180 { 181 if(strLine.equalsIgnoreCase("SCREEN")) 182 return TacticalLines.SCREEN_REVC; 183 if(strLine.equalsIgnoreCase("COVER")) 184 return TacticalLines.COVER_REVC; 185 if(strLine.equalsIgnoreCase("GUARD")) 186 return TacticalLines.GUARD_REVC; 187 if(strLine.equalsIgnoreCase("SEIZE")) 188 return TacticalLines.SEIZE_REVC; 189 } 190 if(strLine.equalsIgnoreCase("BS_LINE")) 191 return TacticalLines.BS_LINE; 192 if(strLine.equalsIgnoreCase("BS_AREA")) 193 return TacticalLines.BS_AREA; 194 if(strLine.equalsIgnoreCase("BS_CROSS")) 195 return TacticalLines.BS_CROSS; 196 if(strLine.equalsIgnoreCase("BS_RECTANGLE")) 197 return TacticalLines.BS_RECTANGLE; 198 if(strLine.equalsIgnoreCase("PBS_RECTANGLE")) 199 return TacticalLines.PBS_RECTANGLE; 200 if(strLine.equalsIgnoreCase("PBS_SQUARE")) 201 return TacticalLines.PBS_SQUARE; 202 //buffered lines 203 if(strLine.equalsIgnoreCase("BBS_LINE")) 204 return TacticalLines.BBS_LINE; 205 if(strLine.equalsIgnoreCase("BBS_AREA")) 206 return TacticalLines.BBS_AREA; 207 if(strLine.equalsIgnoreCase("BBS_POINT")) 208 return TacticalLines.BBS_POINT; 209 if(strLine.equalsIgnoreCase("BBS_RECTANGLE")) 210 return TacticalLines.BBS_RECTANGLE; 211 if(strLine.equalsIgnoreCase("BS_BBOX")) 212 return TacticalLines.BS_BBOX; 213 214 if(strLine.equalsIgnoreCase("BS_ELLIPSE")) 215 return TacticalLines.BS_ELLIPSE; 216 if(strLine.equalsIgnoreCase("PBS_ELLIPSE")) 217 return TacticalLines.PBS_ELLIPSE; 218 if(strLine.equalsIgnoreCase("PBS_CIRCLE")) 219 return TacticalLines.PBS_CIRCLE; 220 if(strLine.equalsIgnoreCase("OVERHEAD_WIRE")) 221 return TacticalLines.OVERHEAD_WIRE; 222 if(strLine.equalsIgnoreCase("CORDONSEARCH")) 223 return TacticalLines.CORDONSEARCH; 224 if(strLine.equalsIgnoreCase("CORDONKNOCK")) 225 return TacticalLines.CORDONKNOCK; 226 if(strLine.equalsIgnoreCase("NAVIGATION")) 227 return TacticalLines.NAVIGATION; 228 if(strLine.equalsIgnoreCase("BLOCK")) 229 return TacticalLines.BLOCK; 230 if(strLine.equalsIgnoreCase("BREACH")) 231 return TacticalLines.BREACH; 232 if(strLine.equalsIgnoreCase("BYPASS")) 233 return TacticalLines.BYPASS; 234 if(strLine.equalsIgnoreCase("CANALIZE")) 235 return TacticalLines.CANALIZE; 236 if(strLine.equalsIgnoreCase("CLEAR")) 237 return TacticalLines.CLEAR; 238 if(strLine.equalsIgnoreCase("CONTAIN")) 239 return TacticalLines.CONTAIN; 240 if(strLine.equalsIgnoreCase("CATK")) 241 return TacticalLines.CATK; 242 if(strLine.equalsIgnoreCase("CATKBYFIRE")) 243 return TacticalLines.CATKBYFIRE; 244 if(strLine.equalsIgnoreCase("DELAY")) 245 return TacticalLines.DELAY; 246 if(strLine.equalsIgnoreCase("DISRUPT")) 247 return TacticalLines.DISRUPT; 248 if(strLine.equalsIgnoreCase("FIX")) 249 return TacticalLines.FIX; 250 if(strLine.equalsIgnoreCase("FOLLA")) 251 return TacticalLines.FOLLA; 252 if(strLine.equalsIgnoreCase("FOLSP")) 253 return TacticalLines.FOLSP; 254 if(strLine.equalsIgnoreCase("ISOLATE")) 255 return TacticalLines.ISOLATE; 256 if(strLine.equalsIgnoreCase("OCCUPY")) 257 return TacticalLines.OCCUPY; 258 if(strLine.equalsIgnoreCase("RIP")) 259 return TacticalLines.RIP; 260 if(strLine.equalsIgnoreCase("RETAIN")) 261 return TacticalLines.RETAIN; 262 if(strLine.equalsIgnoreCase("RETIRE")) 263 return TacticalLines.RETIRE; 264 if(strLine.equalsIgnoreCase("SECURE")) 265 return TacticalLines.SECURE; 266 if(strLine.equalsIgnoreCase("SCREEN")) 267 return TacticalLines.SCREEN; 268 if(strLine.equalsIgnoreCase("COVER")) 269 return TacticalLines.COVER; 270 if(strLine.equalsIgnoreCase("GUARD")) 271 return TacticalLines.GUARD; 272 if(strLine.equalsIgnoreCase("SEZIE")) 273 return TacticalLines.SEIZE; 274 if(strLine.equalsIgnoreCase("WITHDRAW")) 275 return TacticalLines.WITHDRAW; 276 if(strLine.equalsIgnoreCase("WDRAWUP")) 277 return TacticalLines.WDRAWUP; 278 279 if(strLine.equalsIgnoreCase("BOUNDARY")) 280 return TacticalLines.BOUNDARY; 281 if(strLine.equalsIgnoreCase("FLOT")) 282 return TacticalLines.FLOT; 283 if(strLine.equalsIgnoreCase("LC")) 284 return TacticalLines.LC; 285 if(strLine.equalsIgnoreCase("PL")) 286 return TacticalLines.PL; 287 if(strLine.equalsIgnoreCase("LL")) 288 return TacticalLines.LL; 289 if(strLine.equalsIgnoreCase("GENERAL")) 290 return TacticalLines.GENERAL; 291 if(strLine.equalsIgnoreCase("GENERIC")) 292 return TacticalLines.GENERIC; 293 if(strLine.equalsIgnoreCase("ASSY")) 294 return TacticalLines.ASSY; 295 if(strLine.equalsIgnoreCase("EA")) 296 return TacticalLines.EA; 297 if(strLine.equalsIgnoreCase("FORT")) 298 return TacticalLines.FORT; 299 if(strLine.equalsIgnoreCase("DZ")) 300 return TacticalLines.DZ; 301 if(strLine.equalsIgnoreCase("EZ")) 302 return TacticalLines.EZ; 303 if(strLine.equalsIgnoreCase("LZ")) 304 return TacticalLines.LZ; 305 if(strLine.equalsIgnoreCase("PZ")) 306 return TacticalLines.PZ; 307 if(strLine.equalsIgnoreCase("SARA")) 308 return TacticalLines.SARA; 309 if(strLine.equalsIgnoreCase("LAA")) 310 return TacticalLines.LAA; 311 if(strLine.equalsIgnoreCase("AIRFIELD")) 312 return TacticalLines.AIRFIELD; 313 if(strLine.equalsIgnoreCase("AC")) 314 return TacticalLines.AC; 315 if(strLine.equalsIgnoreCase("MRR")) 316 return TacticalLines.MRR; 317 if(strLine.equalsIgnoreCase("MRR_USAS")) 318 return TacticalLines.MRR_USAS; 319 if(strLine.equalsIgnoreCase("SAAFR")) 320 return TacticalLines.SAAFR; 321 if(strLine.equalsIgnoreCase("UAV")) 322 return TacticalLines.UAV; 323 if(strLine.equalsIgnoreCase("UAV_USAS")) 324 return TacticalLines.UAV_USAS; 325 if(strLine.equalsIgnoreCase("LLTR")) 326 return TacticalLines.LLTR; 327 328 if(strLine.equalsIgnoreCase("ROZ")) 329 return TacticalLines.ROZ; 330 if(strLine.equalsIgnoreCase("SHORADZ")) 331 return TacticalLines.FAADZ; 332 if(strLine.equalsIgnoreCase("FAADZ")) 333 return TacticalLines.FAADZ; 334 if(strLine.equalsIgnoreCase("HIDACZ")) 335 return TacticalLines.HIDACZ; 336 if(strLine.equalsIgnoreCase("MEZ")) 337 return TacticalLines.MEZ; 338 if(strLine.equalsIgnoreCase("LOMEZ")) 339 return TacticalLines.LOMEZ; 340 if(strLine.equalsIgnoreCase("HIMEZ")) 341 return TacticalLines.HIMEZ; 342 if(strLine.equalsIgnoreCase("WFZ")) 343 return TacticalLines.WFZ; 344 if(strLine.equalsIgnoreCase("DECEIVE")) 345 return TacticalLines.DECEIVE; 346 if(strLine.equalsIgnoreCase("AAFNT")) 347 return TacticalLines.AAFNT; 348 if(strLine.equalsIgnoreCase("DIRATKFNT")) 349 return TacticalLines.DIRATKFNT; 350 if(strLine.equalsIgnoreCase("DMA")) 351 return TacticalLines.DMA; 352 if(strLine.equalsIgnoreCase("DMAF")) 353 return TacticalLines.DMAF; 354 if(strLine.equalsIgnoreCase("DUMMY")) 355 return TacticalLines.DUMMY; 356 if(strLine.equalsIgnoreCase("FEBA")) 357 return TacticalLines.FEBA; 358 if(strLine.equalsIgnoreCase("PDF")) 359 return TacticalLines.PDF; 360 if(strLine.equalsIgnoreCase("BATTLE")) 361 return TacticalLines.BATTLE; 362 if(strLine.equalsIgnoreCase("PNO")) 363 return TacticalLines.PNO; 364 if(strLine.equalsIgnoreCase("EA1")) 365 return TacticalLines.EA1; 366 if(strLine.equalsIgnoreCase("AXAD")) 367 return TacticalLines.AXAD; 368 if(strLine.equalsIgnoreCase("AIRAOA")) 369 return TacticalLines.AIRAOA; 370 if(strLine.equalsIgnoreCase("AAAAA")) 371 return TacticalLines.AAAAA; 372 if(strLine.equalsIgnoreCase("ROTARY")) 373 return TacticalLines.AAAAA; 374 if(strLine.equalsIgnoreCase("MAIN")) 375 return TacticalLines.MAIN; 376 if(strLine.equalsIgnoreCase("SPT")) 377 return TacticalLines.SPT; 378 if(strLine.equalsIgnoreCase("DIRATKAIR")) 379 return TacticalLines.DIRATKAIR; 380 if(strLine.equalsIgnoreCase("DIRATKGND")) 381 return TacticalLines.DIRATKGND; 382 if(strLine.equalsIgnoreCase("DIRATKSPT")) 383 return TacticalLines.DIRATKSPT; 384 385 if(strLine.equalsIgnoreCase("FCL")) 386 return TacticalLines.FCL; 387 if(strLine.equalsIgnoreCase("IL")) 388 return TacticalLines.IL; 389 if(strLine.equalsIgnoreCase("LOA")) 390 return TacticalLines.LOA; 391 if(strLine.equalsIgnoreCase("LOD")) 392 return TacticalLines.LOD; 393 if(strLine.equalsIgnoreCase("LDLC")) 394 return TacticalLines.LDLC; 395 if(strLine.equalsIgnoreCase("PLD")) 396 return TacticalLines.PLD; 397 if(strLine.equalsIgnoreCase("ASSAULT")) 398 return TacticalLines.ASSAULT; 399 if(strLine.equalsIgnoreCase("ATKPOS")) 400 return TacticalLines.ATKPOS; 401 if(strLine.equalsIgnoreCase("ATKBYFIRE")) 402 return TacticalLines.ATKBYFIRE; 403 if(strLine.equalsIgnoreCase("SPTBYFIRE")) 404 return TacticalLines.SPTBYFIRE; 405 406 if(strLine.equalsIgnoreCase("ENCIRCLE")) 407 return TacticalLines.ENCIRCLE; 408 if(strLine.equalsIgnoreCase("SEIZE")) 409 return TacticalLines.SEIZE; 410 if(strLine.equalsIgnoreCase("OBJ")) 411 return TacticalLines.OBJ; 412 if(strLine.equalsIgnoreCase("PEN")) 413 return TacticalLines.PEN; 414 if(strLine.equalsIgnoreCase("PENETRATE")) 415 return TacticalLines.PENETRATE; 416 if(strLine.equalsIgnoreCase("AMBUSH")) 417 return TacticalLines.AMBUSH; 418 if(strLine.equalsIgnoreCase("HOLD")) 419 return TacticalLines.HOLD; 420 if(strLine.equalsIgnoreCase("RELEASE")) 421 return TacticalLines.RELEASE; 422 if(strLine.equalsIgnoreCase("BRDGHD")) 423 return TacticalLines.BRDGHD; 424 if(strLine.equalsIgnoreCase("AO")) 425 return TacticalLines.AO; 426 if(strLine.equalsIgnoreCase("AIRHEAD")) 427 return TacticalLines.AIRHEAD; 428 if(strLine.equalsIgnoreCase("NAI")) 429 return TacticalLines.NAI; 430 if(strLine.equalsIgnoreCase("TAI")) 431 return TacticalLines.TAI; 432 433 if(strLine.equalsIgnoreCase("BELT")) 434 return TacticalLines.BELT; 435 if(strLine.equalsIgnoreCase("BELT1")) 436 return TacticalLines.BELT1; 437 if(strLine.equalsIgnoreCase("LINE")) 438 return TacticalLines.LINE; 439 if(strLine.equalsIgnoreCase("ZONE")) 440 return TacticalLines.ZONE; 441 if(strLine.equalsIgnoreCase("OBSFAREA")) 442 return TacticalLines.OBSFAREA; 443 if(strLine.equalsIgnoreCase("OBSAREA")) 444 return TacticalLines.OBSAREA; 445 if(strLine.equalsIgnoreCase("ABATIS")) 446 return TacticalLines.ABATIS; 447 448 if(strLine.equalsIgnoreCase("ATDITCH")) 449 return TacticalLines.ATDITCH; 450 if(strLine.equalsIgnoreCase("ATDITCHC")) 451 return TacticalLines.ATDITCHC; 452 if(strLine.equalsIgnoreCase("ATDITCHM")) 453 return TacticalLines.ATDITCHM; 454 if(strLine.equalsIgnoreCase("ATWALL")) 455 return TacticalLines.ATWALL; 456 if(strLine.equalsIgnoreCase("CLUSTER")) 457 return TacticalLines.CLUSTER; 458 if(strLine.equalsIgnoreCase("DEPICT")) 459 return TacticalLines.DEPICT; 460 if(strLine.equalsIgnoreCase("GAP")) 461 return TacticalLines.GAP; 462 if(strLine.equalsIgnoreCase("MINED")) 463 return TacticalLines.MINED; 464 if(strLine.equalsIgnoreCase("MNFLDBLK")) 465 return TacticalLines.MNFLDBLK; 466 if(strLine.equalsIgnoreCase("MNFLDFIX")) 467 return TacticalLines.MNFLDFIX; 468 if(strLine.equalsIgnoreCase("TURN")) 469 return TacticalLines.TURN; 470 if(strLine.equalsIgnoreCase("MNFLDDIS")) 471 return TacticalLines.MNFLDDIS; 472 if(strLine.equalsIgnoreCase("UXO")) 473 return TacticalLines.UXO; 474 if(strLine.equalsIgnoreCase("PLANNED")) 475 return TacticalLines.PLANNED; 476 if(strLine.equalsIgnoreCase("ESR1")) 477 return TacticalLines.ESR1; 478 if(strLine.equalsIgnoreCase("ESR2")) 479 return TacticalLines.ESR2; 480 if(strLine.equalsIgnoreCase("ROADBLK")) 481 return TacticalLines.ROADBLK; 482 if(strLine.equalsIgnoreCase("TRIP")) 483 return TacticalLines.TRIP; 484 if(strLine.equalsIgnoreCase("UNSP")) 485 return TacticalLines.UNSP; 486 if(strLine.equalsIgnoreCase("SFENCE")) 487 return TacticalLines.SFENCE; 488 if(strLine.equalsIgnoreCase("DFENCE")) 489 return TacticalLines.DFENCE; 490 if(strLine.equalsIgnoreCase("DOUBLEA")) 491 return TacticalLines.DOUBLEA; 492 if(strLine.equalsIgnoreCase("LWFENCE")) 493 return TacticalLines.LWFENCE; 494 if(strLine.equalsIgnoreCase("HWFENCE")) 495 return TacticalLines.HWFENCE; 496 if(strLine.equalsIgnoreCase("SINGLEC")) 497 return TacticalLines.SINGLEC; 498 if(strLine.equalsIgnoreCase("DOUBLEC")) 499 return TacticalLines.DOUBLEC; 500 if(strLine.equalsIgnoreCase("TRIPLE")) 501 return TacticalLines.TRIPLE; 502 503 if(strLine.equalsIgnoreCase("EASY")) 504 return TacticalLines.EASY; 505 if(strLine.equalsIgnoreCase("BYDIF")) 506 return TacticalLines.BYDIF; 507 if(strLine.equalsIgnoreCase("BYIMP")) 508 return TacticalLines.BYIMP; 509 510 if(strLine.equalsIgnoreCase("ASLTXING")) 511 return TacticalLines.ASLTXING; 512 if(strLine.equalsIgnoreCase("BRIDGE")) 513 return TacticalLines.BRIDGE; 514 if(strLine.equalsIgnoreCase("FERRY")) 515 return TacticalLines.FERRY; 516 if(strLine.equalsIgnoreCase("FORD")) 517 return TacticalLines.FORDSITE; 518 if(strLine.equalsIgnoreCase("FORDSITE")) 519 return TacticalLines.FORDSITE; 520 if(strLine.equalsIgnoreCase("FORDIF")) 521 return TacticalLines.FORDIF; 522 if(strLine.equalsIgnoreCase("LANE")) 523 return TacticalLines.MFLANE; 524 if(strLine.equalsIgnoreCase("MFLANE")) 525 return TacticalLines.MFLANE; 526 if(strLine.equalsIgnoreCase("RAFT")) 527 return TacticalLines.RAFT; 528 529 if(strLine.equalsIgnoreCase("FORTL")) 530 return TacticalLines.FORTL; 531 if(strLine.equalsIgnoreCase("FOXHOLE")) 532 return TacticalLines.FOXHOLE; 533 if(strLine.equalsIgnoreCase("STRONG")) 534 return TacticalLines.STRONG; 535 if(strLine.equalsIgnoreCase("MSDZ")) 536 return TacticalLines.MSDZ; 537 if(strLine.equalsIgnoreCase("RAD")) 538 return TacticalLines.RAD; 539 if(strLine.equalsIgnoreCase("CHEM")) 540 return TacticalLines.CHEM; 541 if(strLine.equalsIgnoreCase("BIO")) 542 return TacticalLines.BIO; 543 if(strLine.equalsIgnoreCase("DRCL")) 544 return TacticalLines.DRCL; 545 546 if(strLine.equalsIgnoreCase("LINTGT")) 547 return TacticalLines.LINTGT; 548 if(strLine.equalsIgnoreCase("LINTGTS")) 549 return TacticalLines.LINTGTS; 550 if(strLine.equalsIgnoreCase("FPF")) 551 return TacticalLines.FPF; 552 if(strLine.equalsIgnoreCase("FSCL")) 553 return TacticalLines.FSCL; 554 if(strLine.equalsIgnoreCase("CFL")) 555 return TacticalLines.CFL; 556 if(strLine.equalsIgnoreCase("NFL")) 557 return TacticalLines.NFL; 558 if(strLine.equalsIgnoreCase("MFP")) 559 return TacticalLines.MFP; 560 if(strLine.equalsIgnoreCase("TGMF")) 561 return TacticalLines.TGMF; 562 if(strLine.equalsIgnoreCase("RFL")) 563 return TacticalLines.RFL; 564 if(strLine.equalsIgnoreCase("AT")) 565 return TacticalLines.AT; 566 567 if(strLine.equalsIgnoreCase("RECTANGULAR")) 568 return TacticalLines.RECTANGULAR; 569 if(strLine.equalsIgnoreCase("CIRCULAR")) 570 return TacticalLines.CIRCULAR; 571 if(strLine.equalsIgnoreCase("SERIES")) 572 return TacticalLines.SERIES; 573 if(strLine.equalsIgnoreCase("SMOKE")) 574 return TacticalLines.SMOKE; 575 if(strLine.equalsIgnoreCase("BOMB")) 576 return TacticalLines.BOMB; 577 578 if(strLine.equalsIgnoreCase("FSA")) 579 return TacticalLines.FSA; 580 if(strLine.equalsIgnoreCase("FSA_RECTANGULAR")) 581 return TacticalLines.FSA_RECTANGULAR; 582 if(strLine.equalsIgnoreCase("FSA_CIRCULAR")) 583 return TacticalLines.FSA_CIRCULAR; 584 585 if(strLine.equalsIgnoreCase("ACA")) 586 return TacticalLines.ACA; 587 if(strLine.equalsIgnoreCase("ACA_RECTANGULAR")) 588 return TacticalLines.ACA_RECTANGULAR; 589 if(strLine.equalsIgnoreCase("ACA_CIRCULAR")) 590 return TacticalLines.ACA_CIRCULAR; 591 592 if(strLine.equalsIgnoreCase("FFA")) 593 return TacticalLines.FFA; 594 if(strLine.equalsIgnoreCase("FFA_RECTANGULAR")) 595 return TacticalLines.FFA_RECTANGULAR; 596 if(strLine.equalsIgnoreCase("FFA_CIRCULAR")) 597 return TacticalLines.FFA_CIRCULAR; 598 599 if(strLine.equalsIgnoreCase("NFA")) 600 return TacticalLines.NFA; 601 if(strLine.equalsIgnoreCase("NFA_RECTANGULAR")) 602 return TacticalLines.NFA_RECTANGULAR; 603 if(strLine.equalsIgnoreCase("NFA_CIRCULAR")) 604 return TacticalLines.NFA_CIRCULAR; 605 606 if(strLine.equalsIgnoreCase("RFA")) 607 return TacticalLines.RFA; 608 if(strLine.equalsIgnoreCase("RFA_RECTANGULAR")) 609 return TacticalLines.RFA_RECTANGULAR; 610 if(strLine.equalsIgnoreCase("RFA_CIRCULAR")) 611 return TacticalLines.RFA_CIRCULAR; 612 613 if(strLine.equalsIgnoreCase("PAA")) 614 return TacticalLines.PAA; 615 if(strLine.equalsIgnoreCase("PAA_RECTANGULAR")) 616 return TacticalLines.PAA_RECTANGULAR_REVC; 617 if(strLine.equalsIgnoreCase("PAA_RECTANGULAR_REVC")) 618 return TacticalLines.PAA_RECTANGULAR_REVC; 619 if(strLine.equalsIgnoreCase("PAA_CIRCULAR")) 620 return TacticalLines.PAA_CIRCULAR; 621 622 if(strLine.equalsIgnoreCase("ATI")) 623 return TacticalLines.ATI; 624 if(strLine.equalsIgnoreCase("ATI_RECTANGULAR")) 625 return TacticalLines.ATI_RECTANGULAR; 626 if(strLine.equalsIgnoreCase("ATI_CIRCULAR")) 627 return TacticalLines.ATI_CIRCULAR; 628 629 if(strLine.equalsIgnoreCase("CFFZ")) 630 return TacticalLines.CFFZ; 631 if(strLine.equalsIgnoreCase("CFFZ_RECTANGULAR")) 632 return TacticalLines.CFFZ_RECTANGULAR; 633 if(strLine.equalsIgnoreCase("CFFZ_CIRCULAR")) 634 return TacticalLines.CFFZ_CIRCULAR; 635 636 if(strLine.equalsIgnoreCase("SENSOR")) 637 return TacticalLines.SENSOR; 638 if(strLine.equalsIgnoreCase("SENSOR_RECTANGULAR")) 639 return TacticalLines.SENSOR_RECTANGULAR; 640 if(strLine.equalsIgnoreCase("SENSOR_CIRCULAR")) 641 return TacticalLines.SENSOR_CIRCULAR; 642 643 if(strLine.equalsIgnoreCase("CENSOR")) 644 return TacticalLines.CENSOR; 645 if(strLine.equalsIgnoreCase("CENSOR_RECTANGULAR")) 646 return TacticalLines.CENSOR_RECTANGULAR; 647 if(strLine.equalsIgnoreCase("CENSOR_CIRCULAR")) 648 return TacticalLines.CENSOR_CIRCULAR; 649 650 if(strLine.equalsIgnoreCase("DA")) 651 return TacticalLines.DA; 652 if(strLine.equalsIgnoreCase("DA_RECTANGULAR")) 653 return TacticalLines.DA_RECTANGULAR; 654 if(strLine.equalsIgnoreCase("DA_CIRCULAR")) 655 return TacticalLines.DA_CIRCULAR; 656 657 658 if(strLine.equalsIgnoreCase("CFZ")) 659 return TacticalLines.CFZ; 660 if(strLine.equalsIgnoreCase("CFZ_RECTANGULAR")) 661 return TacticalLines.CFZ_RECTANGULAR; 662 if(strLine.equalsIgnoreCase("CFZ_CIRCULAR")) 663 return TacticalLines.CFZ_CIRCULAR; 664 665 if(strLine.equalsIgnoreCase("ZOR")) 666 return TacticalLines.ZOR; 667 if(strLine.equalsIgnoreCase("ZOR_RECTANGULAR")) 668 return TacticalLines.ZOR_RECTANGULAR; 669 if(strLine.equalsIgnoreCase("ZOR_CIRCULAR")) 670 return TacticalLines.ZOR_CIRCULAR; 671 672 if(strLine.equalsIgnoreCase("TBA")) 673 return TacticalLines.TBA; 674 if(strLine.equalsIgnoreCase("TBA_RECTANGULAR")) 675 return TacticalLines.TBA_RECTANGULAR; 676 if(strLine.equalsIgnoreCase("TBA_CIRCULAR")) 677 return TacticalLines.TBA_CIRCULAR; 678 679 if(strLine.equalsIgnoreCase("TVAR")) 680 return TacticalLines.TVAR; 681 if(strLine.equalsIgnoreCase("TVAR_RECTANGULAR")) 682 return TacticalLines.TVAR_RECTANGULAR; 683 if(strLine.equalsIgnoreCase("TVAR_CIRCULAR")) 684 return TacticalLines.TVAR_CIRCULAR; 685 686 if(strLine.equalsIgnoreCase("KILLBOXBLUE")) 687 return TacticalLines.KILLBOXBLUE; 688 if(strLine.equalsIgnoreCase("KILLBOXBLUE_RECTANGULAR")) 689 return TacticalLines.KILLBOXBLUE_RECTANGULAR; 690 if(strLine.equalsIgnoreCase("KILLBOXBLUE_CIRCULAR")) 691 return TacticalLines.KILLBOXBLUE_CIRCULAR; 692 693 if(strLine.equalsIgnoreCase("KILLBOXPURPLE")) 694 return TacticalLines.KILLBOXPURPLE; 695 if(strLine.equalsIgnoreCase("KILLBOXPURPLE_RECTANGULAR")) 696 return TacticalLines.KILLBOXPURPLE_RECTANGULAR; 697 if(strLine.equalsIgnoreCase("KILLBOXPURPLE_CIRCULAR")) 698 return TacticalLines.KILLBOXPURPLE_CIRCULAR; 699 700 if(strLine.equalsIgnoreCase("RANGE_FAN")) 701 return TacticalLines.RANGE_FAN; 702 if(strLine.equalsIgnoreCase("RANGEFAN")) 703 return TacticalLines.RANGE_FAN; 704 if(strLine.equalsIgnoreCase("RANGE_FANS")) 705 return TacticalLines.RANGE_FAN; 706 if(strLine.equalsIgnoreCase("RANGEFANS")) 707 return TacticalLines.RANGE_FAN; 708 709 if(strLine.equalsIgnoreCase("SECTOR")) 710 return TacticalLines.RANGE_FAN_SECTOR; 711 712 if(strLine.equalsIgnoreCase("CONVOY")) 713 return TacticalLines.CONVOY; 714 if(strLine.equalsIgnoreCase("HCONVOY")) 715 return TacticalLines.HCONVOY; 716 717 if(strLine.equalsIgnoreCase("MSR")) 718 return TacticalLines.MSR; 719 if(strLine.equalsIgnoreCase("ASR")) 720 return TacticalLines.ASR; 721 if(strLine.equalsIgnoreCase("ONEWAY")) 722 return TacticalLines.ONEWAY; 723 if(strLine.equalsIgnoreCase("TWOWAY")) 724 return TacticalLines.TWOWAY; 725 if(strLine.equalsIgnoreCase("ALT")) 726 return TacticalLines.ALT; 727 728 if(strLine.equalsIgnoreCase("DHA")) 729 return TacticalLines.DHA; 730 if(strLine.equalsIgnoreCase("EPW")) 731 return TacticalLines.EPW; 732 if(strLine.equalsIgnoreCase("FARP")) 733 return TacticalLines.FARP; 734 if(strLine.equalsIgnoreCase("RHA")) 735 return TacticalLines.RHA; 736 if(strLine.equalsIgnoreCase("BSA")) 737 return TacticalLines.BSA; 738 if(strLine.equalsIgnoreCase("DSA")) 739 return TacticalLines.DSA; 740 if(strLine.equalsIgnoreCase("RSA")) 741 return TacticalLines.RSA; 742 743 if(strLine.equalsIgnoreCase("BEARING")) 744 return TacticalLines.BEARING; 745 if(strLine.equalsIgnoreCase("ELECTRO")) 746 return TacticalLines.ELECTRO; 747 if(strLine.equalsIgnoreCase("ACOUSTIC")) 748 return TacticalLines.ACOUSTIC; 749 if(strLine.equalsIgnoreCase("TORPEDO")) 750 return TacticalLines.TORPEDO; 751 if(strLine.equalsIgnoreCase("OPTICAL")) 752 return TacticalLines.OPTICAL; 753 754 } 755 //These are length >= 15, are for the SEC tester only 756 if(strLine.equalsIgnoreCase("FSA_RECTANGULAR")) 757 return TacticalLines.FSA_RECTANGULAR; 758 759 if(strLine.equalsIgnoreCase("ACA_RECTANGULAR")) 760 return TacticalLines.ACA_RECTANGULAR; 761 762 if(strLine.equalsIgnoreCase("FFA_RECTANGULAR")) 763 return TacticalLines.FFA_RECTANGULAR; 764 765 if(strLine.equalsIgnoreCase("NFA_RECTANGULAR")) 766 return TacticalLines.NFA_RECTANGULAR; 767 768 if(strLine.equalsIgnoreCase("RFA_RECTANGULAR")) 769 return TacticalLines.RFA_RECTANGULAR; 770 771 //if(strLine.equalsIgnoreCase("PAA_RECTANGULAR")) 772 //return TacticalLines.PAA_RECTANGULAR; 773 774 if(strLine.equalsIgnoreCase("ATI_RECTANGULAR")) 775 return TacticalLines.ATI_RECTANGULAR; 776 777 if(strLine.equalsIgnoreCase("CFFZ_RECTANGULAR")) 778 return TacticalLines.CFFZ_RECTANGULAR; 779 780 if(strLine.equalsIgnoreCase("SENSOR_RECTANGULAR")) 781 return TacticalLines.SENSOR_RECTANGULAR; 782 783 if(strLine.equalsIgnoreCase("SENSOR_CIRCULAR")) 784 return TacticalLines.SENSOR_CIRCULAR; 785 786 if(strLine.equalsIgnoreCase("CENSOR_RECTANGULAR")) 787 return TacticalLines.CENSOR_RECTANGULAR; 788 789 if(strLine.equalsIgnoreCase("CENSOR_CIRCULAR")) 790 return TacticalLines.CENSOR_CIRCULAR; 791 792 if(strLine.equalsIgnoreCase("DA_RECTANGULAR")) 793 return TacticalLines.DA_RECTANGULAR; 794 795 if(strLine.equalsIgnoreCase("CFZ_RECTANGULAR")) 796 return TacticalLines.CFZ_RECTANGULAR; 797 798 if(strLine.equalsIgnoreCase("ZOR_RECTANGULAR")) 799 return TacticalLines.ZOR_RECTANGULAR; 800 801 if(strLine.equalsIgnoreCase("TBA_RECTANGULAR")) 802 return TacticalLines.TBA_RECTANGULAR; 803 804 if(strLine.equalsIgnoreCase("TVAR_RECTANGULAR")) 805 return TacticalLines.TVAR_RECTANGULAR; 806 807 if(strLine.equalsIgnoreCase("GENERIC---****X")) 808 return TacticalLines.GENERIC; 809 //end section 810 811 String str1,str2,str3,str4,str5,str6,str7,str10; 812 String c0=strLine.substring(0,1); 813 String c1=strLine.substring(1,2); 814 String c2=strLine.substring(2,3); 815 //int bolUseEllipticArc=0; 816 817 str1=strLine.substring(4,5);//was(4,1) 818 str2=strLine.substring(4,6);//was(4,2) 819 str3=strLine.substring(4,7);//was(4,3) 820 str4=strLine.substring(4,8);//was(4,4) 821 str5=strLine.substring(4,9);//was(4,5) 822 str6=strLine.substring(3,9);//was(3,6) 823 str7=strLine.substring(3,10);//was(3,7) 824 str10=strLine.substring(3,13);//was(3,10) 825 826 //Basic Shapes 827 if(strLine.equalsIgnoreCase("BS_LINE--------")) 828 return TacticalLines.BS_LINE; 829 if(strLine.equalsIgnoreCase("BS_AREA--------")) 830 return TacticalLines.BS_AREA; 831 if(strLine.equalsIgnoreCase("BS_CROSS-------")) 832 return TacticalLines.BS_CROSS; 833 if(strLine.equalsIgnoreCase("BS_ELLIPSE-----")) 834 return TacticalLines.BS_ELLIPSE; 835 if(strLine.equalsIgnoreCase("PBS_ELLIPSE----")) 836 return TacticalLines.PBS_ELLIPSE; 837 if(strLine.equalsIgnoreCase("PBS_CIRCLE-----")) 838 return TacticalLines.PBS_CIRCLE; 839 if(strLine.equalsIgnoreCase("BS_RECTANGLE---")) 840 return TacticalLines.BS_RECTANGLE; 841 if(strLine.equalsIgnoreCase("PBS_RECTANGLE--")) 842 return TacticalLines.PBS_RECTANGLE; 843 if(strLine.equalsIgnoreCase("PBS_SQUARE-----")) 844 return TacticalLines.PBS_SQUARE; 845 //buffered shapes 846 if(strLine.equalsIgnoreCase("BBS_LINE-------")) 847 return TacticalLines.BBS_LINE; 848 if(strLine.equalsIgnoreCase("BBS_AREA-------")) 849 return TacticalLines.BBS_AREA; 850 if(strLine.equalsIgnoreCase("BBS_POINT------")) 851 return TacticalLines.BBS_POINT; 852 if(strLine.equalsIgnoreCase("BBS_RECTANGLE--")) 853 return TacticalLines.BBS_RECTANGLE; 854 if(strLine.equalsIgnoreCase("BS_BBOX--------")) 855 return TacticalLines.BS_BBOX; 856 857 //METOCs 858 if (c0.equals("W") && c1.equals("A")) 859 { 860 if (str7.equals("DPXSQ--")) { 861 return TacticalLines.SQUALL; 862 } 863 if (str7.equals("DPFC---")) { 864 return TacticalLines.CF; 865 } 866 if (str7.equals("DPFC-FG")) { 867 return TacticalLines.CFG; 868 } 869 if (str7.equals("DPFC-FY")) { 870 return TacticalLines.CFY; 871 } 872 if (str7.equals("DPFW-FG")) { 873 return TacticalLines.WFG; 874 } 875 if (str7.equals("DPFW-FY")) { 876 return TacticalLines.WFY; 877 } 878 if (str7.equals("DPFOU--")) { 879 return TacticalLines.UOF; 880 } 881 if (str7.equals("DPFO-FY")) { 882 return TacticalLines.OFY; 883 } 884 if (str7.equals("DPFSU--")) { 885 return TacticalLines.USF; 886 } 887 if (str7.equals("DPFS-FG")) { 888 return TacticalLines.SFG; 889 } 890 if (str7.equals("DPFS-FY")) { 891 return TacticalLines.SFY; 892 } 893 if (str7.equals("DPXIL--")) { 894 return TacticalLines.INSTABILITY; 895 } 896 if (str7.equals("DPXSH--")) { 897 return TacticalLines.SHEAR; 898 } 899 if (str7.equals("DPXITCZ")) { 900 return TacticalLines.ITC; 901 } 902 if (str7.equals("DPXCV--")) { 903 return TacticalLines.CONVERGANCE; 904 } 905 if (str7.equals("DPXITD-")) { 906 return TacticalLines.ITD; 907 } 908 if (str7.equals("DWJ----")) { 909 return TacticalLines.JET; 910 } 911 if (str7.equals("DWS----")) { 912 return TacticalLines.STREAM; 913 } 914 if (str7.equals("DBAIF--")) { 915 return TacticalLines.IFR; 916 } 917 if (str7.equals("DBAMV--")) { 918 return TacticalLines.MVFR; 919 } 920 if (str7.equals("DBATB--")) { 921 return TacticalLines.TURBULENCE; 922 } 923 if (str7.equals("DBAI---")) { 924 return TacticalLines.ICING; 925 } 926 if (str7.equals("DBALPNC")) { 927 return TacticalLines.NON_CONVECTIVE; 928 } 929 if (str7.equals("DBALPC-")) { 930 return TacticalLines.CONVECTIVE; 931 } 932 if (str7.equals("DBAFP--")) { 933 return TacticalLines.FROZEN; 934 } 935 if (str7.equals("DBAT---")) { 936 return TacticalLines.THUNDERSTORMS; 937 } 938 if (str7.equals("DBAFG--")) { 939 return TacticalLines.FOG; 940 } 941 if (str7.equals("DBAD---")) { 942 return TacticalLines.SAND; 943 } 944 if (str7.equals("DBAFF--")) { 945 return TacticalLines.FREEFORM; 946 } 947 if (str7.equals("DIPIB--")) { 948 return TacticalLines.ISOBAR; 949 } 950 if (str7.equals("DIPCO--")) { 951 return TacticalLines.UPPER_AIR; 952 } 953 if (str7.equals("DIPIS--")) { 954 return TacticalLines.ISOTHERM; 955 } 956 if (str7.equals("DIPIT--")) { 957 return TacticalLines.ISOTACH; 958 } 959 if (str7.equals("DIPID--")) { 960 return TacticalLines.ISODROSOTHERM; 961 } 962 if (str7.equals("DIPTH--")) { 963 return TacticalLines.ISOPLETHS; 964 } 965 if (str7.equals("DIPFF--")) { 966 return TacticalLines.OPERATOR_FREEFORM; 967 } 968 969 970 //if (strncmp(str,"PXR",3).equals(0) 971 if (str3.equals("PXR")) { 972 return TacticalLines.RIDGE; 973 } 974 //if (strncmp(str,"PXS",3).equals(0) 975 //if(str3.equals("PXS") 976 // return TacticalLines.SQUALL; 977 //if (strncmp(str,"PXT",3).equals(0) 978 if (str3.equals("PXT")) { 979 return TacticalLines.TROUGH; 980 } 981 //if (strncmp(str,"PFCU",4).equals(0) 982 if (str4.equals("PFCU")) { 983 return TacticalLines.UCF; 984 } 985 //if (strncmp(str,"PFO",3).equals(0) 986 if (str3.equals("PFO")) { 987 return TacticalLines.OCCLUDED; 988 } 989 //if (strncmp(str,"PFS",3).equals(0) 990 if (str3.equals("PFS")) { 991 return TacticalLines.SF; 992 } 993 //if (strncmp(str,"PFWU",4).equals(0) 994 if (str4.equals("PFWU")) { 995 return TacticalLines.UWF; 996 } 997 //if (strncmp(str,"PFW",3).equals(0) 998 if (str3.equals("PFW")) { 999 return TacticalLines.WF; 1000 } 1001 //if (strncmp(str,"PFC",3).equals(0) 1002 if (str3.equals("PFC")) { 1003 return TacticalLines.CF; 1004 } 1005 } 1006 if (c0.equals("W") && c1.equals("O")) 1007 { 1008 if (str10.equals("DHCF----L-")) { 1009 return TacticalLines.FORESHORE_LINE; 1010 } 1011 if (str10.equals("DHCF-----A")) { 1012 return TacticalLines.FORESHORE_AREA; 1013 } 1014 if (str10.equals("DHPBA---L-")) { 1015 return TacticalLines.ANCHORAGE_LINE; 1016 } 1017 if (str10.equals("DHPBA----A")) { 1018 return TacticalLines.ANCHORAGE_AREA; 1019 } 1020 if (str10.equals("DHPMO---L-")) { 1021 return TacticalLines.LOADING_FACILITY_LINE; 1022 } 1023 if (str10.equals("DHPMO----A")) { 1024 return TacticalLines.LOADING_FACILITY_AREA; 1025 } 1026 } 1027 if (c0.equals("W") && c1.equals("O")) 1028 { 1029 if (str7.equals("DIDID--")) { 1030 return TacticalLines.ICE_DRIFT; 1031 } 1032 if (str7.equals("DILOV--")) { 1033 return TacticalLines.LVO; 1034 } 1035 if (str7.equals("DILUC--")) { 1036 return TacticalLines.UNDERCAST; 1037 } 1038 if (str7.equals("DILOR--")) { 1039 return TacticalLines.LRO; 1040 } 1041 if (str7.equals("DILIEO-")) { 1042 return TacticalLines.ICE_EDGE; 1043 } 1044 if (str7.equals("DILIEE-")) { 1045 return TacticalLines.ESTIMATED_ICE_EDGE; 1046 } 1047 if (str7.equals("DILIER-")) { 1048 return TacticalLines.ICE_EDGE_RADAR; 1049 } 1050 if (str7.equals("DIOC---")) { 1051 return TacticalLines.CRACKS; 1052 } 1053 if (str7.equals("DIOCS--")) { 1054 return TacticalLines.CRACKS_SPECIFIC_LOCATION; 1055 } 1056 if (str7.equals("DIOL---")) { 1057 return TacticalLines.ICE_OPENINGS_LEAD; 1058 } 1059 if (str7.equals("DIOLF--")) { 1060 return TacticalLines.ICE_OPENINGS_FROZEN; 1061 } 1062 if (str7.equals("DHDDL--")) { 1063 return TacticalLines.DEPTH_CURVE; 1064 } 1065 if (str7.equals("DHDDC--")) { 1066 return TacticalLines.DEPTH_CONTOUR; 1067 } 1068 if (str7.equals("DHDDA--")) { 1069 return TacticalLines.DEPTH_AREA; 1070 } 1071 if (str7.equals("DHCC---")) { 1072 return TacticalLines.COASTLINE; 1073 } 1074 if (str7.equals("DHCI---")) { 1075 return TacticalLines.ISLAND; 1076 } 1077 if (str7.equals("DHCB---")) { 1078 return TacticalLines.BEACH; 1079 } 1080 if (str7.equals("DHCW---")) { 1081 return TacticalLines.WATER; 1082 } 1083 if (str7.equals("DHPBP--")) { 1084 return TacticalLines.PIER; 1085 } 1086 if (str7.equals("-HPFF--")) { 1087 return TacticalLines.WEIRS; 1088 } 1089 if (str7.equals("-HHDR--")) { 1090 return TacticalLines.REEF; 1091 } 1092 if (str7.equals("DHPMD--")) { 1093 return TacticalLines.DRYDOCK; 1094 } 1095 if (str7.equals("DHPMRA-")) { 1096 return TacticalLines.RAMP_ABOVE_WATER; 1097 } 1098 if (str7.equals("DHPMRB-")) { 1099 return TacticalLines.RAMP_BELOW_WATER; 1100 } 1101 if (str7.equals("DHPSPA-")) { 1102 return TacticalLines.JETTY_ABOVE_WATER; 1103 } 1104 if (str7.equals("DHPSPB-")) { 1105 return TacticalLines.JETTY_BELOW_WATER; 1106 } 1107 if (str7.equals("DHPSPS-")) { 1108 return TacticalLines.SEAWALL; 1109 } 1110 if (str7.equals("DHABP--")) { 1111 return TacticalLines.PERCHES; 1112 } 1113 if (str7.equals("DHALLA-")) { 1114 return TacticalLines.LEADING_LINE; 1115 } 1116 if (str7.equals("DHHD---")) { 1117 return TacticalLines.UNDERWATER_HAZARD; 1118 } 1119 if (str7.equals("DHHDF--")) { 1120 return TacticalLines.FOUL_GROUND; 1121 } 1122 if (str7.equals("DHHDK--")) { 1123 return TacticalLines.KELP; 1124 } 1125 if (str7.equals("DHHDB--")) { 1126 return TacticalLines.BREAKERS; 1127 } 1128 if (str7.equals("DHHDD--")) { 1129 return TacticalLines.DISCOLORED_WATER; 1130 } 1131 if (str7.equals("DTCCCFE")) { 1132 return TacticalLines.EBB_TIDE; 1133 } 1134 if (str7.equals("DTCCCFF")) { 1135 return TacticalLines.FLOOD_TIDE; 1136 } 1137 if (str7.equals("DL-RA--")) { 1138 return TacticalLines.RESTRICTED_AREA; 1139 } 1140 if (str7.equals("DMPA---")) { 1141 return TacticalLines.PIPE; 1142 } 1143 if (str7.equals("DL-TA--")) { 1144 return TacticalLines.TRAINING_AREA; 1145 } 1146 if (str7.equals("DOBVA--")) { 1147 return TacticalLines.VDR_LEVEL_12; 1148 } 1149 if (str7.equals("DOBVB--")) { 1150 return TacticalLines.VDR_LEVEL_23; 1151 } 1152 if (str7.equals("DOBVC--")) { 1153 return TacticalLines.VDR_LEVEL_34; 1154 } 1155 if (str7.equals("DOBVD--")) { 1156 return TacticalLines.VDR_LEVEL_45; 1157 } 1158 if (str7.equals("DOBVE--")) { 1159 return TacticalLines.VDR_LEVEL_56; 1160 } 1161 if (str7.equals("DOBVF--")) { 1162 return TacticalLines.VDR_LEVEL_67; 1163 } 1164 if (str7.equals("DOBVG--")) { 1165 return TacticalLines.VDR_LEVEL_78; 1166 } 1167 if (str7.equals("DOBVH--")) { 1168 return TacticalLines.VDR_LEVEL_89; 1169 } 1170 if (str7.equals("DOBVI--")) { 1171 return TacticalLines.VDR_LEVEL_910; 1172 } 1173 if (str7.equals("DBSF---")) { 1174 return TacticalLines.BEACH_SLOPE_FLAT; 1175 } 1176 if (str7.equals("DBSG---")) { 1177 return TacticalLines.BEACH_SLOPE_GENTLE; 1178 } 1179 if (str7.equals("DBSM---")) { 1180 return TacticalLines.BEACH_SLOPE_MODERATE; 1181 } 1182 if (str7.equals("DBST---")) { 1183 return TacticalLines.BEACH_SLOPE_STEEP; 1184 } 1185 if (str7.equals("DGMSR--")) { 1186 return TacticalLines.SOLID_ROCK; 1187 } 1188 if (str7.equals("DGMSC--")) { 1189 return TacticalLines.CLAY; 1190 } 1191 if (str7.equals("DGMSSVS")) { 1192 return TacticalLines.VERY_COARSE_SAND; 1193 } 1194 if (str7.equals("DGMSSC-")) { 1195 return TacticalLines.COARSE_SAND; 1196 } 1197 if (str7.equals("DGMSSM-")) { 1198 return TacticalLines.MEDIUM_SAND; 1199 } 1200 if (str7.equals("DGMSSF-")) { 1201 return TacticalLines.FINE_SAND; 1202 } 1203 if (str7.equals("DGMSSVF")) { 1204 return TacticalLines.VERY_FINE_SAND; 1205 } 1206 if (str7.equals("DGMSIVF")) { 1207 return TacticalLines.VERY_FINE_SILT; 1208 } 1209 if (str7.equals("DGMSIF-")) { 1210 return TacticalLines.FINE_SILT; 1211 } 1212 if (str7.equals("DGMSIM-")) { 1213 return TacticalLines.MEDIUM_SILT; 1214 } 1215 if (str7.equals("DGMSIC-")) { 1216 return TacticalLines.COARSE_SILT; 1217 } 1218 if (str7.equals("DGMSB--")) { 1219 return TacticalLines.BOULDERS; 1220 } 1221 if (str7.equals("DGMS-CO")) { 1222 return TacticalLines.OYSTER_SHELLS; 1223 } 1224 if (str7.equals("DGMS-PH")) { 1225 return TacticalLines.PEBBLES; 1226 } 1227 if (str7.equals("DGMS-SH")) { 1228 return TacticalLines.SAND_AND_SHELLS; 1229 } 1230 if (str7.equals("DGML---")) { 1231 return TacticalLines.BOTTOM_SEDIMENTS_LAND; 1232 } 1233 if (str7.equals("DGMN---")) { 1234 return TacticalLines.BOTTOM_SEDIMENTS_NO_DATA; 1235 } 1236 if (str7.equals("DGMRS--")) { 1237 return TacticalLines.BOTTOM_ROUGHNESS_SMOOTH; 1238 } 1239 if (str7.equals("DGMRM--")) { 1240 return TacticalLines.BOTTOM_ROUGHNESS_MODERATE; 1241 } 1242 if (str7.equals("DGMRR--")) { 1243 return TacticalLines.BOTTOM_ROUGHNESS_ROUGH; 1244 } 1245 if (str7.equals("DGMCL--")) { 1246 return TacticalLines.CLUTTER_LOW; 1247 } 1248 if (str7.equals("DGMCM--")) { 1249 return TacticalLines.CLUTTER_MEDIUM; 1250 } 1251 if (str7.equals("DGMCH--")) { 1252 return TacticalLines.CLUTTER_HIGH; 1253 } 1254 if (str7.equals("DGMIBA-")) { 1255 return TacticalLines.IMPACT_BURIAL_0; 1256 } 1257 if (str7.equals("DGMIBB-")) { 1258 return TacticalLines.IMPACT_BURIAL_10; 1259 } 1260 if (str7.equals("DGMIBC-")) { 1261 return TacticalLines.IMPACT_BURIAL_20; 1262 } 1263 if (str7.equals("DGMIBD-")) { 1264 return TacticalLines.IMPACT_BURIAL_75; 1265 } 1266 if (str7.equals("DGMIBE-")) { 1267 return TacticalLines.IMPACT_BURIAL_100; 1268 } 1269 if (str7.equals("DGMBCA-")) { 1270 return TacticalLines.BOTTOM_CATEGORY_A; 1271 } 1272 if (str7.equals("DGMBCB-")) { 1273 return TacticalLines.BOTTOM_CATEGORY_B; 1274 } 1275 if (str7.equals("DGMBCC-")) { 1276 return TacticalLines.BOTTOM_CATEGORY_C; 1277 } 1278 if (str7.equals("DGMBTA-")) { 1279 return TacticalLines.BOTTOM_TYPE_A1; 1280 } 1281 if (str7.equals("DGMBTB-")) { 1282 return TacticalLines.BOTTOM_TYPE_A2; 1283 } 1284 if (str7.equals("DGMBTC-")) { 1285 return TacticalLines.BOTTOM_TYPE_A3; 1286 } 1287 if (str7.equals("DGMBTD-")) { 1288 return TacticalLines.BOTTOM_TYPE_B1; 1289 } 1290 if (str7.equals("DGMBTE-")) { 1291 return TacticalLines.BOTTOM_TYPE_B2; 1292 } 1293 if (str7.equals("DGMBTF-")) { 1294 return TacticalLines.BOTTOM_TYPE_B3; 1295 } 1296 if (str7.equals("DGMBTG-")) { 1297 return TacticalLines.BOTTOM_TYPE_C1; 1298 } 1299 if (str7.equals("DGMBTH-")) { 1300 return TacticalLines.BOTTOM_TYPE_C2; 1301 } 1302 if (str7.equals("DGMBTI-")) { 1303 return TacticalLines.BOTTOM_TYPE_C3; 1304 } 1305 if (str7.equals("DL-SA--")) { 1306 return TacticalLines.SWEPT_AREA; 1307 } 1308 if (str7.equals("DMOA---")) { 1309 return TacticalLines.OIL_RIG_FIELD; 1310 } 1311 if (str7.equals("DMCC---")) { 1312 return TacticalLines.SUBMERGED_CRIB; 1313 } 1314 if (str7.equals("DMCA---")) { 1315 return TacticalLines.CABLE; 1316 } 1317 if (str7.equals("DL-ML--")) { 1318 return TacticalLines.MARITIME_LIMIT; 1319 } 1320 if (str7.equals("DL-MA--")) { 1321 return TacticalLines.MARITIME_AREA; 1322 } 1323 if (str7.equals("DMCD---")) { 1324 return TacticalLines.CANAL; 1325 } 1326 if (str7.equals("DL-O---")) { 1327 return TacticalLines.OPERATOR_DEFINED; 1328 } 1329 } 1330 //end METOC section 1331 1332 //SPT 1333 if(str5.equals("OLAGS") && c0.equals("G") && c2.equals("G")){ 1334 return TacticalLines.SPT; 1335 } 1336 //MAIN 1337 if(str5.equals("OLAGM") && c0.equals("G") && c2.equals("G")){ 1338 return TacticalLines.MAIN; 1339 } 1340 //DIRATKGND 1341 if (str5.equals("OLKGM") && c0.equals("G") && c2.equals("G")){ 1342 return TacticalLines.DIRATKGND; 1343 } 1344 //DIRATKSPT 1345 if (str5.equals("OLKGS") && c0.equals("G") && c2.equals("G")){ 1346 return TacticalLines.DIRATKSPT; 1347 } 1348 //AIRAOA 1349 if (str4.equals("OLAA") && c0.equals("G") && c2.equals("G")) { 1350 return TacticalLines.AIRAOA; 1351 } 1352 //AAAAA 1353 if (str4.equals("OLAR") && c0.equals("G") && c2.equals("G")) { 1354 return TacticalLines.AAAAA; 1355 } 1356 //DIRATKAIR 1357 if (str4.equals("OLKA") && c0.equals("G") && c2.equals("G")) { 1358 return TacticalLines.DIRATKAIR; 1359 } 1360 //AXAD 1361 if (str4.equals("OLAV") && c0.equals("G") && c2.equals("G")) { 1362 return TacticalLines.AXAD; 1363 } 1364 //ATDITCH 1365 if (str4.equals("OADU") && c0.equals("G") && c2.equals("M")) { 1366 return TacticalLines.ATDITCH; 1367 } 1368 //ATDITCHC 1369 if (str4.equals("OADC") && c0.equals("G") && c2.equals("M")) { 1370 return TacticalLines.ATDITCHC; 1371 } 1372 //LOMEZ 1373 if (str4.equals("AAML") && c0.equals("G") && c2.equals("G")) { 1374 return TacticalLines.LOMEZ; 1375 } 1376 //HIMEZ 1377 if (str4.equals("AAMH") && c0.equals("G") && c2.equals("G")) { 1378 return TacticalLines.HIMEZ; 1379 } 1380 //PNO 1381 if (str4.equals("DABP") && c0.equals("G") && c2.equals("G")) { 1382 return TacticalLines.PNO; 1383 } 1384 //TRIPLE 1385 if (str4.equals("OWCT") && c0.equals("G") && c2.equals("M")){ 1386 return TacticalLines.TRIPLE; 1387 } 1388 //DOUBLEC 1389 if (str4.equals("OWCD") && c0.equals("G") && c2.equals("M")) { 1390 return TacticalLines.DOUBLEC; 1391 } 1392 //SINGLEC 1393 if (str4.equals("OWCS") && c0.equals("G") && c2.equals("M")) { 1394 return TacticalLines.SINGLEC; 1395 } 1396 //PAA 1397 if (str4.equals("ACPR") && c0.equals("G") && c2.equals("F")) //change 1 1398 { //toggle two lines for Mil-Std-2525 Rev B, Rev C 1399 //return TacticalLines.PAA_RECTANGULAR; 1400 return TacticalLines.PAA_RECTANGULAR_REVC; 1401 } 1402 //FSA 1403 if (str4.equals("ACSI") && c0.equals("G") && c2.equals("F")) //change 1 1404 { 1405 return TacticalLines.FSA; 1406 } 1407 //FSA_RECTANGULAR 1408 if (str4.equals("ACSR") && c0.equals("G") && c2.equals("F")) //change 1 1409 { 1410 return TacticalLines.FSA_RECTANGULAR; 1411 } 1412 //FSA_CIRCULAR 1413 if (str4.equals("ACSC") && c0.equals("G") && c2.equals("F")) //change 1 1414 { 1415 return TacticalLines.FSA_CIRCULAR; 1416 } 1417 //ACA 1418 if (str4.equals("ACAI") && c0.equals("G") && c2.equals("F")) //change 1 1419 { 1420 return TacticalLines.ACA; 1421 } 1422 //ACA_RECTANGULAR 1423 if (str4.equals("ACAR") && c0.equals("G") && c2.equals("F")) //change 1 1424 { 1425 return TacticalLines.ACA_RECTANGULAR; 1426 } 1427 //ACA_CIRCULAR 1428 if (str4.equals("ACAC") && c0.equals("G") && c2.equals("F")) //change 1 1429 { 1430 return TacticalLines.ACA_CIRCULAR; 1431 } 1432 //FFA 1433 if (str4.equals("ACFI") && c0.equals("G") && c2.equals( "F")) //change 1 1434 { 1435 return TacticalLines.FFA; 1436 } 1437 //FFA_RECTANGULAR 1438 if (str4.equals("ACFR") && c0.equals("G") && c2.equals("F")) //change 1 1439 { 1440 return TacticalLines.FFA_RECTANGULAR; 1441 } 1442 //FFA_CIRCULAR 1443 if (str4.equals("ACFC") && c0.equals("G") && c2.equals("F")) //change 1 1444 { 1445 return TacticalLines.FFA_CIRCULAR; 1446 } 1447 //NFA 1448 if (str4.equals("ACNI") && c0.equals("G") && c2.equals("F")) //change 1 1449 { 1450 return TacticalLines.NFA; 1451 } 1452 //NFA_RECTANGULAR 1453 if (str4.equals("ACNR") && c0.equals("G") && c2.equals("F")) //change 1 1454 { 1455 return TacticalLines.NFA_RECTANGULAR; 1456 } 1457 //NFA_CIRCULAR 1458 if (str4.equals("ACNC") && c0.equals("G") && c2.equals("F")) //change 1 1459 { 1460 return TacticalLines.NFA_CIRCULAR; 1461 } 1462 //RFA 1463 if (str4.equals("ACRI") && c0.equals("G") && c2.equals("F")) //change 1 1464 { 1465 return TacticalLines.RFA; 1466 } 1467 //RFA_RECTANGULAR 1468 if (str4.equals("ACRR") && c0.equals("G") && c2.equals("F")) //change 1 1469 { 1470 return TacticalLines.RFA_RECTANGULAR; 1471 } 1472 //RFA_CIRCULAR 1473 if (str4.equals("ACRC") && c0.equals("G") && c2.equals("F")) //change 1 1474 { 1475 return TacticalLines.RFA_CIRCULAR; 1476 } 1477 //RFA_CIRCULAR 1478 if (str4.equals("ACPC") && c0.equals("G") && c2.equals("F")) //change 1 1479 { 1480 return TacticalLines.PAA_CIRCULAR; 1481 } 1482 //ATI 1483 if (str4.equals("AZII") && c0.equals("G") && c2.equals("F")) //change 1 1484 { 1485 return TacticalLines.ATI; 1486 } 1487 //ATI_RECTANGULAR 1488 if (str4.equals("AZIR") && c0.equals("G") && c2.equals("F")) //change 1 1489 { 1490 return TacticalLines.ATI_RECTANGULAR; 1491 } 1492 //ATI_CIRCULAR 1493 if (str4.equals("AZIC") && c0.equals("G") && c2.equals("F")) //change 1 1494 { 1495 return TacticalLines.ATI_CIRCULAR; 1496 } 1497 //CFFZ 1498 if (str4.equals("AZXI") && c0.equals("G") && c2.equals("F")) //change 1 1499 { 1500 return TacticalLines.CFFZ; 1501 } 1502 //CFFZ_RECTANGULAR 1503 if (str4.equals("AZXR") && c0.equals("G") && c2.equals("F")) //change 1 1504 { 1505 return TacticalLines.CFFZ_RECTANGULAR; 1506 } 1507 //CFFZ_CIRCULAR 1508 if (str4.equals("AZXC") && c0.equals("G") && c2.equals("F")) //change 1 1509 { 1510 return TacticalLines.CFFZ_CIRCULAR; 1511 } 1512 //SENSOR 1513 if (str4.equals("AZSI") && c0.equals("G") && c2.equals("F")) //change 1 1514 { 1515 return TacticalLines.SENSOR; 1516 } 1517 if (str4.equals("ACEI") && c0.equals("G") && c2.equals("F")) //change 1 1518 { 1519 return TacticalLines.SENSOR; 1520 } 1521 //SENSOR_RECTANGULAR 1522 if (str4.equals("AZSR") && c0.equals("G") && c2.equals("F")) //change 1 1523 { 1524 return TacticalLines.SENSOR_RECTANGULAR; 1525 } 1526 if (str4.equals("ACER") && c0.equals("G") && c2.equals("F")) //change 1 1527 { 1528 return TacticalLines.SENSOR_RECTANGULAR; 1529 } 1530 //SENSOR_CIRCULAR 1531 if (str4.equals("AZSC") && c0.equals("G") && c2.equals("F")) //change 1 1532 { 1533 return TacticalLines.SENSOR_CIRCULAR; 1534 } 1535 if (str4.equals("ACEC") && c0.equals("G") && c2.equals("F")) //change 1 1536 { 1537 return TacticalLines.SENSOR_CIRCULAR; 1538 } 1539 //CENSOR 1540 if (str4.equals("AZCI") && c0.equals("G") && c2.equals("F")) //change 1 1541 { 1542 return TacticalLines.CENSOR; 1543 } 1544 //CENSOR_RECTANGULAR 1545 if (str4.equals("AZCR") && c0.equals("G") && c2.equals("F")) //change 1 1546 { 1547 return TacticalLines.CENSOR_RECTANGULAR; 1548 } 1549 //CENSOR_CIRCULAR 1550 if (str4.equals("AZCC") && c0.equals("G") && c2.equals("F")) //change 1 1551 { 1552 return TacticalLines.CENSOR_CIRCULAR; 1553 } 1554 //DA 1555 if (str4.equals("AZDI") && c0.equals("G") && c2.equals("F")) //change 1 1556 { 1557 return TacticalLines.DA; 1558 } 1559 if (str4.equals("ACDI") && c0.equals("G") && c2.equals("F")) //change 1 1560 { 1561 return TacticalLines.DA; 1562 } 1563 //DA_RECTANGULAR 1564 if (str4.equals("AZDR") && c0.equals("G") && c2.equals("F")) //change 1 1565 { 1566 return TacticalLines.DA_RECTANGULAR; 1567 } 1568 if (str4.equals("ACDR") && c0.equals("G") && c2.equals("F")) //rev C 1569 { 1570 return TacticalLines.DA_RECTANGULAR; 1571 } 1572 //DA_CIRCULAR 1573 if (str4.equals("AZDC") && c0.equals("G") && c2.equals("F")) //change 1 1574 { 1575 return TacticalLines.DA_CIRCULAR; 1576 } 1577 if (str4.equals("ACDC") && c0.equals("G") && c2.equals("F")) //rev C 1578 { 1579 return TacticalLines.DA_CIRCULAR; 1580 } 1581 //CFZ 1582 if (str4.equals("ACFZ") && c0.equals("G") && c2.equals("F")) //change 1 1583 { 1584 return TacticalLines.CFZ; 1585 } 1586 if (str4.equals("AZFI") && c0.equals("G") && c2.equals("F")) //change 1 1587 { 1588 return TacticalLines.CFZ; 1589 } 1590 //CFZ_RECTANGULAR 1591 if (str4.equals("AZFR") && c0.equals("G") && c2.equals("F")) //change 1 1592 { 1593 return TacticalLines.CFZ_RECTANGULAR; 1594 } 1595 //CFZ_CIRCULAR 1596 if (str4.equals("AZFC") && c0.equals("G") && c2.equals("F")) //change 1 1597 { 1598 return TacticalLines.CFZ_CIRCULAR; 1599 } 1600 //ZOR 1601 if (str4.equals("AZZI") && c0.equals("G") && c2.equals("F")) //change 1 1602 { 1603 return TacticalLines.ZOR; 1604 } 1605 if (str4.equals("AZOR") && c0.equals("G") && c2.equals("F")) //change 1 1606 { 1607 return TacticalLines.ZOR; 1608 } 1609 if (str4.equals("ACZI") && c0.equals("G") && c2.equals("F")) //rev C 1610 { 1611 return TacticalLines.ZOR; 1612 } 1613 //ZOR_RECTANGULAR 1614 if (str4.equals("AZZR") && c0.equals("G") && c2.equals("F"))//change 1 1615 { 1616 return TacticalLines.ZOR_RECTANGULAR; 1617 } 1618 if (str4.equals("ACZR") && c0.equals("G") && c2.equals("F"))//rev C 1619 { 1620 return TacticalLines.ZOR_RECTANGULAR; 1621 } 1622 //ZOR_CIRCULAR 1623 if (str4.equals("AZZC") && c0.equals("G") && c2.equals("F"))//change 1 1624 { 1625 return TacticalLines.ZOR_CIRCULAR; 1626 } 1627 if (str4.equals("ACZC") && c0.equals("G") && c2.equals("F"))//rev C 1628 { 1629 return TacticalLines.ZOR_CIRCULAR; 1630 } 1631 //TBA 1632 if (str4.equals("AZBI") && c0.equals("G") && c2.equals("F"))//change 1 1633 { 1634 return TacticalLines.TBA; 1635 } 1636 if (str4.equals("ATBA") && c0.equals("G") && c2.equals("F"))//change 1 1637 { 1638 return TacticalLines.TBA; 1639 } 1640 if (str4.equals("ACBI") && c0.equals("G") && c2.equals("F"))//rev C 1641 { 1642 return TacticalLines.TBA; 1643 } 1644 //TBA_RECTANGULAR 1645 if (str4.equals("AZBR") && c0.equals("G") && c2.equals("F"))//change 1 1646 { 1647 return TacticalLines.TBA_RECTANGULAR; 1648 } 1649 if (str4.equals("ACBR") && c0.equals("G") && c2.equals("F"))//rev C 1650 { 1651 return TacticalLines.TBA_RECTANGULAR; 1652 } 1653 //TBA_CIRCULAR 1654 if (str4.equals("AZBC") && c0.equals("G") && c2.equals("F"))//change 1 1655 { 1656 return TacticalLines.TBA_CIRCULAR; 1657 } 1658 if (str4.equals("ACBC") && c0.equals("G") && c2.equals("F"))//rev C 1659 { 1660 return TacticalLines.TBA_CIRCULAR; 1661 } 1662 //TVAR 1663 if (str4.equals("AZVI") && c0.equals("G") && c2.equals("F"))//change 1 1664 { 1665 return TacticalLines.TVAR; 1666 } 1667 if (str4.equals("ACVI") && c0.equals("G") && c2.equals("F"))//rev C 1668 { 1669 return TacticalLines.TVAR; 1670 } 1671 //TVAR_RECTANGULAR 1672 if (str4.equals("AZVR") && c0.equals("G") && c2.equals("F")) //change 1 1673 { 1674 return TacticalLines.TVAR_RECTANGULAR; 1675 } 1676 if (str4.equals("ACVR") && c0.equals("G") && c2.equals("F")) //rev C 1677 { 1678 return TacticalLines.TVAR_RECTANGULAR; 1679 } 1680 //TVAR_CIRCULAR 1681 if (str4.equals("AZVC") && c0.equals("G") && c2.equals("F")) //change 1 1682 { 1683 return TacticalLines.TVAR_CIRCULAR; 1684 } 1685 if (str4.equals("ACVC") && c0.equals("G") && c2.equals("F")) //rev C 1686 { 1687 return TacticalLines.TVAR_CIRCULAR; 1688 } 1689 1690 //KILLBOXBLUE 1691 if (str4.equals("AKBI") && c0.equals("G") && c2.equals("F"))//change 1 1692 { 1693 return TacticalLines.KILLBOXBLUE; 1694 } 1695 //KILLBOXBLUE_RECTANGULAR 1696 if (str4.equals("AKBR") && c0.equals("G") && c2.equals("F")) //change 1 1697 { 1698 return TacticalLines.KILLBOXBLUE_RECTANGULAR; 1699 } 1700 //KILLBOXBLUE_CIRCULAR 1701 if (str4.equals("AKBC") && c0.equals("G") && c2.equals("F")) //change 1 1702 { 1703 return TacticalLines.KILLBOXBLUE_CIRCULAR; 1704 } 1705 //KILLBOXPURPLE 1706 if (str4.equals("AKPI") && c0.equals("G") && c2.equals("F"))//change 1 1707 { 1708 return TacticalLines.KILLBOXPURPLE; 1709 } 1710 //KILLBOXPURPLE_RECTANGULAR 1711 if (str4.equals("AKPR") && c0.equals("G") && c2.equals("F")) //change 1 1712 { 1713 return TacticalLines.KILLBOXPURPLE_RECTANGULAR; 1714 } 1715 //KILLBOXPURPLE_CIRCULAR 1716 if (str4.equals("AKPC") && c0.equals("G") && c2.equals("F")) //change 1 1717 { 1718 return TacticalLines.KILLBOXPURPLE_CIRCULAR; 1719 } 1720 1721 1722 1723 1724 //RFL 1725 if (str3.equals("LCR") && c0.equals("G") && c2.equals("F")) //change 1 1726 { 1727 return TacticalLines.RFL; 1728 } 1729 //NFL 1730 if (str3.equals("LCN") && c0.equals("G") && c2.equals("F")) //change 1 1731 { 1732 return TacticalLines.NFL; 1733 } 1734 //MFP 1735 if (str3.equals("LCM") && c0.equals("G") && c2.equals("F")) //change 1 1736 { 1737 return TacticalLines.MFP; 1738 } 1739 //CFL 1740 if (str3.equals("LCC") && c0.equals("G") && c2.equals("F")) //change 1 1741 { 1742 return TacticalLines.CFL; 1743 } 1744 //FSCL 1745 if (str3.equals("LCF") && c0.equals("G") && c2.equals("F")) //change 1 1746 { 1747 return TacticalLines.FSCL; 1748 } 1749 //LINTGTS 1750 if (str3.equals("LTS") && c0.equals("G") && c2.equals("F")) //change 1 1751 { 1752 return TacticalLines.LINTGTS; 1753 } 1754 //RANGE_FAN 1755 if (str3.equals("AXC") && c0.equals("G") && c2.equals("F")) //change 1 1756 { 1757 return TacticalLines.RANGE_FAN; 1758 } 1759 //RANGE_FAN_SECTOR 1760 if (str3.equals("AXS") && c0.equals("G") && c2.equals("F")) //change 1 1761 { 1762 return TacticalLines.RANGE_FAN_SECTOR; 1763 } 1764 //FPF 1765 if (str3.equals("LTF") && c0.equals("G") && c2.equals("F")) //change 1 1766 { 1767 return TacticalLines.FPF; 1768 } 1769 //SFENCE 1770 if (str3.equals("OWS") && c0.equals("G") && c2.equals("M")) { 1771 return TacticalLines.SFENCE; 1772 } 1773 //DFENCE 1774 if (str3.equals("OWD") && c0.equals("G") && c2.equals("M")) { 1775 return TacticalLines.DFENCE; 1776 } 1777 //DOUBLEA 1778 if (str3.equals("OWA") && c0.equals("G") && c2.equals("M")) { 1779 return TacticalLines.DOUBLEA; 1780 } 1781 //UNSP 1782 if (str3.equals("OWU") && c0.equals("G") && c2.equals("M")) { 1783 return TacticalLines.UNSP; 1784 } 1785 //LWFENCE 1786 if (str3.equals("OWL") && c0.equals("G") && c2.equals("M")) { 1787 return TacticalLines.LWFENCE; 1788 } 1789 //HWFENCE 1790 if (str3.equals("OWH") && c0.equals("G") && c2.equals("M")) { 1791 return TacticalLines.HWFENCE; 1792 } 1793 //ATDITCHM 1794 if (str3.equals("OAR") && c0.equals("G") && c2.equals("M")) { 1795 return TacticalLines.ATDITCHM; 1796 } 1797 //BELT 1798 if (str3.equals("OGB") && c0.equals("G") && c2.equals("M")) { 1799 return TacticalLines.BELT; //use BELT for area, BELT1 for line 1800 //return TacticalLines.BELT1; 1801 } 1802 //ATWALL 1803 if (str3.equals("OAW") && c0.equals("G") && c2.equals("M")) { 1804 return TacticalLines.ATWALL; 1805 } 1806 //AMBUSH 1807 if (str3.equals("SLA") && c0.equals("G") && c2.equals("G")) { 1808 return TacticalLines.AMBUSH; 1809 } 1810 //ROZ 1811 if (str3.equals("AAR") && c0.equals("G") && c2.equals("G")) { 1812 return TacticalLines.ROZ; 1813 } 1814 //IL 1815 if (str3.equals("OLI") && c0.equals("G") && c2.equals("G")) { 1816 return TacticalLines.IL; 1817 } 1818 //PLANNED 1819 if (str3.equals("ORP") && c0.equals("G") && c2.equals("M")) { 1820 return TacticalLines.PLANNED; 1821 } 1822 //ESR1 1823 if (str3.equals("ORS") && c0.equals("G") && c2.equals("M")) { 1824 return TacticalLines.ESR1; 1825 } 1826 //ESR2 1827 if (str3.equals("ORA") && c0.equals("G") && c2.equals("M")) { 1828 return TacticalLines.ESR2; 1829 } 1830 //ROADBLK 1831 if (str3.equals("ORC") && c0.equals("G") && c2.equals("M")) { 1832 return TacticalLines.ROADBLK; 1833 } 1834 //PLD 1835 if (str3.equals( "OLP") && c0.equals( "G") && c2.equals( "G")) { 1836 return TacticalLines.PLD; 1837 } 1838 //BYDIF 1839 if (str3.equals( "BDD") && c0.equals( "G") && c2.equals( "M")) { 1840 return TacticalLines.BYDIF; 1841 } 1842 //BYIMP 1843 if (str3.equals( "BDI") && c0.equals( "G") && c2.equals( "M")) { 1844 return TacticalLines.BYIMP; 1845 } 1846 //EASY 1847 if (str3.equals( "BDE") && c0.equals( "G") && c2.equals( "M")) { 1848 return TacticalLines.EASY; 1849 } 1850 //FLOT 1851 if (str3.equals("GLF") && c0.equals("G") && c2.equals("G")) { 1852 return TacticalLines.FLOT; 1853 } 1854 //LC 1855 if (str3.equals("GLC") && c0.equals("G") && c2.equals("G")) { 1856 return TacticalLines.LC; 1857 } 1858 //LDLC 1859 if (str3.equals("OLC") && c0.equals("G") && c2.equals("G")) { 1860 return TacticalLines.LDLC; 1861 } 1862 //ZONE 1863 if (str3.equals("OGZ") && c0.equals("G") && c2.equals("M")) { 1864 return TacticalLines.ZONE; 1865 } 1866 //ENCIRCLE 1867 if (str3.equals("SAE") && c0.equals("G") && c2.equals("G")) { 1868 return TacticalLines.ENCIRCLE; 1869 } 1870 //areas 1871 //BATTLE 1872 if (str3.equals("DAB") && c0.equals("G") && c2.equals("G")) { 1873 return TacticalLines.BATTLE; 1874 } 1875 //ASSY 1876 if (str3.equals("GAA") && c0.equals("G") && c2.equals("G")) { 1877 return TacticalLines.ASSY; 1878 } 1879 //TAI 1880 if (str3.equals("SAT") && c0.equals("G") && c2.equals("G")) { 1881 return TacticalLines.TAI; 1882 } 1883 //BSA 1884 if (str3.equals("ASB") && c0.equals("G") && c2.equals("S")) { 1885 return TacticalLines.BSA; 1886 } 1887 //DSA 1888 if (str3.equals("ASD") && c0.equals("G") && c2.equals("S")) { 1889 return TacticalLines.DSA; 1890 } 1891 //EA 1892 if (str3.equals("GAE") && c0.equals("G") && c2.equals("G")) { 1893 return TacticalLines.EA; 1894 } 1895 //NAI 1896 if (str3.equals("SAN") && c0.equals("G") && c2.equals("G")) { 1897 return TacticalLines.NAI; 1898 } 1899 1900 //FORT 1901 if (str3.equals("GAF") && c0.equals("G") && c2.equals("G")) { 1902 return TacticalLines.FORT; 1903 } 1904 //OBSAREA 1905 if (str3.equals("OGR") && c0.equals("G") && c2.equals("M")) { 1906 return TacticalLines.OBSAREA; 1907 } 1908 //OBSFAREA 1909 if (str3.equals("OGF") && c0.equals("G") && c2.equals("M")) { 1910 return TacticalLines.OBSFAREA; 1911 } 1912 //PZ 1913 if (str3.equals("GAP") && c0.equals("G") && c2.equals("G")) { 1914 return TacticalLines.PZ; 1915 } 1916 //LZ 1917 if (str3.equals("GAL") && c0.equals("G") && c2.equals("G")) { 1918 return TacticalLines.LZ; 1919 } 1920 //DZ 1921 if (str3.equals("GAD") && c0.equals("G") && c2.equals("G")) { 1922 return TacticalLines.DZ; 1923 } 1924 //FAADZ 1925 if (str3.equals("AAF") && c0.equals("G") && c2.equals("G")) { 1926 return TacticalLines.FAADZ; 1927 } 1928 //MEZ 1929 if (str3.equals("AAM") && c0.equals("G") && c2.equals("G")) { 1930 return TacticalLines.MEZ; 1931 } 1932 //WFZ 1933 if (str3.equals("AAW") && c0.equals("G") && c2.equals("G")) { 1934 return TacticalLines.WFZ; 1935 } 1936 //FEBA 1937 if (str3.equals("DLF") && c0.equals("G") && c2.equals("G")) { 1938 return TacticalLines.FEBA; 1939 } 1940 //SAAFR 1941 if (str3.equals("ALS") && c0.equals("G") && c2.equals("G")) { 1942 return TacticalLines.SAAFR; 1943 } 1944 //LLFR 1945 if (str3.equals("ALL") && c0.equals("G") && c2.equals("G")) { 1946 return TacticalLines.LLTR; 1947 } 1948 //AC 1949 if (str3.equals("ALC") && c0.equals("G") && c2.equals("G")) { 1950 return TacticalLines.AC; 1951 } 1952 //MRR 1953 if (str3.equals("ALM") && c0.equals("G") && c2.equals("G")) { 1954 return TacticalLines.MRR; 1955 } 1956 //UAV 1957 if (str3.equals("ALU") && c0.equals("G") && c2.equals("G")) { 1958 return TacticalLines.UAV; 1959 } 1960 //FERRY 1961 if (str3.equals("BCF") && c0.equals("G") && c2.equals("M")) { 1962 return TacticalLines.FERRY; 1963 } 1964 //BRIDGE 1965 if (str3.equals("BCB") && c0.equals("G") && c2.equals("M")) { 1966 return TacticalLines.BRIDGE; 1967 } 1968 //ASLTXING 1969 if (str3.equals("BCA") && c0.equals("G") && c2.equals("M")) { 1970 return TacticalLines.ASLTXING; 1971 } 1972 //GAP 1973 if (str3.equals("OFG") && c0.equals("G") && c2.equals("M")) { 1974 return TacticalLines.GAP; 1975 } 1976 //OVERHEAD_WIRE 1977 if (str3.equals("OHO") && c0.equals("G") && c2.equals("M")) { 1978 return TacticalLines.OVERHEAD_WIRE; 1979 } 1980 //FORDSITE 1981 if (str3.equals("BCE") && c0.equals("G") && c2.equals("M")) { 1982 return TacticalLines.FORDSITE; 1983 } 1984 //MFLANE 1985 if (str3.equals("BCL") && c0.equals("G") && c2.equals("M")) { 1986 return TacticalLines.MFLANE; 1987 } 1988 //RAFT 1989 if (str3.equals("BCR") && c0.equals("G") && c2.equals("M")) { 1990 return TacticalLines.RAFT; 1991 } 1992 //MNFLDDIS 1993 if (str3.equals("OED") && c0.equals("G") && c2.equals("M")) { 1994 return TacticalLines.MNFLDDIS; 1995 } 1996 //MSR 1997 if (str3.equals("LRM") && c0.equals("G") && c2.equals("S")) { 1998 return TacticalLines.MSR; 1999 } 2000 //ASR 2001 if (str3.equals("LRA") && c0.equals("G") && c2.equals("S")) { 2002 return TacticalLines.ASR; 2003 } 2004 //LL 2005 if (str3.equals("GLL") && c0.equals("G") && c2.equals("G")) { 2006 return TacticalLines.LL; 2007 } 2008 //LOD 2009 if (str3.equals("OLT") && c0.equals("G") && c2.equals("G")) { 2010 return TacticalLines.LOD; 2011 } 2012 //PL 2013 if (str3.equals("GLP") && c0.equals("G") && c2.equals("G")) { 2014 return TacticalLines.PL; 2015 } 2016 //FCL 2017 if (str3.equals("OLF") && c0.equals("G") && c2.equals("G")) { 2018 return TacticalLines.FCL; 2019 } 2020 //LOA 2021 if (str3.equals("OLL") && c0.equals("G") && c2.equals("G")) { 2022 return TacticalLines.LOA; 2023 } 2024 //BRDGHD 2025 if (str3.equals("SLB") && c0.equals("G") && c2.equals("G")) { 2026 return TacticalLines.BRDGHD; 2027 } 2028 //MNFLDFIX 2029 if (str3.equals("OEF") && c0.equals("G") && c2.equals("M")) { 2030 return TacticalLines.MNFLDFIX; 2031 } 2032 //MNFLDBLK 2033 if (str3.equals("OEB") && c0.equals("G") && c2.equals("M")) { 2034 return TacticalLines.MNFLDBLK; 2035 } 2036 //ONEWAY 2037 if (str3.equals("LRO") && c0.equals("G") && c2.equals("S")) { 2038 return TacticalLines.ONEWAY; 2039 } 2040 //ALT 2041 if (str3.equals("LRT") && c0.equals("G") && c2.equals("S")) { 2042 return TacticalLines.ALT; 2043 } 2044 //TWOWAY 2045 if (str3.equals("LRW") && c0.equals("G") && c2.equals("S")) { 2046 return TacticalLines.TWOWAY; 2047 } 2048 //RSA 2049 if (str3.equals("ASR") && c0.equals("G") && c2.equals("S")) { 2050 return TacticalLines.RSA; 2051 } 2052 //BOUNDARY 2053 if (str3.equals("GLB") && c0.equals("G") && c2.equals("G")) { 2054 return TacticalLines.BOUNDARY; 2055 } 2056 //GENERAL 2057 if (str3.equals("GAG") && c0.equals("G") && c2.equals("G")) { 2058 return TacticalLines.GENERAL; 2059 } 2060 //EZ 2061 if (str3.equals("GAX") && c0.equals("G") && c2.equals("G")) { 2062 return TacticalLines.EZ; 2063 } 2064 //AIRFIELD 2065 if (str3.equals("GAZ") && c0.equals("G") && c2.equals("G")) { 2066 return TacticalLines.AIRFIELD; 2067 } 2068 //HIDACZ 2069 if (str3.equals("AAH") && c0.equals("G") && c2.equals("G")) { 2070 return TacticalLines.HIDACZ; 2071 } 2072 //EA1 2073 if (str3.equals("DAE") && c0.equals("G") && c2.equals("G")) { 2074 return TacticalLines.EA1; 2075 } 2076 //ASSAULT 2077 if (str3.equals("OAA") && c0.equals("G") && c2.equals("G")) { 2078 return TacticalLines.ASSAULT; 2079 } 2080 //ATKPOS 2081 if (str3.equals("OAK") && c0.equals("G") && c2.equals("G")) { 2082 return TacticalLines.ATKPOS; 2083 } 2084 //OBJ 2085 if (str3.equals("OAO") && c0.equals("G") && c2.equals("G")) { 2086 return TacticalLines.OBJ; 2087 } 2088 //AO 2089 if (str3.equals("SAO") && c0.equals("G") && c2.equals("G")) { 2090 return TacticalLines.AO; 2091 } 2092 //AIRHEAD 2093 if (str3.equals("SAA") && c0.equals("G") && c2.equals("G")) { 2094 return TacticalLines.AIRHEAD; 2095 } 2096 2097 //PEN 2098 if (str3.equals("OAP") && c0.equals("G") && c2.equals("G")) { 2099 return TacticalLines.PEN; 2100 } 2101 //HOLD 2102 if (str3.equals("SLH") && c0.equals("G") && c2.equals("G")) { 2103 return TacticalLines.HOLD; 2104 } 2105 //RELEASE 2106 if (str3.equals("SLR") && c0.equals("G") && c2.equals("G")) { 2107 return TacticalLines.RELEASE; 2108 } 2109 //DEPICT 2110 if (str3.equals("OFD") && c0.equals("G") && c2.equals("M")) { 2111 return TacticalLines.DEPICT; 2112 } 2113 //MINED 2114 if (str3.equals("OFA") && c0.equals("G") && c2.equals("M")) { 2115 return TacticalLines.MINED; 2116 } 2117 //SARA 2118 if (str3.equals("GAS") && c0.equals("G") && c2.equals("G")) { 2119 return TacticalLines.SARA; 2120 } 2121 //LAA 2122 if (str3.equals("GAY") && c0.equals("G") && c2.equals("G")) { 2123 return TacticalLines.LAA; 2124 } 2125 //PDF 2126 if (str3.equals("DLP") && c0.equals("G") && c2.equals("G")) { 2127 return TacticalLines.PDF; 2128 } 2129 2130 //ATKBYFIRE 2131 if (str3.equals("OAF") && c0.equals("G") && c2.equals("G")) { 2132 return TacticalLines.ATKBYFIRE; 2133 } 2134 //SPTBYFIRE 2135 if (str3.equals("OAS") && c0.equals("G") && c2.equals("G")) { 2136 return TacticalLines.SPTBYFIRE; 2137 } 2138 //CLUSTER 2139 if (str3.equals("OMC") && c0.equals("G") && c2.equals("M")) { 2140 return TacticalLines.CLUSTER; 2141 } 2142 //TURN 2143 if (str3.equals("OET") && c0.equals("G") && c2.equals("M")) { 2144 return TacticalLines.TURN; 2145 } 2146 //CONVOY 2147 if (str3.equals("LCM") && c0.equals("G") && c2.equals("S")) { 2148 return TacticalLines.CONVOY; 2149 } 2150 //HCONVOY 2151 if (str3.equals("LCH") && c0.equals("G") && c2.equals("S")) { 2152 return TacticalLines.HCONVOY; 2153 } 2154 //LINE 2155 if (str3.equals("OGL") && c0.equals("G") && c2.equals("M")) { 2156 return TacticalLines.LINE; 2157 } 2158 //FORDIF 2159 if (str3.equals("BCD") && c0.equals("G") && c2.equals("M")) { 2160 return TacticalLines.FORDIF; 2161 } 2162 //TRP 2163 if (str3.equals("DPT") && c0.equals("G") && c2.equals("G")) { 2164 return TacticalLines.TRP; 2165 } 2166 2167 //RECTANGULAR 2168 if (str3.equals("ATR") && c0.equals("G") && c2.equals("F")) { 2169 return TacticalLines.RECTANGULAR; 2170 } 2171 //CIRCULAR 2172 if (str3.equals("ATC") && c0.equals("G") && c2.equals("F")) { 2173 return TacticalLines.CIRCULAR; 2174 } 2175 //SERIES 2176 if (str3.equals("ATG") && c0.equals("G") && c2.equals("F")) { 2177 return TacticalLines.SERIES; 2178 } 2179 //SMOKE 2180 if (str3.equals("ATS") && c0.equals("G") && c2.equals("F")) { 2181 return TacticalLines.SMOKE; // Mitch 7-9-07 2182 } //BOMB 2183 if (str3.equals("ATB") && c0.equals("G") && c2.equals("F")) { 2184 return TacticalLines.BOMB; 2185 } 2186 //TGMF 2187 if (str3.equals("ACT") && c0.equals("G") && c2.equals("F")) { 2188 return TacticalLines.TGMF; 2189 } 2190 2191 //TRIP 2192 if (str2.equals("OT") && c0.equals("G") && c2.equals("M")) { 2193 return TacticalLines.TRIP; 2194 } 2195 //ABATIS 2196 if (str2.equals("OS") && c0.equals("G") && c2.equals("M")) { 2197 return TacticalLines.ABATIS; 2198 } 2199 //UXO 2200 if (str2.equals("OU") && c0.equals("G") && c2.equals("M")) { 2201 return TacticalLines.UXO; 2202 } 2203 //DHA 2204 if (str2.equals("AD") && c0.equals("G") && c2.equals("S")) { 2205 return TacticalLines.DHA; 2206 } 2207 //EPW 2208 if (str2.equals("AE") && c0.equals("G") && c2.equals("S")) { 2209 return TacticalLines.EPW; 2210 } 2211 //RHA 2212 if (str2.equals("AH") && c0.equals("G") && c2.equals("S")) { 2213 return TacticalLines.RHA; 2214 } 2215 2216 if (str2.equals("NL") && c0.equals("G") && c2.equals("M")) { 2217 return TacticalLines.DRCL; 2218 } 2219 //RAD 2220 if (str2.equals("NR") && c0.equals("G") && c2.equals("M")) { 2221 return TacticalLines.RAD; 2222 } 2223 //CHEM 2224 if (str2.equals("NC") && c0.equals("G") && c2.equals("M")) { 2225 return TacticalLines.CHEM; 2226 } 2227 //BIO 2228 if (str2.equals("NB") && c0.equals("G") && c2.equals("M")) { 2229 return TacticalLines.BIO; 2230 } 2231 2232 if (str2.equals("AF") && c0.equals("G") && c2.equals("F")) { 2233 return TacticalLines.FFA; 2234 } 2235 //FSA 2236 if (str2.equals("AA") && c0.equals("G") && c2.equals("F")) { 2237 return TacticalLines.FSA; 2238 } 2239 //RFA 2240 if (str2.equals("AR") && c0.equals("G") && c2.equals("F")) { 2241 return TacticalLines.RFA; 2242 } 2243 //FOLSP 2244 if (str2.equals("AS") && c0.equals("G") && c2.equals("T")) { 2245 return TacticalLines.FOLSP; 2246 } 2247 //FARP 2248 if (str2.equals("AR") && c0.equals("G") && c2.equals("S")) { 2249 return TacticalLines.FARP; 2250 } 2251 //AAFNT 2252 if (str2.equals("PA") && c0.equals("G") && c2.equals("G")) { 2253 return TacticalLines.AAFNT; 2254 } 2255 //DIRATKFNT 2256 if (str2.equals("PF") && c0.equals("G") && c2.equals("G")) { 2257 return TacticalLines.DIRATKFNT; 2258 } 2259 //STRONG 2260 if (str2.equals("SP") && c0.equals("G") && c2.equals("M")) { 2261 return TacticalLines.STRONG; 2262 } 2263 //LINTGT 2264 if (str2.equals("LT") && c0.equals("G") && c2.equals("F")) { 2265 return TacticalLines.LINTGT; 2266 } 2267 //FORTL 2268 if (str2.equals("SL") && c0.equals("G") && c2.equals("M")) { 2269 return TacticalLines.FORTL; 2270 } 2271 //FPF 2272 if (str2.equals("LP") && c0.equals("G") && c2.equals("F")) { 2273 return TacticalLines.FPF; 2274 } 2275 //ACA 2276 if (str2.equals("AC") && c0.equals("G") && c2.equals("F")) { 2277 return TacticalLines.ACA; 2278 } 2279 //AT 2280 if (str2.equals("AT") && c0.equals("G") && c2.equals("F")) { 2281 return TacticalLines.AT; 2282 } 2283 //SMOKE 2284 if (str2.equals("AK") && c0.equals("G") && c2.equals("F")) { 2285 return TacticalLines.SMOKE; 2286 } 2287 //SERIES 2288 if (str2.equals("AS") && c0.equals("G") && c2.equals("F")) { 2289 return TacticalLines.SERIES; 2290 } 2291 //BOMB 2292 if (str2.equals("AB") && c0.equals("G") && c2.equals("F")) { 2293 return TacticalLines.BOMB; 2294 } 2295 //ELECTRO 2296 if (str2.equals("BE") && c0.equals("G") && c2.equals("O")) { 2297 return TacticalLines.ELECTRO; 2298 } 2299 //ACOUSTIC 2300 if (str2.equals("BA") && c0.equals("G") && c2.equals("O")) { 2301 return TacticalLines.ACOUSTIC; 2302 } 2303 //TORPEDO 2304 if (str2.equals("BT") && c0.equals("G") && c2.equals("O")) { 2305 return TacticalLines.TORPEDO; 2306 } 2307 //OPTICAL 2308 if (str2.equals("BO") && c0.equals("G") && c2.equals("O")) { 2309 return TacticalLines.OPTICAL; 2310 } 2311 //DECOY 2312 if (str2.equals("PC") && c0.equals("G") && c2.equals("G")) { 2313 return TacticalLines.DUMMY; 2314 } 2315 2316 //DUMMY_STATIC 2317 if (str2.equals("PN") && c0.equals("G") && c2.equals("G")) { 2318 return TacticalLines.DUMMY_STATIC; 2319 } 2320 //COVER 2321 if (str2.equals("UC") && c0.equals("G") && c2.equals("T")) { 2322 if(rev==RendererSettings.Symbology_2525C) 2323 return TacticalLines.COVER_REVC; 2324 else 2325 return TacticalLines.COVER; 2326 } 2327 //SCREEN 2328 if (str2.equals("US") && c0.equals("G") && c2.equals("T")) { 2329 if(rev==RendererSettings.Symbology_2525C) 2330 return TacticalLines.SCREEN_REVC; 2331 else 2332 return TacticalLines.SCREEN; 2333 } 2334 //GUARD 2335 if (str2.equals("UG") && c0.equals("G") && c2.equals("T")) { 2336 if(rev==RendererSettings.Symbology_2525C) 2337 return TacticalLines.GUARD_REVC; 2338 else 2339 return TacticalLines.GUARD; 2340 } 2341 //DECOY MINED AREA 2342 if (str2.equals("PM") && c0.equals("G") && c2.equals("G")) { 2343 return TacticalLines.DMA; 2344 } 2345 //DECOY MINED AREA FENCED 2346 if (str2.equals("PY") && c0.equals("G") && c2.equals("G")) { 2347 return TacticalLines.DMAF; 2348 } 2349 //DECEIVE 2350 if (str2.equals("PD") && c0.equals("G") && c2.equals("G")) { 2351 return TacticalLines.DECEIVE; 2352 } 2353 //FOXHOLE 2354 if (str2.equals("SW") && c0.equals("G") && c2.equals("M")) { 2355 return TacticalLines.FOXHOLE; 2356 } 2357 //CATKBYFIRE 2358 if (str2.equals("KF") && c0.equals("G") && c2.equals("T")) { 2359 return TacticalLines.CATKBYFIRE; 2360 } 2361 //DRCL 2362 if (str2.equals("NL") && c0.equals("G") && c2.equals("M")) { 2363 return TacticalLines.DRCL; 2364 } 2365 //MSDZ 2366 if (str2.equals("NM") && c0.equals("G") && c2.equals("M")) { 2367 return TacticalLines.MSDZ; 2368 } 2369 //WDRAWUP 2370 if (str2.equals("WP") && c0.equals("G") && c2.equals("T")) { 2371 return TacticalLines.WDRAWUP; 2372 } 2373 //NAVIGATION 2374 if (str2.equals("HN") && c0.equals("G") && c2.equals("O")) { 2375 return TacticalLines.NAVIGATION; 2376 } 2377 //FORTP 2378 if (str2.equals("SF") && c0.equals("G") && c2.equals("M")) { 2379 return TacticalLines.FORTP; 2380 } 2381 2382 //RIP 2383 if (str1.equals("R") && c0.equals("G") && c2.equals("T")) { 2384 return TacticalLines.RIP; 2385 } 2386 //FOLLA 2387 if (str1.equals("A") && c0.equals("G") && c2.equals("T")) { 2388 return TacticalLines.FOLLA; 2389 } 2390 //RETIRE 2391 if (str1.equals("M") && c0.equals("G") && c2.equals("T")) { 2392 return TacticalLines.RETIRE; 2393 } 2394 //BEARING 2395 if (str1.equals("B") && c0.equals("G") && c2.equals("O")) { 2396 return TacticalLines.BEARING; 2397 } 2398 //DELAY 2399 if (str1.equals("L") && c0.equals("G") && c2.equals("T")) { 2400 return TacticalLines.DELAY; 2401 } 2402 2403 //CODON AND SEARCH 2404 if (str1.equals("V") && c0.equals("G") && c2.equals("T")) { 2405 return TacticalLines.CORDONSEARCH; 2406 } 2407 //CODON AND KNOCK 2408 if (str1.equals("2") && c0.equals("G") && c2.equals("T")) { 2409 return TacticalLines.CORDONKNOCK; 2410 } 2411 2412 //WITHDRAW 2413 if (str1.equals("W") && c0.equals("G") && c2.equals("T")) { 2414 return TacticalLines.WITHDRAW; 2415 } 2416 //BREACH 2417 if (str1.equals("H") && c0.equals("G") && c2.equals("T")) { 2418 return TacticalLines.BREACH; 2419 } 2420 //CANALIZE 2421 if (str1.equals("C") && c0.equals("G") && c2.equals("T")) { 2422 return TacticalLines.CANALIZE; 2423 } 2424 //BYPASS 2425 if (str1.equals("Y") && c0.equals("G") && c2.equals("T")) { 2426 return TacticalLines.BYPASS; 2427 } 2428 //BLOCK 2429 if (str1.equals("B") && c0.equals("G") && c2.equals("T")) { 2430 return TacticalLines.BLOCK; 2431 } 2432 //DISRUPT 2433 if (str1.equals("T") && c0.equals("G") && c2.equals("T")) { 2434 return TacticalLines.DISRUPT; 2435 } 2436 //SEIZE 2437 if (str1.equals("Z") && c0.equals("G") && c2.equals("T")) { 2438 //return TacticalLines.SEIZE; 2439 if(rev==RendererSettings.Symbology_2525C) 2440 return TacticalLines.SEIZE_REVC; 2441 else 2442 return TacticalLines.SEIZE; 2443 } 2444 //SECURE 2445 if (str1.equals("S") && c0.equals("G") && c2.equals("T")) { 2446 return TacticalLines.SECURE; 2447 } 2448 //RETAIN 2449 if (str1.equals("Q") && c0.equals("G") && c2.equals("T")) { 2450 return TacticalLines.RETAIN; 2451 } 2452 //PENETRATE 2453 if (str1.equals("P") && c0.equals("G") && c2.equals("T")) { 2454 return TacticalLines.PENETRATE; 2455 } 2456 //ISOLATE 2457 if (str1.equals("E") && c0.equals("G") && c2.equals("T")) { 2458 return TacticalLines.ISOLATE; 2459 } 2460 //CLEAR 2461 if (str1.equals("X") && c0.equals("G") && c2.equals("T")) { 2462 return TacticalLines.CLEAR; 2463 } 2464 //CONTAIN 2465 if (str1.equals("J") && c0.equals("G") && c2.equals("T")) { 2466 return TacticalLines.CONTAIN; 2467 } 2468 //OCCUPY 2469 if (str1.equals("O") && c0.equals("G") && c2.equals("T")) { 2470 return TacticalLines.OCCUPY; 2471 } 2472 //FIX 2473 if (str1.equals("F") && c0.equals("G") && c2.equals("T")) { 2474 return TacticalLines.FIX; 2475 } 2476 //CATK: 2477 if (str1.equals("K") && c0.equals("G") && c2.equals("T")) { 2478 return TacticalLines.CATK; 2479 } 2480 //DESTROY 2481 if (str1.equals("D") && c0.equals("G") && c2.equals("T")) { 2482 return TacticalLines.DESTROY; 2483 } 2484 //INTERDICT 2485 if (str1.equals("I") && c0.equals("G") && c2.equals("T")) { 2486 return TacticalLines.INTERDICT; 2487 } 2488 //NEUTRALIZE 2489 if (str1.equals("N") && c0.equals("G") && c2.equals("T")) { 2490 return TacticalLines.NEUTRALIZE; 2491 } 2492 2493 } 2494 catch(Exception exc) 2495 { 2496 ErrorLogger.LogException(_className ,"CGetLinetypeFromString", 2497 new RendererException("Failed inside CGetLinetypeFromString " + strLine, exc)); 2498 } 2499 return -1; 2500 } 2501 /** 2502 * Return true is the line type is a channel type 2503 * @param lineType line type 2504 * @return 2505 */ 2506 public static int CIsChannel(int lineType) { 2507 int lResult = 0; 2508 try { 2509 switch (lineType) { 2510 case TacticalLines.CATK: 2511 case TacticalLines.CATKBYFIRE: 2512 case TacticalLines.LC: 2513 case TacticalLines.LC2: 2514 case TacticalLines.AAFNT: 2515 case TacticalLines.AAFNT_STRAIGHT: 2516 case TacticalLines.AXAD: 2517 case TacticalLines.AIRAOA: 2518 case TacticalLines.AAAAA: 2519 case TacticalLines.MAIN: 2520 case TacticalLines.MAIN_STRAIGHT: 2521 case TacticalLines.SPT: 2522 case TacticalLines.SPT_STRAIGHT: 2523 case TacticalLines.UNSP: 2524 case TacticalLines.SFENCE: 2525 case TacticalLines.DFENCE: 2526 case TacticalLines.DOUBLEA: 2527 case TacticalLines.LWFENCE: 2528 case TacticalLines.HWFENCE: 2529 case TacticalLines.BBS_LINE: 2530 case TacticalLines.SINGLEC: 2531 case TacticalLines.SINGLEC2: 2532 case TacticalLines.DOUBLEC: 2533 case TacticalLines.DOUBLEC2: 2534 case TacticalLines.TRIPLE: 2535 case TacticalLines.TRIPLE2: 2536 case TacticalLines.CHANNEL: 2537 case TacticalLines.CHANNEL_FLARED: 2538 case TacticalLines.CHANNEL_DASHED: 2539 //case TacticalLines.BELT: //change 2 2540 lResult = 1; 2541 break; 2542 default: 2543 lResult = 0; 2544 break; 2545 } 2546 } 2547 catch (Exception exc) 2548 { 2549 ErrorLogger.LogException(_className ,"CIsChannel", 2550 new RendererException("Failed inside CIsChannel " + Integer.toString(lineType), exc)); 2551 } 2552 return lResult; 2553 } 2554 private static String _client=""; 2555 public static void setClient(String value) 2556 { 2557 _client=value; 2558 Channels.setClient(value); 2559 } 2560 public static String getClient() 2561 { 2562 return _client; 2563 } 2564// public static void setMinLength(double value) 2565// { 2566// DISMSupport.setMinLength(value); 2567// arraysupport.setMinLength(value); 2568// countsupport.setMinLength(value); 2569// return; 2570// } 2571}