cesium 1.23.0 → 1.24.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (249) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/Cesium/Cesium.js +1 -1
  3. data/app/assets/javascripts/Cesium/Core/AttributeCompression.js +52 -16
  4. data/app/assets/javascripts/Cesium/Core/BoundingRectangle.js +4 -0
  5. data/app/assets/javascripts/Cesium/Core/BoundingSphere.js +4 -0
  6. data/app/assets/javascripts/Cesium/Core/BoxGeometry.js +8 -4
  7. data/app/assets/javascripts/Cesium/Core/BoxOutlineGeometry.js +6 -3
  8. data/app/assets/javascripts/Cesium/Core/Cartesian2.js +4 -0
  9. data/app/assets/javascripts/Cesium/Core/Cartesian3.js +4 -0
  10. data/app/assets/javascripts/Cesium/Core/Cartesian4.js +4 -0
  11. data/app/assets/javascripts/Cesium/Core/CircleGeometry.js +4 -2
  12. data/app/assets/javascripts/Cesium/Core/CircleOutlineGeometry.js +3 -1
  13. data/app/assets/javascripts/Cesium/Core/Color.js +6 -2
  14. data/app/assets/javascripts/Cesium/Core/CorridorGeometry.js +4 -0
  15. data/app/assets/javascripts/Cesium/Core/CorridorOutlineGeometry.js +4 -0
  16. data/app/assets/javascripts/Cesium/Core/CylinderGeometry.js +4 -0
  17. data/app/assets/javascripts/Cesium/Core/CylinderOutlineGeometry.js +5 -0
  18. data/app/assets/javascripts/Cesium/Core/EllipseGeometry.js +4 -0
  19. data/app/assets/javascripts/Cesium/Core/EllipseOutlineGeometry.js +4 -0
  20. data/app/assets/javascripts/Cesium/Core/Ellipsoid.js +4 -0
  21. data/app/assets/javascripts/Cesium/Core/EllipsoidGeometry.js +4 -0
  22. data/app/assets/javascripts/Cesium/Core/EllipsoidOutlineGeometry.js +4 -0
  23. data/app/assets/javascripts/Cesium/Core/JulianDate.js +2 -1
  24. data/app/assets/javascripts/Cesium/Core/Math.js +11 -7
  25. data/app/assets/javascripts/Cesium/Core/Matrix2.js +5 -1
  26. data/app/assets/javascripts/Cesium/Core/Matrix3.js +5 -1
  27. data/app/assets/javascripts/Cesium/Core/Matrix4.js +6 -2
  28. data/app/assets/javascripts/Cesium/Core/NearFarScalar.js +4 -0
  29. data/app/assets/javascripts/Cesium/Core/PolygonGeometry.js +4 -0
  30. data/app/assets/javascripts/Cesium/Core/PolygonOutlineGeometry.js +4 -0
  31. data/app/assets/javascripts/Cesium/Core/PolylineGeometry.js +4 -0
  32. data/app/assets/javascripts/Cesium/Core/PolylinePipeline.js +2 -1
  33. data/app/assets/javascripts/Cesium/Core/PolylineVolumeGeometry.js +4 -0
  34. data/app/assets/javascripts/Cesium/Core/PolylineVolumeOutlineGeometry.js +4 -0
  35. data/app/assets/javascripts/Cesium/Core/Quaternion.js +5 -1
  36. data/app/assets/javascripts/Cesium/Core/Rectangle.js +4 -0
  37. data/app/assets/javascripts/Cesium/Core/RectangleGeometry.js +4 -0
  38. data/app/assets/javascripts/Cesium/Core/RectangleOutlineGeometry.js +4 -0
  39. data/app/assets/javascripts/Cesium/Core/SimplePolylineGeometry.js +4 -0
  40. data/app/assets/javascripts/Cesium/Core/SphereGeometry.js +3 -1
  41. data/app/assets/javascripts/Cesium/Core/SphereOutlineGeometry.js +3 -1
  42. data/app/assets/javascripts/Cesium/Core/VertexFormat.js +4 -0
  43. data/app/assets/javascripts/Cesium/Core/WallGeometry.js +4 -0
  44. data/app/assets/javascripts/Cesium/Core/WallOutlineGeometry.js +4 -0
  45. data/app/assets/javascripts/Cesium/DataSources/BillboardGraphics.js +2 -2
  46. data/app/assets/javascripts/Cesium/DataSources/CzmlDataSource.js +17 -3
  47. data/app/assets/javascripts/Cesium/DataSources/Rotation.js +5 -1
  48. data/app/assets/javascripts/Cesium/DataSources/StaticGeometryPerMaterialBatch.js +3 -6
  49. data/app/assets/javascripts/Cesium/DataSources/VelocityOrientationProperty.js +1 -1
  50. data/app/assets/javascripts/Cesium/DataSources/VelocityVectorProperty.js +33 -8
  51. data/app/assets/javascripts/Cesium/Scene/Scene.js +1 -1
  52. data/app/assets/javascripts/Cesium/Scene/UrlTemplateImageryProvider.js +65 -6
  53. data/app/assets/javascripts/Cesium/Widgets/BaseLayerPicker/createDefaultImageryProviderViewModels.js +0 -12
  54. data/app/assets/javascripts/Cesium/Workers/combineGeometry.js +104 -28
  55. data/app/assets/javascripts/Cesium/Workers/createBoxGeometry.js +54 -14
  56. data/app/assets/javascripts/Cesium/Workers/createBoxOutlineGeometry.js +48 -13
  57. data/app/assets/javascripts/Cesium/Workers/createCircleGeometry.js +117 -30
  58. data/app/assets/javascripts/Cesium/Workers/createCircleOutlineGeometry.js +54 -12
  59. data/app/assets/javascripts/Cesium/Workers/createCorridorGeometry.js +63 -13
  60. data/app/assets/javascripts/Cesium/Workers/createCorridorOutlineGeometry.js +59 -13
  61. data/app/assets/javascripts/Cesium/Workers/createCylinderGeometry.js +54 -10
  62. data/app/assets/javascripts/Cesium/Workers/createCylinderOutlineGeometry.js +51 -10
  63. data/app/assets/javascripts/Cesium/Workers/createEllipseGeometry.js +113 -28
  64. data/app/assets/javascripts/Cesium/Workers/createEllipseOutlineGeometry.js +51 -11
  65. data/app/assets/javascripts/Cesium/Workers/createEllipsoidGeometry.js +54 -10
  66. data/app/assets/javascripts/Cesium/Workers/createEllipsoidOutlineGeometry.js +46 -10
  67. data/app/assets/javascripts/Cesium/Workers/createGeometry.js +104 -28
  68. data/app/assets/javascripts/Cesium/Workers/createPointGeometry.js +42 -10
  69. data/app/assets/javascripts/Cesium/Workers/createPolygonGeometry.js +117 -28
  70. data/app/assets/javascripts/Cesium/Workers/createPolygonOutlineGeometry.js +109 -28
  71. data/app/assets/javascripts/Cesium/Workers/createPolylineGeometry.js +58 -13
  72. data/app/assets/javascripts/Cesium/Workers/createPolylineVolumeGeometry.js +119 -29
  73. data/app/assets/javascripts/Cesium/Workers/createPolylineVolumeOutlineGeometry.js +63 -13
  74. data/app/assets/javascripts/Cesium/Workers/createRectangleGeometry.js +118 -29
  75. data/app/assets/javascripts/Cesium/Workers/createRectangleOutlineGeometry.js +62 -13
  76. data/app/assets/javascripts/Cesium/Workers/createSimplePolylineGeometry.js +54 -13
  77. data/app/assets/javascripts/Cesium/Workers/createSphereGeometry.js +57 -11
  78. data/app/assets/javascripts/Cesium/Workers/createSphereOutlineGeometry.js +49 -11
  79. data/app/assets/javascripts/Cesium/Workers/createVerticesFromHeightmap.js +105 -28
  80. data/app/assets/javascripts/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +105 -28
  81. data/app/assets/javascripts/Cesium/Workers/createWallGeometry.js +63 -13
  82. data/app/assets/javascripts/Cesium/Workers/createWallOutlineGeometry.js +59 -13
  83. data/app/assets/javascripts/Cesium/Workers/upsampleQuantizedTerrainMesh.js +105 -28
  84. data/lib/cesium/version.rb +1 -1
  85. data/test/dummy/log/development.log +58 -0
  86. data/test/dummy/tmp/cache/assets/C16/BE0/sprockets%2F730c481502395cc21463bcc305986308 +0 -0
  87. data/test/dummy/tmp/cache/assets/C2B/E00/sprockets%2Fc04978048739428a79d6348576ab030a +0 -0
  88. data/test/dummy/tmp/cache/assets/C54/680/sprockets%2F31c6133a4541f42b507e5689b076759f +0 -0
  89. data/test/dummy/tmp/cache/assets/C7C/C90/sprockets%2F92c082511a234b21cf6c479b6f507576 +0 -0
  90. data/test/dummy/tmp/cache/assets/C80/710/sprockets%2F41b1692a0f1a77581854ee4b7709913a +0 -0
  91. data/test/dummy/tmp/cache/assets/C80/CD0/sprockets%2F0032971af77940c1af9e2f460177809a +0 -0
  92. data/test/dummy/tmp/cache/assets/C91/0D0/sprockets%2F5bd71287903ba95d2fb5743719549e92 +0 -0
  93. data/test/dummy/tmp/cache/assets/C91/8A0/sprockets%2Fe02395f83f6f5201913e1b888f46f645 +0 -0
  94. data/test/dummy/tmp/cache/assets/C92/9A0/sprockets%2F6c85f9c609287aa6552391f576f0f405 +0 -0
  95. data/test/dummy/tmp/cache/assets/C9F/3A0/sprockets%2F2469356cd21d5a5902b06584ea0b20d5 +0 -0
  96. data/test/dummy/tmp/cache/assets/CAF/8F0/sprockets%2Fdfb0351981258b34aa1a77478e5027e7 +0 -0
  97. data/test/dummy/tmp/cache/assets/CB1/EE0/sprockets%2F931d2725b8c14ed84a31e373fc813188 +0 -0
  98. data/test/dummy/tmp/cache/assets/CB2/5A0/sprockets%2F434a0c6d7c301964022e91e8f99bb727 +0 -0
  99. data/test/dummy/tmp/cache/assets/CB4/D90/sprockets%2F5fb974e230f8a43f0146694636b621fc +0 -0
  100. data/test/dummy/tmp/cache/assets/CB7/2E0/sprockets%2Ff1ed26933745612dc769d5fb75c17321 +0 -0
  101. data/test/dummy/tmp/cache/assets/CB7/A10/sprockets%2Fd34b045e6d4215367bcf6f08e4638926 +0 -0
  102. data/test/dummy/tmp/cache/assets/CB7/C10/sprockets%2F262600ead4686290c10b01aa60e0ce20 +0 -0
  103. data/test/dummy/tmp/cache/assets/CB7/FA0/sprockets%2Fe11b1d418699c10ce19c92b8a8562992 +0 -0
  104. data/test/dummy/tmp/cache/assets/CB9/FD0/sprockets%2F868358f2ee30f4326e761014cd2576ee +0 -0
  105. data/test/dummy/tmp/cache/assets/CBB/5D0/sprockets%2F7965dc683e03140b80566dbd76677f0c +0 -0
  106. data/test/dummy/tmp/cache/assets/CC3/1D0/sprockets%2Fe05f83785d87559e712ef7331136b7fa +0 -0
  107. data/test/dummy/tmp/cache/assets/CC9/200/sprockets%2F742fb8ce196abf238199836fd7457166 +0 -0
  108. data/test/dummy/tmp/cache/assets/CD0/310/sprockets%2F825eb4414b555ce140fc46ad24b48061 +0 -0
  109. data/test/dummy/tmp/cache/assets/CD3/940/sprockets%2F641b837eeb02a10631a0d20acd987887 +0 -0
  110. data/test/dummy/tmp/cache/assets/CD4/D30/sprockets%2F6741dd0454f9080fa418ed09a192ab40 +0 -0
  111. data/test/dummy/tmp/cache/assets/CD5/900/sprockets%2F0603a31cdcdf8ec2872219242c65f336 +0 -0
  112. data/test/dummy/tmp/cache/assets/CD8/B20/sprockets%2F364405189b0c5f332ae0fe14a05f95d8 +0 -0
  113. data/test/dummy/tmp/cache/assets/CD9/3C0/sprockets%2Fb082b86281b7a873eb2250f31854afd4 +0 -0
  114. data/test/dummy/tmp/cache/assets/CDA/700/sprockets%2F24c5884ae3352ca70a9546d02bb6e844 +0 -0
  115. data/test/dummy/tmp/cache/assets/CDC/3A0/sprockets%2F2bdb3f8510205db3f3bf4605947851f7 +0 -0
  116. data/test/dummy/tmp/cache/assets/CDC/910/sprockets%2F4127b7bf7565f5eb82a54f5012c7512d +0 -0
  117. data/test/dummy/tmp/cache/assets/CDD/5A0/sprockets%2Fb7dfa40599517f39400db36240fa16c9 +0 -0
  118. data/test/dummy/tmp/cache/assets/CE0/340/sprockets%2F284aa881b4e78191f904a950baf6209b +0 -0
  119. data/test/dummy/tmp/cache/assets/CE4/970/sprockets%2F32866ea407500e99bb62e5c62a8617df +0 -0
  120. data/test/dummy/tmp/cache/assets/CE6/DD0/sprockets%2Ffd590df3a5e39763c7258802d8233c1c +0 -0
  121. data/test/dummy/tmp/cache/assets/CEB/1D0/sprockets%2Fb3014c30d4b5ad090fb00a5a303b7929 +0 -0
  122. data/test/dummy/tmp/cache/assets/CEC/230/sprockets%2F06c6439d6734e9122d0429d99bd76ceb +0 -0
  123. data/test/dummy/tmp/cache/assets/CEC/9B0/sprockets%2F623d2921e3b7bd6cbe9288253e18e776 +0 -0
  124. data/test/dummy/tmp/cache/assets/CF0/2D0/sprockets%2F2a12ef035037b0440f54e40e6ad2db70 +0 -0
  125. data/test/dummy/tmp/cache/assets/CF0/8D0/sprockets%2Fd87a027ff95cd7b9080555d76f16824a +0 -0
  126. data/test/dummy/tmp/cache/assets/CF6/3F0/sprockets%2Fc8a187687d86c86d20ccd8d39258428a +0 -0
  127. data/test/dummy/tmp/cache/assets/CF7/F70/sprockets%2Fae6e6576ed90a32b820967df2b797397 +0 -0
  128. data/test/dummy/tmp/cache/assets/CF9/CA0/sprockets%2Fe3287c6767a894efd1e4461ae21599e8 +0 -0
  129. data/test/dummy/tmp/cache/assets/CFA/720/sprockets%2Fdc2ea106de9ab60be261248f21059224 +0 -0
  130. data/test/dummy/tmp/cache/assets/CFA/B50/sprockets%2F8505a240bc3a2e4b1a953417c73ebc72 +0 -0
  131. data/test/dummy/tmp/cache/assets/CFC/0E0/sprockets%2Fe99f6ace35113dfc044311e14a605a51 +0 -0
  132. data/test/dummy/tmp/cache/assets/CFC/9F0/sprockets%2F7922cd5ca1a340f4b4d450bad4551916 +0 -0
  133. data/test/dummy/tmp/cache/assets/CFD/470/sprockets%2Fd1eb4316039dba02de282ac28358b913 +0 -0
  134. data/test/dummy/tmp/cache/assets/CFE/AE0/sprockets%2F7c886a80519554ea620aac2325bb1ce0 +0 -0
  135. data/test/dummy/tmp/cache/assets/D00/C10/sprockets%2F169d5c9cc4598e63f95577f52e9da370 +0 -0
  136. data/test/dummy/tmp/cache/assets/D01/A60/sprockets%2F3ca75cfcf2037d5364e4531448da120d +0 -0
  137. data/test/dummy/tmp/cache/assets/D09/210/sprockets%2F0c57094235e32edddcc747ed202873b3 +0 -0
  138. data/test/dummy/tmp/cache/assets/D0A/810/sprockets%2F9cc7c89425ba1686a18a1d8beb005209 +0 -0
  139. data/test/dummy/tmp/cache/assets/D0A/CB0/sprockets%2F01b7bc8d4406b16b212891ef72eeb775 +0 -0
  140. data/test/dummy/tmp/cache/assets/D0E/A10/sprockets%2F05ebd4b57720dbc2c207882946bd47a9 +0 -0
  141. data/test/dummy/tmp/cache/assets/D0E/C00/sprockets%2F010b6f849ec9259fa3de514a18e74a32 +0 -0
  142. data/test/dummy/tmp/cache/assets/D0F/980/sprockets%2Fdaa14ed9a3657161c56c66483e2d17e4 +0 -0
  143. data/test/dummy/tmp/cache/assets/D11/C40/sprockets%2F04aecf869ffe1036d6a34e5412b37548 +0 -0
  144. data/test/dummy/tmp/cache/assets/D15/6B0/sprockets%2F3bfbac97eb5796307418d0f0e679144a +0 -0
  145. data/test/dummy/tmp/cache/assets/D16/0C0/sprockets%2F58fb9abfdb670a8502813dc88487711a +0 -0
  146. data/test/dummy/tmp/cache/assets/D16/2C0/sprockets%2Fa90ad78854c9bd1156e3866eb0e234f5 +0 -0
  147. data/test/dummy/tmp/cache/assets/D18/290/sprockets%2F5cb980f53c999c04b9b0b930dd08266e +0 -0
  148. data/test/dummy/tmp/cache/assets/D19/420/sprockets%2F379a804e588c4e9ca18e4ee3306653ac +0 -0
  149. data/test/dummy/tmp/cache/assets/D1A/5D0/sprockets%2F5131b11116be12111ba22e43df8f2fec +0 -0
  150. data/test/dummy/tmp/cache/assets/D1A/670/sprockets%2F4f45089e5678ba2b1c06518bde98a7d4 +0 -0
  151. data/test/dummy/tmp/cache/assets/D1C/540/sprockets%2F334e02662b45fcc11013c90d2ebaad05 +0 -0
  152. data/test/dummy/tmp/cache/assets/D1D/C90/sprockets%2Fa688522a4494897a6f6a5e6b80b0c4ff +0 -0
  153. data/test/dummy/tmp/cache/assets/D25/5B0/sprockets%2F56355268a998595bebb9b6c42ba875af +0 -0
  154. data/test/dummy/tmp/cache/assets/D26/C90/sprockets%2Ff78c003cad298697456d86b714e36eff +0 -0
  155. data/test/dummy/tmp/cache/assets/D29/F80/sprockets%2F3d888988ef5e7292bf1f181eb622b19f +0 -0
  156. data/test/dummy/tmp/cache/assets/D34/950/sprockets%2Fa9ab3c0627dd00d6b037ddf42259448d +0 -0
  157. data/test/dummy/tmp/cache/assets/D34/E10/sprockets%2F74034ea037bd6434c8eb68ccf2b3026d +0 -0
  158. data/test/dummy/tmp/cache/assets/D37/F00/sprockets%2F18060fd4371473efaa135cea6076ced7 +0 -0
  159. data/test/dummy/tmp/cache/assets/D37/F20/sprockets%2F16df6ed68997bc0c45996cff6797760b +0 -0
  160. data/test/dummy/tmp/cache/assets/D3A/9E0/sprockets%2F62f2cbed105a1411ff3e9f2f7167089a +0 -0
  161. data/test/dummy/tmp/cache/assets/D3A/F00/sprockets%2Fa682b6bc9df4741b972e1f371d70d0c0 +0 -0
  162. data/test/dummy/tmp/cache/assets/D3B/2C0/sprockets%2F5f98712fffc4d6ac560ec126317c3d10 +0 -0
  163. data/test/dummy/tmp/cache/assets/D3C/FE0/sprockets%2F24f6d543983043d0d1feefacb090196e +0 -0
  164. data/test/dummy/tmp/cache/assets/D3E/500/sprockets%2Fe0d19b79ad67649fb3c1cf715a11a393 +0 -0
  165. data/test/dummy/tmp/cache/assets/D3E/520/sprockets%2F4765d7ea3ba6a5d16231c29de0d958c4 +0 -0
  166. data/test/dummy/tmp/cache/assets/D3F/5E0/sprockets%2Fcbf1d7fac4114ec9059f87f2a0936342 +0 -0
  167. data/test/dummy/tmp/cache/assets/D40/880/sprockets%2F7813c7a2e234b7d2dcca77bff3315587 +0 -0
  168. data/test/dummy/tmp/cache/assets/D43/010/sprockets%2F99f2034c5afbf60c8d6d7a9b52615b80 +0 -0
  169. data/test/dummy/tmp/cache/assets/D45/0C0/sprockets%2F516fc9d887a1ad9640352f26fcd2a90e +0 -0
  170. data/test/dummy/tmp/cache/assets/D46/890/sprockets%2F5ca5e9e8272bf7e14e20f4ea81078d91 +0 -0
  171. data/test/dummy/tmp/cache/assets/D48/140/sprockets%2Fe57106ab8293a7f3d776e690bbd447dc +0 -0
  172. data/test/dummy/tmp/cache/assets/D49/000/sprockets%2Fd94896eee0f35a0a966393090fcc3fc1 +0 -0
  173. data/test/dummy/tmp/cache/assets/D4B/3C0/sprockets%2F26891ba685ff4c6f9d4f2f1c6242f03f +0 -0
  174. data/test/dummy/tmp/cache/assets/D4B/EB0/sprockets%2F90e1f184458ccb432d9fddb8994423af +0 -0
  175. data/test/dummy/tmp/cache/assets/D4B/F30/sprockets%2F87e2067c8a98c80860ca18525aefaff4 +0 -0
  176. data/test/dummy/tmp/cache/assets/D50/F40/sprockets%2F0a264e8ef7b828ffbc499e545d1d3554 +0 -0
  177. data/test/dummy/tmp/cache/assets/D52/C10/sprockets%2Fdf92f8b92422d0c6196e986b0fa84d8d +0 -0
  178. data/test/dummy/tmp/cache/assets/D53/0B0/sprockets%2F3ce0380426fadc73b3e4b21a4b305d6a +0 -0
  179. data/test/dummy/tmp/cache/assets/D55/050/sprockets%2Ff8a1519f64f695a48b04fc494d7fce19 +0 -0
  180. data/test/dummy/tmp/cache/assets/D57/5C0/sprockets%2F2da710dd9256d942b03cfcac3602ca16 +0 -0
  181. data/test/dummy/tmp/cache/assets/D59/110/sprockets%2F2ec0c121af2f7eb46d4a164c3fd75032 +0 -0
  182. data/test/dummy/tmp/cache/assets/D59/F50/sprockets%2F9f2c7e737ba13a57c6ff589292d86fa7 +0 -0
  183. data/test/dummy/tmp/cache/assets/D5C/370/sprockets%2Ff6f72925d6c49e05e66faa4765fe8c57 +0 -0
  184. data/test/dummy/tmp/cache/assets/D5E/540/sprockets%2F989fc9956e6f8db3448a45ffca0e2834 +0 -0
  185. data/test/dummy/tmp/cache/assets/D63/2C0/sprockets%2Fb29b4f22c11cdf82445a279ce2b3e08b +0 -0
  186. data/test/dummy/tmp/cache/assets/D65/390/sprockets%2F5a8932bfeba07d1607613f62bf1b9e1b +0 -0
  187. data/test/dummy/tmp/cache/assets/D66/680/sprockets%2Feac220c53d6b904767a143f4fd1f66cb +0 -0
  188. data/test/dummy/tmp/cache/assets/D67/F30/sprockets%2Fa1c2a19503d7136786bf4c98fdb0cda3 +0 -0
  189. data/test/dummy/tmp/cache/assets/D68/7B0/sprockets%2F01f91bbce586ad5a7181d176fa5bc454 +0 -0
  190. data/test/dummy/tmp/cache/assets/D6F/FF0/sprockets%2Fc74fa24a4bb8a8c9e77cfd024536324e +0 -0
  191. data/test/dummy/tmp/cache/assets/D72/260/sprockets%2F805c75a5e038c51b5bab63f7af785ef3 +0 -0
  192. data/test/dummy/tmp/cache/assets/D72/AD0/sprockets%2F73ce023923f93c1f4dd858d329d4adda +0 -0
  193. data/test/dummy/tmp/cache/assets/D73/1E0/sprockets%2F2028a62d96b8b021e87ea2c9dded688a +0 -0
  194. data/test/dummy/tmp/cache/assets/D73/920/sprockets%2F77a5d5acdcd4b3629277aa338f8d7e12 +0 -0
  195. data/test/dummy/tmp/cache/assets/D74/F00/sprockets%2F35bfb58f60c6bdd9076b5319d09d4b3f +0 -0
  196. data/test/dummy/tmp/cache/assets/D75/2C0/sprockets%2F5580e9bd1b1d8e6bf3ea14e7b3568d73 +0 -0
  197. data/test/dummy/tmp/cache/assets/D77/AE0/sprockets%2F5668bbe7bf9792cfd8da59d01b7a1061 +0 -0
  198. data/test/dummy/tmp/cache/assets/D7A/3F0/sprockets%2Fbf3d583f5ba468586a1db5f56e52ef61 +0 -0
  199. data/test/dummy/tmp/cache/assets/D7B/230/sprockets%2F4e473cebde712a45d9879939c2e2bec1 +0 -0
  200. data/test/dummy/tmp/cache/assets/D7B/260/sprockets%2F0d277dabe82a3ad3ec30ce2a14a52303 +0 -0
  201. data/test/dummy/tmp/cache/assets/D7C/FB0/sprockets%2Fe8f0b9a5d83e431c3d687b93bd59e34c +0 -0
  202. data/test/dummy/tmp/cache/assets/D80/4A0/sprockets%2Fc0322f552fc7ddecd97889feaf544660 +0 -0
  203. data/test/dummy/tmp/cache/assets/D86/8D0/sprockets%2F01297d1e51cdfbcce40ca119a6af0291 +0 -0
  204. data/test/dummy/tmp/cache/assets/D88/6E0/sprockets%2F2d8c8f5d9e37f75a0a9b68b5cb9485e4 +0 -0
  205. data/test/dummy/tmp/cache/assets/D89/DF0/sprockets%2Fb8ca8ddcdf983496f377059c08f04e6f +0 -0
  206. data/test/dummy/tmp/cache/assets/D97/A10/sprockets%2Ff1fe3b6160ec3da42f287aed3d3235c9 +0 -0
  207. data/test/dummy/tmp/cache/assets/D9C/230/sprockets%2F5126f140ae32b9557afd23d7f8cbdbc9 +0 -0
  208. data/test/dummy/tmp/cache/assets/D9D/450/sprockets%2Fcc373a7814f46e9e68d3cb8ab0ec6a20 +0 -0
  209. data/test/dummy/tmp/cache/assets/D9D/E00/sprockets%2F62f7d32b35fb23cc6360fbedd75c6e17 +0 -0
  210. data/test/dummy/tmp/cache/assets/D9E/750/sprockets%2F3ab32a9aab15487d6b9be355c37dfe92 +0 -0
  211. data/test/dummy/tmp/cache/assets/D9F/6E0/sprockets%2Fbb0a236a70758a95bbcb8e66e588c2cd +0 -0
  212. data/test/dummy/tmp/cache/assets/D9F/790/sprockets%2F4d9649c0c0fdecf285b30fa1474b59db +0 -0
  213. data/test/dummy/tmp/cache/assets/DA7/690/sprockets%2Fc49a7fa0c7dc57f03aa9f4fdb3994291 +0 -0
  214. data/test/dummy/tmp/cache/assets/DA8/B70/sprockets%2F3ddd853d4c7253dc5ab53748cc7e4f5f +0 -0
  215. data/test/dummy/tmp/cache/assets/DA9/6C0/sprockets%2Fff22f389eaabe920d9917593f53d0add +0 -0
  216. data/test/dummy/tmp/cache/assets/DAA/D30/sprockets%2Fba92440f66d3ab82ccfcd4f86e899a16 +0 -0
  217. data/test/dummy/tmp/cache/assets/DAE/8E0/sprockets%2Faee3dc2a887eeee336ef1893818372bd +0 -0
  218. data/test/dummy/tmp/cache/assets/DBC/A70/sprockets%2F0f7da71f1d2e23fc55bc2441e0efa41f +0 -0
  219. data/test/dummy/tmp/cache/assets/DBE/2C0/sprockets%2F551e2bb3e1bc603f1d8e829b24bf4ada +0 -0
  220. data/test/dummy/tmp/cache/assets/DC3/160/sprockets%2F129f0ad08b545cfedaf5ab12c5059de5 +0 -0
  221. data/test/dummy/tmp/cache/assets/DC8/590/sprockets%2F804613cab66aacfd4fae5f0ea275692e +0 -0
  222. data/test/dummy/tmp/cache/assets/DC8/670/sprockets%2F47b5310b4dbf58b2b8dcd6ba98c05db6 +0 -0
  223. data/test/dummy/tmp/cache/assets/DC9/BC0/sprockets%2F42d9ff9f511d0c7e072f24bbfc305cce +0 -0
  224. data/test/dummy/tmp/cache/assets/DCA/310/sprockets%2F032481b7ad8da4f7ecc2ea13fd7497ac +0 -0
  225. data/test/dummy/tmp/cache/assets/DCF/5D0/sprockets%2F95dcbbc1e3f58076e0fbc297cbaf9124 +0 -0
  226. data/test/dummy/tmp/cache/assets/DCF/6F0/sprockets%2Fb35295b9c0ed38dd040ea475edfea37f +0 -0
  227. data/test/dummy/tmp/cache/assets/DCF/AC0/sprockets%2Fca3f2c931d05fd9271edb9db0f19c92f +0 -0
  228. data/test/dummy/tmp/cache/assets/DD2/720/sprockets%2Fa7e3feaca76d2fd8f11d79a30938b70d +0 -0
  229. data/test/dummy/tmp/cache/assets/DD3/150/sprockets%2Fbae8affcbd247de88930e215e7d4d460 +0 -0
  230. data/test/dummy/tmp/cache/assets/DDD/370/sprockets%2F016219ffdd478c3c40e6f4efee84da9f +0 -0
  231. data/test/dummy/tmp/cache/assets/DDE/860/sprockets%2F8c57c9956b38b6572a9dcd1a6fcbeaf4 +0 -0
  232. data/test/dummy/tmp/cache/assets/DEA/980/sprockets%2Fc5897a1f996aafff34f555f76a39fbbd +0 -0
  233. data/test/dummy/tmp/cache/assets/DEC/5F0/sprockets%2F410f8c0c1dcf61a1d2dc2a7d3e5bd5e8 +0 -0
  234. data/test/dummy/tmp/cache/assets/DEE/930/sprockets%2F8e899ec8a7afe2577634ef981ccabcc9 +0 -0
  235. data/test/dummy/tmp/cache/assets/DF3/7B0/sprockets%2Fbe3e96d12fac88a1e35da10fad9722ca +0 -0
  236. data/test/dummy/tmp/cache/assets/E01/7D0/sprockets%2F771e23888dbed36f017cbb35acdbc8df +0 -0
  237. data/test/dummy/tmp/cache/assets/E03/8C0/sprockets%2Fdddca472be9884cdfe6af78222bad074 +0 -0
  238. data/test/dummy/tmp/cache/assets/E04/730/sprockets%2F583c8db59edef3f0c5b7e336e284babb +0 -0
  239. data/test/dummy/tmp/cache/assets/E0E/850/sprockets%2F9e16585b5e9e67d2ad3bfc79fe3c3cbb +0 -0
  240. data/test/dummy/tmp/cache/assets/E16/890/sprockets%2F25d48ca77decab21aa4e144a30aed4ed +0 -0
  241. data/test/dummy/tmp/cache/assets/E28/A80/sprockets%2F34a8d9e9cbd7a2a5178da0afbf4e10fd +0 -0
  242. data/test/dummy/tmp/cache/assets/E28/D00/sprockets%2Fcb82c1534ddccee2fa79b6a84e1d3ae4 +0 -0
  243. data/test/dummy/tmp/cache/assets/E31/6E0/sprockets%2Ff305b61e7fa499ad2504bfebb9e7edea +0 -0
  244. data/test/dummy/tmp/cache/assets/E6E/9C0/sprockets%2Ffa55f351fcecf1bc2ba6ba1310cbfaa5 +0 -0
  245. data/test/dummy/tmp/data/meta_request/9f4fa7337e7e94a98f0b910b6ca482cc.json +1 -0
  246. data/test/dummy/tmp/data/meta_request/daa67d658c0acef85e2bd06df1c83b29.json +1 -0
  247. data/test/dummy/tmp/data/meta_request/dce6a6c9d301470e341c23d760d54745.json +1 -0
  248. metadata +8 -4
  249. data/test/dummy/tmp/data/meta_request/efac4ed670e3c58c510e003f42e04992.json +0 -1
@@ -610,25 +610,29 @@ define('Core/Math',[
610
610
  };
611
611
 
612
612
  /**
613
- * Converts a scalar value in the range [-1.0, 1.0] to a 8-bit 2's complement number.
613
+ * Converts a scalar value in the range [-1.0, 1.0] to a SNORM in the range [0, rangeMax]
614
614
  * @param {Number} value The scalar value in the range [-1.0, 1.0]
615
- * @returns {Number} The 8-bit 2's complement number, where 0 maps to -1.0 and 255 maps to 1.0.
615
+ * @param {Number} [rangeMax=255] The maximum value in the mapped range, 255 by default.
616
+ * @returns {Number} A SNORM value, where 0 maps to -1.0 and rangeMax maps to 1.0.
616
617
  *
617
618
  * @see CesiumMath.fromSNorm
618
619
  */
619
- CesiumMath.toSNorm = function(value) {
620
- return Math.round((CesiumMath.clamp(value, -1.0, 1.0) * 0.5 + 0.5) * 255.0);
620
+ CesiumMath.toSNorm = function(value, rangeMax) {
621
+ rangeMax = defaultValue(rangeMax, 255);
622
+ return Math.round((CesiumMath.clamp(value, -1.0, 1.0) * 0.5 + 0.5) * rangeMax);
621
623
  };
622
624
 
623
625
  /**
624
- * Converts a SNORM value in the range [0, 255] to a scalar in the range [-1.0, 1.0].
626
+ * Converts a SNORM value in the range [0, rangeMax] to a scalar in the range [-1.0, 1.0].
625
627
  * @param {Number} value SNORM value in the range [0, 255]
628
+ * @param {Number} [rangeMax=255] The maximum value in the SNORM range, 255 by default.
626
629
  * @returns {Number} Scalar in the range [-1.0, 1.0].
627
630
  *
628
631
  * @see CesiumMath.toSNorm
629
632
  */
630
- CesiumMath.fromSNorm = function(value) {
631
- return CesiumMath.clamp(value, 0.0, 255.0) / 255.0 * 2.0 - 1.0;
633
+ CesiumMath.fromSNorm = function(value, rangeMax) {
634
+ rangeMax = defaultValue(rangeMax, 255);
635
+ return CesiumMath.clamp(value, 0.0, rangeMax) / rangeMax * 2.0 - 1.0;
632
636
  };
633
637
 
634
638
  /**
@@ -1309,6 +1313,8 @@ define('Core/Cartesian3',[
1309
1313
  * @param {Cartesian3} value The value to pack.
1310
1314
  * @param {Number[]} array The array to pack into.
1311
1315
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
1316
+ *
1317
+ * @returns {Number[]} The array that was packed into
1312
1318
  */
1313
1319
  Cartesian3.pack = function(value, array, startingIndex) {
1314
1320
  if (!defined(value)) {
@@ -1324,6 +1330,8 @@ define('Core/Cartesian3',[
1324
1330
  array[startingIndex++] = value.x;
1325
1331
  array[startingIndex++] = value.y;
1326
1332
  array[startingIndex] = value.z;
1333
+
1334
+ return array;
1327
1335
  };
1328
1336
 
1329
1337
  /**
@@ -2967,6 +2975,8 @@ define('Core/Ellipsoid',[
2967
2975
  * @param {Ellipsoid} value The value to pack.
2968
2976
  * @param {Number[]} array The array to pack into.
2969
2977
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
2978
+ *
2979
+ * @returns {Number[]} The array that was packed into
2970
2980
  */
2971
2981
  Ellipsoid.pack = function(value, array, startingIndex) {
2972
2982
  if (!defined(value)) {
@@ -2979,6 +2989,8 @@ define('Core/Ellipsoid',[
2979
2989
  startingIndex = defaultValue(startingIndex, 0);
2980
2990
 
2981
2991
  Cartesian3.pack(value._radii, array, startingIndex);
2992
+
2993
+ return array;
2982
2994
  };
2983
2995
 
2984
2996
  /**
@@ -3506,6 +3518,8 @@ define('Core/Cartesian2',[
3506
3518
  * @param {Cartesian2} value The value to pack.
3507
3519
  * @param {Number[]} array The array to pack into.
3508
3520
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
3521
+ *
3522
+ * @returns {Number[]} The array that was packed into
3509
3523
  */
3510
3524
  Cartesian2.pack = function(value, array, startingIndex) {
3511
3525
  if (!defined(value)) {
@@ -3519,6 +3533,8 @@ define('Core/Cartesian2',[
3519
3533
 
3520
3534
  array[startingIndex++] = value.x;
3521
3535
  array[startingIndex] = value.y;
3536
+
3537
+ return array;
3522
3538
  };
3523
3539
 
3524
3540
  /**
@@ -4418,6 +4434,8 @@ define('Core/Rectangle',[
4418
4434
  * @param {Rectangle} value The value to pack.
4419
4435
  * @param {Number[]} array The array to pack into.
4420
4436
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
4437
+ *
4438
+ * @returns {Number[]} The array that was packed into
4421
4439
  */
4422
4440
  Rectangle.pack = function(value, array, startingIndex) {
4423
4441
  if (!defined(value)) {
@@ -4434,6 +4452,8 @@ define('Core/Rectangle',[
4434
4452
  array[startingIndex++] = value.south;
4435
4453
  array[startingIndex++] = value.east;
4436
4454
  array[startingIndex] = value.north;
4455
+
4456
+ return array;
4437
4457
  };
4438
4458
 
4439
4459
  /**
@@ -5194,6 +5214,8 @@ define('Core/BoundingRectangle',[
5194
5214
  * @param {BoundingRectangle} value The value to pack.
5195
5215
  * @param {Number[]} array The array to pack into.
5196
5216
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
5217
+ *
5218
+ * @returns {Number[]} The array that was packed into
5197
5219
  */
5198
5220
  BoundingRectangle.pack = function(value, array, startingIndex) {
5199
5221
  if (!defined(value)) {
@@ -5209,6 +5231,8 @@ define('Core/BoundingRectangle',[
5209
5231
  array[startingIndex++] = value.y;
5210
5232
  array[startingIndex++] = value.width;
5211
5233
  array[startingIndex] = value.height;
5234
+
5235
+ return array;
5212
5236
  };
5213
5237
 
5214
5238
  /**
@@ -5597,6 +5621,8 @@ define('Core/Matrix3',[
5597
5621
  * @param {Matrix3} value The value to pack.
5598
5622
  * @param {Number[]} array The array to pack into.
5599
5623
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
5624
+ *
5625
+ * @returns {Number[]} The array that was packed into
5600
5626
  */
5601
5627
  Matrix3.pack = function(value, array, startingIndex) {
5602
5628
  if (!defined(value)) {
@@ -5618,6 +5644,8 @@ define('Core/Matrix3',[
5618
5644
  array[startingIndex++] = value[6];
5619
5645
  array[startingIndex++] = value[7];
5620
5646
  array[startingIndex++] = value[8];
5647
+
5648
+ return array;
5621
5649
  };
5622
5650
 
5623
5651
  /**
@@ -6459,7 +6487,7 @@ define('Core/Matrix3',[
6459
6487
  * @example
6460
6488
  * // Instead of Cesium.Matrix3.multiply(m, Cesium.Matrix3.fromScale(scale), m);
6461
6489
  * Cesium.Matrix3.multiplyByScale(m, scale, m);
6462
- *
6490
+ *
6463
6491
  * @see Matrix3.fromScale
6464
6492
  * @see Matrix3.multiplyByUniformScale
6465
6493
  */
@@ -7165,6 +7193,8 @@ define('Core/Cartesian4',[
7165
7193
  * @param {Cartesian4} value The value to pack.
7166
7194
  * @param {Number[]} array The array to pack into.
7167
7195
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
7196
+ *
7197
+ * @returns {Number[]} The array that was packed into
7168
7198
  */
7169
7199
  Cartesian4.pack = function(value, array, startingIndex) {
7170
7200
  if (!defined(value)) {
@@ -7180,6 +7210,8 @@ define('Core/Cartesian4',[
7180
7210
  array[startingIndex++] = value.y;
7181
7211
  array[startingIndex++] = value.z;
7182
7212
  array[startingIndex] = value.w;
7213
+
7214
+ return array;
7183
7215
  };
7184
7216
 
7185
7217
  /**
@@ -8032,6 +8064,8 @@ define('Core/Matrix4',[
8032
8064
  * @param {Matrix4} value The value to pack.
8033
8065
  * @param {Number[]} array The array to pack into.
8034
8066
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
8067
+ *
8068
+ * @returns {Number[]} The array that was packed into
8035
8069
  */
8036
8070
  Matrix4.pack = function(value, array, startingIndex) {
8037
8071
  if (!defined(value)) {
@@ -8060,6 +8094,8 @@ define('Core/Matrix4',[
8060
8094
  array[startingIndex++] = value[13];
8061
8095
  array[startingIndex++] = value[14];
8062
8096
  array[startingIndex] = value[15];
8097
+
8098
+ return array;
8063
8099
  };
8064
8100
 
8065
8101
  /**
@@ -9664,7 +9700,7 @@ define('Core/Matrix4',[
9664
9700
  * @example
9665
9701
  * // Instead of Cesium.Matrix4.multiply(m, Cesium.Matrix4.fromUniformScale(scale), m);
9666
9702
  * Cesium.Matrix4.multiplyByUniformScale(m, scale, m);
9667
- *
9703
+ *
9668
9704
  * @see Matrix4.fromUniformScale
9669
9705
  * @see Matrix4.multiplyByScale
9670
9706
  */
@@ -9701,7 +9737,7 @@ define('Core/Matrix4',[
9701
9737
  * @example
9702
9738
  * // Instead of Cesium.Matrix4.multiply(m, Cesium.Matrix4.fromScale(scale), m);
9703
9739
  * Cesium.Matrix4.multiplyByScale(m, scale, m);
9704
- *
9740
+ *
9705
9741
  * @see Matrix4.fromScale
9706
9742
  * @see Matrix4.multiplyByUniformScale
9707
9743
  */
@@ -11656,6 +11692,8 @@ define('Core/BoundingSphere',[
11656
11692
  * @param {BoundingSphere} value The value to pack.
11657
11693
  * @param {Number[]} array The array to pack into.
11658
11694
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
11695
+ *
11696
+ * @returns {Number[]} The array that was packed into
11659
11697
  */
11660
11698
  BoundingSphere.pack = function(value, array, startingIndex) {
11661
11699
  if (!defined(value)) {
@@ -11673,6 +11711,8 @@ define('Core/BoundingSphere',[
11673
11711
  array[startingIndex++] = center.y;
11674
11712
  array[startingIndex++] = center.z;
11675
11713
  array[startingIndex] = value.radius;
11714
+
11715
+ return array;
11676
11716
  };
11677
11717
 
11678
11718
  /**
@@ -14110,12 +14150,14 @@ define('Core/GeometryAttributes',[
14110
14150
  define('Core/AttributeCompression',[
14111
14151
  './Cartesian2',
14112
14152
  './Cartesian3',
14153
+ './defaultValue',
14113
14154
  './defined',
14114
14155
  './DeveloperError',
14115
14156
  './Math'
14116
14157
  ], function(
14117
14158
  Cartesian2,
14118
14159
  Cartesian3,
14160
+ defaultValue,
14119
14161
  defined,
14120
14162
  DeveloperError,
14121
14163
  CesiumMath) {
@@ -14131,21 +14173,22 @@ define('Core/AttributeCompression',[
14131
14173
  var AttributeCompression = {};
14132
14174
 
14133
14175
  /**
14134
- * Encodes a normalized vector into 2 SNORM values in the range of [0-255] following the 'oct' encoding.
14176
+ * Encodes a normalized vector into 2 SNORM values in the range of [0-rangeMax] following the 'oct' encoding.
14135
14177
  *
14136
- * Oct encoding is a compact representation of unit length vectors. The encoding and decoding functions are low cost, and represent the normalized vector within 1 degree of error.
14178
+ * Oct encoding is a compact representation of unit length vectors.
14137
14179
  * The 'oct' encoding is described in "A Survey of Efficient Representations of Independent Unit Vectors",
14138
14180
  * Cigolle et al 2014: {@link http://jcgt.org/published/0003/02/01/}
14139
14181
  *
14140
- * @param {Cartesian3} vector The normalized vector to be compressed into 2 byte 'oct' encoding.
14141
- * @param {Cartesian2} result The 2 byte oct-encoded unit length vector.
14142
- * @returns {Cartesian2} The 2 byte oct-encoded unit length vector.
14182
+ * @param {Cartesian3} vector The normalized vector to be compressed into 2 component 'oct' encoding.
14183
+ * @param {Cartesian2} result The 2 component oct-encoded unit length vector.
14184
+ * @param {Number} rangeMax The maximum value of the SNORM range. The encoded vector is stored in log2(rangeMax+1) bits.
14185
+ * @returns {Cartesian2} The 2 component oct-encoded unit length vector.
14143
14186
  *
14144
14187
  * @exception {DeveloperError} vector must be normalized.
14145
14188
  *
14146
- * @see AttributeCompression.octDecode
14189
+ * @see AttributeCompression.octDecodeInRange
14147
14190
  */
14148
- AttributeCompression.octEncode = function(vector, result) {
14191
+ AttributeCompression.octEncodeInRange = function(vector, rangeMax, result) {
14149
14192
  if (!defined(vector)) {
14150
14193
  throw new DeveloperError('vector is required.');
14151
14194
  }
@@ -14166,34 +14209,51 @@ define('Core/AttributeCompression',[
14166
14209
  result.y = (1.0 - Math.abs(x)) * CesiumMath.signNotZero(y);
14167
14210
  }
14168
14211
 
14169
- result.x = CesiumMath.toSNorm(result.x);
14170
- result.y = CesiumMath.toSNorm(result.y);
14212
+ result.x = CesiumMath.toSNorm(result.x, rangeMax);
14213
+ result.y = CesiumMath.toSNorm(result.y, rangeMax);
14171
14214
 
14172
14215
  return result;
14173
14216
  };
14174
14217
 
14218
+ /**
14219
+ * Encodes a normalized vector into 2 SNORM values in the range of [0-255] following the 'oct' encoding.
14220
+ *
14221
+ * @param {Cartesian3} vector The normalized vector to be compressed into 2 byte 'oct' encoding.
14222
+ * @param {Cartesian2} result The 2 byte oct-encoded unit length vector.
14223
+ * @returns {Cartesian2} The 2 byte oct-encoded unit length vector.
14224
+ *
14225
+ * @exception {DeveloperError} vector must be normalized.
14226
+ *
14227
+ * @see AttributeCompression.octEncodeInRange
14228
+ * @see AttributeCompression.octDecode
14229
+ */
14230
+ AttributeCompression.octEncode = function(vector, result) {
14231
+ return AttributeCompression.octEncodeInRange(vector, 255, result);
14232
+ };
14233
+
14175
14234
  /**
14176
14235
  * Decodes a unit-length vector in 'oct' encoding to a normalized 3-component vector.
14177
14236
  *
14178
14237
  * @param {Number} x The x component of the oct-encoded unit length vector.
14179
14238
  * @param {Number} y The y component of the oct-encoded unit length vector.
14239
+ * @param {Number} rangeMax The maximum value of the SNORM range. The encoded vector is stored in log2(rangeMax+1) bits.
14180
14240
  * @param {Cartesian3} result The decoded and normalized vector
14181
14241
  * @returns {Cartesian3} The decoded and normalized vector.
14182
14242
  *
14183
- * @exception {DeveloperError} x and y must be a signed normalized integer between 0 and 255.
14243
+ * @exception {DeveloperError} x and y must be an unsigned normalized integer between 0 and rangeMax.
14184
14244
  *
14185
- * @see AttributeCompression.octEncode
14245
+ * @see AttributeCompression.octEncodeInRange
14186
14246
  */
14187
- AttributeCompression.octDecode = function(x, y, result) {
14247
+ AttributeCompression.octDecodeInRange = function(x, y, rangeMax, result) {
14188
14248
  if (!defined(result)) {
14189
14249
  throw new DeveloperError('result is required.');
14190
14250
  }
14191
- if (x < 0 || x > 255 || y < 0 || y > 255) {
14192
- throw new DeveloperError('x and y must be a signed normalized integer between 0 and 255');
14251
+ if (x < 0 || x > rangeMax || y < 0 || y > rangeMax) {
14252
+ throw new DeveloperError('x and y must be a signed normalized integer between 0 and ' + rangeMax);
14193
14253
  }
14194
14254
 
14195
- result.x = CesiumMath.fromSNorm(x);
14196
- result.y = CesiumMath.fromSNorm(y);
14255
+ result.x = CesiumMath.fromSNorm(x, rangeMax);
14256
+ result.y = CesiumMath.fromSNorm(y, rangeMax);
14197
14257
  result.z = 1.0 - (Math.abs(result.x) + Math.abs(result.y));
14198
14258
 
14199
14259
  if (result.z < 0.0)
@@ -14206,6 +14266,22 @@ define('Core/AttributeCompression',[
14206
14266
  return Cartesian3.normalize(result, result);
14207
14267
  };
14208
14268
 
14269
+ /**
14270
+ * Decodes a unit-length vector in 2 byte 'oct' encoding to a normalized 3-component vector.
14271
+ *
14272
+ * @param {Number} x The x component of the oct-encoded unit length vector.
14273
+ * @param {Number} y The y component of the oct-encoded unit length vector.
14274
+ * @param {Cartesian3} result The decoded and normalized vector.
14275
+ * @returns {Cartesian3} The decoded and normalized vector.
14276
+ *
14277
+ * @exception {DeveloperError} x and y must be an unsigned normalized integer between 0 and 255.
14278
+ *
14279
+ * @see AttributeCompression.octDecodeInRange
14280
+ */
14281
+ AttributeCompression.octDecode = function(x, y, result) {
14282
+ return AttributeCompression.octDecodeInRange(x, y, 255, result);
14283
+ };
14284
+
14209
14285
  /**
14210
14286
  * Packs an oct encoded vector into a single floating-point number.
14211
14287
  *
@@ -22618,7 +22694,8 @@ define('Core/JulianDate',[
22618
22694
  new LeapSecond(new JulianDate(2453736, 43233.0, TimeStandard.TAI), 33), // January 1, 2006 00:00:00 UTC
22619
22695
  new LeapSecond(new JulianDate(2454832, 43234.0, TimeStandard.TAI), 34), // January 1, 2009 00:00:00 UTC
22620
22696
  new LeapSecond(new JulianDate(2456109, 43235.0, TimeStandard.TAI), 35), // July 1, 2012 00:00:00 UTC
22621
- new LeapSecond(new JulianDate(2457204, 43236.0, TimeStandard.TAI), 36) // July 1, 2015 00:00:00 UTC
22697
+ new LeapSecond(new JulianDate(2457204, 43236.0, TimeStandard.TAI), 36), // July 1, 2015 00:00:00 UTC
22698
+ new LeapSecond(new JulianDate(2457754, 43237.0, TimeStandard.TAI), 37) // January 1, 2017 00:00:00 UTC
22622
22699
  ];
22623
22700
 
22624
22701
  return JulianDate;
@@ -24506,6 +24583,8 @@ define('Core/Quaternion',[
24506
24583
  * @param {Quaternion} value The value to pack.
24507
24584
  * @param {Number[]} array The array to pack into.
24508
24585
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
24586
+ *
24587
+ * @returns {Number[]} The array that was packed into
24509
24588
  */
24510
24589
  Quaternion.pack = function(value, array, startingIndex) {
24511
24590
  if (!defined(value)) {
@@ -24522,6 +24601,8 @@ define('Core/Quaternion',[
24522
24601
  array[startingIndex++] = value.y;
24523
24602
  array[startingIndex++] = value.z;
24524
24603
  array[startingIndex] = value.w;
24604
+
24605
+ return array;
24525
24606
  };
24526
24607
 
24527
24608
  /**
@@ -25151,7 +25232,7 @@ define('Core/Quaternion',[
25151
25232
  * // 2. compute the squad interpolation as above but where the first quaternion is a end point.
25152
25233
  * var s1 = Cesium.Quaternion.computeInnerQuadrangle(quaternions[0], quaternions[1], quaternions[2], new Cesium.Quaternion());
25153
25234
  * var q = Cesium.Quaternion.squad(quaternions[0], quaternions[1], quaternions[0], s1, t, new Cesium.Quaternion());
25154
- *
25235
+ *
25155
25236
  * @see Quaternion#computeInnerQuadrangle
25156
25237
  */
25157
25238
  Quaternion.squad = function(q0, q1, s0, s1, t, result) {
@@ -27839,11 +27920,13 @@ define('Core/PolylinePipeline',[
27839
27920
  var length = positions.length;
27840
27921
  var ellipsoid = defaultValue(options.ellipsoid, Ellipsoid.WGS84);
27841
27922
  var height = defaultValue(options.height, 0);
27923
+ var hasHeightArray = isArray(height);
27842
27924
 
27843
27925
  if (length < 1) {
27844
27926
  return [];
27845
27927
  } else if (length === 1) {
27846
27928
  var p = ellipsoid.scaleToGeodeticSurface(positions[0], scaleFirst);
27929
+ height = hasHeightArray ? height[0] : height;
27847
27930
  if (height !== 0) {
27848
27931
  var n = ellipsoid.geodeticSurfaceNormal(p, cartesian);
27849
27932
  Cartesian3.multiplyByScalar(n, height, n);
@@ -27869,7 +27952,6 @@ define('Core/PolylinePipeline',[
27869
27952
  var arrayLength = (numPoints + 1) * 3;
27870
27953
  var newPositions = new Array(arrayLength);
27871
27954
  var offset = 0;
27872
- var hasHeightArray = isArray(height);
27873
27955
 
27874
27956
  for (i = 0; i < length - 1; i++) {
27875
27957
  var p0 = positions[i];
@@ -28565,6 +28647,8 @@ define('Core/VertexFormat',[
28565
28647
  * @param {VertexFormat} value The value to pack.
28566
28648
  * @param {Number[]} array The array to pack into.
28567
28649
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
28650
+ *
28651
+ * @returns {Number[]} The array that was packed into
28568
28652
  */
28569
28653
  VertexFormat.pack = function(value, array, startingIndex) {
28570
28654
  if (!defined(value)) {
@@ -28582,6 +28666,8 @@ define('Core/VertexFormat',[
28582
28666
  array[startingIndex++] = value.binormal ? 1.0 : 0.0;
28583
28667
  array[startingIndex++] = value.tangent ? 1.0 : 0.0;
28584
28668
  array[startingIndex++] = value.color ? 1.0 : 0.0;
28669
+
28670
+ return array;
28585
28671
  };
28586
28672
 
28587
28673
  /**
@@ -28892,6 +28978,8 @@ define('Core/PolylineVolumeGeometry',[
28892
28978
  * @param {PolylineVolumeGeometry} value The value to pack.
28893
28979
  * @param {Number[]} array The array to pack into.
28894
28980
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
28981
+ *
28982
+ * @returns {Number[]} The array that was packed into
28895
28983
  */
28896
28984
  PolylineVolumeGeometry.pack = function(value, array, startingIndex) {
28897
28985
  if (!defined(value)) {
@@ -28929,6 +29017,8 @@ define('Core/PolylineVolumeGeometry',[
28929
29017
 
28930
29018
  array[startingIndex++] = value._cornerType;
28931
29019
  array[startingIndex] = value._granularity;
29020
+
29021
+ return array;
28932
29022
  };
28933
29023
 
28934
29024
  var scratchEllipsoid = Ellipsoid.clone(Ellipsoid.UNIT_SPHERE);
@@ -610,25 +610,29 @@ define('Core/Math',[
610
610
  };
611
611
 
612
612
  /**
613
- * Converts a scalar value in the range [-1.0, 1.0] to a 8-bit 2's complement number.
613
+ * Converts a scalar value in the range [-1.0, 1.0] to a SNORM in the range [0, rangeMax]
614
614
  * @param {Number} value The scalar value in the range [-1.0, 1.0]
615
- * @returns {Number} The 8-bit 2's complement number, where 0 maps to -1.0 and 255 maps to 1.0.
615
+ * @param {Number} [rangeMax=255] The maximum value in the mapped range, 255 by default.
616
+ * @returns {Number} A SNORM value, where 0 maps to -1.0 and rangeMax maps to 1.0.
616
617
  *
617
618
  * @see CesiumMath.fromSNorm
618
619
  */
619
- CesiumMath.toSNorm = function(value) {
620
- return Math.round((CesiumMath.clamp(value, -1.0, 1.0) * 0.5 + 0.5) * 255.0);
620
+ CesiumMath.toSNorm = function(value, rangeMax) {
621
+ rangeMax = defaultValue(rangeMax, 255);
622
+ return Math.round((CesiumMath.clamp(value, -1.0, 1.0) * 0.5 + 0.5) * rangeMax);
621
623
  };
622
624
 
623
625
  /**
624
- * Converts a SNORM value in the range [0, 255] to a scalar in the range [-1.0, 1.0].
626
+ * Converts a SNORM value in the range [0, rangeMax] to a scalar in the range [-1.0, 1.0].
625
627
  * @param {Number} value SNORM value in the range [0, 255]
628
+ * @param {Number} [rangeMax=255] The maximum value in the SNORM range, 255 by default.
626
629
  * @returns {Number} Scalar in the range [-1.0, 1.0].
627
630
  *
628
631
  * @see CesiumMath.toSNorm
629
632
  */
630
- CesiumMath.fromSNorm = function(value) {
631
- return CesiumMath.clamp(value, 0.0, 255.0) / 255.0 * 2.0 - 1.0;
633
+ CesiumMath.fromSNorm = function(value, rangeMax) {
634
+ rangeMax = defaultValue(rangeMax, 255);
635
+ return CesiumMath.clamp(value, 0.0, rangeMax) / rangeMax * 2.0 - 1.0;
632
636
  };
633
637
 
634
638
  /**
@@ -1309,6 +1313,8 @@ define('Core/Cartesian3',[
1309
1313
  * @param {Cartesian3} value The value to pack.
1310
1314
  * @param {Number[]} array The array to pack into.
1311
1315
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
1316
+ *
1317
+ * @returns {Number[]} The array that was packed into
1312
1318
  */
1313
1319
  Cartesian3.pack = function(value, array, startingIndex) {
1314
1320
  if (!defined(value)) {
@@ -1324,6 +1330,8 @@ define('Core/Cartesian3',[
1324
1330
  array[startingIndex++] = value.x;
1325
1331
  array[startingIndex++] = value.y;
1326
1332
  array[startingIndex] = value.z;
1333
+
1334
+ return array;
1327
1335
  };
1328
1336
 
1329
1337
  /**
@@ -2967,6 +2975,8 @@ define('Core/Ellipsoid',[
2967
2975
  * @param {Ellipsoid} value The value to pack.
2968
2976
  * @param {Number[]} array The array to pack into.
2969
2977
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
2978
+ *
2979
+ * @returns {Number[]} The array that was packed into
2970
2980
  */
2971
2981
  Ellipsoid.pack = function(value, array, startingIndex) {
2972
2982
  if (!defined(value)) {
@@ -2979,6 +2989,8 @@ define('Core/Ellipsoid',[
2979
2989
  startingIndex = defaultValue(startingIndex, 0);
2980
2990
 
2981
2991
  Cartesian3.pack(value._radii, array, startingIndex);
2992
+
2993
+ return array;
2982
2994
  };
2983
2995
 
2984
2996
  /**
@@ -3506,6 +3518,8 @@ define('Core/Cartesian2',[
3506
3518
  * @param {Cartesian2} value The value to pack.
3507
3519
  * @param {Number[]} array The array to pack into.
3508
3520
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
3521
+ *
3522
+ * @returns {Number[]} The array that was packed into
3509
3523
  */
3510
3524
  Cartesian2.pack = function(value, array, startingIndex) {
3511
3525
  if (!defined(value)) {
@@ -3519,6 +3533,8 @@ define('Core/Cartesian2',[
3519
3533
 
3520
3534
  array[startingIndex++] = value.x;
3521
3535
  array[startingIndex] = value.y;
3536
+
3537
+ return array;
3522
3538
  };
3523
3539
 
3524
3540
  /**
@@ -4418,6 +4434,8 @@ define('Core/Rectangle',[
4418
4434
  * @param {Rectangle} value The value to pack.
4419
4435
  * @param {Number[]} array The array to pack into.
4420
4436
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
4437
+ *
4438
+ * @returns {Number[]} The array that was packed into
4421
4439
  */
4422
4440
  Rectangle.pack = function(value, array, startingIndex) {
4423
4441
  if (!defined(value)) {
@@ -4434,6 +4452,8 @@ define('Core/Rectangle',[
4434
4452
  array[startingIndex++] = value.south;
4435
4453
  array[startingIndex++] = value.east;
4436
4454
  array[startingIndex] = value.north;
4455
+
4456
+ return array;
4437
4457
  };
4438
4458
 
4439
4459
  /**
@@ -5194,6 +5214,8 @@ define('Core/BoundingRectangle',[
5194
5214
  * @param {BoundingRectangle} value The value to pack.
5195
5215
  * @param {Number[]} array The array to pack into.
5196
5216
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
5217
+ *
5218
+ * @returns {Number[]} The array that was packed into
5197
5219
  */
5198
5220
  BoundingRectangle.pack = function(value, array, startingIndex) {
5199
5221
  if (!defined(value)) {
@@ -5209,6 +5231,8 @@ define('Core/BoundingRectangle',[
5209
5231
  array[startingIndex++] = value.y;
5210
5232
  array[startingIndex++] = value.width;
5211
5233
  array[startingIndex] = value.height;
5234
+
5235
+ return array;
5212
5236
  };
5213
5237
 
5214
5238
  /**
@@ -5597,6 +5621,8 @@ define('Core/Matrix3',[
5597
5621
  * @param {Matrix3} value The value to pack.
5598
5622
  * @param {Number[]} array The array to pack into.
5599
5623
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
5624
+ *
5625
+ * @returns {Number[]} The array that was packed into
5600
5626
  */
5601
5627
  Matrix3.pack = function(value, array, startingIndex) {
5602
5628
  if (!defined(value)) {
@@ -5618,6 +5644,8 @@ define('Core/Matrix3',[
5618
5644
  array[startingIndex++] = value[6];
5619
5645
  array[startingIndex++] = value[7];
5620
5646
  array[startingIndex++] = value[8];
5647
+
5648
+ return array;
5621
5649
  };
5622
5650
 
5623
5651
  /**
@@ -6459,7 +6487,7 @@ define('Core/Matrix3',[
6459
6487
  * @example
6460
6488
  * // Instead of Cesium.Matrix3.multiply(m, Cesium.Matrix3.fromScale(scale), m);
6461
6489
  * Cesium.Matrix3.multiplyByScale(m, scale, m);
6462
- *
6490
+ *
6463
6491
  * @see Matrix3.fromScale
6464
6492
  * @see Matrix3.multiplyByUniformScale
6465
6493
  */
@@ -7165,6 +7193,8 @@ define('Core/Cartesian4',[
7165
7193
  * @param {Cartesian4} value The value to pack.
7166
7194
  * @param {Number[]} array The array to pack into.
7167
7195
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
7196
+ *
7197
+ * @returns {Number[]} The array that was packed into
7168
7198
  */
7169
7199
  Cartesian4.pack = function(value, array, startingIndex) {
7170
7200
  if (!defined(value)) {
@@ -7180,6 +7210,8 @@ define('Core/Cartesian4',[
7180
7210
  array[startingIndex++] = value.y;
7181
7211
  array[startingIndex++] = value.z;
7182
7212
  array[startingIndex] = value.w;
7213
+
7214
+ return array;
7183
7215
  };
7184
7216
 
7185
7217
  /**
@@ -8032,6 +8064,8 @@ define('Core/Matrix4',[
8032
8064
  * @param {Matrix4} value The value to pack.
8033
8065
  * @param {Number[]} array The array to pack into.
8034
8066
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
8067
+ *
8068
+ * @returns {Number[]} The array that was packed into
8035
8069
  */
8036
8070
  Matrix4.pack = function(value, array, startingIndex) {
8037
8071
  if (!defined(value)) {
@@ -8060,6 +8094,8 @@ define('Core/Matrix4',[
8060
8094
  array[startingIndex++] = value[13];
8061
8095
  array[startingIndex++] = value[14];
8062
8096
  array[startingIndex] = value[15];
8097
+
8098
+ return array;
8063
8099
  };
8064
8100
 
8065
8101
  /**
@@ -9664,7 +9700,7 @@ define('Core/Matrix4',[
9664
9700
  * @example
9665
9701
  * // Instead of Cesium.Matrix4.multiply(m, Cesium.Matrix4.fromUniformScale(scale), m);
9666
9702
  * Cesium.Matrix4.multiplyByUniformScale(m, scale, m);
9667
- *
9703
+ *
9668
9704
  * @see Matrix4.fromUniformScale
9669
9705
  * @see Matrix4.multiplyByScale
9670
9706
  */
@@ -9701,7 +9737,7 @@ define('Core/Matrix4',[
9701
9737
  * @example
9702
9738
  * // Instead of Cesium.Matrix4.multiply(m, Cesium.Matrix4.fromScale(scale), m);
9703
9739
  * Cesium.Matrix4.multiplyByScale(m, scale, m);
9704
- *
9740
+ *
9705
9741
  * @see Matrix4.fromScale
9706
9742
  * @see Matrix4.multiplyByUniformScale
9707
9743
  */
@@ -11656,6 +11692,8 @@ define('Core/BoundingSphere',[
11656
11692
  * @param {BoundingSphere} value The value to pack.
11657
11693
  * @param {Number[]} array The array to pack into.
11658
11694
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
11695
+ *
11696
+ * @returns {Number[]} The array that was packed into
11659
11697
  */
11660
11698
  BoundingSphere.pack = function(value, array, startingIndex) {
11661
11699
  if (!defined(value)) {
@@ -11673,6 +11711,8 @@ define('Core/BoundingSphere',[
11673
11711
  array[startingIndex++] = center.y;
11674
11712
  array[startingIndex++] = center.z;
11675
11713
  array[startingIndex] = value.radius;
11714
+
11715
+ return array;
11676
11716
  };
11677
11717
 
11678
11718
  /**
@@ -19222,7 +19262,8 @@ define('Core/JulianDate',[
19222
19262
  new LeapSecond(new JulianDate(2453736, 43233.0, TimeStandard.TAI), 33), // January 1, 2006 00:00:00 UTC
19223
19263
  new LeapSecond(new JulianDate(2454832, 43234.0, TimeStandard.TAI), 34), // January 1, 2009 00:00:00 UTC
19224
19264
  new LeapSecond(new JulianDate(2456109, 43235.0, TimeStandard.TAI), 35), // July 1, 2012 00:00:00 UTC
19225
- new LeapSecond(new JulianDate(2457204, 43236.0, TimeStandard.TAI), 36) // July 1, 2015 00:00:00 UTC
19265
+ new LeapSecond(new JulianDate(2457204, 43236.0, TimeStandard.TAI), 36), // July 1, 2015 00:00:00 UTC
19266
+ new LeapSecond(new JulianDate(2457754, 43237.0, TimeStandard.TAI), 37) // January 1, 2017 00:00:00 UTC
19226
19267
  ];
19227
19268
 
19228
19269
  return JulianDate;
@@ -21110,6 +21151,8 @@ define('Core/Quaternion',[
21110
21151
  * @param {Quaternion} value The value to pack.
21111
21152
  * @param {Number[]} array The array to pack into.
21112
21153
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
21154
+ *
21155
+ * @returns {Number[]} The array that was packed into
21113
21156
  */
21114
21157
  Quaternion.pack = function(value, array, startingIndex) {
21115
21158
  if (!defined(value)) {
@@ -21126,6 +21169,8 @@ define('Core/Quaternion',[
21126
21169
  array[startingIndex++] = value.y;
21127
21170
  array[startingIndex++] = value.z;
21128
21171
  array[startingIndex] = value.w;
21172
+
21173
+ return array;
21129
21174
  };
21130
21175
 
21131
21176
  /**
@@ -21755,7 +21800,7 @@ define('Core/Quaternion',[
21755
21800
  * // 2. compute the squad interpolation as above but where the first quaternion is a end point.
21756
21801
  * var s1 = Cesium.Quaternion.computeInnerQuadrangle(quaternions[0], quaternions[1], quaternions[2], new Cesium.Quaternion());
21757
21802
  * var q = Cesium.Quaternion.squad(quaternions[0], quaternions[1], quaternions[0], s1, t, new Cesium.Quaternion());
21758
- *
21803
+ *
21759
21804
  * @see Quaternion#computeInnerQuadrangle
21760
21805
  */
21761
21806
  Quaternion.squad = function(q0, q1, s0, s1, t, result) {
@@ -24526,11 +24571,13 @@ define('Core/PolylinePipeline',[
24526
24571
  var length = positions.length;
24527
24572
  var ellipsoid = defaultValue(options.ellipsoid, Ellipsoid.WGS84);
24528
24573
  var height = defaultValue(options.height, 0);
24574
+ var hasHeightArray = isArray(height);
24529
24575
 
24530
24576
  if (length < 1) {
24531
24577
  return [];
24532
24578
  } else if (length === 1) {
24533
24579
  var p = ellipsoid.scaleToGeodeticSurface(positions[0], scaleFirst);
24580
+ height = hasHeightArray ? height[0] : height;
24534
24581
  if (height !== 0) {
24535
24582
  var n = ellipsoid.geodeticSurfaceNormal(p, cartesian);
24536
24583
  Cartesian3.multiplyByScalar(n, height, n);
@@ -24556,7 +24603,6 @@ define('Core/PolylinePipeline',[
24556
24603
  var arrayLength = (numPoints + 1) * 3;
24557
24604
  var newPositions = new Array(arrayLength);
24558
24605
  var offset = 0;
24559
- var hasHeightArray = isArray(height);
24560
24606
 
24561
24607
  for (i = 0; i < length - 1; i++) {
24562
24608
  var p0 = positions[i];
@@ -25188,6 +25234,8 @@ define('Core/PolylineVolumeOutlineGeometry',[
25188
25234
  * @param {PolylineVolumeOutlineGeometry} value The value to pack.
25189
25235
  * @param {Number[]} array The array to pack into.
25190
25236
  * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
25237
+ *
25238
+ * @returns {Number[]} The array that was packed into
25191
25239
  */
25192
25240
  PolylineVolumeOutlineGeometry.pack = function(value, array, startingIndex) {
25193
25241
  if (!defined(value)) {
@@ -25222,6 +25270,8 @@ define('Core/PolylineVolumeOutlineGeometry',[
25222
25270
 
25223
25271
  array[startingIndex++] = value._cornerType;
25224
25272
  array[startingIndex] = value._granularity;
25273
+
25274
+ return array;
25225
25275
  };
25226
25276
 
25227
25277
  var scratchEllipsoid = Ellipsoid.clone(Ellipsoid.UNIT_SPHERE);