@armyc2.c5isr.renderer/mil-sym-ts-web 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +57 -0
  3. package/buildNode.bat +2 -0
  4. package/buildWeb.bat +2 -0
  5. package/dist/C5Ren.d.ts +6970 -0
  6. package/dist/C5Ren.js +2 -0
  7. package/dist/C5Ren.js.map +1 -0
  8. package/dist/LICENSE +201 -0
  9. package/dist/README.md +57 -0
  10. package/dist/armyc2.c5isr.renderer-mil-sym-ts-web-2.2.0.tgz +0 -0
  11. package/dist/manifest.json +4 -0
  12. package/dist/package.json +16 -0
  13. package/index.ts +169 -0
  14. package/package.bak +50 -0
  15. package/package.json +40 -0
  16. package/package.node.json +43 -0
  17. package/package.pack.json +19 -0
  18. package/package.packWeb.json +16 -0
  19. package/package.web.json +40 -0
  20. package/src/main/ts/android/graphics/Bitmap.ts +7 -0
  21. package/src/main/ts/android/graphics/Paint.ts +26 -0
  22. package/src/main/ts/android/graphics/Path.ts +78 -0
  23. package/src/main/ts/android/graphics/PointF.ts +14 -0
  24. package/src/main/ts/android/graphics/Rect.ts +18 -0
  25. package/src/main/ts/android/graphics/RectF.ts +50 -0
  26. package/src/main/ts/android/graphics/Region.ts +36 -0
  27. package/src/main/ts/android/graphics/Typeface.ts +11 -0
  28. package/src/main/ts/armyc2/c5isr/JavaLineArray/BasicShapes.ts +99 -0
  29. package/src/main/ts/armyc2/c5isr/JavaLineArray/CChannelPoints2.ts +34 -0
  30. package/src/main/ts/armyc2/c5isr/JavaLineArray/CELineArray.ts +193 -0
  31. package/src/main/ts/armyc2/c5isr/JavaLineArray/Channels.ts +2971 -0
  32. package/src/main/ts/armyc2/c5isr/JavaLineArray/DISMSupport.ts +4008 -0
  33. package/src/main/ts/armyc2/c5isr/JavaLineArray/POINT2.ts +93 -0
  34. package/src/main/ts/armyc2/c5isr/JavaLineArray/Shape2.ts +89 -0
  35. package/src/main/ts/armyc2/c5isr/JavaLineArray/TacticalLines.ts +515 -0
  36. package/src/main/ts/armyc2/c5isr/JavaLineArray/arraysupport.ts +5403 -0
  37. package/src/main/ts/armyc2/c5isr/JavaLineArray/countsupport.ts +1084 -0
  38. package/src/main/ts/armyc2/c5isr/JavaLineArray/flot.ts +2173 -0
  39. package/src/main/ts/armyc2/c5isr/JavaLineArray/lineutility.ts +4934 -0
  40. package/src/main/ts/armyc2/c5isr/JavaLineArray/ref.ts +7 -0
  41. package/src/main/ts/armyc2/c5isr/JavaTacticalRenderer/Modifier2.ts +5601 -0
  42. package/src/main/ts/armyc2/c5isr/JavaTacticalRenderer/P1.ts +14 -0
  43. package/src/main/ts/armyc2/c5isr/JavaTacticalRenderer/TGLight.ts +648 -0
  44. package/src/main/ts/armyc2/c5isr/JavaTacticalRenderer/clsChannelUtility.ts +647 -0
  45. package/src/main/ts/armyc2/c5isr/JavaTacticalRenderer/clsMETOC.ts +2994 -0
  46. package/src/main/ts/armyc2/c5isr/JavaTacticalRenderer/clsUtility.ts +2663 -0
  47. package/src/main/ts/armyc2/c5isr/JavaTacticalRenderer/mdlGeodesic.ts +669 -0
  48. package/src/main/ts/armyc2/c5isr/RenderMultipoints/clsClipPolygon2.ts +971 -0
  49. package/src/main/ts/armyc2/c5isr/RenderMultipoints/clsClipQuad.ts +871 -0
  50. package/src/main/ts/armyc2/c5isr/RenderMultipoints/clsRenderer.ts +3507 -0
  51. package/src/main/ts/armyc2/c5isr/RenderMultipoints/clsRenderer2.ts +500 -0
  52. package/src/main/ts/armyc2/c5isr/RenderMultipoints/clsUtility.ts +1089 -0
  53. package/src/main/ts/armyc2/c5isr/RenderMultipoints/clsUtilityCPOF.ts +2656 -0
  54. package/src/main/ts/armyc2/c5isr/RenderMultipoints/clsUtilityGE.ts +1419 -0
  55. package/src/main/ts/armyc2/c5isr/data/genc.json +1407 -0
  56. package/src/main/ts/armyc2/c5isr/data/msd.json +17311 -0
  57. package/src/main/ts/armyc2/c5isr/data/mse.json +18500 -0
  58. package/src/main/ts/armyc2/c5isr/data/svgd.json +31214 -0
  59. package/src/main/ts/armyc2/c5isr/data/svge.json +30558 -0
  60. package/src/main/ts/armyc2/c5isr/graphics2d/AffineTransform.ts +10 -0
  61. package/src/main/ts/armyc2/c5isr/graphics2d/Area.ts +437 -0
  62. package/src/main/ts/armyc2/c5isr/graphics2d/BasicStroke.ts +429 -0
  63. package/src/main/ts/armyc2/c5isr/graphics2d/BasicTypes.ts +7 -0
  64. package/src/main/ts/armyc2/c5isr/graphics2d/BufferedImage.ts +35 -0
  65. package/src/main/ts/armyc2/c5isr/graphics2d/Font.ts +111 -0
  66. package/src/main/ts/armyc2/c5isr/graphics2d/FontMetrics.ts +29 -0
  67. package/src/main/ts/armyc2/c5isr/graphics2d/FontRenderContext.ts +18 -0
  68. package/src/main/ts/armyc2/c5isr/graphics2d/GeneralPath.ts +211 -0
  69. package/src/main/ts/armyc2/c5isr/graphics2d/Graphics2D.ts +80 -0
  70. package/src/main/ts/armyc2/c5isr/graphics2d/IPathIterator.ts +33 -0
  71. package/src/main/ts/armyc2/c5isr/graphics2d/ImageIO.ts +16 -0
  72. package/src/main/ts/armyc2/c5isr/graphics2d/Line2D.ts +726 -0
  73. package/src/main/ts/armyc2/c5isr/graphics2d/PathIterator.ts +141 -0
  74. package/src/main/ts/armyc2/c5isr/graphics2d/Point.ts +112 -0
  75. package/src/main/ts/armyc2/c5isr/graphics2d/Point2D.ts +261 -0
  76. package/src/main/ts/armyc2/c5isr/graphics2d/Polygon.ts +391 -0
  77. package/src/main/ts/armyc2/c5isr/graphics2d/Rectangle.ts +567 -0
  78. package/src/main/ts/armyc2/c5isr/graphics2d/Rectangle2D.ts +445 -0
  79. package/src/main/ts/armyc2/c5isr/graphics2d/Shape.ts +31 -0
  80. package/src/main/ts/armyc2/c5isr/graphics2d/Stroke.ts +18 -0
  81. package/src/main/ts/armyc2/c5isr/graphics2d/TextLayout.ts +45 -0
  82. package/src/main/ts/armyc2/c5isr/graphics2d/TexturePaint.ts +25 -0
  83. package/src/main/ts/armyc2/c5isr/renderer/IIconRenderer.ts +15 -0
  84. package/src/main/ts/armyc2/c5isr/renderer/IconRenderer.ts +22 -0
  85. package/src/main/ts/armyc2/c5isr/renderer/MilStdIconRenderer.ts +269 -0
  86. package/src/main/ts/armyc2/c5isr/renderer/ModifierRenderer.ts +9882 -0
  87. package/src/main/ts/armyc2/c5isr/renderer/PatternFillRenderer.ts +146 -0
  88. package/src/main/ts/armyc2/c5isr/renderer/SinglePointSVGRenderer.ts +1265 -0
  89. package/src/main/ts/armyc2/c5isr/renderer/shapes/arc.ts +64 -0
  90. package/src/main/ts/armyc2/c5isr/renderer/shapes/bcurve.ts +95 -0
  91. package/src/main/ts/armyc2/c5isr/renderer/shapes/ellipse.ts +93 -0
  92. package/src/main/ts/armyc2/c5isr/renderer/shapes/line.ts +114 -0
  93. package/src/main/ts/armyc2/c5isr/renderer/shapes/path.ts +555 -0
  94. package/src/main/ts/armyc2/c5isr/renderer/shapes/pathiterator.ts +62 -0
  95. package/src/main/ts/armyc2/c5isr/renderer/shapes/point.ts +120 -0
  96. package/src/main/ts/armyc2/c5isr/renderer/shapes/rectangle.ts +431 -0
  97. package/src/main/ts/armyc2/c5isr/renderer/shapes/roundedrectangle.ts +99 -0
  98. package/src/main/ts/armyc2/c5isr/renderer/shapes/types.ts +25 -0
  99. package/src/main/ts/armyc2/c5isr/renderer/shapes/utilities.ts +203 -0
  100. package/src/main/ts/armyc2/c5isr/renderer/utilities/AffiliationColors.ts +104 -0
  101. package/src/main/ts/armyc2/c5isr/renderer/utilities/Color.ts +481 -0
  102. package/src/main/ts/armyc2/c5isr/renderer/utilities/DistanceUnit.ts +40 -0
  103. package/src/main/ts/armyc2/c5isr/renderer/utilities/DrawRules.ts +1323 -0
  104. package/src/main/ts/armyc2/c5isr/renderer/utilities/EntityCode.ts +51 -0
  105. package/src/main/ts/armyc2/c5isr/renderer/utilities/ErrorLogger.ts +736 -0
  106. package/src/main/ts/armyc2/c5isr/renderer/utilities/GENCLookup.ts +106 -0
  107. package/src/main/ts/armyc2/c5isr/renderer/utilities/GeoPixelConversion3D.ts +84 -0
  108. package/src/main/ts/armyc2/c5isr/renderer/utilities/IMultiPointRenderer.ts +87 -0
  109. package/src/main/ts/armyc2/c5isr/renderer/utilities/IPointConversion.ts +34 -0
  110. package/src/main/ts/armyc2/c5isr/renderer/utilities/ImageInfo.ts +324 -0
  111. package/src/main/ts/armyc2/c5isr/renderer/utilities/LRUCache.ts +127 -0
  112. package/src/main/ts/armyc2/c5isr/renderer/utilities/LRUEntry.ts +18 -0
  113. package/src/main/ts/armyc2/c5isr/renderer/utilities/LogLevel.ts +111 -0
  114. package/src/main/ts/armyc2/c5isr/renderer/utilities/MODrawRules.ts +219 -0
  115. package/src/main/ts/armyc2/c5isr/renderer/utilities/MSInfo.ts +1008 -0
  116. package/src/main/ts/armyc2/c5isr/renderer/utilities/MSLookup.ts +882 -0
  117. package/src/main/ts/armyc2/c5isr/renderer/utilities/MilStdAttributes.ts +380 -0
  118. package/src/main/ts/armyc2/c5isr/renderer/utilities/MilStdSymbol.ts +797 -0
  119. package/src/main/ts/armyc2/c5isr/renderer/utilities/Modifiers.ts +1699 -0
  120. package/src/main/ts/armyc2/c5isr/renderer/utilities/PointConversion.ts +178 -0
  121. package/src/main/ts/armyc2/c5isr/renderer/utilities/PointConversionDummy.ts +45 -0
  122. package/src/main/ts/armyc2/c5isr/renderer/utilities/PointConverter3D.ts +126 -0
  123. package/src/main/ts/armyc2/c5isr/renderer/utilities/RectUtilities.ts +118 -0
  124. package/src/main/ts/armyc2/c5isr/renderer/utilities/RendererException.ts +11 -0
  125. package/src/main/ts/armyc2/c5isr/renderer/utilities/RendererSettings.ts +1201 -0
  126. package/src/main/ts/armyc2/c5isr/renderer/utilities/RendererUtilities.ts +591 -0
  127. package/src/main/ts/armyc2/c5isr/renderer/utilities/SVGInfo.ts +29 -0
  128. package/src/main/ts/armyc2/c5isr/renderer/utilities/SVGLookup.ts +753 -0
  129. package/src/main/ts/armyc2/c5isr/renderer/utilities/SVGSymbolInfo.ts +137 -0
  130. package/src/main/ts/armyc2/c5isr/renderer/utilities/SVGTextInfo.ts +438 -0
  131. package/src/main/ts/armyc2/c5isr/renderer/utilities/SettingsChangedEvent.ts +19 -0
  132. package/src/main/ts/armyc2/c5isr/renderer/utilities/SettingsChangedEventListener.ts +10 -0
  133. package/src/main/ts/armyc2/c5isr/renderer/utilities/SettingsEventListener.ts +5 -0
  134. package/src/main/ts/armyc2/c5isr/renderer/utilities/Shape2SVG.ts +404 -0
  135. package/src/main/ts/armyc2/c5isr/renderer/utilities/ShapeInfo.ts +525 -0
  136. package/src/main/ts/armyc2/c5isr/renderer/utilities/ShapeUtilities.ts +55 -0
  137. package/src/main/ts/armyc2/c5isr/renderer/utilities/SymbolDimensionInfo.ts +36 -0
  138. package/src/main/ts/armyc2/c5isr/renderer/utilities/SymbolID.ts +1055 -0
  139. package/src/main/ts/armyc2/c5isr/renderer/utilities/SymbolUtilities.ts +2085 -0
  140. package/src/main/ts/armyc2/c5isr/renderer/utilities/TextInfo.ts +157 -0
  141. package/src/main/ts/armyc2/c5isr/web/render/GeoPixelConversion.ts +86 -0
  142. package/src/main/ts/armyc2/c5isr/web/render/MultiPointHandler.ts +3798 -0
  143. package/src/main/ts/armyc2/c5isr/web/render/MultiPointHandlerSVG.ts +412 -0
  144. package/src/main/ts/armyc2/c5isr/web/render/PointConverter.ts +124 -0
  145. package/src/main/ts/armyc2/c5isr/web/render/SymbolModifiers.ts +26 -0
  146. package/src/main/ts/armyc2/c5isr/web/render/WebRenderer.ts +677 -0
  147. package/src/main/ts/armyc2/c5isr/web/render/utilities/JavaRendererUtilities.ts +484 -0
  148. package/src/main/ts/armyc2/c5isr/web/render/utilities/LineInfo.ts +62 -0
  149. package/src/main/ts/armyc2/c5isr/web/render/utilities/SymbolInfo.ts +46 -0
  150. package/src/main/ts/armyc2/c5isr/web/render/utilities/TextInfo.ts +51 -0
  151. package/src/main/ts/org/gavaghan/geodesy/Angle.ts +31 -0
  152. package/src/main/ts/org/gavaghan/geodesy/Ellipsoid.ts +71 -0
  153. package/src/main/ts/org/gavaghan/geodesy/GeodeticCalculator.ts +200 -0
  154. package/src/main/ts/org/gavaghan/geodesy/GeodeticCurve.ts +55 -0
  155. package/src/main/ts/org/gavaghan/geodesy/GeodeticMeasurement.ts +68 -0
  156. package/src/main/ts/org/gavaghan/geodesy/GlobalCoordinates.ts +103 -0
  157. package/src/main/ts/org/gavaghan/geodesy/GlobalPosition.ts +90 -0
  158. package/test/ExportSPImages.js +692 -0
  159. package/test/MPWW.html +556 -0
  160. package/test/MPWorker.js +318 -0
  161. package/test/SPWorker.js +233 -0
  162. package/test/SVGWW.html +363 -0
  163. package/test/singlePointTester3.html +751 -0
  164. package/tsconfig.json +54 -0
  165. package/typedoc.json +30 -0
  166. package/updateVersion.js +21 -0
  167. package/webpack.config.js +34 -0
  168. package/webpackn.config.js +28 -0
  169. package/webpackr.config.js +47 -0
  170. package/webpackw.config.js +23 -0
@@ -0,0 +1,146 @@
1
+ import { Point2D } from "../graphics2d/Point2D";
2
+ import { Rectangle2D } from "../graphics2d/Rectangle2D";
3
+ import { TacticalLines } from "../JavaLineArray/TacticalLines"
4
+ import { TGLight } from "../JavaTacticalRenderer/TGLight"
5
+ import { Color } from "../renderer/utilities/Color"
6
+ import { clsUtility } from "../RenderMultipoints/clsUtility";
7
+ import { RendererUtilities } from "./utilities/RendererUtilities";
8
+ import { SVGSymbolInfo } from "./utilities/SVGSymbolInfo";
9
+
10
+ /**
11
+ * Created by michael.spinelli on 8/23/2017.
12
+ */
13
+ export class PatternFillRenderer {
14
+ private static readonly svgBeachSlopeModerate = '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="30" height="30" >'
15
+ + '<circle cx="15" cy="15" r="3" stroke="#CCCCCC" fill="#CCCCCC" stroke-width="1"/>'
16
+ + '</svg>';
17
+ private static readonly svgBeachSlopeSteep = '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="30" height="30" >'
18
+ + '<circle cx="15" cy="15" r="3" stroke="#CCCCCC" fill="#CCCCCC" stroke-width="1"/>'
19
+ + '</svg>';
20
+ private static readonly svgFoulGround = '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200" height="200" >'
21
+ + '<text x="0" y="50" fill="#808080" stroke="#808080" font-family="sans-serif" font-size="60">#</text>'
22
+ + '<text x="100" y="150" fill="#808080" stroke="#808080" font-family="sans-serif" font-size="60">#</text>'
23
+ + '</svg>';
24
+ private static readonly svgKelp = '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200" height="250" >'
25
+ + '<g id="kelp1" transform="scale(0.25 0.25)">'
26
+ + '<path fill="none" stroke="#808080" stroke-width="8" d="M186.5,121.5c22.973-20.676,49.014-39.547,80-46c37.059-7.719,81.906,7.875,108-28"/>'
27
+ + '<path fill="none" stroke="#808080" stroke-width="8" d="M262.277,76.832c-43.969-7.328-80.516-35.457-105.445-76"/>'
28
+ + '<path fill="none" stroke="#808080" stroke-width="8" d="M197.5,47.5c-50.059-5.008-102.018,38.008-142,62"/>'
29
+ + '<path fill="none" stroke="#808080" stroke-width="8" d="M135.832,61.391c-52.047,0-87.924-24.668-135.332-38.891"/>'
30
+ + '<path fill="none" stroke="#808080" stroke-width="8" d="M46.5,38.5c0,0-22.5,15.75-30,21"/>'
31
+ + '</g>'
32
+ + '<g id="kelp2" transform="scale(0.25 0.25)">'
33
+ + '<path fill="none" stroke="#808080" stroke-width="8" d="M586.5,621.5c22.973-20.676,49.016-39.547,80-46c37.059-7.719,81.906,7.875,108-28"/>'
34
+ + '<path fill="none" stroke="#808080" stroke-width="8" d="M662.277,576.832c-43.969-7.328-80.516-35.457-105.445-76"/>'
35
+ + '<path fill="none" stroke="#808080" stroke-width="8" d="M597.5,547.5c-50.059-5.008-102.016,38.008-142,62"/>'
36
+ + '<path fill="none" stroke="#808080" stroke-width="8" d="M535.832,561.391c-52.047,0-87.926-24.668-135.332-38.891"/>'
37
+ + '<path fill="none" stroke="#808080" stroke-width="8" d="M446.5,538.5c0,0-22.5,15.75-30,21"/>'
38
+ + '</g>'
39
+ + '</svg>';
40
+ private static readonly svgRigField = '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="50" height="50" >'
41
+ + '<circle fill="#C0C0C0" cx="25" cy="24" r="10"/>'
42
+ + '</svg>';
43
+ private static readonly svgSweptArea = '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="150" height="150" >'
44
+ + '<circle fill="#FF00FF" cx="19" cy="19" r="19"/>'
45
+ + '<circle fill="#FF00FF" cx="94" cy="94" r="19"/>'
46
+ + '</svg>';
47
+ private static readonly svgWeirs = '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="124" height="104">'
48
+ + '<g id="trap1">'
49
+ + '<rect x="1" y="21" fill="none" stroke="#C0C0C0" stroke-width="2" width="60" height="30"/>'
50
+ + '<line fill="none" stroke="#C0C0C0" stroke-width="2" x1="11" y1="1" x2="31" y2="21"/>'
51
+ + '</g>'
52
+ + '<g id="trap2">'
53
+ + '<rect x="63" y="73" fill="none" stroke="#C0C0C0" stroke-width="2" width="60" height="30"/>'
54
+ + '<line fill="none" stroke="#C0C0C0" stroke-width="2" x1="73" y1="53" x2="93" y2="73"/>'
55
+ + '</g>'
56
+ + '</svg>';
57
+
58
+ /**
59
+ * @param hatchStyle Direction of hatch lines - constants from clsUtility
60
+ * @param spacing horizontal spacing between lines
61
+ * @param strokeWidth width of lines
62
+ * @param color Color of lines
63
+ */
64
+ public static MakeHatchPatternFill(hatchStyle: number, spacing: number, strokeWidth: number, color: Color): SVGSymbolInfo {
65
+ let x1: number, x2: number;
66
+ if (hatchStyle == clsUtility.Hatch_ForwardDiagonal) {
67
+ x1 = spacing + strokeWidth;
68
+ x2 = -strokeWidth;
69
+ } else if (hatchStyle == clsUtility.Hatch_BackwardDiagonal) {
70
+ x1 = -strokeWidth;
71
+ x2 = spacing + strokeWidth;
72
+ } else {
73
+ return null;
74
+ }
75
+
76
+ const colorStr = RendererUtilities.colorToHexString(color, false);
77
+
78
+ /*
79
+ * SVG is a square with 3 diagonal lines going through it. All lines have the same slope x values
80
+ * The middle line goes through both corners and the other lines are offset in y by +/- boxLength
81
+ * Each line extends past the box to confirm the line fills each of the 4 corners
82
+ */
83
+ const hatchFillSVGString = "<svg width=\"" + spacing + "\" height=\"" + spacing + "\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\">" +
84
+ "<line id=\"middle_line\" stroke=\"" + colorStr + "\" stroke-width=\"" + strokeWidth + "\" x1=\"" + x1 + "\" x2=\"" + x2 + "\" y1=\"" + (spacing + strokeWidth) + "\" y2=\"" + (-strokeWidth) + "\"/>" +
85
+ "<line id=\"bottom_line\" stroke=\"" + colorStr + "\" stroke-width=\"" + strokeWidth + "\" x1=\"" + x1 + "\" x2=\"" + x2 + "\" y1=\"" + (spacing * 2 + strokeWidth) + "\" y2=\"" + (spacing - strokeWidth) + "\"/>" +
86
+ "<line id=\"top_line\" stroke=\"" + colorStr + "\" stroke-width=\"" + strokeWidth + "\" x1=\"" + x1 + "\" x2=\"" + x2 + "\" y1=\"" + strokeWidth + "\" y2=\"" + (-spacing - strokeWidth) + "\"/>" +
87
+ "</svg>";
88
+
89
+ const anchorPoint = new Point2D(spacing / 2, spacing / 2);
90
+ const bounds = new Rectangle2D(spacing / 2, spacing / 2, spacing, spacing);
91
+ return new SVGSymbolInfo(hatchFillSVGString, anchorPoint, bounds, bounds);
92
+ }
93
+
94
+ public static MakeMetocPatternFill(tg: TGLight): SVGSymbolInfo {
95
+ let width = 0, height = 0;
96
+ let svgFill = "";
97
+ switch (tg.get_LineType()) {
98
+ case TacticalLines.BEACH_SLOPE_MODERATE: {
99
+ width = 30;
100
+ height = 30;
101
+ svgFill = PatternFillRenderer.svgBeachSlopeModerate;
102
+ break;
103
+ }
104
+ case TacticalLines.BEACH_SLOPE_STEEP: {
105
+ width = 30;
106
+ height = 30;
107
+ svgFill = PatternFillRenderer.svgBeachSlopeSteep;
108
+ break;
109
+ }
110
+ case TacticalLines.FOUL_GROUND: {
111
+ width = 200;
112
+ height = 200;
113
+ svgFill = PatternFillRenderer.svgFoulGround;
114
+ break;
115
+ }
116
+ case TacticalLines.KELP: {
117
+ width = 200;
118
+ height = 250;
119
+ svgFill = PatternFillRenderer.svgKelp;
120
+ break;
121
+ }
122
+ case TacticalLines.OIL_RIG_FIELD: {
123
+ width = 50;
124
+ height = 50;
125
+ svgFill = PatternFillRenderer.svgRigField;
126
+ break;
127
+ }
128
+ case TacticalLines.SWEPT_AREA: {
129
+ width = 150;
130
+ height = 150;
131
+ svgFill = PatternFillRenderer.svgSweptArea;
132
+ break;
133
+ }
134
+ case TacticalLines.FISH_TRAPS: {
135
+ width = 124;
136
+ height = 104;
137
+ svgFill = PatternFillRenderer.svgWeirs;
138
+ break;
139
+ }
140
+ }
141
+
142
+ const anchorPoint = new Point2D(width / 2, height / 2);
143
+ const bounds = new Rectangle2D(width / 2, height / 2, width, height);
144
+ return new SVGSymbolInfo(svgFill, anchorPoint, bounds, bounds);
145
+ }
146
+ }