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

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 (168) hide show
  1. package/{dist/armyc2.c5isr.renderer-mil-sym-ts-web-2.2.0.tgz → armyc2.c5isr.renderer-mil-sym-ts-web-2.2.1.tgz} +0 -0
  2. package/package.json +15 -39
  3. package/buildNode.bat +0 -2
  4. package/buildWeb.bat +0 -2
  5. package/dist/LICENSE +0 -201
  6. package/dist/README.md +0 -57
  7. package/dist/package.json +0 -16
  8. package/index.ts +0 -169
  9. package/package.bak +0 -50
  10. package/package.node.json +0 -43
  11. package/package.pack.json +0 -19
  12. package/package.packWeb.json +0 -16
  13. package/package.web.json +0 -40
  14. package/src/main/ts/android/graphics/Bitmap.ts +0 -7
  15. package/src/main/ts/android/graphics/Paint.ts +0 -26
  16. package/src/main/ts/android/graphics/Path.ts +0 -78
  17. package/src/main/ts/android/graphics/PointF.ts +0 -14
  18. package/src/main/ts/android/graphics/Rect.ts +0 -18
  19. package/src/main/ts/android/graphics/RectF.ts +0 -50
  20. package/src/main/ts/android/graphics/Region.ts +0 -36
  21. package/src/main/ts/android/graphics/Typeface.ts +0 -11
  22. package/src/main/ts/armyc2/c5isr/JavaLineArray/BasicShapes.ts +0 -99
  23. package/src/main/ts/armyc2/c5isr/JavaLineArray/CChannelPoints2.ts +0 -34
  24. package/src/main/ts/armyc2/c5isr/JavaLineArray/CELineArray.ts +0 -193
  25. package/src/main/ts/armyc2/c5isr/JavaLineArray/Channels.ts +0 -2971
  26. package/src/main/ts/armyc2/c5isr/JavaLineArray/DISMSupport.ts +0 -4008
  27. package/src/main/ts/armyc2/c5isr/JavaLineArray/POINT2.ts +0 -93
  28. package/src/main/ts/armyc2/c5isr/JavaLineArray/Shape2.ts +0 -89
  29. package/src/main/ts/armyc2/c5isr/JavaLineArray/TacticalLines.ts +0 -515
  30. package/src/main/ts/armyc2/c5isr/JavaLineArray/arraysupport.ts +0 -5403
  31. package/src/main/ts/armyc2/c5isr/JavaLineArray/countsupport.ts +0 -1084
  32. package/src/main/ts/armyc2/c5isr/JavaLineArray/flot.ts +0 -2173
  33. package/src/main/ts/armyc2/c5isr/JavaLineArray/lineutility.ts +0 -4934
  34. package/src/main/ts/armyc2/c5isr/JavaLineArray/ref.ts +0 -7
  35. package/src/main/ts/armyc2/c5isr/JavaTacticalRenderer/Modifier2.ts +0 -5601
  36. package/src/main/ts/armyc2/c5isr/JavaTacticalRenderer/P1.ts +0 -14
  37. package/src/main/ts/armyc2/c5isr/JavaTacticalRenderer/TGLight.ts +0 -648
  38. package/src/main/ts/armyc2/c5isr/JavaTacticalRenderer/clsChannelUtility.ts +0 -647
  39. package/src/main/ts/armyc2/c5isr/JavaTacticalRenderer/clsMETOC.ts +0 -2994
  40. package/src/main/ts/armyc2/c5isr/JavaTacticalRenderer/clsUtility.ts +0 -2663
  41. package/src/main/ts/armyc2/c5isr/JavaTacticalRenderer/mdlGeodesic.ts +0 -669
  42. package/src/main/ts/armyc2/c5isr/RenderMultipoints/clsClipPolygon2.ts +0 -971
  43. package/src/main/ts/armyc2/c5isr/RenderMultipoints/clsClipQuad.ts +0 -871
  44. package/src/main/ts/armyc2/c5isr/RenderMultipoints/clsRenderer.ts +0 -3507
  45. package/src/main/ts/armyc2/c5isr/RenderMultipoints/clsRenderer2.ts +0 -500
  46. package/src/main/ts/armyc2/c5isr/RenderMultipoints/clsUtility.ts +0 -1089
  47. package/src/main/ts/armyc2/c5isr/RenderMultipoints/clsUtilityCPOF.ts +0 -2656
  48. package/src/main/ts/armyc2/c5isr/RenderMultipoints/clsUtilityGE.ts +0 -1419
  49. package/src/main/ts/armyc2/c5isr/data/genc.json +0 -1407
  50. package/src/main/ts/armyc2/c5isr/data/msd.json +0 -17311
  51. package/src/main/ts/armyc2/c5isr/data/mse.json +0 -18500
  52. package/src/main/ts/armyc2/c5isr/data/svgd.json +0 -31214
  53. package/src/main/ts/armyc2/c5isr/data/svge.json +0 -30558
  54. package/src/main/ts/armyc2/c5isr/graphics2d/AffineTransform.ts +0 -10
  55. package/src/main/ts/armyc2/c5isr/graphics2d/Area.ts +0 -437
  56. package/src/main/ts/armyc2/c5isr/graphics2d/BasicStroke.ts +0 -429
  57. package/src/main/ts/armyc2/c5isr/graphics2d/BasicTypes.ts +0 -7
  58. package/src/main/ts/armyc2/c5isr/graphics2d/BufferedImage.ts +0 -35
  59. package/src/main/ts/armyc2/c5isr/graphics2d/Font.ts +0 -111
  60. package/src/main/ts/armyc2/c5isr/graphics2d/FontMetrics.ts +0 -29
  61. package/src/main/ts/armyc2/c5isr/graphics2d/FontRenderContext.ts +0 -18
  62. package/src/main/ts/armyc2/c5isr/graphics2d/GeneralPath.ts +0 -211
  63. package/src/main/ts/armyc2/c5isr/graphics2d/Graphics2D.ts +0 -80
  64. package/src/main/ts/armyc2/c5isr/graphics2d/IPathIterator.ts +0 -33
  65. package/src/main/ts/armyc2/c5isr/graphics2d/ImageIO.ts +0 -16
  66. package/src/main/ts/armyc2/c5isr/graphics2d/Line2D.ts +0 -726
  67. package/src/main/ts/armyc2/c5isr/graphics2d/PathIterator.ts +0 -141
  68. package/src/main/ts/armyc2/c5isr/graphics2d/Point.ts +0 -112
  69. package/src/main/ts/armyc2/c5isr/graphics2d/Point2D.ts +0 -261
  70. package/src/main/ts/armyc2/c5isr/graphics2d/Polygon.ts +0 -391
  71. package/src/main/ts/armyc2/c5isr/graphics2d/Rectangle.ts +0 -567
  72. package/src/main/ts/armyc2/c5isr/graphics2d/Rectangle2D.ts +0 -445
  73. package/src/main/ts/armyc2/c5isr/graphics2d/Shape.ts +0 -31
  74. package/src/main/ts/armyc2/c5isr/graphics2d/Stroke.ts +0 -18
  75. package/src/main/ts/armyc2/c5isr/graphics2d/TextLayout.ts +0 -45
  76. package/src/main/ts/armyc2/c5isr/graphics2d/TexturePaint.ts +0 -25
  77. package/src/main/ts/armyc2/c5isr/renderer/IIconRenderer.ts +0 -15
  78. package/src/main/ts/armyc2/c5isr/renderer/IconRenderer.ts +0 -22
  79. package/src/main/ts/armyc2/c5isr/renderer/MilStdIconRenderer.ts +0 -269
  80. package/src/main/ts/armyc2/c5isr/renderer/ModifierRenderer.ts +0 -9882
  81. package/src/main/ts/armyc2/c5isr/renderer/PatternFillRenderer.ts +0 -146
  82. package/src/main/ts/armyc2/c5isr/renderer/SinglePointSVGRenderer.ts +0 -1265
  83. package/src/main/ts/armyc2/c5isr/renderer/shapes/arc.ts +0 -64
  84. package/src/main/ts/armyc2/c5isr/renderer/shapes/bcurve.ts +0 -95
  85. package/src/main/ts/armyc2/c5isr/renderer/shapes/ellipse.ts +0 -93
  86. package/src/main/ts/armyc2/c5isr/renderer/shapes/line.ts +0 -114
  87. package/src/main/ts/armyc2/c5isr/renderer/shapes/path.ts +0 -555
  88. package/src/main/ts/armyc2/c5isr/renderer/shapes/pathiterator.ts +0 -62
  89. package/src/main/ts/armyc2/c5isr/renderer/shapes/point.ts +0 -120
  90. package/src/main/ts/armyc2/c5isr/renderer/shapes/rectangle.ts +0 -431
  91. package/src/main/ts/armyc2/c5isr/renderer/shapes/roundedrectangle.ts +0 -99
  92. package/src/main/ts/armyc2/c5isr/renderer/shapes/types.ts +0 -25
  93. package/src/main/ts/armyc2/c5isr/renderer/shapes/utilities.ts +0 -203
  94. package/src/main/ts/armyc2/c5isr/renderer/utilities/AffiliationColors.ts +0 -104
  95. package/src/main/ts/armyc2/c5isr/renderer/utilities/Color.ts +0 -481
  96. package/src/main/ts/armyc2/c5isr/renderer/utilities/DistanceUnit.ts +0 -40
  97. package/src/main/ts/armyc2/c5isr/renderer/utilities/DrawRules.ts +0 -1323
  98. package/src/main/ts/armyc2/c5isr/renderer/utilities/EntityCode.ts +0 -51
  99. package/src/main/ts/armyc2/c5isr/renderer/utilities/ErrorLogger.ts +0 -736
  100. package/src/main/ts/armyc2/c5isr/renderer/utilities/GENCLookup.ts +0 -106
  101. package/src/main/ts/armyc2/c5isr/renderer/utilities/GeoPixelConversion3D.ts +0 -84
  102. package/src/main/ts/armyc2/c5isr/renderer/utilities/IMultiPointRenderer.ts +0 -87
  103. package/src/main/ts/armyc2/c5isr/renderer/utilities/IPointConversion.ts +0 -34
  104. package/src/main/ts/armyc2/c5isr/renderer/utilities/ImageInfo.ts +0 -324
  105. package/src/main/ts/armyc2/c5isr/renderer/utilities/LRUCache.ts +0 -127
  106. package/src/main/ts/armyc2/c5isr/renderer/utilities/LRUEntry.ts +0 -18
  107. package/src/main/ts/armyc2/c5isr/renderer/utilities/LogLevel.ts +0 -111
  108. package/src/main/ts/armyc2/c5isr/renderer/utilities/MODrawRules.ts +0 -219
  109. package/src/main/ts/armyc2/c5isr/renderer/utilities/MSInfo.ts +0 -1008
  110. package/src/main/ts/armyc2/c5isr/renderer/utilities/MSLookup.ts +0 -882
  111. package/src/main/ts/armyc2/c5isr/renderer/utilities/MilStdAttributes.ts +0 -380
  112. package/src/main/ts/armyc2/c5isr/renderer/utilities/MilStdSymbol.ts +0 -797
  113. package/src/main/ts/armyc2/c5isr/renderer/utilities/Modifiers.ts +0 -1699
  114. package/src/main/ts/armyc2/c5isr/renderer/utilities/PointConversion.ts +0 -178
  115. package/src/main/ts/armyc2/c5isr/renderer/utilities/PointConversionDummy.ts +0 -45
  116. package/src/main/ts/armyc2/c5isr/renderer/utilities/PointConverter3D.ts +0 -126
  117. package/src/main/ts/armyc2/c5isr/renderer/utilities/RectUtilities.ts +0 -118
  118. package/src/main/ts/armyc2/c5isr/renderer/utilities/RendererException.ts +0 -11
  119. package/src/main/ts/armyc2/c5isr/renderer/utilities/RendererSettings.ts +0 -1201
  120. package/src/main/ts/armyc2/c5isr/renderer/utilities/RendererUtilities.ts +0 -591
  121. package/src/main/ts/armyc2/c5isr/renderer/utilities/SVGInfo.ts +0 -29
  122. package/src/main/ts/armyc2/c5isr/renderer/utilities/SVGLookup.ts +0 -753
  123. package/src/main/ts/armyc2/c5isr/renderer/utilities/SVGSymbolInfo.ts +0 -137
  124. package/src/main/ts/armyc2/c5isr/renderer/utilities/SVGTextInfo.ts +0 -438
  125. package/src/main/ts/armyc2/c5isr/renderer/utilities/SettingsChangedEvent.ts +0 -19
  126. package/src/main/ts/armyc2/c5isr/renderer/utilities/SettingsChangedEventListener.ts +0 -10
  127. package/src/main/ts/armyc2/c5isr/renderer/utilities/SettingsEventListener.ts +0 -5
  128. package/src/main/ts/armyc2/c5isr/renderer/utilities/Shape2SVG.ts +0 -404
  129. package/src/main/ts/armyc2/c5isr/renderer/utilities/ShapeInfo.ts +0 -525
  130. package/src/main/ts/armyc2/c5isr/renderer/utilities/ShapeUtilities.ts +0 -55
  131. package/src/main/ts/armyc2/c5isr/renderer/utilities/SymbolDimensionInfo.ts +0 -36
  132. package/src/main/ts/armyc2/c5isr/renderer/utilities/SymbolID.ts +0 -1055
  133. package/src/main/ts/armyc2/c5isr/renderer/utilities/SymbolUtilities.ts +0 -2085
  134. package/src/main/ts/armyc2/c5isr/renderer/utilities/TextInfo.ts +0 -157
  135. package/src/main/ts/armyc2/c5isr/web/render/GeoPixelConversion.ts +0 -86
  136. package/src/main/ts/armyc2/c5isr/web/render/MultiPointHandler.ts +0 -3798
  137. package/src/main/ts/armyc2/c5isr/web/render/MultiPointHandlerSVG.ts +0 -412
  138. package/src/main/ts/armyc2/c5isr/web/render/PointConverter.ts +0 -124
  139. package/src/main/ts/armyc2/c5isr/web/render/SymbolModifiers.ts +0 -26
  140. package/src/main/ts/armyc2/c5isr/web/render/WebRenderer.ts +0 -677
  141. package/src/main/ts/armyc2/c5isr/web/render/utilities/JavaRendererUtilities.ts +0 -484
  142. package/src/main/ts/armyc2/c5isr/web/render/utilities/LineInfo.ts +0 -62
  143. package/src/main/ts/armyc2/c5isr/web/render/utilities/SymbolInfo.ts +0 -46
  144. package/src/main/ts/armyc2/c5isr/web/render/utilities/TextInfo.ts +0 -51
  145. package/src/main/ts/org/gavaghan/geodesy/Angle.ts +0 -31
  146. package/src/main/ts/org/gavaghan/geodesy/Ellipsoid.ts +0 -71
  147. package/src/main/ts/org/gavaghan/geodesy/GeodeticCalculator.ts +0 -200
  148. package/src/main/ts/org/gavaghan/geodesy/GeodeticCurve.ts +0 -55
  149. package/src/main/ts/org/gavaghan/geodesy/GeodeticMeasurement.ts +0 -68
  150. package/src/main/ts/org/gavaghan/geodesy/GlobalCoordinates.ts +0 -103
  151. package/src/main/ts/org/gavaghan/geodesy/GlobalPosition.ts +0 -90
  152. package/test/ExportSPImages.js +0 -692
  153. package/test/MPWW.html +0 -556
  154. package/test/MPWorker.js +0 -318
  155. package/test/SPWorker.js +0 -233
  156. package/test/SVGWW.html +0 -363
  157. package/test/singlePointTester3.html +0 -751
  158. package/tsconfig.json +0 -54
  159. package/typedoc.json +0 -30
  160. package/updateVersion.js +0 -21
  161. package/webpack.config.js +0 -34
  162. package/webpackn.config.js +0 -28
  163. package/webpackr.config.js +0 -47
  164. package/webpackw.config.js +0 -23
  165. /package/{dist/C5Ren.d.ts → C5Ren.d.ts} +0 -0
  166. /package/{dist/C5Ren.js → C5Ren.js} +0 -0
  167. /package/{dist/C5Ren.js.map → C5Ren.js.map} +0 -0
  168. /package/{dist/manifest.json → manifest.json} +0 -0
@@ -1,1084 +0,0 @@
1
- /*
2
- * To change this template, choose Tools | Templates
3
- * and open the template in the editor.
4
- */
5
-
6
-
7
-
8
- import { type double, type int, type long } from "../graphics2d/BasicTypes";
9
-
10
- import { Rectangle2D } from "../graphics2d/Rectangle2D"
11
-
12
- import { arraysupport } from "../JavaLineArray/arraysupport"
13
- import { flot } from "../JavaLineArray/flot"
14
- import { lineutility } from "../JavaLineArray/lineutility"
15
- import { POINT2 } from "../JavaLineArray/POINT2"
16
- import { TacticalLines } from "../JavaLineArray/TacticalLines"
17
-
18
- import { TGLight } from "../JavaTacticalRenderer/TGLight"
19
-
20
- import { ErrorLogger } from "../renderer/utilities/ErrorLogger"
21
- import { RendererException } from "../renderer/utilities/RendererException"
22
- import { RendererSettings } from "../renderer/utilities/RendererSettings"
23
-
24
- import { Channels } from "./Channels";
25
-
26
-
27
- /**
28
- * A class to calculate the number of pixels based points required for a line
29
- *
30
- */
31
- export class countsupport {
32
- private static readonly maxLength: double = 100; //max arrow size
33
- private static readonly minLength: double = 2.5; //min arrow size was 5
34
- private static readonly _className: string = "countsupport";
35
-
36
- // protected static void setMinLength(double mLength)
37
- // {
38
- // minLength=mLength;
39
- // }
40
- /**
41
- * The main function to return the number of points needed for a symbol
42
- * @param vblCounter the number of client points
43
- * @param pLinePoints the client point array
44
- * @return the number of points required to draw the symbol
45
- */
46
- static GetCountersDouble(tg: TGLight,
47
- vblCounter: int,
48
- pLinePoints: POINT2[],
49
- clipBounds: Rectangle2D | null): int {
50
- let count: int = 0;
51
- try {
52
- let vbiDrawThis: int = tg.get_LineType();
53
- //declaration section
54
- let j: int = 0;
55
- let vblSaveCounter: int = vblCounter;
56
- let pSquarePoints: POINT2[] = new Array<POINT2>(4);
57
- let pUpperLinePoints: POINT2[];
58
- let
59
- pLowerLinePoints: POINT2[]
60
- let segments: number[];
61
- let pNewLinePoints: POINT2[];
62
- let dRadius: double = 0;
63
- let pointsCorner: POINT2[] = new Array<POINT2>(2);
64
- //double saveMaxPixels = 2000;//CELineArrayGlobals.MaxPixels2;
65
-
66
- pUpperLinePoints = new Array<POINT2>(vblCounter);
67
- pLowerLinePoints = new Array<POINT2>(vblCounter);
68
-
69
- for (j = 0; j < vblCounter; j++) {
70
- pUpperLinePoints[j] = new POINT2(pLinePoints[j]);
71
- pLowerLinePoints[j] = new POINT2(pLinePoints[j]);
72
- }
73
- lineutility.InitializePOINT2Array(pointsCorner);
74
- lineutility.InitializePOINT2Array(pSquarePoints);
75
- //end delcarations
76
- switch (vbiDrawThis) {
77
- case TacticalLines.BS_ELLIPSE: {
78
- count=37;
79
- break;
80
- }
81
-
82
- case TacticalLines.BS_CROSS: {
83
- count=4;
84
- break;
85
- }
86
-
87
- case TacticalLines.OVERHEAD_WIRE: {
88
- count = vblCounter * 15; //15 points per segment
89
- break;
90
- }
91
-
92
- case TacticalLines.REEF: {
93
- vblCounter = countsupport.GetReefCount(pLinePoints, arraysupport.getScaledSize(40, tg.get_LineThickness(), tg.get_patternScale()), vblSaveCounter);
94
- count = vblCounter;
95
- break;
96
- }
97
-
98
- case TacticalLines.RESTRICTED_AREA: {
99
- vblCounter = countsupport.GetRestrictedAreaCount(pLinePoints, arraysupport.getScaledSize(15, tg.get_LineThickness(), tg.get_patternScale()), vblSaveCounter);
100
- count = vblCounter;
101
- break;
102
- }
103
-
104
- case TacticalLines.TRAINING_AREA: {
105
- vblCounter += 30;
106
- count = vblCounter;
107
- break;
108
- }
109
-
110
- case TacticalLines.PIPE: {
111
- count = countsupport.GetPipeCount(pLinePoints, arraysupport.getScaledSize(20, tg.get_LineThickness(), tg.get_patternScale()), vblSaveCounter);
112
- break;
113
- }
114
-
115
- case TacticalLines.ANCHORAGE_AREA:
116
- case TacticalLines.ANCHORAGE_LINE: {
117
- count = flot.GetAnchorageCountDouble(pLinePoints, arraysupport.getScaledSize(20, tg.get_LineThickness(), tg.get_patternScale()), vblCounter);
118
- break;
119
- }
120
-
121
- case TacticalLines.LRO: {
122
- let xCount: int = countsupport.GetXPointsCount(pLinePoints, arraysupport.getScaledSize(30, tg.get_LineThickness(), tg.get_patternScale()), vblCounter);
123
- let lvoCount: int = countsupport.GetLVOCount(pLinePoints, arraysupport.getScaledSize(30, tg.get_LineThickness(), tg.get_patternScale()), vblCounter);
124
- count = xCount + lvoCount;
125
- break;
126
- }
127
-
128
- case TacticalLines.LVO: {
129
- count = countsupport.GetLVOCount(pLinePoints, arraysupport.getScaledSize(20, tg.get_LineThickness(), tg.get_patternScale()), vblCounter);
130
- break;
131
- }
132
-
133
- case TacticalLines.ICING: {
134
- vblCounter = countsupport.GetIcingCount(pLinePoints, arraysupport.getScaledSize(15, tg.get_LineThickness(), tg.get_patternScale()), vblCounter);
135
- count = vblCounter;
136
- break;
137
- }
138
-
139
- case TacticalLines.FLOT: {
140
- vblSaveCounter = vblCounter;
141
- vblCounter = flot.GetFlotCountDouble(pLinePoints, arraysupport.getScaledSize(20, tg.get_LineThickness(), tg.get_patternScale()), vblCounter);
142
- count = vblCounter;
143
- break;
144
- }
145
-
146
- case TacticalLines.MVFR:
147
- case TacticalLines.UNDERCAST: {
148
- vblSaveCounter = vblCounter;
149
- vblCounter = flot.GetFlotCountDouble(pLinePoints, arraysupport.getScaledSize(20, tg.get_LineThickness(), tg.get_patternScale()), vblCounter);
150
- count = vblCounter;
151
- break;
152
- }
153
-
154
- case TacticalLines.ITD: {
155
- vblCounter = countsupport.GetITDQty(pLinePoints, arraysupport.getScaledSize(15, tg.get_LineThickness(), tg.get_patternScale()), vblCounter) + vblCounter;
156
- count = vblCounter;
157
- break;
158
- }
159
-
160
- case TacticalLines.CONVERGENCE: {
161
- vblCounter = countsupport.GetConvergenceQty(pLinePoints, arraysupport.getScaledSize(10, tg.get_LineThickness(), tg.get_patternScale()), vblCounter) + vblCounter;
162
- count = vblCounter;
163
- break;
164
- }
165
-
166
- case TacticalLines.RIDGE: {
167
- vblCounter = countsupport.GetFORTLCountDouble(tg, pLinePoints, vblSaveCounter);
168
- count = vblCounter;
169
- break;
170
- }
171
-
172
- case TacticalLines.TROUGH:
173
- case TacticalLines.UPPER_TROUGH:
174
- case TacticalLines.INSTABILITY:
175
- case TacticalLines.SHEAR: {
176
- vblCounter = countsupport.GetSquallQty(pLinePoints, 6, arraysupport.getScaledSize(30, tg.get_LineThickness(), tg.get_patternScale()), vblSaveCounter as int);
177
- count = vblCounter;
178
- break;
179
- }
180
-
181
- case TacticalLines.CABLE: {
182
- vblCounter = countsupport.GetSquallQty(pLinePoints, 6, arraysupport.getScaledSize(20, tg.get_LineThickness(), tg.get_patternScale()), vblSaveCounter as int);
183
- count = vblCounter;
184
- break;
185
- }
186
-
187
- case TacticalLines.SQUALL: {
188
- vblCounter = countsupport.GetSquallQty(pLinePoints, 5, arraysupport.getScaledSize(30, tg.get_LineThickness(), tg.get_patternScale()), vblSaveCounter as int) + 2 * vblSaveCounter;
189
- count = vblCounter;
190
- break;
191
- }
192
-
193
- case TacticalLines.USF:
194
- case TacticalLines.SFG:
195
- case TacticalLines.SFY:
196
- case TacticalLines.SF: {
197
- vblCounter = flot.GetSFCountDouble(pLinePoints, vblCounter);
198
- count = vblCounter;
199
- break;
200
- }
201
-
202
- case TacticalLines.OFY: {
203
- vblSaveCounter = vblCounter;
204
- vblCounter = flot.GetOFYCountDouble(pLinePoints, arraysupport.getScaledSize(80, tg.get_LineThickness(), tg.get_patternScale()), vblCounter);
205
- count = vblCounter;
206
- break;
207
- }
208
-
209
- case TacticalLines.UCF:
210
- case TacticalLines.CF:
211
- case TacticalLines.CFG:
212
- case TacticalLines.CFY: {
213
- count = countsupport.GetFORTLCountDouble(tg, pLinePoints, vblSaveCounter);
214
- count += vblSaveCounter;
215
- break;
216
- }
217
-
218
- case TacticalLines.FOLLA:
219
- case TacticalLines.FOLSP: {
220
- count = 16;
221
- break;
222
- }
223
-
224
- case TacticalLines.ROADBLK:
225
- case TacticalLines.FERRY: {
226
- count = 8;
227
- break;
228
- }
229
-
230
- case TacticalLines.NAVIGATION:
231
- case TacticalLines.IL:
232
- case TacticalLines.PLANNED:
233
- case TacticalLines.ESR1:
234
- case TacticalLines.ESR2:
235
- case TacticalLines.FORDSITE:
236
- case TacticalLines.FOXHOLE: {
237
- count = 4;
238
- break;
239
- }
240
-
241
- case TacticalLines.AMBUSH: { //extra 3 for open arrow, extra 26 for the tail arc,
242
- //and an extra 22 for the tail line segments
243
- count = 53;//vblCounter+51;
244
- break;
245
- }
246
-
247
- case TacticalLines.CLUSTER: {
248
- count = 28;
249
- break;
250
- }
251
-
252
- case TacticalLines.CONTAIN: {
253
- count = 40;
254
- break;
255
- }
256
-
257
- case TacticalLines.BYIMP: {
258
- count = 18;
259
- break;
260
- }
261
-
262
- case TacticalLines.SPTBYFIRE: {
263
- count = 16;
264
- break;
265
- }
266
-
267
- case TacticalLines.BLOCK:
268
- case TacticalLines.MNFLDBLK: {
269
- count = 4;
270
- break;
271
- }
272
-
273
- case TacticalLines.PAA_RECTANGULAR: {
274
- count = 5;
275
- break;
276
- }
277
-
278
- case TacticalLines.RECTANGULAR_TARGET: {
279
- count = 9;
280
- break;
281
- }
282
-
283
- case TacticalLines.PENETRATE: {
284
- count = 7;
285
- break;
286
- }
287
-
288
- case TacticalLines.ASLTXING: //double for the channel type plus 4 for the hash marks
289
- case TacticalLines.GAP:
290
- case TacticalLines.BYPASS:
291
- case TacticalLines.EASY:
292
- case TacticalLines.BREACH:
293
- case TacticalLines.CANALIZE: {
294
- count = 12;
295
- break;
296
- }
297
-
298
- case TacticalLines.MNFLDDIS: {
299
- count = 22;
300
- break;
301
- }
302
-
303
- case TacticalLines.WITHDRAW:
304
- case TacticalLines.WDRAWUP:
305
- case TacticalLines.DELAY: //extra four points for hash marks on last segment
306
- case TacticalLines.RETIRE:
307
- case TacticalLines.FPOL:
308
- case TacticalLines.RPOL: {
309
- count = 23;
310
- break;
311
- }
312
-
313
- case TacticalLines.SEIZE: {
314
- count = 37;
315
- break;
316
- }
317
-
318
- case TacticalLines.RIP: {
319
- count = 29;
320
- break;
321
- }
322
-
323
- case TacticalLines.DIRATKSPT: {
324
- count = vblCounter + 3;
325
- break;
326
- }
327
-
328
- case TacticalLines.ABATIS: {
329
- count = vblCounter + 3;
330
- break;
331
- }
332
-
333
- case TacticalLines.FPF: //extra two points for blocks at each end
334
- case TacticalLines.LINTGT: //extra two points for blocks at each end
335
- case TacticalLines.LINTGTS: {
336
- count = vblCounter + 4;
337
- break;
338
- }
339
-
340
- case TacticalLines.CHANNEL:
341
- case TacticalLines.CHANNEL_FLARED:
342
- case TacticalLines.CHANNEL_DASHED: {
343
- //pvblCounters[0]=2*lElements;
344
- //pvblCounters[1]=lElements;
345
- count = 2 * vblCounter;
346
- break;
347
- }
348
-
349
- case TacticalLines.SARA: {
350
- count = 16; //same for DISM
351
- break;
352
- }
353
-
354
- case TacticalLines.COVER: //vblSaveCounter = vblCounter;
355
- case TacticalLines.SCREEN:
356
- case TacticalLines.GUARD:
357
- case TacticalLines.PDF:
358
- case TacticalLines.ATKBYFIRE: {
359
- count = 14; //same for DISM
360
- break;
361
- }
362
-
363
- case TacticalLines.RAFT:
364
- case TacticalLines.MFLANE: { //extra eight points for hash marks at either end
365
- count = 8;
366
- break;
367
- }
368
-
369
- case TacticalLines.DIRATKGND: {
370
- count = vblCounter + 10;
371
- break;
372
- }
373
-
374
- case TacticalLines.DIRATKAIR: {
375
- count = vblCounter + 9;
376
- break;
377
- }
378
-
379
- case TacticalLines.DISRUPT:
380
- case TacticalLines.CLEAR: {
381
- count = 20;
382
- break;
383
- }
384
-
385
- case TacticalLines.MSDZ: {
386
- count = 300;
387
- break;
388
- }
389
-
390
- case TacticalLines.CONVOY:
391
- case TacticalLines.HCONVOY: {
392
- count = 10;
393
- break;
394
- }
395
-
396
- case TacticalLines.ISOLATE:
397
- case TacticalLines.CORDONKNOCK:
398
- case TacticalLines.CORDONSEARCH: {
399
- count = 50;
400
- break;
401
- }
402
-
403
- case TacticalLines.OCCUPY: {
404
- count = 32;
405
- break;
406
- }
407
-
408
- case TacticalLines.SECURE: {
409
- count = 29;
410
- break;
411
- }
412
-
413
- case TacticalLines.RETAIN: {
414
- count = 75;
415
- break;
416
- }
417
-
418
- case TacticalLines.TURN: {
419
- count = 29;
420
- break;
421
- }
422
-
423
- case TacticalLines.AIRFIELD: {
424
- count = vblCounter + 5;
425
- break;
426
- }
427
-
428
- case TacticalLines.FENCED: {
429
- count = vblCounter;
430
- break;
431
- }
432
-
433
- case TacticalLines.MSR_ALT:
434
- case TacticalLines.ASR_ALT:
435
- case TacticalLines.ROUTE_ALT: {
436
- count = vblCounter * 9;
437
- break;
438
- }
439
-
440
- case TacticalLines.MSR_TWOWAY:
441
- case TacticalLines.ASR_TWOWAY: {
442
- count = vblCounter * 11;
443
- break;
444
- }
445
-
446
- case TacticalLines.MSR_ONEWAY:
447
- case TacticalLines.ASR_ONEWAY:
448
- case TacticalLines.ROUTE_ONEWAY: {
449
- count = vblCounter * 6;
450
- break;
451
- }
452
-
453
- case TacticalLines.WF:
454
- case TacticalLines.UWF: {
455
- vblCounter = flot.GetFlotCount2Double(tg, pLinePoints, vblCounter);
456
- vblCounter += vblSaveCounter;
457
- count = vblCounter;
458
- break;
459
- }
460
-
461
- case TacticalLines.WFG:
462
- case TacticalLines.WFY: {
463
- vblCounter = flot.GetFlotCount2Double(tg, pLinePoints, vblCounter);
464
- count = vblCounter;
465
- break;
466
- }
467
-
468
- case TacticalLines.FORDIF: {
469
- dRadius = lineutility.CalcDistanceToLineDouble(pLinePoints[0], pLinePoints[1], pLinePoints[2]);
470
- let spikeLength: double = arraysupport.getScaledSize(10, tg.get_LineThickness(), tg.get_patternScale());
471
- count = Math.trunc((dRadius / (spikeLength / 2)) * 3) + 6;
472
- if (clipBounds != null) {
473
- let width: double = clipBounds.getWidth();
474
- let height: double = clipBounds.getHeight();
475
- dRadius = Math.sqrt(width * width + height * height);
476
- count = Math.trunc(dRadius / (spikeLength / 2)) + 6;
477
- }
478
-
479
-
480
- break;
481
- }
482
-
483
- case TacticalLines.ATDITCH: //call function to determine the array size
484
- case TacticalLines.ATDITCHC: //call function to determine the array size
485
- case TacticalLines.ATDITCHM: {
486
- count = countsupport.GetDitchCountDouble(pLinePoints, vblSaveCounter, vbiDrawThis);
487
- break;
488
- }
489
-
490
- case TacticalLines.CATK:
491
- case TacticalLines.MAIN:
492
- case TacticalLines.MAIN_STRAIGHT:
493
- case TacticalLines.AIRAOA:
494
- case TacticalLines.SPT:
495
- case TacticalLines.SPT_STRAIGHT: {
496
- //points for these need not be bounded
497
- //they have an extra 8 points for the arrowhead
498
- count = 2 * vblCounter + 8;
499
- break;
500
- }
501
-
502
- case TacticalLines.CATKBYFIRE: {
503
- count = 2 * vblCounter + 17;
504
- break;
505
- }
506
-
507
- case TacticalLines.AAAAA: {
508
- count = 2 * vblCounter + 19;
509
- break;
510
- }
511
-
512
- case TacticalLines.LLTR: //added 5-4-07
513
- case TacticalLines.SAAFR:
514
- case TacticalLines.AC:
515
- case TacticalLines.SC:
516
- case TacticalLines.MRR:
517
- case TacticalLines.SL:
518
- case TacticalLines.TC: {
519
- vblCounter = 6 * (vblSaveCounter - 1); //6 per segment
520
- count = vblCounter + 26 * vblSaveCounter * 2; //26 for each circle and potentially two circles at each endpoint
521
- break;
522
- }
523
-
524
- case TacticalLines.ATWALL:
525
- case TacticalLines.LINE:
526
- case TacticalLines.OBSAREA:
527
- case TacticalLines.OBSFAREA:
528
- case TacticalLines.STRONG:
529
- case TacticalLines.ZONE:
530
- case TacticalLines.ENCIRCLE:
531
- case TacticalLines.FORT_REVD:
532
- case TacticalLines.FORT:
533
- case TacticalLines.FORTL: {
534
- count = countsupport.GetFORTLCountDouble(tg, pLinePoints, vblSaveCounter);
535
- break;
536
- }
537
-
538
- case TacticalLines.TRIPLE:
539
- case TacticalLines.DOUBLEC:
540
- case TacticalLines.SINGLEC:
541
- case TacticalLines.HWFENCE:
542
- case TacticalLines.LWFENCE:
543
- case TacticalLines.UNSP:
544
- case TacticalLines.DOUBLEA:
545
- case TacticalLines.SFENCE:
546
- case TacticalLines.DFENCE: {
547
- count = Channels.GetTripleCountDouble(pLinePoints, vblCounter, vbiDrawThis);
548
- break;
549
- }
550
-
551
- case TacticalLines.BBS_LINE: {
552
- count = 2 * vblCounter;
553
- break;
554
- }
555
-
556
- case TacticalLines.LC: {
557
- pUpperLinePoints = Channels.GetChannelArray2Double(1, pUpperLinePoints, 1, vblCounter, vbiDrawThis, Math.trunc(arraysupport.getScaledSize(20, tg.get_LineThickness(), tg.get_patternScale())));
558
- pLowerLinePoints = Channels.GetChannelArray2Double(1, pLowerLinePoints, 0, vblCounter, vbiDrawThis, Math.trunc(arraysupport.getScaledSize(20, tg.get_LineThickness(), tg.get_patternScale())));
559
- let lUpperFlotCount: int = flot.GetFlotCountDouble(pUpperLinePoints, arraysupport.getScaledSize(20, tg.get_LineThickness(), tg.get_patternScale()), vblCounter);
560
- let lLowerFlotCount: int = flot.GetFlotCountDouble(pLowerLinePoints, arraysupport.getScaledSize(20, tg.get_LineThickness(), tg.get_patternScale()), vblCounter);
561
- count = lUpperFlotCount + lLowerFlotCount;
562
- break;
563
- }
564
-
565
- case TacticalLines.OCCLUDED:
566
- case TacticalLines.UOF: {
567
- vblSaveCounter = vblCounter;
568
- vblCounter = flot.GetOccludedCountDouble(pLinePoints, vblCounter);
569
- vblCounter += vblSaveCounter;
570
- count = vblCounter;
571
- break;
572
- }
573
-
574
- case TacticalLines.FIX:
575
- case TacticalLines.MNFLDFIX: {
576
- if (pLinePoints.length > 1) {
577
-
578
- count = countsupport.GetDISMFixCountDouble(pLinePoints[0], pLinePoints[1], clipBounds);
579
- }
580
-
581
- else {
582
- count = 0;
583
- }
584
-
585
- break;
586
- }
587
-
588
- case TacticalLines.BYDIF: {
589
- if (clipBounds != null) {
590
- countsupport.GetByDifSegment(pLinePoints, pointsCorner);
591
- let ul: POINT2 = new POINT2(clipBounds.getMinX(), clipBounds.getMinY()); //-100,1000
592
- let lr: POINT2 = new POINT2(clipBounds.getMaxX(), clipBounds.getMaxY()); //-100,1000
593
- let ptsCorner: POINT2[] = lineutility.BoundOneSegment(pointsCorner[0], pointsCorner[1], ul, lr);
594
-
595
- if (ptsCorner != null) {
596
-
597
- count = countsupport.GetDISMFixCountDouble(ptsCorner[0], ptsCorner[1], clipBounds);
598
- }
599
-
600
- else {
601
-
602
- count = 20;
603
- }
604
-
605
- }
606
- else {
607
-
608
- count = countsupport.GetDISMFixCountDouble(pLinePoints[0], pLinePoints[1], clipBounds);
609
- }
610
-
611
-
612
- break;
613
- }
614
-
615
- default: {
616
- count = vblCounter;
617
- break;
618
- }
619
-
620
- }
621
- } catch (exc) {
622
- if (exc instanceof Error) {
623
- ErrorLogger.LogException(countsupport._className, "GetCountersDouble",
624
- new RendererException("Failed inside GetCountersDouble " + tg.get_LineType().toString(), exc));
625
- } else {
626
- throw exc;
627
- }
628
- }
629
- return Math.trunc(count);
630
- }
631
- private static GetReefCount(pLinePoints: POINT2[],
632
- length: double,
633
- vblCounter: int): int {
634
- let count: int = 0;
635
- try {
636
- let d: double = 0;
637
- for (let j: int = 0; j < vblCounter - 1; j++) {
638
- d = lineutility.CalcDistanceDouble(pLinePoints[j], pLinePoints[j + 1]);
639
- count += 5 * Math.trunc(d / length);
640
- }
641
- count += 2 * vblCounter as int;
642
- } catch (exc) {
643
- if (exc instanceof Error) {
644
- ErrorLogger.LogException(countsupport._className, "GetReefCount",
645
- new RendererException("Failed inside GetReefCount", exc));
646
- } else {
647
- throw exc;
648
- }
649
- }
650
- return count;
651
- }
652
- private static GetRestrictedAreaCount(pLinePoints: POINT2[],
653
- length: double,
654
- vblCounter: int): int {
655
- let count: int = 0;
656
- try {
657
- let d: double = 0;
658
- for (let j: int = 0; j < vblCounter - 1; j++) {
659
- d = lineutility.CalcDistanceDouble(pLinePoints[j], pLinePoints[j + 1]);
660
- count += 4 * Math.trunc(d / length);
661
- }
662
- count += 2 * vblCounter as int;
663
- } catch (exc) {
664
- if (exc instanceof Error) {
665
- ErrorLogger.LogException(countsupport._className, "GetRestrictedAreaCount",
666
- new RendererException("Failed inside GetRestrictedAreaCount", exc));
667
- } else {
668
- throw exc;
669
- }
670
- }
671
- return count;
672
- }
673
-
674
- private static GetPipeCount(pLinePoints: POINT2[],
675
- length: double,
676
- vblCounter: int): int {
677
- let count: int = 0;
678
- try {
679
- let d: double = 0;
680
- for (let j: int = 0; j < vblCounter - 1; j++) {
681
- d = lineutility.CalcDistanceDouble(pLinePoints[j], pLinePoints[j + 1]);
682
- count += 3 * Math.trunc(d / length);
683
- }
684
- count += 2 * vblCounter as int;
685
- } catch (exc) {
686
- if (exc instanceof Error) {
687
- ErrorLogger.LogException(countsupport._className, "GetPipeCount",
688
- new RendererException("Failed inside GetPipeCount", exc));
689
- } else {
690
- throw exc;
691
- }
692
- }
693
- return count;
694
- }
695
-
696
- static GetXPointsCount(pOriginalLinePoints: POINT2[], segmentLength: double, vblCounter: int): int {
697
- let xCounter: int = 0;
698
- try {
699
- let j: int = 0;
700
- let d: double = 0;
701
- //POINT2 pt0,pt1,pt2,pt3=new POINT2(),pt4=new POINT2(),pt5=new POINT2(),pt6=new POINT2();
702
- let numThisSegment: int = 0;
703
- for (j = 0; j < vblCounter - 1; j++) {
704
- d = lineutility.CalcDistanceDouble(pOriginalLinePoints[j], pOriginalLinePoints[j + 1]);
705
- numThisSegment = Math.trunc((d - segmentLength / 2) / segmentLength);
706
- xCounter += 4 * numThisSegment;
707
- }
708
- } catch (exc) {
709
- if (exc instanceof Error) {
710
- ErrorLogger.LogException(countsupport._className, "GetXPointsCount",
711
- new RendererException("Failed inside GetXPointsCount", exc));
712
- } else {
713
- throw exc;
714
- }
715
- }
716
- return xCounter;
717
- }
718
-
719
- static GetLVOCount(pOriginalLinePoints: POINT2[], segmentLength: double, vblCounter: int): int {
720
- let lEllipseCounter: int = 0;
721
- try {
722
- let d: double = 0;
723
- let lHowManyThisSegment: int = 0;
724
- let j: int = 0;
725
- //end declarations
726
- for (j = 0; j < vblCounter - 1; j++) {
727
- d = lineutility.CalcDistanceDouble(pOriginalLinePoints[j], pOriginalLinePoints[j + 1]);
728
- //lHowManyThisSegment = (int) ((d - 20) / 20);
729
- lHowManyThisSegment = Math.trunc((d - segmentLength) / segmentLength) + 1;
730
- lEllipseCounter += lHowManyThisSegment * 37;
731
- }
732
- } catch (exc) {
733
- if (exc instanceof Error) {
734
- ErrorLogger.LogException(countsupport._className, "GetLVOCount",
735
- new RendererException("Failed inside GetLVOCount", exc));
736
- } else {
737
- throw exc;
738
- }
739
- }
740
- return lEllipseCounter;
741
- }
742
-
743
- private static GetIcingCount(points: POINT2[], length: double, vblCounter: int): int {
744
- let total: int = 2 * vblCounter;
745
- try {
746
- let d: double = 0;
747
- for (let j: int = 0; j < vblCounter - 1; j++) {
748
- d = lineutility.CalcDistanceDouble(points[j], points[j + 1]);
749
- d = (d / length) * 4;
750
- total += d;
751
- }
752
- } catch (exc) {
753
- if (exc instanceof Error) {
754
- ErrorLogger.LogException(countsupport._className, "GetIcingCount",
755
- new RendererException("Failed inside GetIcingCount", exc));
756
- } else {
757
- throw exc;
758
- }
759
- }
760
- return total;
761
- }
762
-
763
- protected static GetITDQty(pLinePoints: POINT2[], length: double, vblCounter: int): int {
764
- let total: int = 0;
765
- try {
766
- let j: int = 0;
767
- let d: double = 0;
768
- let n: int = 0;
769
- for (j = 0; j < vblCounter - 1; j++) {
770
- d = lineutility.CalcDistanceDouble(pLinePoints[j], pLinePoints[j + 1]);
771
- n = 2 * Math.trunc(d / length);
772
- if (n < 2) {
773
-
774
- n = 2;
775
- }
776
-
777
- total += n;
778
- }
779
- } catch (exc) {
780
- if (exc instanceof Error) {
781
- ErrorLogger.LogException(countsupport._className, "GetITDQty",
782
- new RendererException("Failed inside GetITDQty", exc));
783
- } else {
784
- throw exc;
785
- }
786
- }
787
- return total;
788
- }
789
-
790
- protected static GetConvergenceQty(pLinePoints: POINT2[], length: double, vblCounter: int): int {
791
- let total: int = vblCounter;
792
- try {
793
- let j: int = 0;
794
- let d: double = 0;
795
- for (j = 0; j < vblCounter - 1; j++) {
796
- d = lineutility.CalcDistanceDouble(pLinePoints[j], pLinePoints[j + 1]);
797
- total += 4 * Math.trunc(d / length);
798
- }
799
- } catch (exc) {
800
- if (exc instanceof Error) {
801
- ErrorLogger.LogException(countsupport._className, "GetConvergenceQty",
802
- new RendererException("Failed inside GetConvergenceQty", exc));
803
- } else {
804
- throw exc;
805
- }
806
- }
807
- return total;
808
- }
809
-
810
- /**
811
- * Calculates the points for ATDITCH, ATDITCHC, ATDITCHM
812
- * @param pLinePoints the client point array
813
- * @param vblCounter the number of client points
814
- * @param vbiDrawThis the line type
815
- * @return
816
- */
817
- private static GetDitchCountDouble(pLinePoints: POINT2[],
818
- vblCounter: int,
819
- vbiDrawThis: int): int {
820
- let vblXCounter: int = 0;
821
- try {
822
- //declarations
823
- let j: int = 0;
824
- let nHowManyThisSegment: int = 0;
825
- let dHowFar: double = 0;
826
- //dPrinter = (double) nPrinter;
827
-
828
- vblXCounter = vblCounter;
829
-
830
- for (j = 0; j < vblCounter - 1; j++) {
831
- dHowFar = lineutility.CalcDistanceDouble(pLinePoints[j], pLinePoints[j + 1]);
832
- nHowManyThisSegment = Math.trunc((dHowFar - 1) / 12);
833
- if (dHowFar > 24) {
834
- switch (vbiDrawThis) {
835
- //case TacticalLines.FORT:
836
- // break;
837
- case TacticalLines.ATDITCHM: {
838
- vblXCounter += 5 * nHowManyThisSegment + 1;//was 4 * nHowManyThisSegment
839
- break;
840
- }
841
-
842
- default: {
843
- vblXCounter += 4 * nHowManyThisSegment;//was 3 * nHowManyThisSegment
844
- break;
845
- }
846
-
847
- } //end switch
848
- } //end if
849
- else {
850
- vblXCounter += 2;
851
- }
852
- } //end for
853
- } catch (exc) {
854
- if (exc instanceof Error) {
855
- ErrorLogger.LogException(countsupport._className, "GetDitchcountDouble",
856
- new RendererException("Failed inside GetDitchCountDouble " + vbiDrawThis.toString(), exc));
857
- } else {
858
- throw exc;
859
- }
860
- }
861
- return vblXCounter;
862
- }
863
- static GetSquallQty(pLinePoints: POINT2[],
864
- quantity: int,
865
- length: double,
866
- numPoints: int): int {
867
- let counter: int = 0;
868
- try {
869
- let j: int = 0;
870
- let dist: double = 0;
871
- let numCurves: int = 0;
872
- //end declarations
873
-
874
- for (j = 0; j < numPoints - 1; j++) {
875
- dist = lineutility.CalcDistanceDouble(pLinePoints[j], pLinePoints[j + 1]);
876
- numCurves = Math.trunc(dist / length as double);
877
- counter += numCurves * quantity;
878
- if (numCurves === 0) {
879
- counter += 2;
880
- }
881
- }
882
-
883
- if (counter < numPoints) {
884
- counter = numPoints;
885
- }
886
-
887
- } catch (exc) {
888
- if (exc instanceof Error) {
889
- ErrorLogger.LogException(countsupport._className, "GetSquallQty",
890
- new RendererException("Failed inside GetSquallQty", exc));
891
- } else {
892
- throw exc;
893
- }
894
- }
895
- return counter;
896
- }
897
-
898
- static GetSquallSegQty(StartPt: POINT2,
899
- EndPt: POINT2,
900
- quantity: int,
901
- length: double): int {
902
- let qty: int = 0;
903
- try {
904
- let dist: double = lineutility.CalcDistanceDouble(StartPt, EndPt);
905
- let numCurves: int = Math.trunc(dist / length as double);
906
- qty = numCurves * quantity;
907
- } catch (exc) {
908
- if (exc instanceof Error) {
909
- ErrorLogger.LogException(countsupport._className, "GetSquallSegQty",
910
- new RendererException("Failed inside GetSquallSegQty", exc));
911
- } else {
912
- throw exc;
913
- }
914
- }
915
- return qty;
916
- }
917
-
918
- /**
919
- * returns number of points required for ATWALL, FORT and other symbols
920
- * @param pLinePoints the client points
921
- * @param vblCounter the number of client points
922
- * @return
923
- */
924
- static GetFORTLCountDouble(tg: TGLight, pLinePoints: POINT2[], vblCounter: int): int {
925
- let lCounter: int = 0;
926
- try {
927
- //declarations
928
- let j: int = 0;
929
- let dCounter: double = 0;
930
- let dIncrement: double = 0;
931
- //end declarations
932
-
933
- switch (tg.get_LineType()) {
934
- case TacticalLines.UCF:
935
- case TacticalLines.CF:
936
- case TacticalLines.CFG:
937
- case TacticalLines.CFY: {
938
- dIncrement = arraysupport.getScaledSize(60, tg.get_LineThickness(), tg.get_patternScale());
939
- break;
940
- }
941
-
942
- case TacticalLines.RIDGE: {
943
- dIncrement = arraysupport.getScaledSize(20, tg.get_LineThickness(), tg.get_patternScale());
944
- break;
945
- }
946
-
947
- default: {
948
- dIncrement = arraysupport.getScaledSize(20, tg.get_LineThickness(), tg.get_patternScale());
949
- break;
950
- }
951
-
952
- }
953
-
954
- for (j = 0; j < vblCounter - 1; j++) {
955
- dCounter = lineutility.CalcDistanceDouble(pLinePoints[j], pLinePoints[j + 1]);
956
-
957
- switch (tg.get_LineType()) {
958
- case TacticalLines.CFG: {
959
- dCounter = (dCounter / dIncrement) * 13;
960
- break;
961
- }
962
-
963
- case TacticalLines.CFY: {
964
- dCounter = (dCounter / dIncrement) * 17;
965
- break;
966
- }
967
-
968
- default: {
969
- dCounter = (dCounter / dIncrement) * 10;
970
- break;
971
- }
972
-
973
- }
974
-
975
- if (dCounter < 4) {
976
- dCounter = 4;
977
- }
978
- lCounter += Math.trunc(dCounter);
979
- }
980
- lCounter += 10 + vblCounter;
981
-
982
- } catch (exc) {
983
- if (exc instanceof Error) {
984
- ErrorLogger.LogException(countsupport._className, "GetFORTLCountDouble",
985
- new RendererException("Failed inside GetFORTLCountDouble", exc));
986
- } else {
987
- throw exc;
988
- }
989
- }
990
- return lCounter;
991
- }
992
-
993
- private static GetByDifSegment(points: POINT2[], pointsCorner: POINT2[]): void {
994
- try {
995
- // draw open-ended rectangle
996
- let point_mid: POINT2 = new POINT2();
997
- //int j=0;
998
- // POINT1 pts[4];
999
- if (pointsCorner == null) {
1000
- pointsCorner = new Array<POINT2>(2);
1001
- lineutility.InitializePOINT2Array(pointsCorner);
1002
- }
1003
- point_mid.x = (points[0].x + points[1].x) / 2;
1004
- point_mid.y = (points[0].y + points[1].y) / 2;
1005
- pointsCorner[0].x = points[0].x - point_mid.x + points[2].x;
1006
- pointsCorner[0].y = points[0].y - point_mid.y + points[2].y;
1007
- pointsCorner[1].x = points[1].x - point_mid.x + points[2].x;
1008
- pointsCorner[1].y = points[1].y - point_mid.y + points[2].y;
1009
- } catch (exc) {
1010
- if (exc instanceof Error) {
1011
- ErrorLogger.LogException(countsupport._className, "GetByDifSegment",
1012
- new RendererException("Failed inside GetByDifSegment", exc));
1013
- } else {
1014
- throw exc;
1015
- }
1016
- }
1017
- }
1018
- /**
1019
- * clipBounds is used because of the glyphs on one segment
1020
- * @param FirstLinePoint
1021
- * @param LastLinePoint
1022
- * @param clipBounds
1023
- * @return
1024
- */
1025
- protected static GetDISMFixCountDouble(FirstLinePoint: POINT2,
1026
- LastLinePoint: POINT2,
1027
- clipBounds: Rectangle2D): int {
1028
- let counter: int = 0;
1029
- try {
1030
- let savepoints: POINT2[] = new Array<POINT2>(2);
1031
- //double dAngle1 = 0;
1032
- let dLength: double = 0;
1033
- let dJaggyHalfAmp: double = 0;
1034
- let dJaggyHalfPeriod: double = 0;
1035
- let iNumJaggies: int = 0;
1036
-
1037
- savepoints[0] = new POINT2(FirstLinePoint);
1038
- savepoints[1] = new POINT2(LastLinePoint);
1039
-
1040
- //Boolean drawJaggies=true;
1041
- if (clipBounds != null) {
1042
- let ul: POINT2 = new POINT2(clipBounds.getMinX(), clipBounds.getMinY());
1043
- let lr: POINT2 = new POINT2(clipBounds.getMaxX(), clipBounds.getMaxY());
1044
- savepoints = lineutility.BoundOneSegment(FirstLinePoint, LastLinePoint, ul, lr);
1045
- }
1046
-
1047
- if (savepoints == null) {
1048
-
1049
- return 0;
1050
- }
1051
-
1052
-
1053
- dLength = Math.sqrt((savepoints[1].x - savepoints[0].x) * (savepoints[1].x - savepoints[0].x) +
1054
- (savepoints[1].y - savepoints[0].y) * (savepoints[1].y - savepoints[0].y));
1055
- dJaggyHalfAmp = dLength / 15; // half the amplitude of the "jaggy function"
1056
-
1057
- let DPIScaleFactor: double = RendererSettings.getInstance().getDeviceDPI() / 96.0;
1058
- if (dJaggyHalfAmp > countsupport.maxLength * DPIScaleFactor) {
1059
- dJaggyHalfAmp = countsupport.maxLength * DPIScaleFactor;
1060
- }
1061
- if (dJaggyHalfAmp < countsupport.minLength * DPIScaleFactor) {
1062
- dJaggyHalfAmp = countsupport.minLength * DPIScaleFactor;
1063
- }
1064
-
1065
- dJaggyHalfPeriod = dJaggyHalfAmp / 1.5; // half the period of the "jaggy function"
1066
- iNumJaggies = Math.trunc(dLength / dJaggyHalfPeriod) - 3;
1067
- if (iNumJaggies < 0) {
1068
- iNumJaggies = 0;
1069
- }
1070
-
1071
- savepoints = null;
1072
- counter = 20 + iNumJaggies * 3;
1073
- } catch (exc) {
1074
- if (exc instanceof Error) {
1075
- ErrorLogger.LogException(countsupport._className, "GetDISMFixCount",
1076
- new RendererException("Failed inside GetDISMFixCount", exc));
1077
- } else {
1078
- throw exc;
1079
- }
1080
- }
1081
- return counter;
1082
- }
1083
-
1084
- }