@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,363 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <!-- Meta line required for IE-->
5
+ <!-- <meta http-equiv="X-UA-Compatible" content="IE=edge" /> -->
6
+ <!-- <script src="dist/C5RenDebug.js" type="text/javascript" ></script> -->
7
+ <script src="../dist/C5Ren.js" type="text/javascript" ></script>
8
+ <!-- <script src="armyc2\c2sd\renderer\utilities\RendererUtilities.js" type="text/javascript" ></script> -->
9
+
10
+
11
+
12
+
13
+ <script type = "text/javascript">
14
+
15
+ var start = null;
16
+ var stop = null;
17
+
18
+ var worker;
19
+ try
20
+ {
21
+ worker = new Worker('SPWorker.js');
22
+ }
23
+ catch(e)
24
+ {
25
+ console.log("SPWorker-postMessage");
26
+ console.log(e);
27
+ console.log(e.stack);
28
+ }
29
+
30
+ function setup()
31
+ {
32
+ document.getElementById("testRender").disabled = true;
33
+ //C5Ren.initialize('/dist/').then(function(results){document.getElementById("testRender").disabled = false;}).catch(error => {throw error;});
34
+ document.getElementById("testRender").disabled = false;
35
+ }
36
+
37
+ function formatKMLForHTML(kml)
38
+ {
39
+ var formattedKML = "";
40
+ var tempString = kml;
41
+
42
+ var index = 0;
43
+ var start = 0;
44
+
45
+ var index = tempString.indexOf("<");
46
+ while(index >=0)
47
+ {
48
+ tempString = tempString.replace("<","&lt;");
49
+ start = index+1;
50
+ index = tempString.indexOf("<", start);
51
+ }
52
+ var index = tempString.indexOf(">");
53
+ while(index >=0)
54
+ {
55
+ tempString = tempString.replace(">","&gt;");
56
+ start = index+1;
57
+ index = tempString.indexOf(">", start);
58
+ }
59
+
60
+ formattedKML = tempString;
61
+
62
+ return formattedKML;
63
+ }
64
+ function cleartext()
65
+ {
66
+ //alert('clr');
67
+ document.getElementById("contentSpan").innerHTML = "";
68
+ return;
69
+ }
70
+
71
+
72
+ function populateAttributes()
73
+ {
74
+ var attributes = new Map();
75
+ attributes.set(C5Ren.MilStdAttributes.PixelSize,"60");
76
+
77
+
78
+ //modifiers.set(C5Ren.MilStdAttributes.LineColor,"#FF00FF";
79
+ //modifiers.set(C5Ren.MilStdAttributes.FillColor,"#00FF00";
80
+
81
+ //modifiers.set(C5Ren.MilStdAttributes.TextColor,"#FF00FF";
82
+ //modifiers.set(C5Ren.MilStdAttributes.TextBackgroundColor,"#00FF00";
83
+ return attributes;
84
+ }
85
+
86
+ function populateModifiers()
87
+ {
88
+ var modifiers = new Map();
89
+
90
+
91
+
92
+ modifiers.set(C5Ren.Modifiers.C_QUANTITY,10);
93
+ modifiers.set(C5Ren.Modifiers.H_ADDITIONAL_INFO_1,"H");
94
+ modifiers.set(C5Ren.Modifiers.H1_ADDITIONAL_INFO_2,"H1");
95
+ modifiers.set(C5Ren.Modifiers.H2_ADDITIONAL_INFO_3,"H2");
96
+ modifiers.set(C5Ren.Modifiers.X_ALTITUDE_DEPTH,"X");//X
97
+ modifiers.set(C5Ren.Modifiers.K_COMBAT_EFFECTIVENESS,"K");//K
98
+ modifiers.set(C5Ren.Modifiers.Q_DIRECTION_OF_MOVEMENT,"45");//Q
99
+
100
+ modifiers.set(C5Ren.Modifiers.W_DTG_1,C5Ren.SymbolUtilities.getDateLabel(new Date()));//W
101
+ modifiers.set(C5Ren.Modifiers.W1_DTG_2,C5Ren.SymbolUtilities.getDateLabel(new Date()));//W1
102
+ modifiers.set(C5Ren.Modifiers.J_EVALUATION_RATING,"J");
103
+ modifiers.set(C5Ren.Modifiers.M_HIGHER_FORMATION,"M");
104
+ modifiers.set(C5Ren.Modifiers.N_HOSTILE,"ENY");
105
+ modifiers.set(C5Ren.Modifiers.P_IFF_SIF,"P");
106
+ modifiers.set(C5Ren.Modifiers.Y_LOCATION,"Y");
107
+
108
+ //if(symbol.getSymbolID().startsWith("G"))
109
+ modifiers.set(C5Ren.Modifiers.C_QUANTITY,"C");
110
+
111
+ modifiers.set(C5Ren.Modifiers.F_REINFORCED_REDUCED,"(+)");//"RD";
112
+ modifiers.set(C5Ren.Modifiers.L_SIGNATURE_EQUIP,"!");
113
+ //modifiers.set(C5Ren.Modifiers.AA_SPECIAL_C2_HQ,"AA";
114
+ modifiers.set(C5Ren.Modifiers.SCC_SONAR_CLASSIFICATION_CONFIDENCE,"5");
115
+ modifiers.set(C5Ren.Modifiers.G_STAFF_COMMENTS,"G");
116
+ //symbol.symbolicon A
117
+ modifiers.set(C5Ren.Modifiers.V_EQUIP_TYPE,"V");
118
+ modifiers.set(C5Ren.Modifiers.T_UNIQUE_DESIGNATION_1,"T");
119
+ modifiers.set(C5Ren.Modifiers.T1_UNIQUE_DESIGNATION_2,"T1");
120
+ modifiers.set(C5Ren.Modifiers.Z_SPEED,"999");//Z
121
+ //*/
122
+ //modifiers.set(C5Ren.Modifiers.CN_CPOF_NAME_LABEL,"CPOF'D";//Z
123
+
124
+
125
+
126
+ return modifiers;
127
+ }
128
+ function speedTest(modifiersOn)
129
+ {
130
+ //var rendererMP = document.getElementById("SECRenderApplet");
131
+ //var rendererMP = new sec.web.renderer.SECWebRenderer();
132
+ //var rendererMP = sec.web.renderer.SECWebRenderer;
133
+
134
+ //var rendererSPSVG = armyc2.c2sd.renderer.MilStdSVGRenderer;//.Render(symbolID,modifiers);
135
+
136
+ var start = null;
137
+
138
+
139
+
140
+
141
+ //UNIT RANGE FAN EXAMPLE
142
+
143
+ var symbolCode = "110301000013010000000000000000"; //bomb
144
+
145
+ var modifiers = null;
146
+ if(modifiersOn)
147
+ modifiers = populateModifiers();
148
+
149
+ var attributes = populateAttributes();
150
+ //webworker sector range fan test
151
+ //web worker assumes defaults. you must pass any relevant overrides like symstd.
152
+ var json5;
153
+ var data = {};
154
+ data.id = "ID";
155
+ data.symbolID = symbolCode;
156
+ data.modifiers = modifiers;
157
+ data.attributes = attributes;
158
+
159
+
160
+
161
+ worker.onerror = function(error)
162
+ {
163
+ console.log("SPWorker-postMessage");
164
+ console.log(error);
165
+ console.log(error.stack);
166
+ };
167
+ worker.onmessage = function(e)
168
+ {
169
+ cleartext();
170
+ stop = new Date().getTime();
171
+ var time = stop - start;
172
+ //alert('Render 1k symbols: ' + (time/1000));//*/
173
+ document.getElementById("contentSpan").innerHTML += 'Render 1k symbols: ' + (time/1000);
174
+
175
+ document.getElementById("contentSpan").innerHTML += "<br/><br/>Unit via Web Worker: <br/>";
176
+
177
+ if(e.data.format == "ERROR")
178
+ {
179
+ document.getElementById("contentSpan").innerHTML += e.data.result;
180
+ if(e.data.stack !== null)
181
+ {
182
+ document.getElementById("contentSpan").innerHTML += ("<br/>at " + e.data.stack);
183
+ }
184
+ }
185
+ else
186
+ {
187
+
188
+ //document.getElementById("contentSpan").innerHTML += "<br/>"
189
+ var total = "";
190
+ start = new Date().getTime();
191
+ for(var j = 0; j < e.data.length; j++)
192
+ {
193
+
194
+ var svg = e.data[j].svg;
195
+ if(svg != null)
196
+ total += svg;
197
+
198
+ //for testing
199
+ //total += batch[j].symbolID + "<br/>"
200
+ if(j % 10 === 0 && j !== 0)
201
+ total += "<br/>"
202
+ }
203
+ document.getElementById("contentSpan").innerHTML += total;
204
+ stop = new Date().getTime();
205
+ time = stop - start;
206
+
207
+
208
+ var svgImage = document.getElementById("SVGTest");
209
+ svgImage.width = e.data[0].bounds.width;
210
+ svgImage.height = e.data[0].bounds.height;
211
+ if(e.data[0].base64)
212
+ svgImage.src = e.data[0].base64;
213
+ else
214
+ svgImage.src = "data:image/svg+xml;base64," + btoa(e.data[0].svg);
215
+
216
+ document.getElementById("contentSpan").innerHTML += 'Add 1k symbols to the dom: ' + (time/1000);
217
+
218
+ }
219
+
220
+
221
+ };//*/
222
+
223
+ //send batch data to web renderer
224
+ var batch = [];
225
+ var version = 13;
226
+ var symbolsSIDC = C5Ren.MSLookup.getInstance().getIDList(version);
227
+ var context = "0";//reality
228
+ var affiliation = "3";//friend
229
+ var status = "0"; //present
230
+
231
+ var MSL = C5Ren.MSLookup.getInstance();
232
+ for(var i = 0; i < 1000; i++)
233
+ {
234
+ var sidc = symbolsSIDC[Math.floor(symbolsSIDC.length*Math.random())];
235
+ sidc = "" + version + context + affiliation + sidc.substring(0,2) + status +
236
+ "000" + sidc.substring(2) + "0000" + "0000000000";
237
+ var msi = MSL.getMSLInfo(sidc);
238
+ if(msi == null || msi.getDrawRule()===0)
239
+ i--;
240
+ else
241
+ batch.push({id:"ID",symbolID:sidc,modifiers:modifiers,attributes:attributes})
242
+ //console.log("" + i + ": " + sidc);
243
+ }
244
+
245
+
246
+ var mir = C5Ren.MilStdIconRenderer.getInstance();
247
+ var startMain = new Date().getTime();
248
+ for(var j = 0; j < 1000; j++)
249
+ {
250
+ var item = batch[j];
251
+ mir.RenderSVG(item.symbolID, item.modifiers, item.attributes);
252
+ }
253
+ var stopMain = new Date().getTime();
254
+ console.log("Time to generate on main thread: " + (stopMain - startMain)/1000);
255
+
256
+
257
+ start = new Date().getTime();
258
+ //format can be svg, base64, or both.
259
+ worker.postMessage({format:"svg",batch:batch});
260
+
261
+ /*
262
+ try
263
+ {
264
+ C5Ren.ErrorLogger.LogException("SPWorker","postMessage",new Error("error test"));
265
+ }
266
+ catch(error)
267
+ {
268
+ C5Ren.ErrorLogger.LogException("SPWorker","postMessage",error);
269
+ }
270
+
271
+ } //end if//*/
272
+ }
273
+
274
+ function testRender()
275
+ {
276
+ //var rendererMP = document.getElementById("SECRenderApplet");
277
+ //var rendererMP = new sec.web.renderer.SECWebRenderer();
278
+ //var rendererMP = sec.web.renderer.SECWebRenderer;
279
+
280
+ //var rendererSPSVG = armyc2.c2sd.renderer.MilStdSVGRenderer;//.Render(symbolID,modifiers);
281
+
282
+ console.log("SVGWW.html-testRender-Unit");
283
+
284
+ //UNIT RANGE FAN EXAMPLE
285
+
286
+ var symbolCode = "110301000013010000000000000000"; //Bomb
287
+
288
+ var attributes = populateAttributes();
289
+
290
+ //webworker sector range fan test
291
+ //web worker assumes defaults. you must pass any relevant overrides like symstd.
292
+ var json5;
293
+ var data = {};
294
+ data.id = "ID";
295
+ data.symbolID = symbolCode;
296
+ data.modifiers = {};
297
+ data.attributes = attributes;
298
+
299
+
300
+
301
+
302
+ worker.onerror = function(error)
303
+ {
304
+ console.log("SPWorker-postMessage");
305
+ console.log(error);
306
+ console.log(error.stack);
307
+ };
308
+ worker.onmessage = function(e)
309
+ {
310
+ document.getElementById("contentSpan").innerHTML += "<br/><br/>Unit via Web Worker: <br/>";
311
+
312
+ if(e.data.error)
313
+ {
314
+ document.getElementById("contentSpan").innerHTML += e.data.result;
315
+ if(e.data.stack !== null)
316
+ {
317
+ document.getElementById("contentSpan").innerHTML += ("<br/>at " + e.data.stack);
318
+ }
319
+ }
320
+ else
321
+ {
322
+ var svg = e.data.svg;
323
+ document.getElementById("contentSpan").innerHTML += svg;
324
+ }
325
+
326
+
327
+ };//*/
328
+
329
+ //send data to web renderer
330
+ worker.postMessage(data);
331
+
332
+ /*
333
+ try
334
+ {
335
+ C5Ren.ErrorLogger.LogException("SPWorker","postMessage",new Error("error test"));
336
+ }
337
+ catch(error)
338
+ {
339
+ C5Ren.ErrorLogger.LogException("SPWorker","postMessage",error);
340
+ }
341
+
342
+ } //end if//*/
343
+ }
344
+
345
+ </script>
346
+ </head>
347
+ <body onload="setup();">
348
+
349
+ <button id="testRender" type='button' onclick='testRender()'>Test Single Point SVG</button>
350
+ <button type='button' onclick='speedTest(false)'>Speed test 1k SVG batch</button>
351
+ <button type='button' onclick='speedTest(true)'>Speed test 1k SVG batch with all modifiers</button>
352
+ <button type='button' onclick='cleartext()'>Clear</button>
353
+ <br/>
354
+ <img id="SVGTest" src="" alt="svg from datauri" height="100" width="100">
355
+
356
+ <span id='contentSpan'/>
357
+
358
+
359
+
360
+
361
+ </body>
362
+
363
+ </html>