cesium 0.16.0 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (553) hide show
  1. data/app/assets/javascripts/{Core/Core.profile.js → Assets/Assets.profile.js} +0 -0
  2. data/app/assets/javascripts/Assets/package.json +6 -0
  3. data/app/assets/javascripts/Cesium.js +369 -351
  4. data/app/assets/javascripts/Core/BoundingSphere.js +0 -4
  5. data/app/assets/javascripts/Core/Cartesian2.js +19 -0
  6. data/app/assets/javascripts/Core/Cartesian3.js +25 -2
  7. data/app/assets/javascripts/Core/Cartesian4.js +23 -0
  8. data/app/assets/javascripts/Core/CatmullRomSpline.js +1 -4
  9. data/app/assets/javascripts/Core/Clock.js +23 -30
  10. data/app/assets/javascripts/Core/CubicRealPolynomial.js +1 -4
  11. data/app/assets/javascripts/Core/EllipsoidTangentPlane.js +1 -1
  12. data/app/assets/javascripts/Core/EllipsoidalOccluder.js +159 -6
  13. data/app/assets/javascripts/Core/Extent.js +1 -1
  14. data/app/assets/javascripts/Core/ExtentTessellator.js +72 -19
  15. data/app/assets/javascripts/Core/Fullscreen.js +1 -4
  16. data/app/assets/javascripts/Core/HeightmapTessellator.js +2 -10
  17. data/app/assets/javascripts/Core/Iau2006XysData.js +9 -2
  18. data/app/assets/javascripts/Core/IntersectionTests.js +154 -2
  19. data/app/assets/javascripts/Core/JulianDate.js +1 -1
  20. data/app/assets/javascripts/Core/Math.js +7 -0
  21. data/app/assets/javascripts/Core/OrientationInterpolator.js +3 -6
  22. data/app/assets/javascripts/Core/Plane.js +1 -1
  23. data/app/assets/javascripts/Core/PolygonPipeline.js +135 -1
  24. data/app/assets/javascripts/Core/PolylinePipeline.js +2 -1
  25. data/app/assets/javascripts/Core/ScreenSpaceEventHandler.js +9 -11
  26. data/app/assets/javascripts/Core/Shapes.js +0 -2
  27. data/app/assets/javascripts/Core/Simon1994PlanetaryPositions.js +3 -6
  28. data/app/assets/javascripts/Core/TaskProcessor.js +2 -4
  29. data/app/assets/javascripts/Core/Transforms.js +0 -2
  30. data/app/assets/javascripts/Core/buildModuleUrl.js +17 -9
  31. data/app/assets/javascripts/Core/defaultValue.js +0 -0
  32. data/app/assets/javascripts/Core/freezeObject.js +0 -0
  33. data/app/assets/javascripts/Core/getImagePixels.js +0 -0
  34. data/app/assets/javascripts/Core/loadArrayBuffer.js +0 -0
  35. data/app/assets/javascripts/Core/loadImage.js +0 -0
  36. data/app/assets/javascripts/Core/throttleRequestByServer.js +0 -0
  37. data/app/assets/javascripts/Core/writeTextToCanvas.js +0 -0
  38. data/app/assets/javascripts/DynamicScene/CompositeDynamicObjectCollection.js +14 -16
  39. data/app/assets/javascripts/DynamicScene/CzmlDataSource.js +197 -0
  40. data/app/assets/javascripts/DynamicScene/CzmlDefaults.js +10 -2
  41. data/app/assets/javascripts/DynamicScene/CzmlDirection.js +136 -0
  42. data/app/assets/javascripts/DynamicScene/DataSource.js +63 -0
  43. data/app/assets/javascripts/DynamicScene/DataSourceCollection.js +189 -0
  44. data/app/assets/javascripts/DynamicScene/DataSourceDisplay.js +225 -0
  45. data/app/assets/javascripts/DynamicScene/DynamicBillboardVisualizer.js +11 -11
  46. data/app/assets/javascripts/DynamicScene/DynamicClock.js +0 -4
  47. data/app/assets/javascripts/DynamicScene/DynamicConeVisualizerUsingCustomSensor.js +12 -12
  48. data/app/assets/javascripts/DynamicScene/DynamicDirectionsProperty.js +5 -7
  49. data/app/assets/javascripts/DynamicScene/DynamicEllipsoid.js +0 -2
  50. data/app/assets/javascripts/DynamicScene/DynamicEllipsoidVisualizer.js +20 -22
  51. data/app/assets/javascripts/DynamicScene/DynamicLabelVisualizer.js +10 -10
  52. data/app/assets/javascripts/DynamicScene/DynamicMaterialProperty.js +5 -7
  53. data/app/assets/javascripts/DynamicScene/DynamicObject.js +6 -0
  54. data/app/assets/javascripts/DynamicScene/DynamicObjectView.js +70 -2
  55. data/app/assets/javascripts/DynamicScene/DynamicPathVisualizer.js +1 -1
  56. data/app/assets/javascripts/DynamicScene/DynamicPointVisualizer.js +18 -20
  57. data/app/assets/javascripts/DynamicScene/DynamicPolygonVisualizer.js +12 -12
  58. data/app/assets/javascripts/DynamicScene/DynamicPolylineVisualizer.js +12 -12
  59. data/app/assets/javascripts/DynamicScene/DynamicPositionProperty.js +0 -4
  60. data/app/assets/javascripts/DynamicScene/DynamicPyramidVisualizer.js +12 -12
  61. data/app/assets/javascripts/DynamicScene/DynamicVector.js +184 -0
  62. data/app/assets/javascripts/DynamicScene/DynamicVectorVisualizer.js +267 -0
  63. data/app/assets/javascripts/DynamicScene/DynamicVertexPositionsProperty.js +2 -6
  64. data/app/assets/javascripts/DynamicScene/processCzml.js +1 -3
  65. data/app/assets/javascripts/Renderer/Context.js +119 -86
  66. data/app/assets/javascripts/Renderer/CubeMap.js +39 -17
  67. data/app/assets/javascripts/Renderer/CubeMapFace.js +20 -10
  68. data/app/assets/javascripts/Renderer/DrawCommand.js +1 -1
  69. data/app/assets/javascripts/Renderer/PickFramebuffer.js +0 -2
  70. data/app/assets/javascripts/Renderer/PixelDatatype.js +9 -0
  71. data/app/assets/javascripts/Renderer/Renderbuffer.js +0 -2
  72. data/app/assets/javascripts/Renderer/ShaderProgram.js +91 -11
  73. data/app/assets/javascripts/Renderer/Texture.js +27 -2
  74. data/app/assets/javascripts/Renderer/UniformState.js +43 -14
  75. data/app/assets/javascripts/Renderer/VertexArray.js +87 -132
  76. data/app/assets/javascripts/Renderer/VertexArrayFacade.js +2 -2
  77. data/app/assets/javascripts/Scene/AnimationCollection.js +21 -17
  78. data/app/assets/javascripts/Scene/ArcGisMapServerImageryProvider.js +0 -2
  79. data/app/assets/javascripts/Scene/Billboard.js +8 -51
  80. data/app/assets/javascripts/Scene/BillboardCollection.js +0 -6
  81. data/app/assets/javascripts/Scene/Camera.js +0 -2
  82. data/app/assets/javascripts/Scene/CameraController.js +81 -29
  83. data/app/assets/javascripts/Scene/CameraFlightPath.js +130 -72
  84. data/app/assets/javascripts/Scene/CentralBody.js +3 -16
  85. data/app/assets/javascripts/Scene/CentralBodySurface.js +12 -40
  86. data/app/assets/javascripts/Scene/CustomSensorVolume.js +0 -2
  87. data/app/assets/javascripts/Scene/DiscardMissingTileImagePolicy.js +0 -0
  88. data/app/assets/javascripts/Scene/EllipsoidPrimitive.js +0 -10
  89. data/app/assets/javascripts/Scene/HeightmapTerrainData.js +0 -6
  90. data/app/assets/javascripts/Scene/ImageryLayer.js +0 -4
  91. data/app/assets/javascripts/Scene/ImageryLayerCollection.js +0 -0
  92. data/app/assets/javascripts/Scene/ImageryProvider.js +0 -0
  93. data/app/assets/javascripts/Scene/LabelCollection.js +0 -2
  94. data/app/assets/javascripts/Scene/PerspectiveFrustum.js +0 -8
  95. data/app/assets/javascripts/Scene/Polygon.js +30 -20
  96. data/app/assets/javascripts/Scene/Polyline.js +0 -4
  97. data/app/assets/javascripts/Scene/Scene.js +64 -18
  98. data/app/assets/javascripts/Scene/SceneTransforms.js +151 -0
  99. data/app/assets/javascripts/Scene/SceneTransitioner.js +0 -2
  100. data/app/assets/javascripts/Scene/ScreenSpaceCameraController.js +0 -4
  101. data/app/assets/javascripts/Scene/SensorVolumeCollection.js +0 -12
  102. data/app/assets/javascripts/Scene/Sun.js +180 -0
  103. data/app/assets/javascripts/Scene/SunPostProcess.js +417 -0
  104. data/app/assets/javascripts/Scene/Tile.js +0 -12
  105. data/app/assets/javascripts/Scene/TileProviderError.js +2 -8
  106. data/app/assets/javascripts/Scene/TileReplacementQueue.js +11 -11
  107. data/app/assets/javascripts/Scene/VRTheWorldTerrainProvider.js +0 -2
  108. data/app/assets/javascripts/Scene/WebMapServiceImageryProvider.js +0 -2
  109. data/app/assets/javascripts/Scene/WebMercatorTilingScheme.js +0 -6
  110. data/app/assets/javascripts/Scene/sampleTerrain.js +0 -4
  111. data/app/assets/javascripts/Shaders/BuiltinFunctions.glsl +62 -0
  112. data/app/assets/javascripts/Shaders/BuiltinFunctions.js +62 -0
  113. data/app/assets/javascripts/Shaders/CentralBodyVS.glsl +3 -0
  114. data/app/assets/javascripts/Shaders/CentralBodyVS.js +3 -0
  115. data/app/assets/javascripts/Shaders/Materials/PolylineArrowMaterial.glsl +1 -1
  116. data/app/assets/javascripts/Shaders/Materials/PolylineArrowMaterial.js +1 -1
  117. data/app/assets/javascripts/Shaders/PolylineVS.glsl +8 -5
  118. data/app/assets/javascripts/Shaders/PolylineVS.js +8 -5
  119. data/app/assets/javascripts/Shaders/PostProcessFilters/AdditiveBlend.glsl +17 -0
  120. data/app/assets/javascripts/Shaders/PostProcessFilters/AdditiveBlend.js +23 -0
  121. data/app/assets/javascripts/Shaders/PostProcessFilters/BrightPass.glsl +30 -0
  122. data/app/assets/javascripts/Shaders/PostProcessFilters/BrightPass.js +36 -0
  123. data/app/assets/javascripts/Shaders/PostProcessFilters/GaussianBlur1D.glsl +37 -0
  124. data/app/assets/javascripts/Shaders/PostProcessFilters/GaussianBlur1D.js +43 -0
  125. data/app/assets/javascripts/Shaders/PostProcessFilters/PassThrough.glsl +8 -0
  126. data/app/assets/javascripts/Shaders/PostProcessFilters/PassThrough.js +14 -0
  127. data/app/assets/javascripts/Shaders/SunFS.glsl +11 -0
  128. data/app/assets/javascripts/Shaders/SunFS.js +17 -0
  129. data/app/assets/javascripts/Shaders/SunVS.glsl +28 -0
  130. data/app/assets/javascripts/Shaders/SunVS.js +34 -0
  131. data/app/assets/javascripts/ThirdParty/when.js +0 -0
  132. data/app/assets/javascripts/Widgets/Animation/Animation.js +6 -10
  133. data/app/assets/javascripts/Widgets/Animation/AnimationViewModel.js +4 -14
  134. data/app/assets/javascripts/Widgets/BaseLayerPicker/BaseLayerPicker.js +3 -8
  135. data/app/assets/javascripts/Widgets/BaseLayerPicker/BaseLayerPickerViewModel.js +6 -7
  136. data/app/assets/javascripts/Widgets/CesiumWidget/CesiumWidget.js +5 -3
  137. data/app/assets/javascripts/Widgets/ClockViewModel.js +6 -7
  138. data/app/assets/javascripts/Widgets/Command.js +16 -0
  139. data/app/assets/javascripts/Widgets/Dojo/CesiumViewerWidget.css +5 -21
  140. data/app/assets/javascripts/Widgets/Dojo/CesiumViewerWidget.html +1 -1
  141. data/app/assets/javascripts/Widgets/Dojo/CesiumViewerWidget.js +27 -62
  142. data/app/assets/javascripts/Widgets/{Fullscreen/FullscreenWidget.css → FullscreenButton/FullscreenButton.css} +3 -3
  143. data/app/assets/javascripts/Widgets/{Fullscreen/FullscreenWidget.js → FullscreenButton/FullscreenButton.js} +19 -23
  144. data/app/assets/javascripts/Widgets/{Fullscreen/FullscreenViewModel.js → FullscreenButton/FullscreenButtonViewModel.js} +16 -8
  145. data/app/assets/javascripts/Widgets/{Fullscreen → FullscreenButton}/lighter.css +3 -3
  146. data/app/assets/javascripts/Widgets/HomeButton/HomeButton.css +15 -0
  147. data/app/assets/javascripts/Widgets/HomeButton/HomeButton.js +82 -0
  148. data/app/assets/javascripts/Widgets/HomeButton/HomeButtonViewModel.js +139 -0
  149. data/app/assets/javascripts/Widgets/HomeButton/lighter.css +3 -0
  150. data/app/assets/javascripts/Widgets/SceneModePicker/SceneModePicker.js +3 -8
  151. data/app/assets/javascripts/Widgets/Timeline/Timeline.js +9 -11
  152. data/app/assets/javascripts/Widgets/createCommand.js +33 -9
  153. data/app/assets/javascripts/Widgets/lighter.css +2 -1
  154. data/app/assets/javascripts/Widgets/widgets.css +2 -1
  155. data/app/assets/javascripts/Workers/cesiumWorkerBootstrapper.js +0 -0
  156. data/app/assets/javascripts/Workers/createTaskProcessorWorker.js +0 -0
  157. data/app/assets/javascripts/Workers/createVerticesFromHeightmap.js +4 -15
  158. data/app/assets/javascripts/Workers/package.json +6 -0
  159. data/lib/cesium/version.rb +1 -1
  160. data/test/dummy/log/development.log +4884 -0
  161. data/test/dummy/tmp/cache/assets/B99/0B0/sprockets%2F4723632036683061b3298399d52922e7 +0 -0
  162. data/test/dummy/tmp/cache/assets/BF8/BC0/sprockets%2F1982805b53487d15554f20955019b8c4 +0 -0
  163. data/test/dummy/tmp/cache/assets/C07/150/sprockets%2F1b420211d4602737f80569030633dbf0 +0 -0
  164. data/test/dummy/tmp/cache/assets/C12/030/sprockets%2Fbd84b00d783150a219825433401a7946 +0 -0
  165. data/test/dummy/tmp/cache/assets/C21/2F0/sprockets%2F542b776b2358128506142733e2f7bc94 +0 -0
  166. data/test/dummy/tmp/cache/assets/C23/080/sprockets%2F7953320c0848d5564133365a6c3d728d +0 -0
  167. data/test/dummy/tmp/cache/assets/C26/5B0/sprockets%2F55b830337d0462859671b7e5447ed430 +0 -0
  168. data/test/dummy/tmp/cache/assets/C27/DA0/sprockets%2Fe49200d07769d24f54f721d890142818 +0 -0
  169. data/test/dummy/tmp/cache/assets/C40/040/sprockets%2F755e3952d9331b86782d4a7478a59299 +0 -0
  170. data/test/dummy/tmp/cache/assets/C42/440/sprockets%2F1b618402da380cb405d971458a874033 +0 -0
  171. data/test/dummy/tmp/cache/assets/C44/870/sprockets%2Fc7607e52811e723312c83d096c611c32 +0 -0
  172. data/test/dummy/tmp/cache/assets/C46/770/sprockets%2F9b6c82d0454ab5ba8727173860060324 +0 -0
  173. data/test/dummy/tmp/cache/assets/C46/E60/sprockets%2F151028e967f13248ca6121c9407242cf +0 -0
  174. data/test/dummy/tmp/cache/assets/C48/360/sprockets%2Fc966013651008025255f5b53b1d63f9e +0 -0
  175. data/test/dummy/tmp/cache/assets/C4A/020/sprockets%2F162d504e77459f0304b964139300cfe3 +0 -0
  176. data/test/dummy/tmp/cache/assets/C4A/2B0/sprockets%2F821c1d08482a9b936b661a56444551b3 +0 -0
  177. data/test/dummy/tmp/cache/assets/C53/040/sprockets%2F52411d26c4863636c7ae5b5090690f94 +0 -0
  178. data/test/dummy/tmp/cache/assets/C57/D10/sprockets%2F784e21cb5b634a598629115ef4685213 +0 -0
  179. data/test/dummy/tmp/cache/assets/C63/070/sprockets%2F8e770283d268526610e99264922dce9b +0 -0
  180. data/test/dummy/tmp/cache/assets/C64/730/sprockets%2F78fd706ba991f21a399070866616c297 +0 -0
  181. data/test/dummy/tmp/cache/assets/C6D/AC0/sprockets%2Fa1344c280c4d1518b6c15c357543247a +0 -0
  182. data/test/dummy/tmp/cache/assets/C76/F10/sprockets%2F536e031c5d9a257b602d38f8711480a2 +0 -0
  183. data/test/dummy/tmp/cache/assets/C7C/7C0/sprockets%2F951d4a02d8b2ce148765e618081a8036 +0 -0
  184. data/test/dummy/tmp/cache/assets/C80/780/sprockets%2F49930c35001a30c38745b89a6a86cf74 +0 -0
  185. data/test/dummy/tmp/cache/assets/C82/580/sprockets%2F8118f4526088ba8fd441f20317475d6b +0 -0
  186. data/test/dummy/tmp/cache/assets/C82/AA0/sprockets%2Fd83006c52345d7fe51216f1e577a8185 +0 -0
  187. data/test/dummy/tmp/cache/assets/C84/A30/sprockets%2F4867b0b9b390b58a539162663f95a11d +0 -0
  188. data/test/dummy/tmp/cache/assets/C85/310/sprockets%2Fc638d86c720815e5b635e0a3646e2186 +0 -0
  189. data/test/dummy/tmp/cache/assets/C85/A90/sprockets%2Fc1f8ee195823c02e7b7c623493141937 +0 -0
  190. data/test/dummy/tmp/cache/assets/C86/030/sprockets%2F0ad25c896165036167b94387675bcdd1 +0 -0
  191. data/test/dummy/tmp/cache/assets/C86/1D0/sprockets%2F27b505354597df6d366bbc531082e198 +0 -0
  192. data/test/dummy/tmp/cache/assets/C88/400/sprockets%2F9454b598601cfa56142892fc3f11e267 +0 -0
  193. data/test/dummy/tmp/cache/assets/C88/960/sprockets%2F50655bc2c86c7c3007756af818375e64 +0 -0
  194. data/test/dummy/tmp/cache/assets/C89/9E0/sprockets%2Fbc5d891273e7d61e56762000337868bf +0 -0
  195. data/test/dummy/tmp/cache/assets/C8B/0F0/sprockets%2F3317c35ce7597681091ac91985d08bb5 +0 -0
  196. data/test/dummy/tmp/cache/assets/C8B/A30/sprockets%2Fe20153c26552232703d0f4a5a60b10ed +0 -0
  197. data/test/dummy/tmp/cache/assets/C8E/1A0/sprockets%2F7937090f77385164f68c0ee252b26be5 +0 -0
  198. data/test/dummy/tmp/cache/assets/C8E/E40/sprockets%2F96aaf9af5e7906347880902610773bc5 +0 -0
  199. data/test/dummy/tmp/cache/assets/C92/5E0/sprockets%2F6638d8088cb498bf531942a54706ad85 +0 -0
  200. data/test/dummy/tmp/cache/assets/C92/E60/sprockets%2Fa80a146215a040d03e312a796c0b95f2 +0 -0
  201. data/test/dummy/tmp/cache/assets/C93/F70/sprockets%2F65f6452a7e17925ac0894c3e1858874c +0 -0
  202. data/test/dummy/tmp/cache/assets/C94/200/sprockets%2F8dae686ee6012f59a55568f381753237 +0 -0
  203. data/test/dummy/tmp/cache/assets/C94/230/sprockets%2Ff1065a9c342c30d071c501513a608e7a +0 -0
  204. data/test/dummy/tmp/cache/assets/C9B/D70/sprockets%2F3673a307810246b3d9e4ca84d3a8000a +0 -0
  205. data/test/dummy/tmp/cache/assets/C9F/CE0/sprockets%2F56383454ba44300671223dd6ab4b7ed3 +0 -0
  206. data/test/dummy/tmp/cache/assets/CA0/400/sprockets%2F416eb009b505cf50a4088253ba48268a +0 -0
  207. data/test/dummy/tmp/cache/assets/CA2/4E0/sprockets%2F064662810df01b94c2434af6f90161af +0 -0
  208. data/test/dummy/tmp/cache/assets/CA4/0A0/sprockets%2F482164b83a43ac07c4e351f2a936247b +0 -0
  209. data/test/dummy/tmp/cache/assets/CA5/F30/sprockets%2Fb2f70423bf51f566d201679bd037170e +0 -0
  210. data/test/dummy/tmp/cache/assets/CA9/5A0/sprockets%2F8282351dd11504a68cbc8500b7786cf2 +0 -0
  211. data/test/dummy/tmp/cache/assets/CA9/E20/sprockets%2F1ca84c82be52603a0c947256a38a0598 +0 -0
  212. data/test/dummy/tmp/cache/assets/CAA/D90/sprockets%2Fd477a5c2046351a0c462bb945e3954e5 +0 -0
  213. data/test/dummy/tmp/cache/assets/CB3/C00/sprockets%2F63c296a983bb460c9848035483be2cb2 +0 -0
  214. data/test/dummy/tmp/cache/assets/CB7/ED0/sprockets%2Ff8695d0f1536c18f414dfa467632323f +0 -0
  215. data/test/dummy/tmp/cache/assets/CB7/FA0/sprockets%2F62d364e38ba9b500f8b1633367f782b9 +0 -0
  216. data/test/dummy/tmp/cache/assets/CB8/180/sprockets%2Fe66eae8997e04c4bf70531e166511662 +0 -0
  217. data/test/dummy/tmp/cache/assets/CB8/3D0/sprockets%2F82660934f515fc61a144b9c9cd39c482 +0 -0
  218. data/test/dummy/tmp/cache/assets/CB8/EA0/sprockets%2F9e63d365e2159c725d111698cc04a7e7 +0 -0
  219. data/test/dummy/tmp/cache/assets/CB8/EF0/sprockets%2Ff47909056b54fbb653c60c2b89746b07 +0 -0
  220. data/test/dummy/tmp/cache/assets/CB9/0C0/sprockets%2F4e8172b657637124dc8887da053dc90d +0 -0
  221. data/test/dummy/tmp/cache/assets/CBA/250/sprockets%2F39bb3860405888c9f3b4b35c738b940c +0 -0
  222. data/test/dummy/tmp/cache/assets/CBB/E80/sprockets%2F43b17645e39f018bc195bc9828f4b357 +0 -0
  223. data/test/dummy/tmp/cache/assets/CBC/520/sprockets%2Fc6485291750c5ad1b2498ad90498a67f +0 -0
  224. data/test/dummy/tmp/cache/assets/CBC/620/sprockets%2Fa222028f7794f7e9c619a390b389f0d3 +0 -0
  225. data/test/dummy/tmp/cache/assets/CBC/6C0/sprockets%2F464439bf5a0e28d80594ee09a9509f51 +0 -0
  226. data/test/dummy/tmp/cache/assets/CBC/6C0/sprockets%2F6f494cff47ee245d30168217542c66d6 +0 -0
  227. data/test/dummy/tmp/cache/assets/CBF/8B0/sprockets%2F5c98534d57c1e7f7d2926173d27e4d14 +0 -0
  228. data/test/dummy/tmp/cache/assets/CC0/170/sprockets%2F458478f2faf8559d5008ca28c64232f7 +0 -0
  229. data/test/dummy/tmp/cache/assets/CC0/640/sprockets%2Fd0118b2031c44248f899dc8f66784c9e +0 -0
  230. data/test/dummy/tmp/cache/assets/CC0/E60/sprockets%2F9731b0739ec7356b2e484cb427d6955f +0 -0
  231. data/test/dummy/tmp/cache/assets/CC4/B10/sprockets%2F55b1a4137e59cad5520e1f012eb29021 +0 -0
  232. data/test/dummy/tmp/cache/assets/CC4/B80/sprockets%2F5b090557c9468f93cc1ab77898ba2629 +0 -0
  233. data/test/dummy/tmp/cache/assets/CC7/0B0/sprockets%2Fa26009e31f9e68672f4fc7f873909a64 +0 -0
  234. data/test/dummy/tmp/cache/assets/CC7/370/sprockets%2F9603f587d0629697951e09f1d4fdaf25 +0 -0
  235. data/test/dummy/tmp/cache/assets/CCF/F90/sprockets%2F5829cbee03489d953e8a7f842925776b +0 -0
  236. data/test/dummy/tmp/cache/assets/CD3/250/sprockets%2F9982c13eacaf46622739beab50120614 +0 -0
  237. data/test/dummy/tmp/cache/assets/CD4/6A0/sprockets%2F46b43cd41eba3026e74fa4b450369707 +0 -0
  238. data/test/dummy/tmp/cache/assets/CD4/D20/sprockets%2F02e2c15292e6082a4626f13a4aa839ff +0 -0
  239. data/test/dummy/tmp/cache/assets/CD8/C00/sprockets%2F9090b24116705be9a907d1db3b66a65e +0 -0
  240. data/test/dummy/tmp/cache/assets/CD8/D40/sprockets%2F73570572f17300ebf2dda1ef2635149e +0 -0
  241. data/test/dummy/tmp/cache/assets/CD9/970/sprockets%2F136161482305ce48be8cb039cba47f64 +0 -0
  242. data/test/dummy/tmp/cache/assets/CD9/D90/sprockets%2F87979893cfde1b28afc60797a9948345 +0 -0
  243. data/test/dummy/tmp/cache/assets/CDC/B50/sprockets%2F0f1e213595a02089df9735ec41c3ee80 +0 -0
  244. data/test/dummy/tmp/cache/assets/CDD/4D0/sprockets%2F0f6b3e82dd3d95341ee015499e3072b3 +0 -0
  245. data/test/dummy/tmp/cache/assets/CDF/710/sprockets%2F16d775d6707a066df80d10cd1528ff33 +0 -0
  246. data/test/dummy/tmp/cache/assets/CE0/8E0/sprockets%2Ff8d73c0137e4da7517c4127b6e056d29 +0 -0
  247. data/test/dummy/tmp/cache/assets/CE1/A00/sprockets%2F168b4bf7364dfd883a5930302e0f554c +0 -0
  248. data/test/dummy/tmp/cache/assets/CE3/240/sprockets%2F018ba37f3cc68a07d752729e44e1790e +0 -0
  249. data/test/dummy/tmp/cache/assets/CE5/3C0/sprockets%2F51278e12fb2f83652a4698d0a7ffa625 +0 -0
  250. data/test/dummy/tmp/cache/assets/CE5/820/sprockets%2Fd5837a90d9d83d7208a14905e1f0f63d +0 -0
  251. data/test/dummy/tmp/cache/assets/CE5/A80/sprockets%2Ff284835027dd09004e65c8c7fcf4137d +0 -0
  252. data/test/dummy/tmp/cache/assets/CE5/F10/sprockets%2Fe9cf045465025d8527c83c3b93625fca +0 -0
  253. data/test/dummy/tmp/cache/assets/CE5/F80/sprockets%2F411e28ad08572cd67fcf1901569c45c8 +0 -0
  254. data/test/dummy/tmp/cache/assets/CE6/4A0/sprockets%2F9c04b8b8df7217a708732da4982a5f61 +0 -0
  255. data/test/dummy/tmp/cache/assets/CE7/650/sprockets%2F834b60044436456eefb9ce5cf7144d38 +0 -0
  256. data/test/dummy/tmp/cache/assets/CE7/970/sprockets%2Fc89cf760b663827c5e771b93d107b2c2 +0 -0
  257. data/test/dummy/tmp/cache/assets/CE7/A40/sprockets%2F2974c4aef7a04f06738c8f6a2066e292 +0 -0
  258. data/test/dummy/tmp/cache/assets/CE7/C70/sprockets%2F8627e999f207ce7214e0ab06afe86412 +0 -0
  259. data/test/dummy/tmp/cache/assets/CE8/AA0/sprockets%2Fd569f5f91016b77401782ef3b42de6a6 +0 -0
  260. data/test/dummy/tmp/cache/assets/CE8/C90/sprockets%2Fb58b83d1bc902887bc247af8336556c4 +0 -0
  261. data/test/dummy/tmp/cache/assets/CEA/860/sprockets%2F198736e2441a36cecc857814e7dda932 +0 -0
  262. data/test/dummy/tmp/cache/assets/CEB/0A0/sprockets%2Fa19152c9838b60787bad54bf0f5f6448 +0 -0
  263. data/test/dummy/tmp/cache/assets/CEB/B70/sprockets%2F139d9789a1a5e456ca4f796db15c5450 +0 -0
  264. data/test/dummy/tmp/cache/assets/CEB/B80/sprockets%2Fbd5b638965aac89832c75292e6c1435c +0 -0
  265. data/test/dummy/tmp/cache/assets/CEC/030/sprockets%2F15d996d59f6c9ce6c21f52604b903c71 +0 -0
  266. data/test/dummy/tmp/cache/assets/CEC/B30/sprockets%2F7cf9a1c683f008354d7837ea11439f6f +0 -0
  267. data/test/dummy/tmp/cache/assets/CEC/B60/sprockets%2F9dec0e0f236608a79f6690cf29211e59 +0 -0
  268. data/test/dummy/tmp/cache/assets/CED/500/sprockets%2F23db1088d6beb9cff9245e1648555294 +0 -0
  269. data/test/dummy/tmp/cache/assets/CED/5E0/sprockets%2F6e94c3343eb6f33eb4fd9803085d2983 +0 -0
  270. data/test/dummy/tmp/cache/assets/CED/730/sprockets%2Ffd2399e766d1a513490bd481898b2eb5 +0 -0
  271. data/test/dummy/tmp/cache/assets/CEE/920/sprockets%2F97c97b08d42738b583ed92b55c540a4f +0 -0
  272. data/test/dummy/tmp/cache/assets/CEE/C90/sprockets%2Fc66d1d80067892e2b17e3666f8255eec +0 -0
  273. data/test/dummy/tmp/cache/assets/CEF/160/sprockets%2F74caa14e02046241cad519b5c36c20a6 +0 -0
  274. data/test/dummy/tmp/cache/assets/CEF/F00/sprockets%2F8ac77338a1dc57bb32999653c561e74e +0 -0
  275. data/test/dummy/tmp/cache/assets/CF0/950/sprockets%2Fd08f99c34c161881adb05d342e8984f9 +0 -0
  276. data/test/dummy/tmp/cache/assets/CF1/980/sprockets%2Ffe3e06873a1d9f624947006e38fac498 +0 -0
  277. data/test/dummy/tmp/cache/assets/CF5/5C0/sprockets%2F64a4190014fe00d17e708fc02dfc2a32 +0 -0
  278. data/test/dummy/tmp/cache/assets/CF5/760/sprockets%2F681176b164b052212cabffc000e548ae +0 -0
  279. data/test/dummy/tmp/cache/assets/CF8/130/sprockets%2Fd519234d99322fc8c5e8d16d52e96d78 +0 -0
  280. data/test/dummy/tmp/cache/assets/CF8/8A0/sprockets%2Fa4144fea021936c315c3e315b56d6c2a +0 -0
  281. data/test/dummy/tmp/cache/assets/CF9/B70/sprockets%2F8144ebf49f85b18c46d90b897239b56e +0 -0
  282. data/test/dummy/tmp/cache/assets/CF9/EB0/sprockets%2F6b591f1a73b4b1b13410a5e3d0c2e488 +0 -0
  283. data/test/dummy/tmp/cache/assets/CFC/7F0/sprockets%2F6158d3ff6993e4c114a894dd371999ec +0 -0
  284. data/test/dummy/tmp/cache/assets/CFD/160/sprockets%2Fc63d29c7bc89b27fc00430230ba1d383 +0 -0
  285. data/test/dummy/tmp/cache/assets/CFD/750/sprockets%2Ff86ed3e35003369a86787f9cb98de345 +0 -0
  286. data/test/dummy/tmp/cache/assets/CFF/FC0/sprockets%2Ff34d34ffdba26c9d04860c02d6412107 +0 -0
  287. data/test/dummy/tmp/cache/assets/D00/5D0/sprockets%2F02f5e8429793cb8b4b69d38f8a7395e9 +0 -0
  288. data/test/dummy/tmp/cache/assets/D00/690/sprockets%2F488324fb426a1e3cb3ca16488caf4004 +0 -0
  289. data/test/dummy/tmp/cache/assets/D01/6F0/sprockets%2F740aff323f074082319acda2a34e781e +0 -0
  290. data/test/dummy/tmp/cache/assets/D02/320/sprockets%2F95d58a54f71758967c19cec8367ceb83 +0 -0
  291. data/test/dummy/tmp/cache/assets/D02/4C0/sprockets%2F6386d72b2c51c911a7fd84ba612430cc +0 -0
  292. data/test/dummy/tmp/cache/assets/D02/9C0/sprockets%2F65be886f420229fb150c2c10ea747c1b +0 -0
  293. data/test/dummy/tmp/cache/assets/D03/B80/sprockets%2F31dd24009526a39382b08eee51c6ad5c +0 -0
  294. data/test/dummy/tmp/cache/assets/D05/8A0/sprockets%2Fd1e45653c3a4190fb4dcc1b690781a55 +0 -0
  295. data/test/dummy/tmp/cache/assets/D06/590/sprockets%2F19c899c20cf5d9b8629878e3add89708 +0 -0
  296. data/test/dummy/tmp/cache/assets/D06/A70/sprockets%2Ff5da4e04222a35db9d267255424bf5c6 +0 -0
  297. data/test/dummy/tmp/cache/assets/D07/7F0/sprockets%2F3fb0ed6b32aa83a6878d12a209c38824 +0 -0
  298. data/test/dummy/tmp/cache/assets/D07/BF0/sprockets%2F47962bb2378ffb6010aaa3c0238f6d66 +0 -0
  299. data/test/dummy/tmp/cache/assets/D07/DC0/sprockets%2Fcf13f583677aa0343a26a3c58d25b1e8 +0 -0
  300. data/test/dummy/tmp/cache/assets/D09/020/sprockets%2F5176362c460747d5ebeb6c2ca3e02d84 +0 -0
  301. data/test/dummy/tmp/cache/assets/D09/7F0/sprockets%2Fa2d67c31222348f16a9812df26da3e8d +0 -0
  302. data/test/dummy/tmp/cache/assets/D0A/DD0/sprockets%2F00e49bc1f2658a16cb7682a0a8e95c16 +0 -0
  303. data/test/dummy/tmp/cache/assets/D0B/3E0/sprockets%2F66c11f02337c8851bfab67bbb3b94916 +0 -0
  304. data/test/dummy/tmp/cache/assets/D0B/E20/sprockets%2Ffabf936c2485109116fb25a3a277b28f +0 -0
  305. data/test/dummy/tmp/cache/assets/D0C/2E0/sprockets%2Fecb35ec370e250a63784c2f508b76a38 +0 -0
  306. data/test/dummy/tmp/cache/assets/D0E/010/sprockets%2F797b9e08c55a2106f8e2dace455710d0 +0 -0
  307. data/test/dummy/tmp/cache/assets/D0E/180/sprockets%2F045e183281dfc37485db513d585c5bdb +0 -0
  308. data/test/dummy/tmp/cache/assets/D0E/4E0/sprockets%2Fb2cdbc63ab95b474d109990759329a2a +0 -0
  309. data/test/dummy/tmp/cache/assets/D0E/7B0/sprockets%2Faf821bc72620991b57062886abfc0f8a +0 -0
  310. data/test/dummy/tmp/cache/assets/D0E/A90/sprockets%2F4ed87cbd33472d8a68d129e7c0a24045 +0 -0
  311. data/test/dummy/tmp/cache/assets/D0E/E40/sprockets%2Fdc478cae3337db897210c13c9c711e82 +0 -0
  312. data/test/dummy/tmp/cache/assets/D0F/590/sprockets%2F0602a50a4d729e9be6e2589d62d028bf +0 -0
  313. data/test/dummy/tmp/cache/assets/D10/890/sprockets%2Fdfa76c032ef4cb2636762a847488e0a2 +0 -0
  314. data/test/dummy/tmp/cache/assets/D11/FC0/sprockets%2F9bd6c83d367423fe05ef6c3338143aa6 +0 -0
  315. data/test/dummy/tmp/cache/assets/D12/1C0/sprockets%2F5901cb9faf1725dd2e472ca2965b4287 +0 -0
  316. data/test/dummy/tmp/cache/assets/D13/520/sprockets%2F3316346df1f7f5ff0202f8d5b4742de7 +0 -0
  317. data/test/dummy/tmp/cache/assets/D13/690/sprockets%2F305c399e52a63447a7be45c4d5d3dd74 +0 -0
  318. data/test/dummy/tmp/cache/assets/D13/6B0/sprockets%2F0975ed2a9d299bf1c719b3b1137e581b +0 -0
  319. data/test/dummy/tmp/cache/assets/D14/340/sprockets%2F4d057c80e80694c2c4d637ecd538bc08 +0 -0
  320. data/test/dummy/tmp/cache/assets/D14/BD0/sprockets%2Ffc2255112852fb55d96d41a92f8fb6b6 +0 -0
  321. data/test/dummy/tmp/cache/assets/D15/BD0/sprockets%2Fb15d82cc0a8387b5333c89a746d49f0e +0 -0
  322. data/test/dummy/tmp/cache/assets/D16/420/sprockets%2Fc1439b84cda5475e55f3d8da6071467c +0 -0
  323. data/test/dummy/tmp/cache/assets/D17/6C0/sprockets%2F69144d8b21e495ac17e4994fdfa3a803 +0 -0
  324. data/test/dummy/tmp/cache/assets/D19/680/sprockets%2Fcd3a545b89d274cfd328f4d341f96272 +0 -0
  325. data/test/dummy/tmp/cache/assets/D19/760/sprockets%2F6cb307be30e1d67f838e8d11a0678d89 +0 -0
  326. data/test/dummy/tmp/cache/assets/D19/AD0/sprockets%2F113bd6f12a1645dc5cc6a10bb3045b15 +0 -0
  327. data/test/dummy/tmp/cache/assets/D1B/210/sprockets%2F92ebfed0378e79e9bc22e628733d4042 +0 -0
  328. data/test/dummy/tmp/cache/assets/D1B/A60/sprockets%2F0f13887548f4f3b551c8c4a4b487e6bd +0 -0
  329. data/test/dummy/tmp/cache/assets/D1E/360/sprockets%2F4a6a3690f7ffd0ee9f19758978b3a200 +0 -0
  330. data/test/dummy/tmp/cache/assets/D1E/370/sprockets%2F99ee518676e86a61ec0dca0706665c5d +0 -0
  331. data/test/dummy/tmp/cache/assets/D1F/5D0/sprockets%2Fce9e23d48e27f794d23915d707fb9b03 +0 -0
  332. data/test/dummy/tmp/cache/assets/D20/A50/sprockets%2F4783e2bd28795d2da95bb0e195d9735e +0 -0
  333. data/test/dummy/tmp/cache/assets/D22/0B0/sprockets%2F9dfda36b032e59892637b875d7af392b +0 -0
  334. data/test/dummy/tmp/cache/assets/D22/2C0/sprockets%2Fe42d5d90d467a803999bdec116955f8b +0 -0
  335. data/test/dummy/tmp/cache/assets/D22/820/sprockets%2F1bc531079d5acc4c26b027b910b2af42 +0 -0
  336. data/test/dummy/tmp/cache/assets/D22/D40/sprockets%2Fc4121b103539f9c9fa321f05b1cb0a6b +0 -0
  337. data/test/dummy/tmp/cache/assets/D23/610/sprockets%2F0e51cca080cc65e62e080941b232a1ed +0 -0
  338. data/test/dummy/tmp/cache/assets/D25/C00/sprockets%2Ff63d097054df34bc660bdf98f7661b99 +0 -0
  339. data/test/dummy/tmp/cache/assets/D25/E40/sprockets%2F72fe6a6283eff449a28d79d8c33494d0 +0 -0
  340. data/test/dummy/tmp/cache/assets/D2A/6F0/sprockets%2Fd6e43c7223231cda4b71e82ba285bd40 +0 -0
  341. data/test/dummy/tmp/cache/assets/D2D/E40/sprockets%2Faf21fa3d26ad3f68a23532178e20fb15 +0 -0
  342. data/test/dummy/tmp/cache/assets/D2F/100/sprockets%2F8c0286ee70744ca12c7c12a563de4b2a +0 -0
  343. data/test/dummy/tmp/cache/assets/D2F/770/sprockets%2F02fc9c6163ec87ca3301a8ed104a5d63 +0 -0
  344. data/test/dummy/tmp/cache/assets/D30/5C0/sprockets%2F22dfce18279e968c8824f70808e6fce8 +0 -0
  345. data/test/dummy/tmp/cache/assets/D30/9E0/sprockets%2F0d913be407e5e0c8732bc2c4ed6e2160 +0 -0
  346. data/test/dummy/tmp/cache/assets/D34/020/sprockets%2F99d101b09145af7ac80cdd219ee4730b +0 -0
  347. data/test/dummy/tmp/cache/assets/D35/120/sprockets%2Fee634821c4051385267b64ef5dcba3aa +0 -0
  348. data/test/dummy/tmp/cache/assets/D36/7F0/sprockets%2F78e0c63f0043ae6e6536ec504cc23a9b +0 -0
  349. data/test/dummy/tmp/cache/assets/D36/E70/sprockets%2F69b00a4118d012bf6d7cf293b5f316ff +0 -0
  350. data/test/dummy/tmp/cache/assets/D39/3A0/sprockets%2F2e21042d01b594dd46e5a7b2bece9389 +0 -0
  351. data/test/dummy/tmp/cache/assets/D3A/7B0/sprockets%2Ff812a5e25abeb03b136494656f3b79bc +0 -0
  352. data/test/dummy/tmp/cache/assets/D3A/A00/sprockets%2F1077cd94fef55fbb01ce529612180bd5 +0 -0
  353. data/test/dummy/tmp/cache/assets/D3A/ED0/sprockets%2F5ae1cf0266d63b8eb0647535ca93b63d +0 -0
  354. data/test/dummy/tmp/cache/assets/D3C/640/sprockets%2F42e7a70bb8be9398385afb3c4742aa04 +0 -0
  355. data/test/dummy/tmp/cache/assets/D3C/BB0/sprockets%2Ff498d519cb8ac1895bb3aa90117d424a +0 -0
  356. data/test/dummy/tmp/cache/assets/D3D/A60/sprockets%2Fc1ddc173463642dde6a64d0ae5518c79 +0 -0
  357. data/test/dummy/tmp/cache/assets/D3E/940/sprockets%2F5ed82a03c1de5c34135b67ff053787ec +0 -0
  358. data/test/dummy/tmp/cache/assets/D3E/CF0/sprockets%2Ffdaaeb4c030471898b22f8c144f76b56 +0 -0
  359. data/test/dummy/tmp/cache/assets/D3F/050/sprockets%2Fab4aa96dbce1e6b359f2658118291d90 +0 -0
  360. data/test/dummy/tmp/cache/assets/D3F/350/sprockets%2Fc430fa77be69b17f1c9d6c01d667501f +0 -0
  361. data/test/dummy/tmp/cache/assets/D3F/6B0/sprockets%2Fd4c6072434f9fab0ef336571f108efb6 +0 -0
  362. data/test/dummy/tmp/cache/assets/D3F/E10/sprockets%2Ff8492202733ea4a4f67065c95eec1beb +0 -0
  363. data/test/dummy/tmp/cache/assets/D40/D10/sprockets%2F7af151c9b6080d9285fe058ae6d40c4d +0 -0
  364. data/test/dummy/tmp/cache/assets/D41/8A0/sprockets%2Fbc7ce77806517ea173350e6a4d8c55db +0 -0
  365. data/test/dummy/tmp/cache/assets/D42/140/sprockets%2F1cb73727ffa2680da8200ea7abf78669 +0 -0
  366. data/test/dummy/tmp/cache/assets/D42/DC0/sprockets%2F6c6197617cfb36bcc7bac0477815a3f5 +0 -0
  367. data/test/dummy/tmp/cache/assets/D43/6F0/sprockets%2F38649a8cba0b6c9788cb58f6e03da040 +0 -0
  368. data/test/dummy/tmp/cache/assets/D43/FE0/sprockets%2F5d585d195aa6c45453c7d8125fcb1dc8 +0 -0
  369. data/test/dummy/tmp/cache/assets/D44/4B0/sprockets%2F0eecb09395e147d5b94245d54cc8d6d2 +0 -0
  370. data/test/dummy/tmp/cache/assets/D45/3B0/sprockets%2Fd26b5a0d570ef57d06df6f032e9b8980 +0 -0
  371. data/test/dummy/tmp/cache/assets/D46/600/sprockets%2F1c942ecb30874a3f9e9fea418725ab75 +0 -0
  372. data/test/dummy/tmp/cache/assets/D46/770/sprockets%2F96355435f9ab8090c2d3e4f0ddd9b7c3 +0 -0
  373. data/test/dummy/tmp/cache/assets/D46/8A0/sprockets%2F49683a7741a9baf859c3aa7ff32a417b +0 -0
  374. data/test/dummy/tmp/cache/assets/D46/930/sprockets%2F3f7e8c9b45f15625db37da7d7325dc05 +0 -0
  375. data/test/dummy/tmp/cache/assets/D46/C80/sprockets%2Ff4ba1c28702e084d8c375097c78aea9e +0 -0
  376. data/test/dummy/tmp/cache/assets/D47/670/sprockets%2F95284b12addf9c46e49d92031ace56d8 +0 -0
  377. data/test/dummy/tmp/cache/assets/D47/8F0/sprockets%2F1cc6e49382be4f74cbb97821ae1928c4 +0 -0
  378. data/test/dummy/tmp/cache/assets/D47/AC0/sprockets%2Fcb9189183de4d74faa04d6ad1347964f +0 -0
  379. data/test/dummy/tmp/cache/assets/D48/250/sprockets%2F84991347702fd5edbb2ebb5515963ece +0 -0
  380. data/test/dummy/tmp/cache/assets/D48/2F0/sprockets%2F6b79e4839df89b4abb51c2c6105d15e8 +0 -0
  381. data/test/dummy/tmp/cache/assets/D48/960/sprockets%2F90e2c11ff8fd31e591b9fd39932631bf +0 -0
  382. data/test/dummy/tmp/cache/assets/D4A/DE0/sprockets%2F45bff385904356cf5b4852a8ef07e1fb +0 -0
  383. data/test/dummy/tmp/cache/assets/D4E/5A0/sprockets%2Ffb32d449b4bc8d5193d5daf6838f1667 +0 -0
  384. data/test/dummy/tmp/cache/assets/D4E/6C0/sprockets%2Fedd9cf282af0f00637e5273c8c3888b9 +0 -0
  385. data/test/dummy/tmp/cache/assets/D50/810/sprockets%2Fee536e389f63f834aece59d21801d36f +0 -0
  386. data/test/dummy/tmp/cache/assets/D50/ED0/sprockets%2F5332ba66dc2dfa796617ee96ce9d9900 +0 -0
  387. data/test/dummy/tmp/cache/assets/D51/230/sprockets%2F742ba6ca9f84d98ffc38ca5687c05155 +0 -0
  388. data/test/dummy/tmp/cache/assets/D53/440/sprockets%2F2def445147b9f5d6363f6f6d497d2f0e +0 -0
  389. data/test/dummy/tmp/cache/assets/D53/530/sprockets%2F59ee24852d9e4f5fbc71c76d036ec773 +0 -0
  390. data/test/dummy/tmp/cache/assets/D53/E50/sprockets%2Fb969596338bb3970b4d09a9bf1dd4ff6 +0 -0
  391. data/test/dummy/tmp/cache/assets/D54/0D0/sprockets%2F448752db3a53dd453db1b01de121ebd2 +0 -0
  392. data/test/dummy/tmp/cache/assets/D54/210/sprockets%2F685458463f9ac9566ebff2e93bbc920b +0 -0
  393. data/test/dummy/tmp/cache/assets/D56/140/sprockets%2F20a89c927f3ff593ebf3349f31f39e9a +0 -0
  394. data/test/dummy/tmp/cache/assets/D56/1F0/sprockets%2F291fcb7a26ff3aac6bc1404e0a247242 +0 -0
  395. data/test/dummy/tmp/cache/assets/D56/BA0/sprockets%2Fed013a2db663133e834b255e3aff20da +0 -0
  396. data/test/dummy/tmp/cache/assets/D59/070/sprockets%2F822cd47e69d40ba87f95181fdd698ed5 +0 -0
  397. data/test/dummy/tmp/cache/assets/D5D/120/sprockets%2F1d71e8cf1b3ca05ca8165a84a90bb615 +0 -0
  398. data/test/dummy/tmp/cache/assets/D5F/7F0/sprockets%2Fabbcc55042a82b42c900c09d59de4c29 +0 -0
  399. data/test/dummy/tmp/cache/assets/D5F/A30/sprockets%2F1b6a076e9dfac220107d3ec6b4a3b766 +0 -0
  400. data/test/dummy/tmp/cache/assets/D61/180/sprockets%2F8d15744bb332d6b8b1ffef2ce0315c04 +0 -0
  401. data/test/dummy/tmp/cache/assets/D62/2E0/sprockets%2F51a06ddef9bd05b405fd605d37be3154 +0 -0
  402. data/test/dummy/tmp/cache/assets/D63/D60/sprockets%2Ff791df22a3d7e2f4ef01ad0742f370c1 +0 -0
  403. data/test/dummy/tmp/cache/assets/D63/DC0/sprockets%2Fc298c2b66150c7f11d95cecf450bb14a +0 -0
  404. data/test/dummy/tmp/cache/assets/D63/DE0/sprockets%2F73c9e04acfc930681ab170b3e4bfc453 +0 -0
  405. data/test/dummy/tmp/cache/assets/D64/670/sprockets%2F7dc8c0ad36d436eb56a0824a46e0eb08 +0 -0
  406. data/test/dummy/tmp/cache/assets/D65/990/sprockets%2Fa2965ca374a00aaceb747e60b654e2f8 +0 -0
  407. data/test/dummy/tmp/cache/assets/D67/A60/sprockets%2Faa00971b7f5d4b45eb77d656a284a5aa +0 -0
  408. data/test/dummy/tmp/cache/assets/D67/B70/sprockets%2F93b435826e79fa4e5f6eaa001a7a11bf +0 -0
  409. data/test/dummy/tmp/cache/assets/D68/000/sprockets%2F39c01fa5c01830f3558eb1c97c4dfb6b +0 -0
  410. data/test/dummy/tmp/cache/assets/D68/210/sprockets%2Fdc284967860db06c2cb2e1da78bab156 +0 -0
  411. data/test/dummy/tmp/cache/assets/D69/490/sprockets%2Fec6b9dc7d26370cb16e31c8f051e3e07 +0 -0
  412. data/test/dummy/tmp/cache/assets/D69/F10/sprockets%2Ff34035624ea8bef910a3f3afdc9f0526 +0 -0
  413. data/test/dummy/tmp/cache/assets/D6B/200/sprockets%2F5d6139fdef36c3f5380b2a7c2c4fc332 +0 -0
  414. data/test/dummy/tmp/cache/assets/D6C/AD0/sprockets%2Fdabce05f6e4419832e20d6b7420fe9a7 +0 -0
  415. data/test/dummy/tmp/cache/assets/D6D/080/sprockets%2F3cc7b7355591babda1661e6c5e9f8c20 +0 -0
  416. data/test/dummy/tmp/cache/assets/D6D/CF0/sprockets%2Fbbad825b6b477d1967533ee21c454ade +0 -0
  417. data/test/dummy/tmp/cache/assets/D6D/E80/sprockets%2F9ef00ee94e3b0eed7c4e45b342085d51 +0 -0
  418. data/test/dummy/tmp/cache/assets/D6E/940/sprockets%2Fb19f43bd8383eeb5e26a4d2b79f1240e +0 -0
  419. data/test/dummy/tmp/cache/assets/D6E/9F0/sprockets%2F15f61ad82d9ca6cce6a0e42b7249662f +0 -0
  420. data/test/dummy/tmp/cache/assets/D6F/AB0/sprockets%2Fb9d2a198d05cec1f1f9e110318cdf929 +0 -0
  421. data/test/dummy/tmp/cache/assets/D71/CA0/sprockets%2F441e444a0921896e5ca39df6bba85daf +0 -0
  422. data/test/dummy/tmp/cache/assets/D72/C00/sprockets%2Fbcb0957c48f5623c9cd792f05cb0f40f +0 -0
  423. data/test/dummy/tmp/cache/assets/D73/6E0/sprockets%2F1f4defb0e469096950900f0ad9c3fde4 +0 -0
  424. data/test/dummy/tmp/cache/assets/D75/6B0/sprockets%2Fec34bca59e6bb0e4ab0ef45953657992 +0 -0
  425. data/test/dummy/tmp/cache/assets/D76/030/sprockets%2F7e8689ec6a9f3754a4aa660e303cbf4a +0 -0
  426. data/test/dummy/tmp/cache/assets/D76/C80/sprockets%2F952307811ad5e9e8b540cf5e9cf08cea +0 -0
  427. data/test/dummy/tmp/cache/assets/D76/CA0/sprockets%2F797920cdabaf2f8431968a34c2cbae79 +0 -0
  428. data/test/dummy/tmp/cache/assets/D78/D60/sprockets%2Feb6b4ca6b29b6f82ea665a74e67d8621 +0 -0
  429. data/test/dummy/tmp/cache/assets/D78/DE0/sprockets%2F77704150a5a59b97997ebeeaa8d2aed2 +0 -0
  430. data/test/dummy/tmp/cache/assets/D79/4D0/sprockets%2Fd9478c98121c5a4bfccf42c262d587fc +0 -0
  431. data/test/dummy/tmp/cache/assets/D79/E80/sprockets%2F7d329345d1b9f914c87fc5e07ea9ab4b +0 -0
  432. data/test/dummy/tmp/cache/assets/D7A/D90/sprockets%2F5e731a54c86bfbaa18ba9e489178cf64 +0 -0
  433. data/test/dummy/tmp/cache/assets/D7C/620/sprockets%2Fa30b274099bbe2af59458e9f9e4d36fa +0 -0
  434. data/test/dummy/tmp/cache/assets/D7E/2A0/sprockets%2F1ce479f9423e748690a75abbabf8af84 +0 -0
  435. data/test/dummy/tmp/cache/assets/D80/3B0/sprockets%2Fd574f0ceb59e292506dc7dc2f99d6b91 +0 -0
  436. data/test/dummy/tmp/cache/assets/D81/B70/sprockets%2F44d160a7cd56a4d4b2e0d23a9c61aab1 +0 -0
  437. data/test/dummy/tmp/cache/assets/D84/0A0/sprockets%2F07fc0bfe2237a171b813aa147f3ced1a +0 -0
  438. data/test/dummy/tmp/cache/assets/D85/5A0/sprockets%2Fc2cbee1b5160e0e8b022933feb36ea30 +0 -0
  439. data/test/dummy/tmp/cache/assets/D8A/2C0/sprockets%2F6ec8da0142f240ce8a7e0b46aea363c1 +0 -0
  440. data/test/dummy/tmp/cache/assets/D8A/370/sprockets%2Fb4600d72a29aba7a39c2ec58aa04f18b +0 -0
  441. data/test/dummy/tmp/cache/assets/D8A/B90/sprockets%2F7506f75d60f93f9e8405ffb9cf85ddb2 +0 -0
  442. data/test/dummy/tmp/cache/assets/D8D/C50/sprockets%2Fa0229d30e2113dbf6d3cd51c5e82ee6c +0 -0
  443. data/test/dummy/tmp/cache/assets/D8F/4A0/sprockets%2Fec8facf81aea15d619953688978be79c +0 -0
  444. data/test/dummy/tmp/cache/assets/D8F/8A0/sprockets%2F5dfeb1f78f62586e3d97cb9e77758da0 +0 -0
  445. data/test/dummy/tmp/cache/assets/D90/2D0/sprockets%2Fac8aa858f328c72e90dff5de97c59939 +0 -0
  446. data/test/dummy/tmp/cache/assets/D93/0F0/sprockets%2Fbae826e41e4d9c8365bc23eb610dea40 +0 -0
  447. data/test/dummy/tmp/cache/assets/D94/1A0/sprockets%2Fb4748c092e8a4c127bcfacb06cdc2735 +0 -0
  448. data/test/dummy/tmp/cache/assets/D94/AD0/sprockets%2Fa1ac4bf342006e1f98def10cf9d7d234 +0 -0
  449. data/test/dummy/tmp/cache/assets/D95/430/sprockets%2Fcf054ac65aa2c4b72d661fc32c898aa5 +0 -0
  450. data/test/dummy/tmp/cache/assets/D95/A60/sprockets%2Fcade84652b25a95128cba5721b7bdb5e +0 -0
  451. data/test/dummy/tmp/cache/assets/D97/4C0/sprockets%2F4d4aea86610bc9652c70455a6beafc4d +0 -0
  452. data/test/dummy/tmp/cache/assets/D97/680/sprockets%2Fbcae9b5fae1163de31141bd7b94c7448 +0 -0
  453. data/test/dummy/tmp/cache/assets/D98/280/sprockets%2F1b8bca892cab85afe98307a2b0b394e2 +0 -0
  454. data/test/dummy/tmp/cache/assets/D99/B10/sprockets%2F4aa8fece5b18d820a44dc266a89d50e0 +0 -0
  455. data/test/dummy/tmp/cache/assets/D99/CD0/sprockets%2Ffe0c5f4b8b52baa0f91870da12599a6d +0 -0
  456. data/test/dummy/tmp/cache/assets/D9A/B20/sprockets%2Fcabbfbb982365500b12a89e74dfcb646 +0 -0
  457. data/test/dummy/tmp/cache/assets/D9B/6B0/sprockets%2Ffd3ec162a92d864e65f1b7ea48a4fa10 +0 -0
  458. data/test/dummy/tmp/cache/assets/D9D/170/sprockets%2F37f702f1f3ad35b9022fc87fdce7de02 +0 -0
  459. data/test/dummy/tmp/cache/assets/D9E/C90/sprockets%2F9cd75b38f1c1f85bbdac2576ca9106b5 +0 -0
  460. data/test/dummy/tmp/cache/assets/D9F/200/sprockets%2F22deb3ee0d99f7b2b283df5382e1ae81 +0 -0
  461. data/test/dummy/tmp/cache/assets/D9F/3D0/sprockets%2Fc85d1920bbf4d6f3b27723fcd2fb7c55 +0 -0
  462. data/test/dummy/tmp/cache/assets/D9F/7F0/sprockets%2Fd8fd738fc116ab5c8da0e4922cfb8180 +0 -0
  463. data/test/dummy/tmp/cache/assets/DA0/1B0/sprockets%2F71e2cd8803aac9fb0bb4c47593cf17e8 +0 -0
  464. data/test/dummy/tmp/cache/assets/DA1/710/sprockets%2Fcc28e7b96a94b2a571877b147fdecaa0 +0 -0
  465. data/test/dummy/tmp/cache/assets/DA2/9A0/sprockets%2F4bd1c9899ece1257adec0c553fc087b2 +0 -0
  466. data/test/dummy/tmp/cache/assets/DA3/9F0/sprockets%2F5122955dfe6694bdc6b69cbea09d2cd1 +0 -0
  467. data/test/dummy/tmp/cache/assets/DA4/A50/sprockets%2F5ccc3cb812b94b7b60841969a9ecbe7b +0 -0
  468. data/test/dummy/tmp/cache/assets/DA5/0E0/sprockets%2Fe61590dc98f1e532ea20e296c5fce7bd +0 -0
  469. data/test/dummy/tmp/cache/assets/DA5/830/sprockets%2Fefce0b2d75e80d1d17b6db8598841ed2 +0 -0
  470. data/test/dummy/tmp/cache/assets/DA5/920/sprockets%2F17fef15ed3d8c1147570663a93efedea +0 -0
  471. data/test/dummy/tmp/cache/assets/DAA/420/sprockets%2F6779ef7b8e5c2c362cfd5d5fa472e1b1 +0 -0
  472. data/test/dummy/tmp/cache/assets/DAB/920/sprockets%2F047a9da6b427dd9d7093799fad63aceb +0 -0
  473. data/test/dummy/tmp/cache/assets/DB0/BF0/sprockets%2F52e4cdf37aa489ff6c138dedf036588d +0 -0
  474. data/test/dummy/tmp/cache/assets/DB1/6D0/sprockets%2Fd7990d5c07f95d0ee1cb9d5e6e5b818c +0 -0
  475. data/test/dummy/tmp/cache/assets/DB1/C80/sprockets%2Fa2d1a10a3cc780fd30127b2be96ddfa2 +0 -0
  476. data/test/dummy/tmp/cache/assets/DB2/1F0/sprockets%2Fca6346c5717c1efd6fae57773f94ee8a +0 -0
  477. data/test/dummy/tmp/cache/assets/DB2/480/sprockets%2Fa249ccdcac57daf829713de88e3629f8 +0 -0
  478. data/test/dummy/tmp/cache/assets/DB2/9D0/sprockets%2F37bbd81e0c7ddf7c7668e674925eaca9 +0 -0
  479. data/test/dummy/tmp/cache/assets/DB7/670/sprockets%2F14afe7f2ff7c6a35f6f5dd27e95593f4 +0 -0
  480. data/test/dummy/tmp/cache/assets/DBC/DF0/sprockets%2Fd1ff56754c1bf2a8d4082abe2f00adb4 +0 -0
  481. data/test/dummy/tmp/cache/assets/DBD/080/sprockets%2F039ace5986a3cbf4cca0b0a753bc71a6 +0 -0
  482. data/test/dummy/tmp/cache/assets/DBE/430/sprockets%2Fe45190f40a462e86ae1ee01f3bbcad8a +0 -0
  483. data/test/dummy/tmp/cache/assets/DC1/C20/sprockets%2Fb60b7b3aeb56bd55b67183b6f151ecca +0 -0
  484. data/test/dummy/tmp/cache/assets/DC4/600/sprockets%2Fa0794a1ac15dbb57b803dbdce2069ff7 +0 -0
  485. data/test/dummy/tmp/cache/assets/DC5/500/sprockets%2F25ac94fa819bdb1fad28f4420fd4b90a +0 -0
  486. data/test/dummy/tmp/cache/assets/DC5/660/sprockets%2F637431e1c8fffeaafc23f021bd49fa06 +0 -0
  487. data/test/dummy/tmp/cache/assets/DC6/7C0/sprockets%2Fb408df7a822c70a0924e0cdf6c8fe2ca +0 -0
  488. data/test/dummy/tmp/cache/assets/DCC/F40/sprockets%2Fdc3342c548fc7d3c4f4e27732b5acfea +0 -0
  489. data/test/dummy/tmp/cache/assets/DCD/740/sprockets%2Fc80244c564e19eada1cdddf5f6d0d962 +0 -0
  490. data/test/dummy/tmp/cache/assets/DCD/8D0/sprockets%2Fbf36f09be83b4d0986ad23ea4d1f32df +0 -0
  491. data/test/dummy/tmp/cache/assets/DCE/170/sprockets%2F2576bc54ebe0a91592bbdbf3f5c8bb57 +0 -0
  492. data/test/dummy/tmp/cache/assets/DCE/1C0/sprockets%2F58cc5eb1cb2a47c8067c940caecf449d +0 -0
  493. data/test/dummy/tmp/cache/assets/DCE/BA0/sprockets%2F57c5ecddc82aa706b1e64691a8a5bcc9 +0 -0
  494. data/test/dummy/tmp/cache/assets/DCF/4A0/sprockets%2F3efd01a56bae3ae99fd13085f75b9e0d +0 -0
  495. data/test/dummy/tmp/cache/assets/DCF/900/sprockets%2Fb4dc2a3c5d5822e5cc13ee7098e9ec2e +0 -0
  496. data/test/dummy/tmp/cache/assets/DCF/E20/sprockets%2Fd24ee80741a60bd4db8f59b784e3ccda +0 -0
  497. data/test/dummy/tmp/cache/assets/DD5/D40/sprockets%2F8a656fbe5efc00f64f2451fff1c21fe9 +0 -0
  498. data/test/dummy/tmp/cache/assets/DD7/600/sprockets%2Fcc47edff1a4a983589bb45bce09533ed +0 -0
  499. data/test/dummy/tmp/cache/assets/DD9/530/sprockets%2Fe9cbd5b6d7b21568cfb4f7990c7b50eb +0 -0
  500. data/test/dummy/tmp/cache/assets/DDB/140/sprockets%2F7815fdf1a6a74db4fca71ff6537ced67 +0 -0
  501. data/test/dummy/tmp/cache/assets/DDE/450/sprockets%2Fdc1aabe992a97f95a43ce5d8364ff9d1 +0 -0
  502. data/test/dummy/tmp/cache/assets/DDF/070/sprockets%2Ffe4d825f88eadf5580f2db2f45c3df28 +0 -0
  503. data/test/dummy/tmp/cache/assets/DDF/3F0/sprockets%2F06db623ed4f5ff5f487dbcade39f9516 +0 -0
  504. data/test/dummy/tmp/cache/assets/DE7/550/sprockets%2Ffff04b0980f1fbe9ece54cd8ca779867 +0 -0
  505. data/test/dummy/tmp/cache/assets/DF0/CB0/sprockets%2F2b2884f2950bbb31aec8a3ef1e16cbdd +0 -0
  506. data/test/dummy/tmp/cache/assets/DF5/0C0/sprockets%2Faf8105cfdb7ceae04b099c4a2f654ce1 +0 -0
  507. data/test/dummy/tmp/cache/assets/DFC/9D0/sprockets%2F38fd8e0a2fde3b853f2a24571cd2dfdd +0 -0
  508. data/test/dummy/tmp/cache/assets/E02/B00/sprockets%2F723ccdfbeacf6c4176de34f371c91af9 +0 -0
  509. data/test/dummy/tmp/cache/assets/E02/DA0/sprockets%2F9829dec75de6c2a52fdc20d428d2edae +0 -0
  510. data/test/dummy/tmp/cache/assets/E02/FD0/sprockets%2F3b854b1f189aea494b8d7cbb8bba57bf +0 -0
  511. data/test/dummy/tmp/cache/assets/E04/860/sprockets%2F972757dbdbdfabfeac8ecb8a15520793 +0 -0
  512. data/test/dummy/tmp/cache/assets/E07/FD0/sprockets%2F2b98add7bf753973c33fe3b83bdb7abf +0 -0
  513. data/test/dummy/tmp/cache/assets/E09/EE0/sprockets%2F3a991c15e3b2bb3a1a61f1cad0babc5d +0 -0
  514. data/test/dummy/tmp/cache/assets/E0B/9C0/sprockets%2F056c4cfcff64c6e7d884bfc5df9a6a30 +0 -0
  515. data/test/dummy/tmp/cache/assets/E0C/810/sprockets%2Fe74897a12cedd8efea5a559354bd5bfc +0 -0
  516. data/test/dummy/tmp/cache/assets/E0F/B40/sprockets%2Ff5dfabed7f563e53d4735ef9c4b7a0e9 +0 -0
  517. data/test/dummy/tmp/cache/assets/E11/DA0/sprockets%2Fe190d6d51f5a7a4d99cb6fcee9aef818 +0 -0
  518. data/test/dummy/tmp/cache/assets/E1F/5E0/sprockets%2Fedacf71afed14b1da329d30fcaf84091 +0 -0
  519. data/test/dummy/tmp/cache/assets/E2D/630/sprockets%2F95b2fe9ec24a6321c9aebcc3b7c53dfe +0 -0
  520. data/test/dummy/tmp/cache/assets/E2F/3D0/sprockets%2Ff740ae8eecbaedadc3c664c62b83e925 +0 -0
  521. data/test/dummy/tmp/cache/assets/E2F/930/sprockets%2F22b1cbacd98f51adeaab5bd8765e4f97 +0 -0
  522. data/test/dummy/tmp/cache/assets/E30/C50/sprockets%2Fdaad6c4c7b1429f8de49d81fac6ad18b +0 -0
  523. data/test/dummy/tmp/cache/assets/E36/230/sprockets%2F56aec75c7f17ef3509d4cadcf2e6fc3d +0 -0
  524. data/test/dummy/tmp/cache/assets/E3C/680/sprockets%2Fd057ba99f8cc7b032da8ed9e8c0dff7c +0 -0
  525. data/test/dummy/tmp/cache/assets/E45/7D0/sprockets%2Fb0cc11f8e54af3bf47bfb15dd0a1cd4a +0 -0
  526. data/test/dummy/tmp/cache/assets/E53/340/sprockets%2Fbad75d3d5f8eba9ceada05fa125a642f +0 -0
  527. data/test/dummy/tmp/cache/assets/E55/340/sprockets%2Faaeaef87c1531a051fcdb8def54f4c1f +0 -0
  528. data/test/dummy/tmp/cache/assets/E5E/CA0/sprockets%2Fdf31d095f37e9abda2e4ddb3e0e6fcb9 +0 -0
  529. data/test/dummy/tmp/cache/assets/E89/BE0/sprockets%2F9bfc41fee1adbc5e0ab3e58eafb550f9 +0 -0
  530. metadata +163 -32
  531. data/app/assets/javascripts/Core/package.json +0 -6
  532. data/app/assets/javascripts/DynamicScene/DynamicScene.profile.js +0 -8
  533. data/app/assets/javascripts/DynamicScene/package.json +0 -6
  534. data/app/assets/javascripts/Renderer/Renderer.profile.js +0 -8
  535. data/app/assets/javascripts/Renderer/package.json +0 -6
  536. data/app/assets/javascripts/Scene/Scene.profile.js +0 -8
  537. data/app/assets/javascripts/Scene/TileLoadQueue.js +0 -123
  538. data/app/assets/javascripts/Scene/package.json +0 -6
  539. data/app/assets/javascripts/Shaders/ComplexConicSensorVolumeFS.js +0 -454
  540. data/app/assets/javascripts/Shaders/ComplexConicSensorVolumeVS.js +0 -24
  541. data/app/assets/javascripts/Shaders/ConstructiveSolidGeometry.js +0 -892
  542. data/app/assets/javascripts/Shaders/Noise.js +0 -477
  543. data/app/assets/javascripts/Shaders/PolygonFSPick.js +0 -11
  544. data/app/assets/javascripts/Shaders/PolygonVSPick.js +0 -36
  545. data/app/assets/javascripts/Shaders/Ray.js +0 -538
  546. data/app/assets/javascripts/Shaders/package.json +0 -6
  547. data/app/assets/javascripts/ThirdParty/ThirdParty.profile.js +0 -8
  548. data/app/assets/javascripts/ThirdParty/package.json +0 -6
  549. data/app/assets/javascripts/Widgets/Widgets.profile.js +0 -8
  550. data/app/assets/javascripts/Widgets/package.json +0 -6
  551. data/app/assets/javascripts/Workers/Workers.profile.js +0 -8
  552. data/app/assets/javascripts/copyrightHeader.js +0 -22
  553. data/app/assets/javascripts/main.js +0 -10
@@ -2,26 +2,22 @@
2
2
  define([
3
3
  './defaultValue',
4
4
  './DeveloperError',
5
- './Cartesian2',
6
5
  './Cartesian3',
7
6
  './Cartesian4',
8
7
  './Cartographic',
9
8
  './Ellipsoid',
10
9
  './GeographicProjection',
11
- './Extent',
12
10
  './Intersect',
13
11
  './Interval',
14
12
  './Matrix4'
15
13
  ], function(
16
14
  defaultValue,
17
15
  DeveloperError,
18
- Cartesian2,
19
16
  Cartesian3,
20
17
  Cartesian4,
21
18
  Cartographic,
22
19
  Ellipsoid,
23
20
  GeographicProjection,
24
- Extent,
25
21
  Intersect,
26
22
  Interval,
27
23
  Matrix4) {
@@ -76,6 +76,25 @@ define([
76
76
  return result;
77
77
  };
78
78
 
79
+ /**
80
+ * Creates a Cartesian2 instance from x and y coordinates.
81
+ * @memberof Cartesian2
82
+ *
83
+ * @param {Number} x The x coordinate.
84
+ * @param {Number} y The y coordinate.
85
+ * @param {Cartesian2} [result] The object onto which to store the result.
86
+ * @return {Cartesian2} The modified result parameter or a new Cartesian2 instance if one was not provided.
87
+ */
88
+ Cartesian2.fromElements = function(x, y, result) {
89
+ if (typeof result === 'undefined') {
90
+ return new Cartesian2(x, y);
91
+ }
92
+
93
+ result.x = x;
94
+ result.y = y;
95
+ return result;
96
+ };
97
+
79
98
  /**
80
99
  * Duplicates a Cartesian2 instance.
81
100
  * @memberof Cartesian2
@@ -111,6 +111,27 @@ define([
111
111
  return result;
112
112
  };
113
113
 
114
+ /**
115
+ * Creates a Cartesian3 instance from x, y and z coordinates.
116
+ * @memberof Cartesian3
117
+ *
118
+ * @param {Number} x The x coordinate.
119
+ * @param {Number} y The y coordinate.
120
+ * @param {Number} z The z coordinate.
121
+ * @param {Cartesian3} [result] The object onto which to store the result.
122
+ * @return {Cartesian3} The modified result parameter or a new Cartesian3 instance if one was not provided.
123
+ */
124
+ Cartesian3.fromElements = function(x, y, z, result) {
125
+ if (typeof result === 'undefined') {
126
+ return new Cartesian3(x, y, z);
127
+ }
128
+
129
+ result.x = x;
130
+ result.y = y;
131
+ result.z = z;
132
+ return result;
133
+ };
134
+
114
135
  /**
115
136
  * Duplicates a Cartesian3 instance.
116
137
  * @memberof Cartesian3
@@ -609,7 +630,8 @@ define([
609
630
  *
610
631
  * @param {Cartesian3} left The first Cartesian.
611
632
  * @param {Cartesian3} right The second Cartesian.
612
- * @return {Number} The cross product.
633
+ * @param {Cartesian3} [result] The object onto which to store the result.
634
+ * @return {Cartesian3} The cross product.
613
635
  *
614
636
  * @exception {DeveloperError} left is required.
615
637
  * @exception {DeveloperError} right is required.
@@ -918,7 +940,8 @@ define([
918
940
  * @memberof Cartesian3
919
941
  *
920
942
  * @param {Cartesian3} right The right hand side Cartesian.
921
- * @return {Number} The cross product.
943
+ * @param {Cartesian3} [result] The object onto which to store the result.
944
+ * @return {Cartesian3} The cross product.
922
945
  *
923
946
  * @exception {DeveloperError} right is required.
924
947
  */
@@ -92,6 +92,29 @@ define([
92
92
  return result;
93
93
  };
94
94
 
95
+ /**
96
+ * Creates a Cartesian4 instance from x, y, z and w coordinates.
97
+ * @memberof Cartesian4
98
+ *
99
+ * @param {Number} x The x coordinate.
100
+ * @param {Number} y The y coordinate.
101
+ * @param {Number} z The z coordinate.
102
+ * @param {Number} w The w coordinate.
103
+ * @param {Cartesian4} [result] The object onto which to store the result.
104
+ * @return {Cartesian4} The modified result parameter or a new Cartesian4 instance if one was not provided.
105
+ */
106
+ Cartesian4.fromElements = function(x, y, z, w, result) {
107
+ if (typeof result === 'undefined') {
108
+ return new Cartesian4(x, y, z, w);
109
+ }
110
+
111
+ result.x = x;
112
+ result.y = y;
113
+ result.z = z;
114
+ result.w = w;
115
+ return result;
116
+ };
117
+
95
118
  /**
96
119
  * Duplicates a Cartesian4 instance.
97
120
  * @memberof Cartesian4
@@ -4,15 +4,12 @@ define([
4
4
  './DeveloperError',
5
5
  './Matrix4',
6
6
  './Cartesian3',
7
- './Cartesian4',
8
7
  './HermiteSpline'
9
- ],
10
- function(
8
+ ], function(
11
9
  defaultValue,
12
10
  DeveloperError,
13
11
  Matrix4,
14
12
  Cartesian3,
15
- Cartesian4,
16
13
  HermiteSpline) {
17
14
  "use strict";
18
15
 
@@ -141,46 +141,39 @@ define([
141
141
  * or not. To control animation, use the <code>shouldAnimate</code> property.
142
142
  * @memberof Clock
143
143
  *
144
- * @param {Number} [secondsToTick] optional parameter to force the clock to tick the provided number of seconds,
145
- * regardless of other settings.
146
144
  * @returns {JulianDate} The new value of the <code>currentTime</code> property.
147
145
  */
148
- Clock.prototype.tick = function(secondsToTick) {
146
+ Clock.prototype.tick = function() {
149
147
  var currentSystemTime = Date.now();
150
-
151
- var currentTime;
152
- if (this.clockStep === ClockStep.SYSTEM_CLOCK) {
153
- currentTime = new JulianDate();
154
- } else {
155
- var startTime = this.startTime;
156
- var stopTime = this.stopTime;
157
- var multiplier = this.multiplier;
158
- var shouldAnimate = this.shouldAnimate;
159
- currentTime = this.currentTime;
160
-
161
- if (typeof secondsToTick !== 'undefined') {
162
- currentTime = currentTime.addSeconds(secondsToTick);
163
- } else if (shouldAnimate) {
148
+ var currentTime = this.currentTime;
149
+ var startTime = this.startTime;
150
+ var stopTime = this.stopTime;
151
+ var multiplier = this.multiplier;
152
+
153
+ if (this.shouldAnimate) {
154
+ if (this.clockStep === ClockStep.SYSTEM_CLOCK) {
155
+ currentTime = new JulianDate();
156
+ } else {
164
157
  if (this.clockStep === ClockStep.TICK_DEPENDENT) {
165
158
  currentTime = currentTime.addSeconds(multiplier);
166
159
  } else {
167
160
  var milliseconds = currentSystemTime - this._lastSystemTime;
168
161
  currentTime = currentTime.addSeconds(multiplier * (milliseconds / 1000.0));
169
162
  }
170
- }
171
163
 
172
- if (this.clockRange === ClockRange.CLAMPED) {
173
- if (currentTime.lessThan(startTime)) {
174
- currentTime = startTime;
175
- } else if (currentTime.greaterThan(stopTime)) {
176
- currentTime = stopTime;
177
- }
178
- } else if (this.clockRange === ClockRange.LOOP_STOP) {
179
- if (currentTime.lessThan(startTime)) {
180
- currentTime = startTime.clone();
181
- }
182
- while (currentTime.greaterThan(stopTime)) {
183
- currentTime = startTime.addSeconds(stopTime.getSecondsDifference(currentTime));
164
+ if (this.clockRange === ClockRange.CLAMPED) {
165
+ if (currentTime.lessThan(startTime)) {
166
+ currentTime = startTime;
167
+ } else if (currentTime.greaterThan(stopTime)) {
168
+ currentTime = stopTime;
169
+ }
170
+ } else if (this.clockRange === ClockRange.LOOP_STOP) {
171
+ if (currentTime.lessThan(startTime)) {
172
+ currentTime = startTime.clone();
173
+ }
174
+ while (currentTime.greaterThan(stopTime)) {
175
+ currentTime = startTime.addSeconds(stopTime.getSecondsDifference(currentTime));
176
+ }
184
177
  }
185
178
  }
186
179
  }
@@ -1,12 +1,9 @@
1
1
  /*global define*/
2
2
  define([
3
3
  './DeveloperError',
4
- './Math',
5
4
  './QuadraticRealPolynomial'
6
- ],
7
- function(
5
+ ], function(
8
6
  DeveloperError,
9
- CesiumMath,
10
7
  QuadraticRealPolynomial) {
11
8
  "use strict";
12
9
 
@@ -208,4 +208,4 @@ define([
208
208
  };
209
209
 
210
210
  return EllipsoidTangentPlane;
211
- });
211
+ });
@@ -2,18 +2,12 @@
2
2
  define([
3
3
  './defaultValue',
4
4
  './DeveloperError',
5
- './Math',
6
5
  './Cartesian3',
7
- './Visibility',
8
- './Ellipsoid',
9
6
  './BoundingSphere'
10
7
  ], function(
11
8
  defaultValue,
12
9
  DeveloperError,
13
- CesiumMath,
14
10
  Cartesian3,
15
- Visibility,
16
- Ellipsoid,
17
11
  BoundingSphere) {
18
12
  "use strict";
19
13
 
@@ -150,5 +144,164 @@ define([
150
144
  return !isOccluded;
151
145
  };
152
146
 
147
+ /**
148
+ * Computes a point that can be used for horizon culling from a list of positions. If the point is below
149
+ * the horizon, all of the positions are guaranteed to be below the horizon as well. The returned point
150
+ * is expressed in the ellipsoid-scaled space and is suitable for use with
151
+ * {@link EllipsoidalOccluder#isScaledSpacePointVisible}.
152
+ *
153
+ * @param {Cartesian3} directionToPoint The direction that the computed point will lie along.
154
+ * A reasonable direction to use is the direction from the center of the ellipsoid to
155
+ * the center of the bounding sphere computed from the positions. The direction need not
156
+ * be normalized.
157
+ * @param {Cartesian3[]} positions The positions from which to compute the horizon culling point. The positions
158
+ * must be expressed in a reference frame centered at the ellipsoid and aligned with the
159
+ * ellipsoid's axes.
160
+ * @param {Cartesian3} [result] The instance on which to store the result instead of allocating a new instance.
161
+ * @returns {Cartesian3} The computed horizon culling point, expressed in the ellipsoid-scaled space.
162
+ */
163
+ EllipsoidalOccluder.prototype.computeHorizonCullingPoint = function(directionToPoint, positions, result) {
164
+ if (typeof directionToPoint === 'undefined') {
165
+ throw new DeveloperError('directionToPoint is required');
166
+ }
167
+ if (typeof positions === 'undefined') {
168
+ throw new DeveloperError('positions is required');
169
+ }
170
+
171
+ var ellipsoid = this._ellipsoid;
172
+
173
+ var scaledSpaceDirectionToPoint = computeScaledSpaceDirectionToPoint(ellipsoid, directionToPoint);
174
+
175
+ var resultMagnitude = 0.0;
176
+
177
+ for (var i = 0, len = positions.length; i < len; ++i) {
178
+ var position = positions[i];
179
+ var candidateMagnitude = computeMagnitude(ellipsoid, position, scaledSpaceDirectionToPoint);
180
+ resultMagnitude = Math.max(resultMagnitude, candidateMagnitude);
181
+ }
182
+
183
+ return magnitudeToPoint(scaledSpaceDirectionToPoint, resultMagnitude, result);
184
+ };
185
+
186
+ var positionScratch = new Cartesian3();
187
+
188
+ /**
189
+ * Computes a point that can be used for horizon culling from a list of positions. If the point is below
190
+ * the horizon, all of the positions are guaranteed to be below the horizon as well. The returned point
191
+ * is expressed in the ellipsoid-scaled space and is suitable for use with
192
+ * {@link EllipsoidalOccluder#isScaledSpacePointVisible}.
193
+ *
194
+ * @param {Cartesian3} directionToPoint The direction that the computed point will lie along.
195
+ * A reasonable direction to use is the direction from the center of the ellipsoid to
196
+ * the center of the bounding sphere computed from the positions. The direction need not
197
+ * be normalized.
198
+ * @param {Number[]} vertices The vertices from which to compute the horizon culling point. The positions
199
+ * must be expressed in a reference frame centered at the ellipsoid and aligned with the
200
+ * ellipsoid's axes.
201
+ * @param {Number} [stride=3]
202
+ * @param {Cartesian3} [center=Cartesian3.ZERO]
203
+ * @param {Cartesian3} [result] The instance on which to store the result instead of allocating a new instance.
204
+ * @returns {Cartesian3} The computed horizon culling point, expressed in the ellipsoid-scaled space.
205
+ */
206
+ EllipsoidalOccluder.prototype.computeHorizonCullingPointFromVertices = function(directionToPoint, vertices, stride, center, result) {
207
+ if (typeof directionToPoint === 'undefined') {
208
+ throw new DeveloperError('directionToPoint is required');
209
+ }
210
+ if (typeof vertices === 'undefined') {
211
+ throw new DeveloperError('vertices is required');
212
+ }
213
+ if (typeof stride === 'undefined') {
214
+ throw new DeveloperError('stride is required');
215
+ }
216
+
217
+ center = defaultValue(center, Cartesian3.ZERO);
218
+
219
+ var ellipsoid = this._ellipsoid;
220
+
221
+ var scaledSpaceDirectionToPoint = computeScaledSpaceDirectionToPoint(ellipsoid, directionToPoint);
222
+
223
+ var resultMagnitude = 0.0;
224
+
225
+ for (var i = 0, len = vertices.length; i < len; i += stride) {
226
+ positionScratch.x = vertices[i] + center.x;
227
+ positionScratch.y = vertices[i + 1] + center.y;
228
+ positionScratch.z = vertices[i + 2] + center.z;
229
+
230
+ var candidateMagnitude = computeMagnitude(ellipsoid, positionScratch, scaledSpaceDirectionToPoint);
231
+ resultMagnitude = Math.max(resultMagnitude, candidateMagnitude);
232
+ }
233
+
234
+ return magnitudeToPoint(scaledSpaceDirectionToPoint, resultMagnitude, result);
235
+ };
236
+
237
+ var subsampleScratch = [];
238
+
239
+ /**
240
+ * Computes a point that can be used for horizon culling of an extent. If the point is below
241
+ * the horizon, the ellipsoid-conforming extent is guaranteed to be below the horizon as well.
242
+ * The returned point is expressed in the ellipsoid-scaled space and is suitable for use with
243
+ * {@link EllipsoidalOccluder#isScaledSpacePointVisible}.
244
+ *
245
+ * @param {Extent} extent The extent for which to compute the horizon culling point.
246
+ * @param {Ellipsoid} ellipsoid The ellipsoid on which the extent is defined. This may be different from
247
+ * the ellipsoid used by this instance for occlusion testing.
248
+ * @param {Cartesian3} [result] The instance on which to store the result instead of allocating a new instance.
249
+ * @returns {Cartesian3} The computed horizon culling point, expressed in the ellipsoid-scaled space.
250
+ */
251
+ EllipsoidalOccluder.prototype.computeHorizonCullingPointFromExtent = function(extent, ellipsoid, result) {
252
+ if (typeof extent === 'undefined') {
253
+ throw new DeveloperError('extent is required.');
254
+ }
255
+
256
+ var positions = extent.subsample(ellipsoid, subsampleScratch);
257
+ var bs = BoundingSphere.fromPoints(positions);
258
+
259
+ // If the bounding sphere center is too close to the center of the occluder, it doesn't make
260
+ // sense to try to horizon cull it.
261
+ if (bs.center.magnitude() < 0.1 * ellipsoid.getMinimumRadius()) {
262
+ return undefined;
263
+ }
264
+
265
+ return this.computeHorizonCullingPoint(bs.center, positions, result);
266
+ };
267
+
268
+ var scaledSpaceScratch = new Cartesian3();
269
+ var directionScratch = new Cartesian3();
270
+
271
+ function computeMagnitude(ellipsoid, position, scaledSpaceDirectionToPoint) {
272
+ var scaledSpacePosition = ellipsoid.transformPositionToScaledSpace(position, scaledSpaceScratch);
273
+ var magnitudeSquared = scaledSpacePosition.magnitudeSquared();
274
+ var magnitude = Math.sqrt(magnitudeSquared);
275
+ var direction = scaledSpacePosition.divideByScalar(magnitude, directionScratch);
276
+
277
+ // For the purpose of this computation, points below the ellipsoid are consider to be on it instead.
278
+ magnitudeSquared = Math.max(1.0, magnitudeSquared);
279
+ magnitude = Math.max(1.0, magnitude);
280
+
281
+ var cosAlpha = direction.dot(scaledSpaceDirectionToPoint);
282
+ var sinAlpha = direction.cross(scaledSpaceDirectionToPoint).magnitude();
283
+ var cosBeta = 1.0 / magnitude;
284
+ var sinBeta = Math.sqrt(magnitudeSquared - 1.0) * cosBeta;
285
+
286
+ return 1.0 / (cosAlpha * cosBeta - sinAlpha * sinBeta);
287
+ }
288
+
289
+ function magnitudeToPoint(scaledSpaceDirectionToPoint, resultMagnitude, result) {
290
+ // The horizon culling point is undefined if there were no positions from which to compute it,
291
+ // the directionToPoint is pointing opposite all of the positions, or if we computed NaN or infinity.
292
+ if (resultMagnitude <= 0.0 || resultMagnitude === 1.0 / 0.0 || resultMagnitude !== resultMagnitude) {
293
+ return undefined;
294
+ }
295
+
296
+ return scaledSpaceDirectionToPoint.multiplyByScalar(resultMagnitude, result);
297
+ }
298
+
299
+ var directionToPointScratch = new Cartesian3();
300
+
301
+ function computeScaledSpaceDirectionToPoint(ellipsoid, directionToPoint) {
302
+ ellipsoid.transformPositionToScaledSpace(directionToPoint, directionToPointScratch);
303
+ return directionToPointScratch.normalize(directionToPointScratch);
304
+ }
305
+
153
306
  return EllipsoidalOccluder;
154
307
  });
@@ -432,4 +432,4 @@ define([
432
432
  Extent.MAX_VALUE = freezeObject(new Extent(-Math.PI, -CesiumMath.PI_OVER_TWO, Math.PI, CesiumMath.PI_OVER_TWO));
433
433
 
434
434
  return Extent;
435
- });
435
+ });
@@ -2,21 +2,23 @@
2
2
  define([
3
3
  './clone',
4
4
  './defaultValue',
5
- './DeveloperError',
6
5
  './Math',
7
6
  './Ellipsoid',
8
- './Extent',
9
7
  './Cartesian3',
8
+ './Cartographic',
9
+ './Matrix2',
10
+ './GeographicProjection',
10
11
  './ComponentDatatype',
11
12
  './PrimitiveType'
12
13
  ], function(
13
14
  clone,
14
15
  defaultValue,
15
- DeveloperError,
16
16
  CesiumMath,
17
17
  Ellipsoid,
18
- Extent,
19
18
  Cartesian3,
19
+ Cartographic,
20
+ Matrix2,
21
+ GeographicProjection,
20
22
  ComponentDatatype,
21
23
  PrimitiveType) {
22
24
  "use strict";
@@ -33,16 +35,24 @@ define([
33
35
  */
34
36
  var ExtentTessellator = {};
35
37
 
38
+ function isValidLatLon(latitude, longitude) {
39
+ if (latitude < -CesiumMath.PI_OVER_TWO || latitude > CesiumMath.PI_OVER_TWO) {
40
+ return false;
41
+ }
42
+ if (longitude > CesiumMath.PI || longitude < -CesiumMath.PI) {
43
+ return false;
44
+ }
45
+ return true;
46
+ }
36
47
  /**
37
48
  * Compute vertices from a cartographic extent. This function is different from
38
49
  * {@link ExtentTessellator#compute} and {@link ExtentTessellator#computeBuffers}
39
50
  * in that it assumes that you have already allocated output arrays of the correct size.
40
51
  *
41
52
  * @param {Extent} description.extent A cartographic extent with north, south, east and west properties in radians.
53
+ * @param {Number} description.rotation The rotation of the extent in radians.
42
54
  * @param {Number} description.width The number of vertices in the longitude direction.
43
55
  * @param {Number} description.height The number of vertices in the latitude direction.
44
- * @param {Number} description.granularityX The distance, in radians, between each longitude.
45
- * @param {Number} description.granularityY The distance, in radians, between each latitude.
46
56
  * @param {Number} description.surfaceHeight The height from the surface of the ellipsoid.
47
57
  * @param {Boolean} description.generateTextureCoordinates Whether to generate texture coordinates.
48
58
  * @param {Boolean} description.interleaveTextureCoordinates Whether to interleave the texture coordinates into the vertex array.
@@ -52,10 +62,17 @@ define([
52
62
  * @param {Array|Float32Array} description.textureCoordinates The array to use to store computed texture coordinates, unless interleaved.
53
63
  * @param {Array|Float32Array} [description.indices] The array to use to store computed indices. If undefined, indices will be not computed.
54
64
  */
65
+ var nw = new Cartesian3();
66
+ var nwCartographic = new Cartographic();
67
+ var centerCartographic = new Cartographic();
68
+ var center = new Cartesian3();
69
+ var rotationMatrix = new Matrix2();
70
+ var proj = new GeographicProjection();
55
71
  ExtentTessellator.computeVertices = function(description) {
56
72
  description = defaultValue(description, defaultValue.EMPTY_OBJECT);
57
-
58
73
  var extent = description.extent;
74
+ extent.validate();
75
+ var rotation = description.rotation;
59
76
  var surfaceHeight = description.surfaceHeight;
60
77
  var width = description.width;
61
78
  var height = description.height;
@@ -86,18 +103,51 @@ define([
86
103
  var vertexArrayIndex = 0;
87
104
  var textureCoordinatesIndex = 0;
88
105
 
89
- for ( var row = 0; row < height; ++row) {
90
- var latitude = extent.north - granularityY * row;
91
- var cosLatitude = cos(latitude);
92
- var nZ = sin(latitude);
93
- var kZ = radiiSquaredZ * nZ;
106
+ extent.getNorthwest(nwCartographic);
107
+ extent.getCenter(centerCartographic);
108
+ var latitude, longitude;
94
109
 
95
- var geographicV = (latitude - extent.south) * latScalar;
110
+ if (typeof rotation === 'undefined') {
111
+ rotation = 0;
112
+ }
96
113
 
97
- var v = geographicV;
114
+ var granYCos = granularityY * cos(rotation);
115
+ var granYSin = granularityY * sin(rotation);
116
+ var granXCos = granularityX * cos(rotation);
117
+ var granXSin = granularityX * sin(rotation);
118
+
119
+ if (rotation !== 0) {
120
+ proj.project(nwCartographic, nw);
121
+ proj.project(centerCartographic, center);
122
+ nw.subtract(center, nw);
123
+ Matrix2.fromRotation(rotation, rotationMatrix);
124
+ rotationMatrix.multiplyByVector(nw, nw);
125
+ nw.add(center, nw);
126
+ proj.unproject(nw, nwCartographic);
127
+ latitude = nwCartographic.latitude;
128
+ longitude = nwCartographic.longitude;
129
+ if (!isValidLatLon(latitude, longitude)) { //NW corner
130
+ return;
131
+ }
132
+ if (!isValidLatLon(latitude + (width-1)*granXSin, longitude + (width-1)*granXCos)) { //NE corner
133
+ return;
134
+ }
135
+ if (!isValidLatLon(latitude - granYCos*(height-1), longitude + (height-1)*granYSin)) { //SW corner
136
+ return;
137
+ }
138
+ if (!isValidLatLon(latitude - granYCos*(height-1) + (width-1)*granXSin, longitude + (height-1)*granYSin + (width-1)*granXCos)) { //SE corner
139
+ return;
140
+ }
141
+ }
98
142
 
143
+ for ( var row = 0; row < height; ++row) {
99
144
  for ( var col = 0; col < width; ++col) {
100
- var longitude = extent.west + granularityX * col;
145
+ latitude = nwCartographic.latitude - granYCos*row + col*granXSin;
146
+ var cosLatitude = cos(latitude);
147
+ var nZ = sin(latitude);
148
+ var kZ = radiiSquaredZ * nZ;
149
+
150
+ longitude = nwCartographic.longitude + row*granYSin + col*granXCos;
101
151
 
102
152
  var nX = cosLatitude * cos(longitude);
103
153
  var nY = cosLatitude * sin(longitude);
@@ -116,9 +166,8 @@ define([
116
166
  vertices[vertexArrayIndex++] = rSurfaceZ + nZ * surfaceHeight - relativeToCenter.z;
117
167
 
118
168
  if (generateTextureCoordinates) {
119
- var geographicU = (longitude - extent.west) * lonScalar;
120
-
121
- var u = geographicU;
169
+ var u = (longitude - extent.west) * lonScalar;
170
+ var v = (latitude - extent.south) * latScalar;
122
171
 
123
172
  if (interleaveTextureCoordinates) {
124
173
  vertices[vertexArrayIndex++] = u;
@@ -175,7 +224,7 @@ define([
175
224
  * @exception {DeveloperError} <code>description.context</code> is required.
176
225
  *
177
226
  * @return {Object} A mesh containing attributes for positions, possibly texture coordinates and indices
178
- * from the extent for creating a vertex array.
227
+ * from the extent for creating a vertex array. (returns undefined if no indices are found)
179
228
  *
180
229
  * @see Context#createVertexArrayFromMesh
181
230
  * @see MeshFilters.createAttributeIndices
@@ -232,6 +281,10 @@ define([
232
281
 
233
282
  ExtentTessellator.computeVertices(computeVerticesDescription);
234
283
 
284
+ if (indices.length === 0) {
285
+ return undefined;
286
+ }
287
+
235
288
  var mesh = {
236
289
  attributes : {},
237
290
  indexLists : [{