001package armyc2.c5isr.renderer.utilities;
002
003/**
004 * Draw Rules for Control Measures
005 *
006 */
007public class DrawRules {
008
009    /**
010     * Usually an entry in the MilStd that is just a category containing other symbols
011     * and not something that gets drawn itself.
012     */
013    public static final int DONOTDRAW = 0;
014
015    /**
016     * Anchor Points: This symbol requires at least three anchor points to
017     * define the boundary of the area. Add as many points as necessary to
018     * accurately reflect the area’s size and shape.
019     *
020     * Size/Shape: Determined by the anchor points. The information fields
021     * should be moveable and scalable as a block within the area.
022     *
023     * Used by: 2525D,Dch1,E,Ech1
024     */
025    public static final int AREA1 = 101;
026
027    /**
028     * Anchor Points: This symbol requires at least three anchor points to
029     * define the boundary of the area. Add as many points as necessary to
030     * accurately reflect the area’s size and shape. The LAA point symbol
031     * requires one anchor point and is connected to the area symbol with a
032     * straight line.
033     *
034     * Size/Shape: Determined by the anchor points. The information fields
035     * should be moveable and scalable as a block within the area.
036     *
037     * Used by: 2525D,Dch1,E
038     */
039    public static final int AREA2 = 102;
040
041    /**
042     * Anchor Points: This symbol requires at least three anchor points to
043     * define the boundary of the area. Add as many points as necessary to
044     * accurately reflect the area’s size and shape.
045     *
046     * Size/Shape: Determined by the anchor points.
047     *
048     * Used by: 2525D,Dch1,E
049     */
050    public static final int AREA3 = 103;
051
052    /**
053     * Anchor Points: This symbol requires at least three anchor points to
054     * define the boundary of the area. Add as many points as necessary to
055     * accurately reflect the area’s size and shape.
056     *
057     * Size/Shape: Determined by the anchor points. The information fields
058     * should be moveable and scalable as a block within the area. The default
059     * tic length should be the same as the text height of the echelon
060     * field (B). Spacing between the tics should also be the height of B.
061     * Users should be provided a facility to allow them to manually alter the
062     * height of B, which in turn should affect the tic length and spacing
063     * accordingly.
064     *
065     * Used by: 2525D,Dch1,E
066     */
067    public static final int AREA4 = 104;
068
069    /**
070     * Anchor Points: This symbol requires three anchor points. Points 1 and 2
071     * define the endpoints of the semicircle's opening. Point 3 defines the end
072     * of the arrow.
073     *
074     * Size/Shape: Points 1 and 2 determine the diameter of the semicircle and
075     * point 3 determines the length of the arrow. The tip of the arrowhead will
076     * be at the center point of the semicircle's diameter and will project
077     * perpendicularly from the line between points 1 and 2. The default tic
078     * length should be the same as the text height of the echelon field (B).
079     * Spacing between the tics should also be the height of B. Users should be
080     * provided a facility to allow them to manually alter the height of B,
081     * which in turn should affect the tic length and spacing accordingly.
082     *
083     * Used by: 2525D,Dch1,E,Ech1
084     */
085    public static final int AREA5 = 105;
086
087    /**
088     * Anchor Points: This symbol requires two anchor points. Point 1 defines
089     * the center point of the symbol and point 2 defines the symbol’s start
090     * point and radius.
091     *
092     * Size/Shape: Points 1 and 2 will determine a radius that is long enough
093     * for the graphic to encompass the feature(s) being retained. The opening
094     * will be a 30-degree arc of the circle. The default tic length should be
095     * the same as the text height of the echelon field (R). Spacing between
096     * the tics should also be the height of R. Users should be provided a
097     * facility to allow them to manually alter the height of R, which in turn
098     * should affect the tic length and spacing accordingly.
099     *
100     * Used by: 2525D,Dch1,E,Ech1
101     */
102    public static final int AREA6 = 106;
103
104    /**
105     * Anchor Points: This symbol requires three anchor points. Point 1 is the
106     * tip of the arrowhead. Points 2 and 3 define the endpoints of the straight
107     * line on the back side of the symbol.
108     *
109     * Size/Shape: Points 2 and 3 determine the length of the straight line on
110     * the back side of the symbol. The rear of the arrowhead line shall connect
111     * to the midpoint of the line between points 2 and 3. The arrowhead line shall be perpendicular to the line formed by points 2 and 3.
112     *
113     * Orientation: Orientation is determined by the anchor points. The back
114     * side of the symbol encompasses the firing position, while the arrowhead
115     * typically points at the target.
116     *
117     * Used by: 2525D,Dch1,E,Ech1
118     */
119    public static final int AREA7 = 107;
120
121    /**
122     * Anchor Points: This symbol requires four anchor points. Points 1 and 2
123     * define the endpoints of the straight line on the back side of the symbol.
124     * Points 3 and 4 define the tips of the arrowheads.
125     *
126     * Size/Shape: Points 1 and 2 determine the length of the straight line on
127     * the back side of the symbol. The rear of the arrows should connect to
128     * points 1 and 2.
129     *
130     * Orientation: Orientation is determined by the anchor points. The back
131     * side of the symbol encompasses the firing position, while the arrowheads
132     * typically indicate the left and right limits of coverage that the firing
133     * position is meant to support.
134     *
135     * Used by: 2525D,Dch1,E,Ech1
136     */
137    public static final int AREA8 = 108;
138
139    /**
140     * Anchor Points: This symbol requires at least three anchor points to
141     * define the boundary of the area. Add as many points as necessary to
142     * accurately reflect the area’s size and shape.
143     *
144     * Size/Shape: Determined by the anchor points.
145     *
146     * Orientation: Not applicable. The area will encompass two or more fire
147     * support symbols (point/single target, nuclear target, circular target,
148     * rectangular target, or area target).
149     * The naming convention determines whether the area describes a series or
150     * group of targets.
151     *
152     * Used by: 2525D,Dch1,E
153     *
154     */
155    public static final int AREA9 = 109;
156
157    /**
158     * Anchor Points: This symbol requires a minimum of three (3) and a maximum
159     * of six (6) anchor points to define the boundary of the area. The anchor
160     * points shall be sequentially numbered, in increments of one (1),
161     * beginning with point one (1).
162     *
163     * Size/Shape: Determined by the anchor points. The information fields
164     * should be moveable and scalable within the area.
165     *
166     * Orientation: Not applicable.
167     *
168     * Used by: 2525D,Dch1,E,Ech1
169     */
170    public static final int AREA10 = 110;
171
172    /**
173     * Anchor Points: This symbol requires three anchor points. Points 1 and 2
174     * define the endpoints of the symbol’s vertical line. Point 3 defines the
175     * endpoint of the symbol’s horizontal line.
176     *
177     * Size/Shape: Points 1 and 2 determine the length of the vertical line.
178     * The length of the horizontal line is determined by plotting point 3 on a
179     * plane extending perpendicularly from the midpoint of the vertical line.
180     *
181     * Orientation: The head of the "T" typically faces enemy forces.
182     *
183     * Used by: 2525D,Dch1,E,Ech1
184     */
185    public static final int AREA11 = 111;
186
187    /**
188     * Anchor Points: This symbol requires three anchor points. Points 1 and 2
189     * define the end points of the symbol’s vertical line. Point 3 defines the
190     * tip of the longest arrow.
191     *
192     * Size/Shape: Points 1 and 2 determine the height of the symbol and point
193     * 3 determines its length. The spacing between the symbol’s arrows will
194     * stay proportional to the symbol’s vertical line. The length of the short
195     * arrows will remain in proportion to the length of the longest arrow.
196     *
197     * Orientation: The arrows point away from enemy forces.
198     *
199     * Used by: 2525D,Dch1,E,Ech1
200     */
201    public static final int AREA12 = 112;
202
203    /**
204     * Anchor Points: This symbol requires at least two anchor points. Points
205     * 1 and 2 define the corners of the symbol.
206     *
207     * Size/Shape: Points 1 and 2 determine the length of the straight line.
208     * The radius of the semicircle is ½ the length of the straight line.
209     *
210     * Orientation: Not applicable.
211     *
212     * Used by: 2525D,Dch1,E,Ech1
213     */
214    public static final int AREA13 = 113;
215
216    /**
217     * Anchor Points: This symbol requires three anchor points. The center point
218     * defines the center of the symbol. Points 1 and 2 define the radii of
219     * circles 1 and 2.
220     *
221     * Size/Shape: As defined by the operator.
222     *
223     * Orientation: The center point is typically centered over Ground Zero (GZ)
224     * or Designated Ground Zero (DGZ).
225     *
226     * Used by: 2525D,Dch1,E,Ech1
227     */
228    public static final int AREA14 = 114;
229
230    /**
231     * Anchor Points: This symbol requires two anchor points. Point 1 defines
232     * the center point of the symbol and point 2 defines the symbol’s start
233     * point and radius.
234     *
235     * Size/Shape: The radius will be long enough for the symbol to encompass
236     * the UEI(s) or feature(s) being isolated. The opening will be a 30 degree
237     * arc of the circle.
238     *
239     * Orientation: The opening will be on the friendly side of the symbol.
240     *
241     * Used by: 2525D,Dch1,E,Ech1
242     */
243    public static final int AREA15 = 115;
244
245    /**
246     * Anchor Points: This symbol requires two anchor points. Point 1 defines
247     * the center point of the symbol and point 2 defines the symbol’s start
248     * point and radius.
249     *
250     * Size/Shape: Points 1 and 2 will determine a radius that is long enough
251     * for the symbol to encompass the feature(s) being occupied. The opening
252     * will be a 30-degree arc of the circle.
253     *
254     * Orientation: The opening will be on the friendly side of the
255     * control measure.
256     *
257     * Used by: 2525D,Dch1,E,Ech1
258     */
259    public static final int AREA16 = 116;
260
261    /**
262     * Anchor Points: This symbol requires three anchor points. Points 1 and 2
263     * define the endpoints of the symbol’s vertical line. Point 3 defines the
264     * rear of the symbol.
265     *
266     * Size/Shape: Points 1 and 2 determine the height of the symbol and
267     * point 3 determines its length. The arrow will project perpendicularly
268     * from the midpoint of the vertical line.
269     *
270     * Orientation: The arrow points toward enemy forces.
271     *
272     * Used by: 2525D,Dch1,E,Ech1
273     */
274    public static final int AREA17 = 117;
275
276    /**
277     * Anchor Points: This symbol requires four anchor points. Point 1 defines
278     * the tip of the first arrowhead. Point 2 defines the end of the straight
279     * line portion of the first arrow. Point 3 defines the tip of the second
280     * arrowhead. Point 4 defines the end of the second arrow.
281     *
282     * Size/Shape: Points 1 and 2 and points 3 and 4 determine the length of
283     * each arrow. Points 2 and 3 shall be connected by a smooth, curved line.
284     *
285     * Orientation: Determined by the anchor points. The unit being relieved is
286     * typically located at the base of the curve and the unit performing the
287     * relief is typically located at the end of the symbol. The arrowhead
288     * typically points to the location the relieved unit should move to.
289     *
290     * Used by: 2525D,Dch1,E,Ech1
291     */
292    public static final int AREA18 = 118;
293
294    /**
295     * Anchor Points: This symbol requires two anchor points. Point 1 defines
296     * the center point of the symbol and point 2 defines the symbol’s start
297     * point and radius.
298     *
299     * Size/Shape: Points 1 and 2 will determine a radius that is long enough
300     * for the symbol to encompass the feature(s) being secured. The opening
301     * will be a 30-degree arc of the circle.
302     *
303     * Orientation: The opening will be on the friendly side of the symbol.
304     *
305     * Used by: 2525D,Dch1,E,Ech1
306     */
307    public static final int AREA19 = 119;
308
309    /**
310     * Anchor Points: This symbol requires at least three anchor points to
311     * define the boundary of the area. Add as many points as necessary to
312     * accurately reflect the area’s size and shape.
313     *
314     * Size/Shape: Determined by the anchor points.
315     *
316     * Used by: 2525D,Dch1,E
317     */
318    public static final int AREA20 = 120;
319
320    /**
321     * Anchor Points: This symbol requires three anchor points. Point 1 defines
322     * the vertex of the symbol. Points 2 and 3 define the tips of the
323     * arrowheads.
324     *
325     * Size/Shape: Points 1 and 2 and points 1 and 3 determine the length of the
326     * arrows. The length and orientation of the arrows can vary independently.
327     *
328     * Orientation: Orientation is determined by the anchor points.
329     * The arrowheads may touch other symbols that define the limits of the
330     * task. The tactical symbol indicator is centered over point 1.
331     *
332     * Used by: 2525D,Dch1,E,Ech1
333     */
334    public static final int AREA21 = 121;
335
336    /**
337     * Anchor Points: This symbol requires one anchor point. The center point
338     * defines the center of the symbol.
339     *
340     * Size/Shape: Static.
341     *
342     * Orientation: The symbol is typically centered over the desired location.
343     *
344     * Used by: 2525D,Dch1,E,Ech1
345     */
346    public static final int AREA22 = 122;
347
348    /**
349     * Anchor Points: This symbol requires at least three anchor points to
350     * define the boundary of the area.
351     *
352     * Size/Shape: Determined by the anchor points
353     *
354     * Orientation: Not applicable.
355     *
356     * Used by: 2525D,Dch1,E
357     */
358    public static final int AREA23 = 123;
359
360    /**
361     * Anchor Points: This symbol requires three anchor points. Points 1 and 2
362     * define the endpoints of the symbol’s vertical line. Point 3 defines the
363     * endpoint of the symbol’s horizontal line.
364     *
365     * Size/Shape: Points 1 and 2 determine the length of the vertical line.
366     * Points 2 and 3 determine the length of the horizontal line, which will
367     * project perpendicularly from the midpoint of the vertical line.
368     *
369     * Orientation: The head of the "T" typically faces enemy forces.
370     *
371     * Used by: 2525D,Dch1,E
372     */
373    public static final int AREA24 = 124;
374
375    /**
376     * Anchor Points: This symbol requires three anchor points. Points 1 and 2
377     * define the end points of the symbol’s vertical line. Point 3 defines the
378     * tip of the longest arrow.
379     *
380     * Size/Shape: Points 1 and 2 determine the height of the symbol and
381     * point 3 determines its length. The spacing between the symbol’s arrows
382     * will stay proportional to the symbol’s vertical line. The length of the
383     * short arrows will remain in proportion to the length of the longest
384     * arrow. The arrows are perpendicular to the baseline (vertical line) and
385     * parallel to each other.
386     *
387     * Orientation: The arrows typically point toward enemy forces.
388     *
389     * Used by: 2525D,Dch1
390     */
391    public static final int AREA25 = 125;
392
393    /**
394     * Anchor Points: This symbol requires a minimum of 6 anchor points. Add as
395     * many pairs of points as needed to accurately define the areas. The number
396     * of points shall always be an even number, with an equal number of points
397     * for both polygons. Points 1 through N/2 define the inner safe zone
398     * (zone 1). Points N/2 +1 though point N defines the outer zone (zone 2).
399     *
400     * Size/Shape: Determined by the anchor points.
401     *
402     * Orientation: The symbol will typically be oriented upright.
403     *
404     * Used by: 2525D,Dch1,E,Ech1
405     */
406    public static final int AREA26 = 126;
407
408
409    /**
410     * Anchor Points: This symbol requires one anchor point. The anchor point
411     * defines/is the tip of the inverted cone.
412     *
413     * Size/Shape: Static.
414     *
415     * Orientation: The symbol will typically be oriented upright.
416     *
417     * Used by: 2525D,Dch1,E,Ech1
418     */
419    public static final int POINT1 = 201;
420
421    /**
422     * Anchor Points: This symbol requires one anchor point. The center point
423     * defines/is the center of the symbol.
424     *
425     * Size/Shape: Static.
426     *
427     * Orientation: The symbol is typically centered over the desired location.
428     *
429     * Used by: 2525D,Dch1,E,Ech1
430     */
431    public static final int POINT2 = 202;
432
433    /**
434     * Anchor Points: This symbol requires one anchor point.
435     * The center point defines the center of the symbol.
436     *
437     * Size/Shape: Static. Maneuver area symbol shall be drawn with a black
438     * border. Maneuver areas may be either unfilled or filled with
439     * performance-contoured color options
440     *
441     * Orientation: The symbol is typically centered over the desired location.
442     *
443     * Used by: 2525D,Dch1,E,Ech1
444     */
445    public static final int POINT3 = 203;
446
447    /**
448     * Anchor Points: This symbol requires one anchor point. The point defines
449     * the bottom of the central vertical line in the symbol where the curved
450     * and vertical lines meet.
451     *
452     * Size/Shape: Static.
453     *
454     * Orientation: The symbol will typically be oriented upright (as shown in the template and example).
455     * +
456     * Used by: 2525D,Dch1,E,Ech1
457     */
458    public static final int POINT4 = 204;
459
460    /**
461     * Anchor Points: This symbol requires one anchor point. The point defines
462     * the point where all the lines meet.
463     *
464     * Size/Shape: Static.
465     *
466     * Orientation: The symbol will typically be oriented upright (as shown in
467     * the example).
468     *
469     * Used by: 2525D,Dch1,E,Ech1
470     */
471    public static final int POINT5 = 205;
472
473    /**
474     * Anchor Points: This symbol requires one anchor point. The anchor point
475     * defines/is the center of the bottom of the control measure symbol as
476     * shown in the template and example.
477     *
478     * Size/Shape: Static.
479     *
480     * Orientation: The symbol will typically be oriented upright.
481     *
482     * Used by: 2525D,Dch1,E,Ech1
483     */
484    public static final int POINT6 = 206;
485
486    /**
487     * Anchor Points: This symbol requires one anchor point. The anchor point
488     * defines the midpoint of the symbol's base.
489     *
490     * Size/Shape: Static.
491     *
492     * Orientation: The symbol will typically be oriented upright (as shown in
493     * the template and example).
494     *
495     * Used by: 2525D,Dch1,E,Ech1
496     */
497    public static final int POINT7 = 207;
498
499    /**
500     * Anchor Points: This symbol requires one anchor point. The center point
501     * defines the center of the symbol.
502     *
503     * Size/Shape: Static. The symbol's corners form a 70- degree angle.
504     *
505     * Orientation: The symbol is typically centered over the desired location.
506     * A user can use this symbol to define a new type of point if the selection
507     * that follows is not sufficient.
508     *
509     * Used by: 2525D,Dch1,E
510     */
511    public static final int POINT8 = 208;
512
513    /**
514     * Anchor Points: This symbol requires one anchor (center) point. The point
515     * defines the center of the symbol.
516     *
517     * Size/Shape: Static. The symbol's height should be 2x the symbol's width.
518     *
519     * Orientation: The symbol's center point is typically centered over the
520     * desired location. The symbol shall be oriented upright, as shown in the
521     * examples.
522     *
523     * Used by: 2525D,Dch1,E
524     */
525    public static final int POINT9 = 209;
526
527    /**
528     * Anchor Points: This symbol requires one anchor point. The point defines
529     * the center of the circle. (Sonobuoy)
530     *
531     * Size/Shape: Static. The diameter of the circle should be 1/2 the height
532     * of the symbol.
533     *
534     * Orientation: The symbol's center point is typically centered over the
535     * desired location. The symbol will be oriented upright, as shown in the
536     * example.
537     *
538     * Used by: 2525D,Dch1,E
539     */
540    public static final int POINT10 = 210;
541
542    /**
543     * Anchor Points: This symbol requires one center point. The point defines
544     * the center of the symbol.
545     *
546     * Size/Shape: Static. Length is 2x the size of height.
547     *
548     * Orientation: The symbol is centered over the desired location. The symbol
549     * shall be oriented upright, as shown in the example.
550     *
551     * Used by: 2525D,Dch1,E
552     */
553    public static final int POINT11 = 211;
554
555    /**
556     * Anchor Points: This symbol requires three anchor points. Points 1 and 2
557     * define the tips of the arrowheads and point 3 defines the rear of the
558     * symbol.
559     *
560     * Size/Shape: Points 1 and 2 determine the symbol's height and point 3
561     * determines its length. The vertical line at the rear of the symbol shall
562     * be the same length as the opening, and shall be perpendicular to the
563     * parallel lines formed with the rear of symbol vertical line and the lines
564     * ending with points 1 and 2.
565     *
566     * Orientation: The opening typically faces the applicable obstacle.
567     *
568     * Used by: 2525D,Dch1,E,Ech1
569     */
570    public static final int POINT12 = 212;
571
572    /**
573     * Anchor Points: This symbol requires one anchor point. The center point
574     * defines the center of the circle.
575     *
576     * Size/Shape: Static.
577     *
578     * Orientation: The symbol is typically centered over the desired location.
579     *
580     * Used by: 2525D,Dch1,E
581     */
582    public static final int POINT13 = 213;
583
584    /**
585     * Anchor Points: This symbol requires one anchor point. The center point
586     * defines the center of the symbol.
587     *
588     * Size/Shape: There should be 45 degrees of angular separation between the
589     * two arrows.
590     *
591     * Orientation: The symbol is typically centered over the desired location.
592     *
593     * Used by: 2525D,Dch1,E
594     */
595    public static final int POINT14 = 214;
596
597    /**
598     * Anchor Points: This symbol requires one anchor point. The anchor point
599     * defines "nose" of the symbol.
600     *
601     * Size/Shape: Static.
602     *
603     * Orientation: The symbol is typically centered over the desired location.
604     *
605     * Used by: 2525D,Dch1,E,Ech1
606     */
607    public static final int POINT15 = 215;
608
609    /**
610     * Anchor Points: This symbol requires one anchor point; the point defines
611     * the circle at the base of the tower.
612     *
613     * Size/Shape: The symbol is a high-angle cone.
614     *
615     * Orientation: The symbol will remain upright.
616     *
617     * Used by: 2525D,Dch1,E,Ech1
618     */
619    public static final int POINT16 = 216;
620
621    /**
622     * Anchor Points: This symbol requires one anchor point. This anchor point
623     * represents the center of the rectangle and, therefore, the geographic
624     * location of that rectangle.
625     *
626     * Size/Shape: The size and shape of this symbol is determined by three
627     * additional numeric values; A length (AM1), a width (AM2), and a
628     * rotation angle. The length and width should be expressed in the
629     * appropriate map distance units. The length is aligned with the axis of
630     * rotation. The width is aligned perpendicular to the axis of rotation.
631     *
632     * Orientation: The orientation of this symbol is determined by the
633     * rotation angle provided, where 0 degrees is North and a positive
634     * rotation angle rotates the rectangle in a clockwise direction.
635     *
636     * Used by: 2525D,Dch1,E,Ech1
637     */
638    public static final int POINT17 = 217;
639
640    /**
641     * Anchor Points: This symbol requires one anchor point that defines the
642     * axis of angular rotation.
643     *
644     * Size/Shape: The size and shape of this symbol is determined by additional
645     * numeric values; A search axis azimuth, a start range, a stop range and a
646     * stop relative bearing. The stop relative bearing is an equal angle either
647     * side of the search axis. The start and stop range should be expressed in
648     * the appropriate map distance units. Field T should be positioned in the
649     * center of the search area aligned with the search axis.
650     *
651     * Orientation: The orientation of this symbol is determined by the search
652     * axis azimuth provided.
653     *
654     * Used by: 2525D,Dch1,E,Ech1
655     */
656    public static final int POINT18 = 218;
657
658    /**
659     * Anchor Points: This symbol requires at least two anchor points, points 1
660     * and 2, to define the line. Additional points can be defined to extend the
661     * line.
662     *
663     * Size/Shape: The first and last anchor points determine the length of the
664     * line.
665     *
666     * Orientation: Orientation is determined by the order in which the anchor points are entered.
667     *
668     * Used by: 2525D,Dch1,E,Ech1
669     */
670    public static final int LINE1 = 301;
671
672    /**
673     * Anchor Points: This symbol requires at least two anchor points, points
674     * 1 and 2, to define the line. Additional points can be defined to extend
675     * the line.
676     *
677     * Size/Shape: The first and last anchor points determine the length of the line.
678     * The end-of line information will typically be posted at the ends of the line
679     * as it is displayed on the screen.
680     *
681     * Orientation: Orientation is determined by the order in which the anchor points
682     * are entered.
683     *
684     * Used by: 2525D,Dch1
685     */
686    public static final int LINE2 = 302;
687
688    /**
689     * Anchor Points: This symbol requires three anchor points. Point 1 defines
690     * the vertex of the symbol. Points 2 and 3 define the tips of the arrowheads.
691     *
692     * Size/Shape: The length and orientation of the arrows can vary
693     * independently.
694     *
695     * Orientation: Orientation is determined by the anchor points. The
696     * arrowheads may touch other symbols that define the limits of the task.
697     * The top of the tactical symbol indicator may touch point 1
698     *
699     * Used by: 2525D,Dch1,E,Ech1
700     */
701    public static final int LINE3 = 303;
702
703    /**
704     * Anchor Points: This symbol requires two anchor points. Points 1 and 2
705     * define the corner points of the symbol.
706     *
707     * Size/Shape: The symbol varies only in length.
708     *
709     * Orientation: Orientation is determined by the anchor points.
710     *
711     * Used by: 2525D,Dch1,E,Ech1
712     */
713    public static final int LINE4 = 304;
714
715    /**
716     * Anchor Points: This symbol requires two anchor points. Points 1 and 2
717     * define the endpoints of the symbol.
718     *
719     * Size/Shape: The symbol varies only in length.
720     *
721     * Orientation: One point defines the origin from which the bearing is being
722     * taken and the other point defines the location or direction from which a
723     * contact is made.
724     *
725     * Used by: 2525D,Dch1,E
726     */
727    public static final int LINE5 = 305;
728
729    /**
730     * Anchor Points: This symbol requires 3 anchor points. Point 1 defines the
731     * vertex of the symbol and points 2 and 3 define its endpoints.
732     *
733     * Size/Shape: Points 1, 2 and 3 determine the length of the lines
734     * connecting them. The line defined by points 1 and 2 is typically the same
735     * length as the line between points 2 and 3.
736     *
737     * Orientation: Orientation is determined by the anchor points
738     *
739     * Used by: 2525D,Dch1
740     */
741    public static final int LINE6 = 306;
742
743    /**
744     * Anchor Points: This symbol requires at least two anchor points, points
745     * 1 and 2, to define the line. Additional points can be defined to extend
746     * the line.
747     *
748     * Size/Shape: The first and last anchor points determine the length of the
749     * line. The line information will be posted once at the center of the line
750     * as it is displayed on the screen.
751     *
752     * Orientation: Orientation is determined by the order in which the anchor
753     * points are entered.
754     *
755     * Used by: 2525D,Dch1,E
756     */
757    public static final int LINE7 = 307;
758
759    /**
760     * Anchor Points: This symbol requires a minimum of two (2) anchor points.
761     * Up to 298 additional points can be added to extend the line. The first
762     * point (point 1) defines the start point. The last point defines the
763     * endpoint. The points are numbered sequentially beginning with point one (1), in increments of one.
764     *
765     * Size/Shape: The anchor points define the size and shape.
766     *
767     * Orientation: The orientation is determined by the anchor points.
768     *
769     * Used by: 2525D,Dch1,E,Ech1
770     */
771    public static final int LINE8 = 308;
772
773    /**
774     * Anchor Points: This symbol requires 2 anchor points. Point 1 defines the
775     * tip of the arrowhead and point 2 defines the rear of the symbol.
776     *
777     * Size/Shape: Points 1 and 2 determine the length of the symbol, which
778     * varies only in length.
779     *
780     * Orientation: The orientation is determined by the anchor points.
781     *
782     * Used by: 2525D,Dch1,E,Ech1
783     */
784    public static final int LINE9 = 309;
785
786    /**
787     * Anchor Points: This symbol requires two anchor points. Point 1 defines
788     * the tip of the arrowhead and point 2 defines the rear of the symbol.
789     * Point 3 defines the 90 degree arc.
790     *
791     * Size/Shape: Points 1 and 2 are connected by a 90 degree arc. Point 3
792     * indicates on which side of the line the arc is placed.
793     *
794     * Orientation: The rear of the symbol identifies the enemy’s location and
795     * the arrow points in the direction the obstacle should force the enemy to
796     * turn.
797     *
798     * Used by: 2525D,Dch1,E,Ech1
799     */
800    public static final int LINE10 = 310;
801
802    /**
803     * Anchor Points: This symbol requires four points. Points 1 and 2 define
804     * one side of the gap and points 3 and 4 define the opposite side of the
805     * gap.
806     *
807     * Size/Shape. Determined by the anchor points.
808     *
809     * Orientation: Not applicable.
810     *
811     * Used by: 2525D,Dch1,E,Ech1
812     */
813    public static final int LINE11 = 311;
814
815    /**
816     * Anchor Points: This symbol requires three anchor points. Points 1 and 2
817     * define the endpoints of the symbol and point 3 defines the location of
818     * one side of the symbol.
819     *
820     * Size/Shape: Points 1 and 2 determine the centerline of the symbol and
821     * point 3 determines its width.
822     *
823     * Orientation: Orientation is determined by the anchor points.
824     *
825     * Used by: 2525D,Dch1,E,Ech1
826     */
827    public static final int LINE12 = 312;
828
829    /**
830     * Anchor Points: This symbol requires at least two anchor points, points 1
831     * and 2, to define the line. Additional points can be defined to extend the
832     * line.
833     *
834     * Size/Shape: The first and last anchor points determine the length of the
835     * line. The size of the tooth does not change.
836     *
837     * Orientation: Orientation is determined by the anchor points.
838     *
839     * Used by: 2525D,Dch1,E
840     */
841    public static final int LINE13 = 313;
842
843    /**
844     * Anchor Points: This symbol requires two anchor points. Points 1 and 2
845     * define the tips of the arrowheads.
846     *
847     * Size/Shape: Points 1 and 2 determine the length of the symbol, which
848     * varies only in length. The lines of the arrowhead will form an acute
849     * angle.
850     *
851     * Orientation: Orientation is determined by the anchor points.
852     *
853     * Used by: 2525D,Dch1,E,Ech1
854     */
855    public static final int LINE14 = 314;
856
857    /**
858     * Anchor Points: This symbol requires four points. Points 1 and 2 define
859     * one side of the assault crossing site and points 3 and 4 define the
860     * opposite side of the assault crossing site.
861     *
862     * Size/Shape: Determined by the anchor points.
863     *
864     * Orientation: Not applicable.
865     *
866     * Used by: 2525D,Dch1,E,Ech1
867     */
868    public static final int LINE16 = 316;
869
870    /**
871     * Anchor Points. This symbol requires three anchor points. Points 1 and 2
872     * define the endpoints of the first line. Point 3 defines the location of
873     * the parallel line.
874     *
875     * Size/Shape: Points 1 and 2 determine the length of the symbol. Point 3
876     * determines its width.
877     *
878     * Orientation: Orientation is determined by the anchor points.
879     *
880     * Used by: 2525D,Dch1,E,Ech1
881     */
882    public static final int LINE17 = 317;
883
884    /**
885     * Anchor Points: This symbol requires two anchor points. Points 1 and two
886     * define the tips of the arrowheads.
887     *
888     * Size/Shape: Points 1 and 2 determine the length of the symbol, which
889     * varies only in length. The arrowheads will be filled-in versions of a
890     * common arrowhead.
891     *
892     * Orientation: Orientation is determined by the anchor points.
893     *
894     * Used by: 2525D,Dch1,E
895     */
896    public static final int LINE18 = 318;
897
898    /**
899     * Anchor Points: This symbol requires two anchor points. Points 1 and two
900     * define the corners on the front of the symbol.
901     *
902     * Size/Shape: Points 1 and 2 determine the length of the symbol, which
903     * varies only in length.
904     *
905     * Orientation: Orientation is determined by the anchor points
906     *
907     * Used by: 2525D,Dch1,E,Ech1
908     */
909    public static final int LINE19 = 319;
910
911    /**
912     * Anchor Points: This graphic requires two anchor points. Point 1 defines
913     * the tip of the arrowhead, and point 2 defines the rear of the graphic.
914     *
915     * Size/Shape: Points 1 and 2 determine the length of the graphic, which
916     * varies only in length.
917     *
918     * Orientation: The arrow points to the location where the convoy has halted.
919     *
920     * Used by: 2525D,Dch1,E
921     */
922    public static final int LINE20 = 320;
923
924    /**
925     * Anchor Points: This symbol requires at least two anchor points to define
926     * the line. Additional points can be defined to extend and shape the line.
927     *
928     * Size/Shape: The first and last anchor points determine the length of the
929     * line. The line segment between each pair of anchor points will repeat all
930     * information associated with the line segment.
931     *
932     * Orientation: Orientation is determined by the anchor points.
933     *
934     * Used by: 2525D,Dch1,E
935     */
936    public static final int LINE21 = 321;
937
938    /**
939     * Anchor Points: This symbol requires three anchor points. Points 1 and 2
940     * define the endpoints of the symbol’s opening and point 3 defines the rear
941     * of the symbol.
942     *
943     * Size/Shape: Points 1 and 2 determine the symbol’s height and point 3
944     * determines its length. The vertical line at the rear of the symbol will
945     * be the same height as the opening and parallel to it.
946     *
947     * Orientation: The opening defines the span of the breach and typically
948     * faces enemy forces.
949     *
950     * Used by: 2525D,Dch1
951     */
952    public static final int LINE22 = 322;
953
954    /**
955     * Anchor Points: This symbol requires three anchor points. Points 1 and 2
956     * define the endpoints of the symbol’s vertical line and point 3 defines
957     * the rear of the symbol.
958     *
959     * Size/Shape: Points 1 and 2 determine the symbol’s height and point 3
960     * determines its length. The spacing between the symbol’s arrows will stay
961     * proportional to the symbol’s height. The tip of the middle arrowhead will
962     * be at the midpoint of the vertical line. The arrows will stay
963     * perpendicular to the vertical line, regardless of the rotational
964     * orientation of the symbol as a whole.
965     *
966     * Orientation: The arrows typically point toward enemy forces.
967     *
968     * Used by: 2525D,Dch1,E,Ech1
969     */
970    public static final int LINE23 = 323;
971
972    /**
973     * Anchor Points: This symbol requires three anchor points. Point 1 defines
974     * the tip of the arrowhead. Point 2 defines the end of the straight line
975     * portion of the symbol. Point 3 defines the diameter and orientation of
976     * the 180 degree circular arc.
977     *
978     * Size/Shape: Points 1 and 2 determine the length of the straight line
979     * portion of the symbol.
980     * Point 3 defines which side of the line the arc is on and the diameter of
981     * the arc.
982     *
983     * Orientation: The arrow points in the direction of the action. The tip of
984     * the arrowhead may indicate the location where the action is to conclude.
985     * The unit’s current location is typically represented at the base of the
986     * arc. The 180 degree circular arc is always perpendicular to the line.
987     *
988     * Used by: 2525D,Dch1,E,Ech1
989     */
990    public static final int LINE24 = 324;
991
992    /**
993     * Anchor Points: This symbol requires exactly two anchor points. Point 1
994     * defines the tip of the arrowhead and point 2 defines the rear of the
995     * symbol.
996     *
997     * Size/Shape: Points 1 and 2 determine the length of the symbol, which
998     * varies only in length.
999     *
1000     * Orientation: The arrow typically points in the direction of the action.
1001     *
1002     * Used by: 2525D,Dch1,E,Ech1
1003     */
1004    public static final int LINE25 = 325;
1005
1006    /**
1007     * Anchor Points: Where four points are available Point 1 and Point 2 define
1008     * the ends of one arrow and Point 3 and Point 4 define the ends of the
1009     * other arrow. Point 1 and Point 4 define the ends of their respective
1010     * arrowheads. Where three points are available Point 1 defines the vertex
1011     * of the symbol. Points 2 and 3 define the tips of the arrowheads.
1012     *
1013     * Size/Shape: Where four points are available, Points 1 and 2 and Points
1014     * 3 and 4 determine the length of the arrows. Where three points are
1015     * available Points 1 and 2 and points 1 and 3 determine the length of the
1016     * arrows. The length and orientation of the arrows can vary independently.
1017     *
1018     * Orientation: Orientation is determined by the anchor points.
1019     * The arrowheads may touch other symbols that define the limits of the
1020     * task. The tactical symbol indicator is centered between point 2 and
1021     * point 3 when four points are in use or centered on Point 1 when three
1022     * points are in use.
1023     *
1024     * Used by: 2525D,Dch1,E,Ech1
1025     */
1026    public static final int LINE26 = 326;
1027
1028    /**
1029     * Anchor Points: Where four points are available Point 1 defines the center
1030     * of the circle. Point 2 defines the radius of the circle. Point 3 defines
1031     * the curvature of the arc. Point 4 defines the end of the arrow. Where
1032     * three points are available Point 1 defines the center point of the
1033     * circle. Point 2 defines the tip of the arrowhead. Point 3 defines the
1034     * 90 degree arc.
1035     *
1036     * Size/Shape: Where four points are available, Points 1 and 2 define the
1037     * size of the circle, which should be adjusted as needed to contain the
1038     * unit assigned the task. Point 3 controls the curvature of the arc.
1039     * Point 4 defines the end of the arrow. Where three points are available
1040     * Points 1 and 2 are connected by a 90 degree arc. The circle will at least
1041     * be large enough to accommodate a tactical symbol. Point 3 indicates on
1042     * which side of the line the arc is placed.
1043     *
1044     * Orientation: The arrowhead identifies the location/object to be seized
1045     * and the circle identifies the unit(s) assigned the task. See 5.3.11 for
1046     * options to accommodate multiple units.
1047     *
1048     * Used by: 2525D,Dch1,E,Ech1
1049     */
1050    public static final int LINE27 = 327;
1051
1052    /**
1053     * Anchor Points: This symbol requires 2 anchor points. Point 1 defines the
1054     * tip of the arrowhead, and point 2 defines the rear of the symbol.
1055     *
1056     * Size/Shape: Points 1 and 2 determine the length of the symbol, which
1057     * varies only in length.
1058     *
1059     * Orientation: The arrow typically points toward enemy forces with the tip
1060     * of the arrowhead indicating the location of the action.
1061     *
1062     * Duplicate of Line9 so removed in 2525E
1063     *
1064     * Used by: 2525D,Dch1
1065     */
1066    public static final int LINE28 = 328;
1067
1068    /**
1069     * Anchor Points: This symbol requires three anchor points. Point 1 is the
1070     * tip of the arrowhead. Points 2 and 3 define the endpoints of the curved
1071     * line on the back side of the symbol.
1072     *
1073     * Size/Shape: Points 2 and 3 determine the length of the curved line on the
1074     * back side of the symbol. The rear of the arrowhead line shall connect to
1075     * the midpoint of the line between points 2 and 3. The arrowhead line shall
1076     * be perpendicular to the line formed by points 2 and 3.
1077     *
1078     * Orientation: Orientation is determined by the anchor points. The back
1079     * side of the symbol encompasses the ambush position, while the arrowhead
1080     * typically points at the target.
1081     *
1082     * Used by: 2525D,Dch1,E,Ech1
1083     */
1084    public static final int LINE29 = 329;
1085
1086    /**
1087     * Anchor Points: Point 1 defines the tip of the arrowhead. Point 2 defines
1088     * the end of the symbol. Point 3’s distance from Point 2 defines the length
1089     * of the four angled lines making up the arrowhead and dashed “tail”. Angles
1090     * a are always drawn at 45 degrees. Angle b is always drawn at 90 degrees.
1091     *
1092     * Size/Shape: The symbol varies only in length.
1093     *
1094     * Used by: Ech1
1095     */
1096    public static final int LINE30 = 330;
1097
1098    /**
1099     * Anchor Points: This graphic requires four anchor points. Point 1 defines the
1100     * beginning of the straight line. Point 2 defines the end of the straight-line
1101     * portion of the graphic. Point 3 defines the diameter. Point 4 defines the
1102     * orientation of the 180 degree circular arc.
1103     *
1104     * Size/Shape: Points 1 and 2 determine the length of the straight-line portion
1105     * of the symbol. Point 3 defines the diameter of the arc. Point 4 defines which
1106     * side of the line the arc is on.
1107     *
1108     * Used by: Ech1
1109     */
1110    public static final int LINE31 = 331;
1111
1112    /**
1113     * Anchor Points: This graphic requires three anchor points. Point 1 defines the
1114     * end of the straight-line portion of the graphic. Point 2 defines the center of
1115     * the two 90 degree circular arcs. Point 3 defines the tip of the arrowhead.
1116     *
1117     * Size/Shape: Points 1 and 3 determine the length of the symbol.
1118     *
1119     * Used by: Ech1
1120     */
1121    public static final int LINE32 = 332;
1122
1123    /**
1124     * Anchor Points: This graphic requires three anchor points.
1125     * Point 1 defines the beginning of the straight line. Point 2
1126     * defines the end of the straight line portion of the graphic.
1127     * Point 3 defines the diameter and orientation of the 180 degree
1128     * circular arc and the tip of the arrowhead.
1129     *
1130     * Size/Shape: Points 1 and 2 determine the length of the straight
1131     * line portion of the symbol. Point 3 defines which side of the
1132     * line the arc is on and the diameter of the arc.
1133     *
1134     * Used by: Ech1
1135     */
1136    public static final int LINE33 = 333;
1137
1138    /**
1139     * Anchor Points: This symbol may contain multiple segments. Each segment
1140     * requires 2 anchor points. Point numbers that define the trace of the
1141     * segment are sequential beginning with point 1, in increments of 1, up to
1142     * a max of 99 points. Each anchor point defines the endpoint of a segment’s
1143     * center line. The anchor points are Air Control Points (ACP),
1144     * Communications Checkpoints (CCP) or both.
1145     *
1146     * Size/Shape: Points 1 and 2 determine the length of a segment. The
1147     * information field inside each segment should be moveable and scalable
1148     * within each segment. The information box outside the symbol should be
1149     * placed between points 1 and 2 in such a way it does not obscure the
1150     * symbol.
1151     *
1152     * Orientation: The anchor points determine orientation.
1153     *
1154     * Used by: 2525D,Dch1,E,Ech1
1155     */
1156    public static final int CORRIDOR1 = 401;
1157
1158
1159    /**
1160     * Anchor Points: The symbol requires N anchor points, where N is between
1161     * 3 and 50. Point 1 defines the tip of the arrowhead. Point N-1 defines
1162     * the rear of the symbol. Point N defines the back of the arrowhead.
1163     * Anchor points are numbered sequentially beginning with point number
1164     * one (1), in increments of one (1).
1165     *
1166     * Size/Shape: Points 1 through N-1 and 2 determine the symbol’s center line
1167     * and Point N determines the width. The crossover point on the symbol shall
1168     * occur between Points 1 and 2.
1169     *
1170     * Orientation: The arrowhead typically points toward enemy forces.
1171     *
1172     * Used by: 2525D,Dch1,E,Ech1
1173     */
1174    public static final int AXIS1 = 501;
1175
1176    /**
1177     * Anchor Points: The symbol requires N anchor points, where N is between 3
1178     * and 50. Point 1 defines the tip of the arrowhead. Point N-1 defines the
1179     * rear of the symbol. Point N defines the back of the arrowhead. Anchor
1180     * points are numbered sequentially beginning with point number one (1), in
1181     * increments of one (1).
1182     *
1183     * Size/Shape: Points 1 through N-1 and 2 determine the symbol’s center line
1184     * and Point N determines the width.
1185     *
1186     * Orientation: The arrowhead typically points toward enemy forces.
1187     *
1188     * Used by: 2525D,Dch1,E
1189     */
1190    public static final int AXIS2 = 502;
1191
1192    /**
1193     * Anchor Points: This symbol requires three anchor points. Points 1 and 2
1194     * define the endpoints of the infiltration lane and point 3 defines the
1195     * width on one side of the lane.
1196     *
1197     * Size/Shape: Points 1 and 2 determine the center line of the symbol and
1198     * point 3 determines the width of the infiltration lane. The rest of the
1199     * symbol stays proportional to the length of the center line.
1200     *
1201     * Orientation: Orientation is determined by points 1 and 2.
1202     *
1203     * Used by: 2525D,Dch1,E,Ech1
1204     */
1205    public static final int POLYLINE1 = 601;
1206
1207    /**
1208     * Anchor Points: This symbol requires one anchor point. This anchor point
1209     * represents the center of an ellipse and, therefore, the geographic
1210     * location of that ellipse.
1211     *
1212     * Size/Shape: The size and shape of this symbol is determined by three
1213     * additional numeric values; A major axis radius, a minor axis radius, and
1214     * a rotation angle. The radii should be expressed in the appropriate map
1215     * distance units.
1216     *
1217     * Orientation: The orientation of this symbol is determined by the rotation
1218     * angle provided, where 0 degrees is east/west and a positive rotation
1219     * angle rotates the ellipse in a counter-clockwise direction.
1220     *
1221     * Used by: 2525D,Dch1,E,Ech1
1222     */
1223    public static final int ELLIPSE1 = 701;
1224
1225    /**
1226     * Anchor Points: This symbol requires two anchor points and a width,
1227     * defined in meters, to define the boundary of the area. Points 1 and 2
1228     * will be located in the center of two opposing sides of the rectangle.
1229     *
1230     * Size/Shape: Size: As determined by the anchor points. The anchor points
1231     * determine the length of the rectangle. The width, defined in meters,
1232     * will determine the width of the rectangle. Shape: Rectangle. The
1233     * information fields should be moveable and scalable.
1234     *
1235     * Orientation: As determined by the anchor points.
1236     *
1237     * Used by: 2525D,Dch1,E,Ech1
1238     */
1239    public static final int RECTANGULAR1 = 801;
1240
1241    /**
1242     * Anchor Points: This symbol requires one (1) anchor point to define the
1243     * center of the area.
1244     *
1245     * Size/Shape: Size is determined by the anchor point, the target length (in meters)
1246     * and target width (in meters). A rectangular target is wider and longer than 200 meters.
1247     * The information fields should be moveable and saleable within the area. Shape: Rectangle.
1248     *
1249     * Orientation: As determined by the Target Attitude (in mils).
1250     *
1251     * Used by: 2525D,Dch1,E,Ech1
1252     */
1253    public static final int RECTANGULAR2 = 802;
1254
1255    /**
1256     * Anchor Points: This symbol requires one anchor (center) point to define
1257     * the center of the symbol. The target tactical symbol shall be centered
1258     * upon the center of the area. The size and the orientation of the target
1259     * symbol are fixed within the area.
1260     *
1261     * Size/Shape: As determined by the anchor points. The anchor points
1262     * determine the area’s length.
1263     * Width, determined in meters, will define the width of the rectangle.
1264     *
1265     * Orientation: As determined by the anchor points. The center point of the
1266     * area shall always have the target symbol with the same
1267     * upright orientation.
1268     *
1269     * Used by: 2525D,Dch1,E
1270     */
1271    public static final int RECTANGULAR3 = 803;
1272
1273
1274    /**
1275     * Anchor Points: This symbol requires one (1) anchor point and a radius.
1276     * Point 1 defines the center point of the symbol.
1277     *
1278     * Size/Shape: Size: The radius defines the size. Shape: Circle. The
1279     * information fields should be scalable within the circle.
1280     *
1281     * Orientation: Not applicable
1282     *
1283     * Used by: 2525D,Dch1,E,Ech1
1284     */
1285    public static final int CIRCULAR1 = 901;
1286
1287    /**
1288     * Anchor Points: This symbol requires one anchor point that defines an
1289     * object at a dynamic grid location. This coordinate, which pinpoints the
1290     * current physical location of a specific unit, weapon or acquisition
1291     * system, may change with the movement of the object. The symbol for that
1292     * object is located at the anchor point.
1293     *
1294     * Size/Shape: The size is determined by the distance in meters from the
1295     * object at the center of the range fan. The shapes are concentric circles.
1296     * A minimum of one (1) and a maximum of three (3) concentric circles can be
1297     * used.
1298     *
1299     * Orientation: The center point is typically centered over the known
1300     * location of a weapon or sensor system.
1301     *
1302     * Used by: 2525D,Dch1,E,Ech1
1303     */
1304    public static final int CIRCULAR2 = 902;
1305
1306    /**
1307     * Anchor Points: This graphic requires one anchor point that defines an
1308     * object at a dynamic grid location. This coordinate, which pinpoints the
1309     * current physical location of a specific unit, weapon or sensor system,
1310     * may change with the movement of the object. The symbol for that object
1311     * is located at the anchor point.
1312     *
1313     * Size/Shape: Determined by the anchor point, azimuths measured from true
1314     * north, and the distance (range) in meters. The Left Sector Azimuth is the
1315     * angle measured from true north to the left sector limit/edge of the
1316     * Sector Range Fan. The Right Sector Azimuth is the angle measured from
1317     * true north to the right sector limit/edge of the Sector Range Fan.
1318     * Multiple distances (ranges) and/or left and right sector limits/edges
1319     * of the sector, as well as altitude, may be added as required to define
1320     * the sector. All azimuths are in degrees. All distances (ranges) are in
1321     * meters. All altitudes are in feet.
1322     *
1323     * Orientation: The center point is typically centered over the known
1324     * location of a weapon or sensor system. The orientation may change as
1325     * the object moves or changes.
1326     *
1327     * Used by: 2525D,Dch1,E,Ech1
1328     */
1329    public static final int ARC1 = 1001;
1330
1331
1332}