cesium 1.17.0 → 1.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (254) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/Cesium/Cesium.js +3 -2
  3. data/app/assets/javascripts/Cesium/Core/BoundingSphere.js +158 -2
  4. data/app/assets/javascripts/Cesium/Core/BoxOutlineGeometry.js +0 -2
  5. data/app/assets/javascripts/Cesium/Core/CesiumTerrainProvider.js +1 -1
  6. data/app/assets/javascripts/Cesium/Core/CircleGeometry.js +0 -2
  7. data/app/assets/javascripts/Cesium/Core/CircleOutlineGeometry.js +0 -2
  8. data/app/assets/javascripts/Cesium/Core/CorridorOutlineGeometry.js +0 -2
  9. data/app/assets/javascripts/Cesium/Core/CylinderGeometry.js +0 -2
  10. data/app/assets/javascripts/Cesium/Core/CylinderOutlineGeometry.js +0 -2
  11. data/app/assets/javascripts/Cesium/Core/EllipseOutlineGeometry.js +0 -2
  12. data/app/assets/javascripts/Cesium/Core/EllipsoidGeometry.js +0 -2
  13. data/app/assets/javascripts/Cesium/Core/EllipsoidOutlineGeometry.js +0 -2
  14. data/app/assets/javascripts/Cesium/Core/EllipsoidTerrainProvider.js +7 -9
  15. data/app/assets/javascripts/Cesium/Core/Math.js +19 -0
  16. data/app/assets/javascripts/Cesium/Core/PolygonGeometry.js +1 -0
  17. data/app/assets/javascripts/Cesium/Core/PolygonOutlineGeometry.js +0 -2
  18. data/app/assets/javascripts/Cesium/Core/PolygonPipeline.js +5 -3
  19. data/app/assets/javascripts/Cesium/Core/PolylineVolumeOutlineGeometry.js +0 -2
  20. data/app/assets/javascripts/Cesium/Core/Rectangle.js +60 -0
  21. data/app/assets/javascripts/Cesium/Core/RectangleOutlineGeometry.js +0 -2
  22. data/app/assets/javascripts/Cesium/Core/SimplePolylineGeometry.js +0 -2
  23. data/app/assets/javascripts/Cesium/Core/SphereGeometry.js +0 -2
  24. data/app/assets/javascripts/Cesium/Core/SphereOutlineGeometry.js +0 -2
  25. data/app/assets/javascripts/Cesium/Core/WallOutlineGeometry.js +0 -2
  26. data/app/assets/javascripts/Cesium/Core/getBaseUri.js +22 -4
  27. data/app/assets/javascripts/Cesium/DataSources/CylinderGraphics.js +0 -1
  28. data/app/assets/javascripts/Cesium/Scene/ArcGisMapServerImageryProvider.js +1 -1
  29. data/app/assets/javascripts/Cesium/Scene/BingMapsImageryProvider.js +1 -1
  30. data/app/assets/javascripts/Cesium/Scene/CameraFlightPath.js +6 -4
  31. data/app/assets/javascripts/Cesium/Scene/EllipsoidSurfaceAppearance.js +0 -2
  32. data/app/assets/javascripts/Cesium/Scene/GlobeSurfaceTileProvider.js +19 -16
  33. data/app/assets/javascripts/Cesium/Scene/GoogleEarthImageryProvider.js +1 -1
  34. data/app/assets/javascripts/Cesium/Scene/GroundPrimitive.js +8 -3
  35. data/app/assets/javascripts/Cesium/Scene/ImageryLayer.js +22 -0
  36. data/app/assets/javascripts/Cesium/Scene/ImageryLayerCollection.js +1 -1
  37. data/app/assets/javascripts/Cesium/Scene/Model.js +5 -2
  38. data/app/assets/javascripts/Cesium/Scene/OpenStreetMapImageryProvider.js +1 -1
  39. data/app/assets/javascripts/Cesium/Scene/PerInstanceColorAppearance.js +0 -2
  40. data/app/assets/javascripts/Cesium/Scene/Polyline.js +0 -1
  41. data/app/assets/javascripts/Cesium/Scene/PolylineCollection.js +0 -1
  42. data/app/assets/javascripts/Cesium/Scene/PolylineColorAppearance.js +0 -2
  43. data/app/assets/javascripts/Cesium/Scene/PolylineMaterialAppearance.js +0 -1
  44. data/app/assets/javascripts/Cesium/Scene/SingleTileImageryProvider.js +1 -1
  45. data/app/assets/javascripts/Cesium/Scene/TileMapServiceImageryProvider.js +5 -0
  46. data/app/assets/javascripts/Cesium/Scene/UrlTemplateImageryProvider.js +143 -43
  47. data/app/assets/javascripts/Cesium/Scene/WebMapServiceImageryProvider.js +1 -1
  48. data/app/assets/javascripts/Cesium/Scene/WebMapTileServiceImageryProvider.js +1 -1
  49. data/app/assets/javascripts/Cesium/Scene/createOpenStreetMapImageryProvider.js +1 -1
  50. data/app/assets/javascripts/Cesium/Scene/createTileMapServiceImageryProvider.js +286 -0
  51. data/app/assets/javascripts/Cesium/Scene/modelMaterialsCommon.js +54 -9
  52. data/app/assets/javascripts/Cesium/Widgets/BaseLayerPicker/BaseLayerPicker.js +2 -2
  53. data/app/assets/javascripts/Cesium/Widgets/BaseLayerPicker/createDefaultImageryProviderViewModels.js +4 -4
  54. data/app/assets/javascripts/Cesium/Workers/cesiumWorkerBootstrapper.js +23 -1
  55. data/app/assets/javascripts/Cesium/Workers/combineGeometry.js +231 -2
  56. data/app/assets/javascripts/Cesium/Workers/createBoxGeometry.js +231 -2
  57. data/app/assets/javascripts/Cesium/Workers/createBoxOutlineGeometry.js +231 -4
  58. data/app/assets/javascripts/Cesium/Workers/createCircleGeometry.js +231 -4
  59. data/app/assets/javascripts/Cesium/Workers/createCircleOutlineGeometry.js +231 -6
  60. data/app/assets/javascripts/Cesium/Workers/createCorridorGeometry.js +231 -2
  61. data/app/assets/javascripts/Cesium/Workers/createCorridorOutlineGeometry.js +231 -4
  62. data/app/assets/javascripts/Cesium/Workers/createCylinderGeometry.js +231 -4
  63. data/app/assets/javascripts/Cesium/Workers/createCylinderOutlineGeometry.js +231 -4
  64. data/app/assets/javascripts/Cesium/Workers/createEllipseGeometry.js +231 -2
  65. data/app/assets/javascripts/Cesium/Workers/createEllipseOutlineGeometry.js +231 -4
  66. data/app/assets/javascripts/Cesium/Workers/createEllipsoidGeometry.js +231 -4
  67. data/app/assets/javascripts/Cesium/Workers/createEllipsoidOutlineGeometry.js +231 -4
  68. data/app/assets/javascripts/Cesium/Workers/createGeometry.js +231 -2
  69. data/app/assets/javascripts/Cesium/Workers/createPointGeometry.js +231 -2
  70. data/app/assets/javascripts/Cesium/Workers/createPolygonGeometry.js +237 -5
  71. data/app/assets/javascripts/Cesium/Workers/createPolygonOutlineGeometry.js +236 -7
  72. data/app/assets/javascripts/Cesium/Workers/createPolylineGeometry.js +231 -2
  73. data/app/assets/javascripts/Cesium/Workers/createPolylineVolumeGeometry.js +236 -5
  74. data/app/assets/javascripts/Cesium/Workers/createPolylineVolumeOutlineGeometry.js +236 -7
  75. data/app/assets/javascripts/Cesium/Workers/createRectangleGeometry.js +236 -5
  76. data/app/assets/javascripts/Cesium/Workers/createRectangleOutlineGeometry.js +236 -7
  77. data/app/assets/javascripts/Cesium/Workers/createSimplePolylineGeometry.js +231 -4
  78. data/app/assets/javascripts/Cesium/Workers/createSphereGeometry.js +231 -6
  79. data/app/assets/javascripts/Cesium/Workers/createSphereOutlineGeometry.js +231 -6
  80. data/app/assets/javascripts/Cesium/Workers/createVerticesFromHeightmap.js +231 -2
  81. data/app/assets/javascripts/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +231 -2
  82. data/app/assets/javascripts/Cesium/Workers/createWallGeometry.js +236 -5
  83. data/app/assets/javascripts/Cesium/Workers/createWallOutlineGeometry.js +236 -7
  84. data/app/assets/javascripts/Cesium/Workers/upsampleQuantizedTerrainMesh.js +231 -2
  85. data/lib/cesium/version.rb +1 -1
  86. data/test/dummy/log/development.log +232 -0
  87. data/test/dummy/tmp/cache/assets/C16/310/sprockets%2Fc9273e1954562144f440a71a3766c300 +0 -0
  88. data/test/dummy/tmp/cache/assets/C16/BE0/sprockets%2F730c481502395cc21463bcc305986308 +0 -0
  89. data/test/dummy/tmp/cache/assets/C3E/980/sprockets%2F00fce10d03861d2101743695f0716c66 +0 -0
  90. data/test/dummy/tmp/cache/assets/C4F/690/sprockets%2F771870445807107490b63bfd6e0b543d +0 -0
  91. data/test/dummy/tmp/cache/assets/C54/680/sprockets%2F31c6133a4541f42b507e5689b076759f +0 -0
  92. data/test/dummy/tmp/cache/assets/C5C/600/sprockets%2F6ec94c904254580e8691821109d6ad57 +0 -0
  93. data/test/dummy/tmp/cache/assets/C7C/C90/sprockets%2F92c082511a234b21cf6c479b6f507576 +0 -0
  94. data/test/dummy/tmp/cache/assets/C7D/950/sprockets%2F6c0363b13959ad48161b25b1c835657e +0 -0
  95. data/test/dummy/tmp/cache/assets/C87/860/sprockets%2F06a90e1784696233013dd6ee75e4549b +0 -0
  96. data/test/dummy/tmp/cache/assets/C91/8A0/sprockets%2Fe02395f83f6f5201913e1b888f46f645 +0 -0
  97. data/test/dummy/tmp/cache/assets/C94/D10/sprockets%2F903d696bc385f21c973d97789a31e504 +0 -0
  98. data/test/dummy/tmp/cache/assets/CA2/BC0/sprockets%2F336f5a0e85027c07c4460b10d548a7d4 +0 -0
  99. data/test/dummy/tmp/cache/assets/CA6/050/sprockets%2F0870154ae63a5f7c83121ef17d0846b2 +0 -0
  100. data/test/dummy/tmp/cache/assets/CA7/D20/sprockets%2F1f594f974f38ae85702ec10ae4233000 +0 -0
  101. data/test/dummy/tmp/cache/assets/CA7/D40/sprockets%2F09291437a41fbc8b0053920f836c4b9a +0 -0
  102. data/test/dummy/tmp/cache/assets/CAA/EF0/sprockets%2F13b3f1125490c5a2e82e24d64f780e39 +0 -0
  103. data/test/dummy/tmp/cache/assets/CAB/320/sprockets%2F78ac4929439bc866a653a2a12a2a5165 +0 -0
  104. data/test/dummy/tmp/cache/assets/CAE/630/sprockets%2F9d24d9f35a4650e41b4645c5d81b0842 +0 -0
  105. data/test/dummy/tmp/cache/assets/CB5/310/sprockets%2F2833f6b19a5ac7453729822f259b2db6 +0 -0
  106. data/test/dummy/tmp/cache/assets/CB7/A10/sprockets%2Fd34b045e6d4215367bcf6f08e4638926 +0 -0
  107. data/test/dummy/tmp/cache/assets/CB7/FA0/sprockets%2Fe11b1d418699c10ce19c92b8a8562992 +0 -0
  108. data/test/dummy/tmp/cache/assets/CB9/FD0/sprockets%2F868358f2ee30f4326e761014cd2576ee +0 -0
  109. data/test/dummy/tmp/cache/assets/CBC/B00/sprockets%2F781e0bd52bee4781ff663069a5941079 +0 -0
  110. data/test/dummy/tmp/cache/assets/CC0/3A0/sprockets%2F26cd86b84410a02a601212bd2236f6da +0 -0
  111. data/test/dummy/tmp/cache/assets/CC3/1D0/sprockets%2Fe05f83785d87559e712ef7331136b7fa +0 -0
  112. data/test/dummy/tmp/cache/assets/CC5/FB0/sprockets%2F80e0c2f9390c8a479972b8841e949cb3 +0 -0
  113. data/test/dummy/tmp/cache/assets/CD0/310/sprockets%2F825eb4414b555ce140fc46ad24b48061 +0 -0
  114. data/test/dummy/tmp/cache/assets/CD1/F00/sprockets%2F47e220bc6460ea8850265baf014525fd +0 -0
  115. data/test/dummy/tmp/cache/assets/CD3/940/sprockets%2F641b837eeb02a10631a0d20acd987887 +0 -0
  116. data/test/dummy/tmp/cache/assets/CD4/D30/sprockets%2F6741dd0454f9080fa418ed09a192ab40 +0 -0
  117. data/test/dummy/tmp/cache/assets/CD5/900/sprockets%2F0603a31cdcdf8ec2872219242c65f336 +0 -0
  118. data/test/dummy/tmp/cache/assets/CD7/AF0/sprockets%2F8ea5147f262ca0db032440670e576f7d +0 -0
  119. data/test/dummy/tmp/cache/assets/CD8/8B0/sprockets%2F27e2f83e374ba7052dc6c2281d18071e +0 -0
  120. data/test/dummy/tmp/cache/assets/CD9/830/sprockets%2F056590d09da88c9b1920143a3b37d6ea +0 -0
  121. data/test/dummy/tmp/cache/assets/CDA/700/sprockets%2F24c5884ae3352ca70a9546d02bb6e844 +0 -0
  122. data/test/dummy/tmp/cache/assets/CDC/3A0/sprockets%2F2bdb3f8510205db3f3bf4605947851f7 +0 -0
  123. data/test/dummy/tmp/cache/assets/CDC/910/sprockets%2F4127b7bf7565f5eb82a54f5012c7512d +0 -0
  124. data/test/dummy/tmp/cache/assets/CDD/5A0/sprockets%2Fb7dfa40599517f39400db36240fa16c9 +0 -0
  125. data/test/dummy/tmp/cache/assets/CDE/400/sprockets%2F1a1e6562a81a5be59fe6c205797711d3 +0 -0
  126. data/test/dummy/tmp/cache/assets/CE0/310/sprockets%2F9ee5a8c15b510b043e88f5826cc33409 +0 -0
  127. data/test/dummy/tmp/cache/assets/CE1/B10/sprockets%2Fc25147e593c0dd3f0973509a56aa92f5 +0 -0
  128. data/test/dummy/tmp/cache/assets/CE6/DD0/sprockets%2Ffd590df3a5e39763c7258802d8233c1c +0 -0
  129. data/test/dummy/tmp/cache/assets/CE8/910/sprockets%2F080f8c0b62830c954799a2d5edf591d2 +0 -0
  130. data/test/dummy/tmp/cache/assets/CE9/380/sprockets%2Fdb39605a961a8c0f9150d48ca81938f7 +0 -0
  131. data/test/dummy/tmp/cache/assets/CE9/8F0/sprockets%2F505f0e4ca77daae7369943e392a85607 +0 -0
  132. data/test/dummy/tmp/cache/assets/CEB/8A0/sprockets%2F159eb5218f66cb1523956585e1add78c +0 -0
  133. data/test/dummy/tmp/cache/assets/CEC/230/sprockets%2F06c6439d6734e9122d0429d99bd76ceb +0 -0
  134. data/test/dummy/tmp/cache/assets/CEC/9B0/sprockets%2F623d2921e3b7bd6cbe9288253e18e776 +0 -0
  135. data/test/dummy/tmp/cache/assets/CED/610/sprockets%2Fc464c2668d8d57244934c45b9a28e7ba +0 -0
  136. data/test/dummy/tmp/cache/assets/CF0/8D0/sprockets%2Fd87a027ff95cd7b9080555d76f16824a +0 -0
  137. data/test/dummy/tmp/cache/assets/CF6/3F0/sprockets%2Fc8a187687d86c86d20ccd8d39258428a +0 -0
  138. data/test/dummy/tmp/cache/assets/CF9/CA0/sprockets%2Fe3287c6767a894efd1e4461ae21599e8 +0 -0
  139. data/test/dummy/tmp/cache/assets/CFA/720/sprockets%2Fdc2ea106de9ab60be261248f21059224 +0 -0
  140. data/test/dummy/tmp/cache/assets/CFA/B50/sprockets%2F8505a240bc3a2e4b1a953417c73ebc72 +0 -0
  141. data/test/dummy/tmp/cache/assets/CFB/AB0/sprockets%2F4310d259c9d51b895d0b3c1a6eb031d2 +0 -0
  142. data/test/dummy/tmp/cache/assets/CFE/AE0/sprockets%2F7c886a80519554ea620aac2325bb1ce0 +0 -0
  143. data/test/dummy/tmp/cache/assets/CFF/860/sprockets%2F5c7d2a10419532611c629aef1e62ed3b +0 -0
  144. data/test/dummy/tmp/cache/assets/D00/C10/sprockets%2F169d5c9cc4598e63f95577f52e9da370 +0 -0
  145. data/test/dummy/tmp/cache/assets/D01/A60/sprockets%2F3ca75cfcf2037d5364e4531448da120d +0 -0
  146. data/test/dummy/tmp/cache/assets/D03/8B0/sprockets%2Febcb583b805d6193b261002efcf52067 +0 -0
  147. data/test/dummy/tmp/cache/assets/D09/100/sprockets%2Fd696fb8fbd707484e69f9815a79387d2 +0 -0
  148. data/test/dummy/tmp/cache/assets/D0B/640/sprockets%2F9366c3e436388b239ebcda0fc24520f1 +0 -0
  149. data/test/dummy/tmp/cache/assets/D0F/980/sprockets%2Fdaa14ed9a3657161c56c66483e2d17e4 +0 -0
  150. data/test/dummy/tmp/cache/assets/D10/FC0/sprockets%2F563f9f7eb632fc32ab885a1bc2127429 +0 -0
  151. data/test/dummy/tmp/cache/assets/D11/C40/sprockets%2F04aecf869ffe1036d6a34e5412b37548 +0 -0
  152. data/test/dummy/tmp/cache/assets/D14/0F0/sprockets%2Ff82e9e555d5326ff2226159aeec16c12 +0 -0
  153. data/test/dummy/tmp/cache/assets/D15/030/sprockets%2Fa5affe567dc74a8321744f5902f6d531 +0 -0
  154. data/test/dummy/tmp/cache/assets/D15/6B0/sprockets%2F3bfbac97eb5796307418d0f0e679144a +0 -0
  155. data/test/dummy/tmp/cache/assets/D16/0C0/sprockets%2F58fb9abfdb670a8502813dc88487711a +0 -0
  156. data/test/dummy/tmp/cache/assets/D16/2C0/sprockets%2Fa90ad78854c9bd1156e3866eb0e234f5 +0 -0
  157. data/test/dummy/tmp/cache/assets/D17/C50/sprockets%2Fc3f3c439bf5e484757eee298b106062a +0 -0
  158. data/test/dummy/tmp/cache/assets/D18/290/sprockets%2F5cb980f53c999c04b9b0b930dd08266e +0 -0
  159. data/test/dummy/tmp/cache/assets/D1A/670/sprockets%2F4f45089e5678ba2b1c06518bde98a7d4 +0 -0
  160. data/test/dummy/tmp/cache/assets/D1D/C90/sprockets%2Fa688522a4494897a6f6a5e6b80b0c4ff +0 -0
  161. data/test/dummy/tmp/cache/assets/D1F/FB0/sprockets%2Ff99fa88a2f4184388de53b6bb71057c3 +0 -0
  162. data/test/dummy/tmp/cache/assets/D25/A10/sprockets%2F8459d7a6e879de2a674d224bd7b960d5 +0 -0
  163. data/test/dummy/tmp/cache/assets/D26/C90/sprockets%2Fb09f146e78fc920d934ee9e19dc92284 +0 -0
  164. data/test/dummy/tmp/cache/assets/D29/F80/sprockets%2F3d888988ef5e7292bf1f181eb622b19f +0 -0
  165. data/test/dummy/tmp/cache/assets/D2C/200/sprockets%2Fea42ef470e90c4282457aaab741e1d20 +0 -0
  166. data/test/dummy/tmp/cache/assets/D34/E10/sprockets%2F74034ea037bd6434c8eb68ccf2b3026d +0 -0
  167. data/test/dummy/tmp/cache/assets/D36/990/sprockets%2F2508cad8b402c37cc09f6dfa6222c476 +0 -0
  168. data/test/dummy/tmp/cache/assets/D37/190/sprockets%2F1b0a29942409f65198f4dd0b107ddabf +0 -0
  169. data/test/dummy/tmp/cache/assets/D37/F00/sprockets%2F18060fd4371473efaa135cea6076ced7 +0 -0
  170. data/test/dummy/tmp/cache/assets/D38/5A0/sprockets%2F05c60f19fe5c929377109d0acb6bc1d2 +0 -0
  171. data/test/dummy/tmp/cache/assets/D38/C80/sprockets%2F0c40fce56bb9b9d01f5112c7974a22f7 +0 -0
  172. data/test/dummy/tmp/cache/assets/D3C/FE0/sprockets%2F24f6d543983043d0d1feefacb090196e +0 -0
  173. data/test/dummy/tmp/cache/assets/D3E/520/sprockets%2F4765d7ea3ba6a5d16231c29de0d958c4 +0 -0
  174. data/test/dummy/tmp/cache/assets/D3F/5E0/sprockets%2Fcbf1d7fac4114ec9059f87f2a0936342 +0 -0
  175. data/test/dummy/tmp/cache/assets/D48/2D0/sprockets%2F0be50e01c1aee3d2e4b1167bc704b150 +0 -0
  176. data/test/dummy/tmp/cache/assets/D49/000/sprockets%2Fd94896eee0f35a0a966393090fcc3fc1 +0 -0
  177. data/test/dummy/tmp/cache/assets/D4B/430/sprockets%2F3717d58544de674bf0f87b1fd67a45ac +0 -0
  178. data/test/dummy/tmp/cache/assets/D4B/EB0/sprockets%2F90e1f184458ccb432d9fddb8994423af +0 -0
  179. data/test/dummy/tmp/cache/assets/D51/EC0/sprockets%2F741e01ffc618da7e6ee5a5f3945c5499 +0 -0
  180. data/test/dummy/tmp/cache/assets/D53/0B0/sprockets%2F3ce0380426fadc73b3e4b21a4b305d6a +0 -0
  181. data/test/dummy/tmp/cache/assets/D55/050/sprockets%2Ff8a1519f64f695a48b04fc494d7fce19 +0 -0
  182. data/test/dummy/tmp/cache/assets/D56/850/sprockets%2F4281a0d26ca87aa5d200ac5c45dac728 +0 -0
  183. data/test/dummy/tmp/cache/assets/D59/110/sprockets%2F2ec0c121af2f7eb46d4a164c3fd75032 +0 -0
  184. data/test/dummy/tmp/cache/assets/D60/760/sprockets%2Ff2488acab1571bcae10c7c23d5f64606 +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/D60/sprockets%2Fd116910cf8d03281dfa078d9c81af3ca +0 -0
  188. data/test/dummy/tmp/cache/assets/D66/F50/sprockets%2F3f8db65ac02247d21db75d02af68e9b1 +0 -0
  189. data/test/dummy/tmp/cache/assets/D68/4E0/sprockets%2F013c5d547bd5e3350f8f5fe1f4eb03e3 +0 -0
  190. data/test/dummy/tmp/cache/assets/D6D/5A0/sprockets%2F93cdc99cc7adf79210460311d71cfae4 +0 -0
  191. data/test/dummy/tmp/cache/assets/D6D/DF0/sprockets%2F839c9b7b20c2a49bd9516a84bec6a61a +0 -0
  192. data/test/dummy/tmp/cache/assets/D6E/300/sprockets%2F3ad5a388b388247dd303bdbbf73b3f57 +0 -0
  193. data/test/dummy/tmp/cache/assets/D6E/470/sprockets%2F71df3138a1fe8b97f7fadb7dc1203714 +0 -0
  194. data/test/dummy/tmp/cache/assets/D6E/6D0/sprockets%2Ffc7d3ba0ef7c52a8455bf1268a29623e +0 -0
  195. data/test/dummy/tmp/cache/assets/D72/550/sprockets%2Fdc8a1e3cc36d42587cd9c5750e703e4d +0 -0
  196. data/test/dummy/tmp/cache/assets/D73/1E0/sprockets%2F2028a62d96b8b021e87ea2c9dded688a +0 -0
  197. data/test/dummy/tmp/cache/assets/D74/FD0/sprockets%2F64dbb94566f1a107a8a455fa7cb76ff4 +0 -0
  198. data/test/dummy/tmp/cache/assets/D77/AE0/sprockets%2F5668bbe7bf9792cfd8da59d01b7a1061 +0 -0
  199. data/test/dummy/tmp/cache/assets/D7A/3F0/sprockets%2Fbf3d583f5ba468586a1db5f56e52ef61 +0 -0
  200. data/test/dummy/tmp/cache/assets/D7B/230/sprockets%2F4e473cebde712a45d9879939c2e2bec1 +0 -0
  201. data/test/dummy/tmp/cache/assets/D80/4A0/sprockets%2Fc0322f552fc7ddecd97889feaf544660 +0 -0
  202. data/test/dummy/tmp/cache/assets/D8E/5F0/sprockets%2F123b3f0aaa8ab1864ed5d6e29d2167ca +0 -0
  203. data/test/dummy/tmp/cache/assets/D90/C00/sprockets%2Fab691533f1127900c07c2debabd7ff5c +0 -0
  204. data/test/dummy/tmp/cache/assets/D96/9A0/sprockets%2Fec9907bade1891db6bc20180a843cec3 +0 -0
  205. data/test/dummy/tmp/cache/assets/D96/B40/sprockets%2F90a85be6000c45257cc63dec8c1bcf8b +0 -0
  206. data/test/dummy/tmp/cache/assets/D97/3D0/sprockets%2F44b63b15cae4c6f7d5b04ed3754f41be +0 -0
  207. data/test/dummy/tmp/cache/assets/D97/A10/sprockets%2Ff1fe3b6160ec3da42f287aed3d3235c9 +0 -0
  208. data/test/dummy/tmp/cache/assets/D9C/230/sprockets%2F5126f140ae32b9557afd23d7f8cbdbc9 +0 -0
  209. data/test/dummy/tmp/cache/assets/D9D/E00/sprockets%2F62f7d32b35fb23cc6360fbedd75c6e17 +0 -0
  210. data/test/dummy/tmp/cache/assets/D9E/050/sprockets%2F6dfa22af1047cd7b6a9d6dd9611b56d6 +0 -0
  211. data/test/dummy/tmp/cache/assets/D9E/750/sprockets%2F3ab32a9aab15487d6b9be355c37dfe92 +0 -0
  212. data/test/dummy/tmp/cache/assets/D9F/790/sprockets%2F4d9649c0c0fdecf285b30fa1474b59db +0 -0
  213. data/test/dummy/tmp/cache/assets/D9F/9C0/sprockets%2Fffc7d816802d6a5085e5b3e3f93bb4aa +0 -0
  214. data/test/dummy/tmp/cache/assets/DA3/7B0/sprockets%2Fb20f9d42c879feea70b12b6fe9a7443c +0 -0
  215. data/test/dummy/tmp/cache/assets/DA7/180/sprockets%2Fd73e504186ef5af78cdf7c24cfc3f620 +0 -0
  216. data/test/dummy/tmp/cache/assets/DAA/D30/sprockets%2Fba92440f66d3ab82ccfcd4f86e899a16 +0 -0
  217. data/test/dummy/tmp/cache/assets/DAB/300/sprockets%2Fe822e0c7ed2416485de1f78ded67ed0f +0 -0
  218. data/test/dummy/tmp/cache/assets/DAE/8E0/sprockets%2Faee3dc2a887eeee336ef1893818372bd +0 -0
  219. data/test/dummy/tmp/cache/assets/DB4/5A0/sprockets%2Ff6c4c504c300bcf2baa95ca8923dcb10 +0 -0
  220. data/test/dummy/tmp/cache/assets/DBA/3B0/sprockets%2Ffd06bc030bc3ae7a13682ad3ce3e37f4 +0 -0
  221. data/test/dummy/tmp/cache/assets/DBC/A70/sprockets%2F0f7da71f1d2e23fc55bc2441e0efa41f +0 -0
  222. data/test/dummy/tmp/cache/assets/DBD/040/sprockets%2Fbab3c9aeedf12b684be7a100458ad308 +0 -0
  223. data/test/dummy/tmp/cache/assets/DC6/BB0/sprockets%2Fc650cd342bf1d6306bf614ebcebe56f6 +0 -0
  224. data/test/dummy/tmp/cache/assets/DC8/670/sprockets%2F47b5310b4dbf58b2b8dcd6ba98c05db6 +0 -0
  225. data/test/dummy/tmp/cache/assets/DC8/9E0/sprockets%2F0fad3b3f1ed38ea3041c6f6f382c79da +0 -0
  226. data/test/dummy/tmp/cache/assets/DCB/D50/sprockets%2F285bfff127e41bfcab2ce7941eba9343 +0 -0
  227. data/test/dummy/tmp/cache/assets/DCF/180/sprockets%2Fa0fb6e0ea7cad056e5e49e3d875c40d8 +0 -0
  228. data/test/dummy/tmp/cache/assets/DCF/6F0/sprockets%2Fb35295b9c0ed38dd040ea475edfea37f +0 -0
  229. data/test/dummy/tmp/cache/assets/DCF/AC0/sprockets%2Fca3f2c931d05fd9271edb9db0f19c92f +0 -0
  230. data/test/dummy/tmp/cache/assets/DD3/150/sprockets%2Fbae8affcbd247de88930e215e7d4d460 +0 -0
  231. data/test/dummy/tmp/cache/assets/DDE/D00/sprockets%2F74c27cac3ef959ecc8cfd9327b7fa334 +0 -0
  232. data/test/dummy/tmp/cache/assets/DEA/980/sprockets%2Fc5897a1f996aafff34f555f76a39fbbd +0 -0
  233. data/test/dummy/tmp/cache/assets/DEE/930/sprockets%2F8e899ec8a7afe2577634ef981ccabcc9 +0 -0
  234. data/test/dummy/tmp/cache/assets/E01/7D0/sprockets%2F771e23888dbed36f017cbb35acdbc8df +0 -0
  235. data/test/dummy/tmp/cache/assets/E02/460/sprockets%2Febdaa5d81edadcf19f17470971a692df +0 -0
  236. data/test/dummy/tmp/cache/assets/E03/8C0/sprockets%2Fdddca472be9884cdfe6af78222bad074 +0 -0
  237. data/test/dummy/tmp/cache/assets/E04/730/sprockets%2F583c8db59edef3f0c5b7e336e284babb +0 -0
  238. data/test/dummy/tmp/cache/assets/E14/5A0/sprockets%2F4ac5be9007bc8bebc81dcabe902b021c +0 -0
  239. data/test/dummy/tmp/cache/assets/E28/A80/sprockets%2F34a8d9e9cbd7a2a5178da0afbf4e10fd +0 -0
  240. data/test/dummy/tmp/cache/assets/E2A/FC0/sprockets%2Fa90fba67cf290f1ae5d51b9ccd74fbb4 +0 -0
  241. data/test/dummy/tmp/cache/assets/E2F/3D0/sprockets%2F3d8aa6ffceaf05eefca73ce469e71222 +0 -0
  242. data/test/dummy/tmp/cache/assets/E2F/8C0/sprockets%2Fb333cacd9aae969cf4e25ce0dddd4277 +0 -0
  243. data/test/dummy/tmp/cache/assets/E31/6E0/sprockets%2Ff305b61e7fa499ad2504bfebb9e7edea +0 -0
  244. data/test/dummy/tmp/cache/assets/E3E/2D0/sprockets%2F4e7fda6ffbcb5a5f816cf91cd5d723f9 +0 -0
  245. data/test/dummy/tmp/cache/assets/E67/7C0/sprockets%2F5fdef75e5fc94f4672cbbce2d4bde3a4 +0 -0
  246. data/test/dummy/tmp/cache/assets/E84/C40/sprockets%2Fd1b7fa85aeb3b0eff54ea8518ca3cbdc +0 -0
  247. data/test/dummy/tmp/cache/assets/E96/510/sprockets%2Ff3dd99b915fbacd1c6e7ebcf916b5abf +0 -0
  248. data/test/dummy/tmp/cache/assets/EB0/300/sprockets%2Fe4bacccace2941a1a8ddfbdd97b2ad82 +0 -0
  249. data/test/dummy/tmp/data/meta_request/77d9256eaba827554162b22cbae039d3.json +1 -0
  250. data/test/dummy/tmp/data/meta_request/99e35f127878b47fbca1bfd42a6d2e7d.json +1 -0
  251. data/test/dummy/tmp/data/meta_request/e7dac870e053aa6dabbeeac8d5913303.json +1 -0
  252. data/test/dummy/tmp/data/meta_request/fc7d26c7d98a6058081869da8c253f3c.json +1 -0
  253. data/test/dummy/tmp/pids/server.pid +1 -0
  254. metadata +19 -2
@@ -183,8 +183,6 @@ define([
183
183
  *
184
184
  * @see RectangleOutlineGeometry#createGeometry
185
185
  *
186
- * @demo {@link http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Rectangle%20Outline.html|Cesium Sandcastle Rectangle Outline Demo}
187
- *
188
186
  * @example
189
187
  * var rectangle = new Cesium.RectangleOutlineGeometry({
190
188
  * ellipsoid : Cesium.Ellipsoid.WGS84,
@@ -93,8 +93,6 @@ define([
93
93
  *
94
94
  * @see SimplePolylineGeometry#createGeometry
95
95
  *
96
- * @demo {@link http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Simple%20Polyline.html|Cesium Sandcastle Simple Polyline Demo}
97
- *
98
96
  * @example
99
97
  * // A polyline with two connected line segments
100
98
  * var polyline = new Cesium.SimplePolylineGeometry({
@@ -32,8 +32,6 @@ define([
32
32
  *
33
33
  * @see SphereGeometry#createGeometry
34
34
  *
35
- * @demo {@link http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Sphere.html|Cesium Sandcastle Sphere Demo}
36
- *
37
35
  * @example
38
36
  * var sphere = new Cesium.SphereGeometry({
39
37
  * radius : 100.0,
@@ -29,8 +29,6 @@ define([
29
29
  * @exception {DeveloperError} options.slicePartitions must be greater than or equal to zero.
30
30
  * @exception {DeveloperError} options.subdivisions must be greater than or equal to zero.
31
31
  *
32
- * @demo {@link http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Sphere%20Outline.html|Cesium Sandcastle Sphere Outline Demo}
33
- *
34
32
  * @example
35
33
  * var sphere = new Cesium.SphereOutlineGeometry({
36
34
  * radius : 100.0,
@@ -57,8 +57,6 @@ define([
57
57
  * @see WallGeometry#createGeometry
58
58
  * @see WallGeometry#fromConstantHeight
59
59
  *
60
- * @demo {@link http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Wall%20Outline.html|Cesium Sandcastle Wall Outline Demo}
61
- *
62
60
  * @example
63
61
  * // create a wall outline that spans from ground level to 10000 meters
64
62
  * var wall = new Cesium.WallOutlineGeometry({
@@ -1,9 +1,11 @@
1
1
  /*global define*/
2
2
  define([
3
- './defined',
3
+ '../ThirdParty/Uri',
4
+ './definedNotNull',
4
5
  './DeveloperError'
5
6
  ], function(
6
- defined,
7
+ Uri,
8
+ definedNotNull,
7
9
  DeveloperError) {
8
10
  "use strict";
9
11
 
@@ -12,15 +14,19 @@ define([
12
14
  * @exports getBaseUri
13
15
  *
14
16
  * @param {String} uri The Uri.
17
+ * @param {Boolean} [includeQuery = false] Whether or not to include the query string and fragment form the uri
15
18
  * @returns {String} The base path of the Uri.
16
19
  *
17
20
  * @example
18
21
  * // basePath will be "/Gallery/";
19
22
  * var basePath = Cesium.getBaseUri('/Gallery/simple.czml?value=true&example=false');
23
+ *
24
+ * // basePath will be "/Gallery/?value=true&example=false";
25
+ * var basePath = Cesium.getBaseUri('/Gallery/simple.czml?value=true&example=false', true);
20
26
  */
21
- function getBaseUri(uri) {
27
+ function getBaseUri(uri, includeQuery) {
22
28
  //>>includeStart('debug', pragmas.debug);
23
- if (!defined(uri)) {
29
+ if (!definedNotNull(uri)) {
24
30
  throw new DeveloperError('uri is required.');
25
31
  }
26
32
  //>>includeEnd('debug');
@@ -31,6 +37,18 @@ define([
31
37
  basePath = uri.substring(0, i + 1);
32
38
  }
33
39
 
40
+ if (!includeQuery) {
41
+ return basePath;
42
+ }
43
+
44
+ uri = new Uri(uri);
45
+ if (definedNotNull(uri.query)) {
46
+ basePath += '?' + uri.query;
47
+ }
48
+ if (definedNotNull(uri.fragment)){
49
+ basePath += '#' + uri.fragment;
50
+ }
51
+
34
52
  return basePath;
35
53
  }
36
54
 
@@ -37,7 +37,6 @@ define([
37
37
  * @param {Property} [options.numberOfVerticalLines=16] A numeric Property specifying the number of vertical lines to draw along the perimeter for the outline.
38
38
  * @param {Property} [options.slices=128] The number of edges around perimeter of the cylinder.
39
39
  *
40
- * @demo {@link http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Cylinder.html|Cesium Sandcastle Cylinder Demo}
41
40
  */
42
41
  function CylinderGraphics(options) {
43
42
  this._length = undefined;
@@ -97,7 +97,7 @@ define([
97
97
  * @see GoogleEarthImageryProvider
98
98
  * @see createOpenStreetMapImageryProvider
99
99
  * @see SingleTileImageryProvider
100
- * @see TileMapServiceImageryProvider
100
+ * @see createTileMapServiceImageryProvider
101
101
  * @see WebMapServiceImageryProvider
102
102
  * @see WebMapTileServiceImageryProvider
103
103
  * @see UrlTemplateImageryProvider
@@ -79,7 +79,7 @@ define([
79
79
  * @see GoogleEarthImageryProvider
80
80
  * @see createOpenStreetMapImageryProvider
81
81
  * @see SingleTileImageryProvider
82
- * @see TileMapServiceImageryProvider
82
+ * @see createTileMapServiceImageryProvider
83
83
  * @see WebMapServiceImageryProvider
84
84
  * @see WebMapTileServiceImageryProvider
85
85
  * @see UrlTemplateImageryProvider
@@ -305,10 +305,12 @@ define([
305
305
  empty = empty && CesiumMath.equalsEpsilon(Math.max(frustum.right - frustum.left, frustum.top - frustum.bottom), destination.z, CesiumMath.EPSILON6);
306
306
 
307
307
  empty = empty || (scene.mode !== SceneMode.SCENE2D &&
308
- Cartesian3.equalsEpsilon(destination, camera.position, CesiumMath.EPSILON10) &&
309
- CesiumMath.equalsEpsilon(CesiumMath.negativePiToPi(heading), CesiumMath.negativePiToPi(camera.heading), CesiumMath.EPSILON10) &&
310
- CesiumMath.equalsEpsilon(CesiumMath.negativePiToPi(pitch), CesiumMath.negativePiToPi(camera.pitch), CesiumMath.EPSILON10) &&
311
- CesiumMath.equalsEpsilon(CesiumMath.negativePiToPi(roll), CesiumMath.negativePiToPi(camera.roll), CesiumMath.EPSILON10));
308
+ Cartesian3.equalsEpsilon(destination, camera.position, CesiumMath.EPSILON10));
309
+
310
+ empty = empty &&
311
+ CesiumMath.equalsEpsilon(CesiumMath.negativePiToPi(heading), CesiumMath.negativePiToPi(camera.heading), CesiumMath.EPSILON10) &&
312
+ CesiumMath.equalsEpsilon(CesiumMath.negativePiToPi(pitch), CesiumMath.negativePiToPi(camera.pitch), CesiumMath.EPSILON10) &&
313
+ CesiumMath.equalsEpsilon(CesiumMath.negativePiToPi(roll), CesiumMath.negativePiToPi(camera.roll), CesiumMath.EPSILON10);
312
314
 
313
315
  if (empty) {
314
316
  return emptyFlight(complete, cancel);
@@ -41,8 +41,6 @@ define([
41
41
  *
42
42
  * @see {@link https://github.com/AnalyticalGraphicsInc/cesium/wiki/Fabric|Fabric}
43
43
  *
44
- * @demo {@link http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Ellipsoid%20Surface.html|Cesium Sandcastle Ellipsoid Surface Appearance Demo}
45
- *
46
44
  * @example
47
45
  * var primitive = new Cesium.Primitive({
48
46
  * geometryInstances : new Cesium.GeometryInstance({
@@ -24,6 +24,7 @@ define([
24
24
  '../Core/PrimitiveType',
25
25
  '../Core/Rectangle',
26
26
  '../Core/SphereOutlineGeometry',
27
+ '../Core/TerrainQuantization',
27
28
  '../Core/Visibility',
28
29
  '../Core/WebMercatorProjection',
29
30
  '../Renderer/Buffer',
@@ -68,6 +69,7 @@ define([
68
69
  PrimitiveType,
69
70
  Rectangle,
70
71
  SphereOutlineGeometry,
72
+ TerrainQuantization,
71
73
  Visibility,
72
74
  WebMercatorProjection,
73
75
  Buffer,
@@ -745,24 +747,11 @@ define([
745
747
  return;
746
748
  }
747
749
 
748
- if (defined(surfaceTile.meshForWireframePromise)) {
750
+ if (!defined(surfaceTile.terrainData) || !defined(surfaceTile.terrainData._mesh)) {
749
751
  return;
750
752
  }
751
753
 
752
- surfaceTile.meshForWireframePromise = surfaceTile.terrainData.createMesh(provider._terrainProvider.tilingScheme, tile.x, tile.y, tile.level);
753
- if (!defined(surfaceTile.meshForWireframePromise)) {
754
- // deferrred
755
- return;
756
- }
757
-
758
- var vertexArray = surfaceTile.vertexArray;
759
-
760
- when(surfaceTile.meshForWireframePromise, function(mesh) {
761
- if (surfaceTile.vertexArray === vertexArray) {
762
- surfaceTile.wireframeVertexArray = createWireframeVertexArray(context, surfaceTile.vertexArray, mesh);
763
- }
764
- surfaceTile.meshForWireframePromise = undefined;
765
- });
754
+ surfaceTile.wireframeVertexArray = createWireframeVertexArray(context, surfaceTile.vertexArray, surfaceTile.terrainData._mesh);
766
755
  }
767
756
 
768
757
  /**
@@ -890,6 +879,7 @@ define([
890
879
  }
891
880
 
892
881
  var rtc = surfaceTile.center;
882
+ var encoding = surfaceTile.pickTerrain.mesh.encoding;
893
883
 
894
884
  // Not used in 3D.
895
885
  var tileRectangle = tileRectangleScratch;
@@ -924,6 +914,20 @@ define([
924
914
  tileRectangle.w -= rtc.z;
925
915
  }
926
916
 
917
+ if (frameState.mode === SceneMode.SCENE2D && encoding.quantization === TerrainQuantization.BITS12) {
918
+ // In 2D, the texture coordinates of the tile are interpolated over the rectangle to get the position in the vertex shader.
919
+ // When the texture coordinates are quantized, error is introduced. This can be seen through the 1px wide cracking
920
+ // between the quantized tiles in 2D. To compensate for the error, move the expand the rectangle in each direction by
921
+ // half the error amount.
922
+ var epsilon = (1.0 / (Math.pow(2.0, 12.0) - 1.0)) * 0.5;
923
+ var widthEpsilon = (tileRectangle.z - tileRectangle.x) * epsilon;
924
+ var heightEpsilon = (tileRectangle.w - tileRectangle.y) * epsilon;
925
+ tileRectangle.x -= widthEpsilon;
926
+ tileRectangle.y -= heightEpsilon;
927
+ tileRectangle.z += widthEpsilon;
928
+ tileRectangle.w += heightEpsilon;
929
+ }
930
+
927
931
  if (projection instanceof WebMercatorProjection) {
928
932
  southLatitude = tile.rectangle.south;
929
933
  northLatitude = tile.rectangle.north;
@@ -1071,7 +1075,6 @@ define([
1071
1075
  uniformMap.waterMask = waterMaskTexture;
1072
1076
  Cartesian4.clone(surfaceTile.waterMaskTranslationAndScale, uniformMap.waterMaskTranslationAndScale);
1073
1077
 
1074
- var encoding = surfaceTile.pickTerrain.mesh.encoding;
1075
1078
  uniformMap.minMaxHeight.x = encoding.minimumHeight;
1076
1079
  uniformMap.minMaxHeight.y = encoding.maximumHeight;
1077
1080
  Matrix4.clone(encoding.matrix, uniformMap.scaleAndBias);
@@ -84,7 +84,7 @@ define([
84
84
  * @see BingMapsImageryProvider
85
85
  * @see createOpenStreetMapImageryProvider
86
86
  * @see SingleTileImageryProvider
87
- * @see TileMapServiceImageryProvider
87
+ * @see createTileMapServiceImageryProvider
88
88
  * @see WebMapServiceImageryProvider
89
89
  * @see WebMapTileServiceImageryProvider
90
90
  * @see UrlTemplateImageryProvider
@@ -558,8 +558,13 @@ define([
558
558
  rectangle.east = maxLon;
559
559
  rectangle.west = minLon;
560
560
 
561
- var obb = OrientedBoundingBox.fromRectangle(rectangle, GroundPrimitive._maxHeight, GroundPrimitive._minOBBHeight, ellipsoid);
562
- primitive._boundingVolumes.push(obb);
561
+ // Use an oriented bounding box by default, but switch to a bounding sphere if bounding box creation would fail.
562
+ if (rectangle.width < CesiumMath.PI) {
563
+ var obb = OrientedBoundingBox.fromRectangle(rectangle, GroundPrimitive._maxHeight, GroundPrimitive._minOBBHeight, ellipsoid);
564
+ primitive._boundingVolumes.push(obb);
565
+ } else {
566
+ primitive._boundingVolumes.push(BoundingSphere.fromEncodedCartesianVertices(highPositions, lowPositions));
567
+ }
563
568
 
564
569
  if (!frameState.scene3DOnly) {
565
570
  var projection = frameState.mapProjection;
@@ -991,4 +996,4 @@ define([
991
996
  };
992
997
 
993
998
  return GroundPrimitive;
994
- });
999
+ });
@@ -355,6 +355,28 @@ define([
355
355
  var tileImageryBoundsScratch = new Rectangle();
356
356
  var clippedRectangleScratch = new Rectangle();
357
357
 
358
+ /**
359
+ * Computes the intersection of this layer's rectangle with the imagery provider's availability rectangle,
360
+ * producing the overall bounds of imagery that can be produced by this layer.
361
+ *
362
+ * @returns {Promise} A promise to a rectangle which defines the overall bounds of imagery that can be produced by this layer.
363
+ *
364
+ * @example
365
+ * // Zoom to an imagery layer.
366
+ * imageryLayer.getViewableRectangle().then(function (rectangle) {
367
+ * return camera.flyTo({
368
+ * destination: rectangle
369
+ * });
370
+ * });
371
+ */
372
+ ImageryLayer.prototype.getViewableRectangle = function() {
373
+ var imageryProvider = this._imageryProvider;
374
+ var rectangle = this._rectangle;
375
+ return imageryProvider.readyPromise.then(function() {
376
+ return Rectangle.intersection(imageryProvider.rectangle, rectangle);
377
+ });
378
+ };
379
+
358
380
  /**
359
381
  * Create skeletons for the imagery tiles that partially or completely overlap a given terrain
360
382
  * tile.
@@ -217,7 +217,7 @@ define([
217
217
  *
218
218
  * @param {Number} index the index to retrieve.
219
219
  *
220
- * @exception {DeveloperError} This object was destroyed, i.e., destroy() was called.
220
+ * @returns {ImageryLayer} The imagery layer at the given index.
221
221
  */
222
222
  ImageryLayerCollection.prototype.get = function(index) {
223
223
  //>>includeStart('debug', pragmas.debug);
@@ -956,7 +956,7 @@ define([
956
956
  if (containsGltfMagic(array)) {
957
957
  // Load binary glTF
958
958
  var result = parseBinaryGltfHeader(array);
959
- // KHR_binary_glTF is from the beginning of the binary section
959
+ // KHR_binary_glTF is from the beginning of the binary section
960
960
  if (result.binaryOffset !== 0) {
961
961
  array = array.subarray(result.binaryOffset);
962
962
  }
@@ -1129,7 +1129,10 @@ define([
1129
1129
  if (buffers.hasOwnProperty(id)) {
1130
1130
  var buffer = buffers[id];
1131
1131
 
1132
- if (id === 'KHR_binary_glTF') {
1132
+ // The extension 'KHR_binary_glTF' uses a special buffer entitled just 'binary_glTF'.
1133
+ // The 'KHR_binary_glTF' check is for backwards compatibility for the Cesium model converter
1134
+ // circa Cesium 1.15-1.17 when the converter incorrectly used the buffer name 'KHR_binary_glTF'.
1135
+ if ((id === 'binary_glTF') || (id === 'KHR_binary_glTF')) {
1133
1136
  // Buffer is the binary glTF file itself that is already loaded
1134
1137
  var loadResources = model._loadResources;
1135
1138
  loadResources.buffers[id] = model._cachedGltf.bgltf;
@@ -51,7 +51,7 @@ define([
51
51
  * @see BingMapsImageryProvider
52
52
  * @see GoogleEarthImageryProvider
53
53
  * @see SingleTileImageryProvider
54
- * @see TileMapServiceImageryProvider
54
+ * @see createTileMapServiceImageryProvider
55
55
  * @see WebMapServiceImageryProvider
56
56
  * @see WebMapTileServiceImageryProvider
57
57
  * @see UrlTemplateImageryProvider
@@ -36,8 +36,6 @@ define([
36
36
  * @param {String} [options.fragmentShaderSource] Optional GLSL fragment shader source to override the default fragment shader.
37
37
  * @param {RenderState} [options.renderState] Optional render state to override the default render state.
38
38
  *
39
- * @demo {@link http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Per%20Instance%20Color.html|Cesium Sandcastle Per Instance Color Appearance Demo}
40
- *
41
39
  * @example
42
40
  * // A solid white line segment
43
41
  * var primitive = new Cesium.Primitive({
@@ -39,7 +39,6 @@ define([
39
39
  *
40
40
  * @see PolylineCollection
41
41
  *
42
- * @demo {@link http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Polylines.html|Cesium Sandcastle Polyline Demo}
43
42
  */
44
43
  function Polyline(options, polylineCollection) {
45
44
  options = defaultValue(options, defaultValue.EMPTY_OBJECT);
@@ -121,7 +121,6 @@ define([
121
121
  * @see PolylineCollection#remove
122
122
  * @see Polyline
123
123
  * @see LabelCollection
124
- * @demo {@link http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Polylines.html|Cesium Sandcastle Polyline Demo}
125
124
  *
126
125
  * @example
127
126
  * // Create a polyline collection with two polylines
@@ -34,8 +34,6 @@ define([
34
34
  * @param {String} [options.fragmentShaderSource] Optional GLSL fragment shader source to override the default fragment shader.
35
35
  * @param {RenderState} [options.renderState] Optional render state to override the default render state.
36
36
  *
37
- *@demo {@link http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Polyline%20Color.html|Cesium Sandcastle Polyline Color Appearance Demo}
38
- *
39
37
  * @example
40
38
  * // A solid white line segment
41
39
  * var primitive = new Cesium.Primitive({
@@ -38,7 +38,6 @@ define([
38
38
  * @param {RenderState} [options.renderState] Optional render state to override the default render state.
39
39
  *
40
40
  * @see {@link https://github.com/AnalyticalGraphicsInc/cesium/wiki/Fabric|Fabric}
41
- * @demo {@link http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=Polyline%20Material.html|Cesium Sandcastle Polyline Material Appearance Demo}
42
41
  *
43
42
  * @example
44
43
  * var primitive = new Cesium.Primitive({
@@ -45,7 +45,7 @@ define([
45
45
  * @see BingMapsImageryProvider
46
46
  * @see GoogleEarthImageryProvider
47
47
  * @see createOpenStreetMapImageryProvider
48
- * @see TileMapServiceImageryProvider
48
+ * @see createTileMapServiceImageryProvider
49
49
  * @see WebMapServiceImageryProvider
50
50
  * @see WebMapTileServiceImageryProvider
51
51
  * @see UrlTemplateImageryProvider
@@ -6,6 +6,7 @@ define([
6
6
  '../Core/defaultValue',
7
7
  '../Core/defined',
8
8
  '../Core/defineProperties',
9
+ '../Core/deprecationWarning',
9
10
  '../Core/DeveloperError',
10
11
  '../Core/Event',
11
12
  '../Core/GeographicTilingScheme',
@@ -24,6 +25,7 @@ define([
24
25
  defaultValue,
25
26
  defined,
26
27
  defineProperties,
28
+ deprecationWarning,
27
29
  DeveloperError,
28
30
  Event,
29
31
  GeographicTilingScheme,
@@ -38,6 +40,8 @@ define([
38
40
  "use strict";
39
41
 
40
42
  /**
43
+ * @deprecated
44
+ *
41
45
  * Provides tiled imagery as generated by {@link http://www.maptiler.org/'>MapTiler</a> / <a href='http://www.klokan.cz/projects/gdal2tiles/|GDDAL2Tiles} etc.
42
46
  *
43
47
  * @alias TileMapServiceImageryProvider
@@ -90,6 +94,7 @@ define([
90
94
  * @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
91
95
  */
92
96
  function TileMapServiceImageryProvider(options) {
97
+ deprecationWarning('TileMapServiceImageryProvider', 'Scene/TileMapServiceImageryProvider is deprecated. Use Scene/createTileMapServiceImageryProvider instead.');
93
98
  options = defaultValue(options, {});
94
99
 
95
100
  //>>includeStart('debug', pragmas.debug);
@@ -53,8 +53,8 @@ define([
53
53
  * @alias UrlTemplateImageryProvider
54
54
  * @constructor
55
55
  *
56
- * @param {Object} [options] Object with the following properties:
57
- * @param {String} [options.url] The URL template to use to request tiles. It has the following keywords:
56
+ * @param {Promise|Object} [options] Object with the following properties:
57
+ * @param {String} options.url The URL template to use to request tiles. It has the following keywords:
58
58
  * <ul>
59
59
  * <li><code>{z}</code>: The level of the tile in the tiling scheme. Level zero is the root of the quadtree pyramid.</li>
60
60
  * <li><code>{x}</code>: The tile X coordinate in the tiling scheme, where 0 is the Westernmost tile.</li>
@@ -113,7 +113,7 @@ define([
113
113
  * be treated as if their alpha is 1.0 everywhere. When this property is false, memory usage
114
114
  * and texture upload time are potentially reduced.
115
115
  * @param {GetFeatureInfoFormat[]} [options.getFeatureInfoFormats] The formats in which to get feature information at a
116
- * specific location when {@see UrlTemplateImageryProvider#pickFeatures} is invoked. If this
116
+ * specific location when {@link UrlTemplateImageryProvider#pickFeatures} is invoked. If this
117
117
  * parameter is not specified, feature picking is disabled.
118
118
  * @param {Boolean} [options.enablePickFeatures=true] If true, {@link UrlTemplateImageryProvider#pickFeatures} will
119
119
  * request the <code>options.pickFeaturesUrl</code> and attempt to interpret the features included in the response. If false,
@@ -147,48 +147,41 @@ define([
147
147
  * 'width=256&height=256',
148
148
  * rectangle : Cesium.Rectangle.fromDegrees(96.799393, -43.598214999057824, 153.63925700000001, -9.2159219997013)
149
149
  * });
150
- *
150
+ *
151
151
  * @see ArcGisMapServerImageryProvider
152
152
  * @see BingMapsImageryProvider
153
153
  * @see GoogleEarthImageryProvider
154
154
  * @see createOpenStreetMapImageryProvider
155
155
  * @see SingleTileImageryProvider
156
- * @see TileMapServiceImageryProvider
156
+ * @see createTileMapServiceImageryProvider
157
157
  * @see WebMapServiceImageryProvider
158
158
  * @see WebMapTileServiceImageryProvider
159
159
  */
160
160
  function UrlTemplateImageryProvider(options) {
161
161
  //>>includeStart('debug', pragmas.debug);
162
- if (!defined(options) || !defined(options.url)) {
163
- throw new DeveloperError('options.url is required.');
162
+ if (!defined(options)) {
163
+ throw new DeveloperError('options is required.');
164
+ }
165
+ if (!when.isPromise(options) && !defined(options.url)) {
166
+ throw new DeveloperError('options is required.');
164
167
  }
165
168
  //>>includeEnd('debug');
166
169
 
167
- this._url = options.url;
168
- this._pickFeaturesUrl = options.pickFeaturesUrl;
169
- this._proxy = options.proxy;
170
- this._tileDiscardPolicy = options.tileDiscardPolicy;
171
- this._getFeatureInfoFormats = options.getFeatureInfoFormats;
172
-
173
170
  this._errorEvent = new Event();
174
171
 
175
- this._subdomains = options.subdomains;
176
- if (Array.isArray(this._subdomains)) {
177
- this._subdomains = this._subdomains.slice();
178
- } else if (defined(this._subdomains) && this._subdomains.length > 0) {
179
- this._subdomains = this._subdomains.split('');
180
- } else {
181
- this._subdomains = ['a', 'b', 'c'];
182
- }
183
-
184
- this._tileWidth = defaultValue(options.tileWidth, 256);
185
- this._tileHeight = defaultValue(options.tileHeight, 256);
186
- this._minimumLevel = defaultValue(options.minimumLevel, 0);
187
- this._maximumLevel = options.maximumLevel;
188
- this._tilingScheme = defaultValue(options.tilingScheme, new WebMercatorTilingScheme({ ellipsoid : options.ellipsoid }));
189
- this._rectangle = defaultValue(options.rectangle, this._tilingScheme.rectangle);
190
- this._rectangle = Rectangle.intersection(this._rectangle, this._tilingScheme.rectangle);
191
- this._hasAlphaChannel = defaultValue(options.hasAlphaChannel, true);
172
+ this._url = undefined;
173
+ this._pickFeaturesUrl = undefined;
174
+ this._proxy = undefined;
175
+ this._tileWidth = undefined;
176
+ this._tileHeight = undefined;
177
+ this._maximumLevel = undefined;
178
+ this._minimumLevel = undefined;
179
+ this._tilingScheme = undefined;
180
+ this._rectangle = undefined;
181
+ this._tileDiscardPolicy = undefined;
182
+ this._credit = undefined;
183
+ this._hasAlphaChannel = undefined;
184
+ this._readyPromise = undefined;
192
185
 
193
186
  /**
194
187
  * Gets or sets a value indicating whether feature picking is enabled. If true, {@link UrlTemplateImageryProvider#pickFeatures} will
@@ -199,18 +192,9 @@ define([
199
192
  * @type {Boolean}
200
193
  * @default true
201
194
  */
202
- this.enablePickFeatures = defaultValue(options.enablePickFeatures, true);
195
+ this.enablePickFeatures = true;
203
196
 
204
- var credit = options.credit;
205
- if (typeof credit === 'string') {
206
- credit = new Credit(credit);
207
- }
208
- this._credit = credit;
209
-
210
- this._urlParts = urlTemplateToParts(this._url, tags);
211
- this._pickFeaturesUrlParts = urlTemplateToParts(this._pickFeaturesUrl, pickFeaturesTags);
212
-
213
- this._readyPromise = when.resolve(true);
197
+ this.reinitialize(options);
214
198
  }
215
199
 
216
200
  defineProperties(UrlTemplateImageryProvider.prototype, {
@@ -293,6 +277,11 @@ define([
293
277
  */
294
278
  tileWidth : {
295
279
  get : function() {
280
+ //>>includeStart('debug', pragmas.debug);
281
+ if (!this.ready) {
282
+ throw new DeveloperError('tileWidth must not be called before the imagery provider is ready.');
283
+ }
284
+ //>>includeEnd('debug');
296
285
  return this._tileWidth;
297
286
  }
298
287
  },
@@ -307,6 +296,11 @@ define([
307
296
  */
308
297
  tileHeight: {
309
298
  get : function() {
299
+ //>>includeStart('debug', pragmas.debug);
300
+ if (!this.ready) {
301
+ throw new DeveloperError('tileHeight must not be called before the imagery provider is ready.');
302
+ }
303
+ //>>includeEnd('debug');
310
304
  return this._tileHeight;
311
305
  }
312
306
  },
@@ -321,6 +315,11 @@ define([
321
315
  */
322
316
  maximumLevel : {
323
317
  get : function() {
318
+ //>>includeStart('debug', pragmas.debug);
319
+ if (!this.ready) {
320
+ throw new DeveloperError('maximumLevel must not be called before the imagery provider is ready.');
321
+ }
322
+ //>>includeEnd('debug');
324
323
  return this._maximumLevel;
325
324
  }
326
325
  },
@@ -335,6 +334,11 @@ define([
335
334
  */
336
335
  minimumLevel : {
337
336
  get : function() {
337
+ //>>includeStart('debug', pragmas.debug);
338
+ if (!this.ready) {
339
+ throw new DeveloperError('minimumLevel must not be called before the imagery provider is ready.');
340
+ }
341
+ //>>includeEnd('debug');
338
342
  return this._minimumLevel;
339
343
  }
340
344
  },
@@ -349,6 +353,11 @@ define([
349
353
  */
350
354
  tilingScheme : {
351
355
  get : function() {
356
+ //>>includeStart('debug', pragmas.debug);
357
+ if (!this.ready) {
358
+ throw new DeveloperError('tilingScheme must not be called before the imagery provider is ready.');
359
+ }
360
+ //>>includeEnd('debug');
352
361
  return this._tilingScheme;
353
362
  }
354
363
  },
@@ -363,6 +372,11 @@ define([
363
372
  */
364
373
  rectangle : {
365
374
  get : function() {
375
+ //>>includeStart('debug', pragmas.debug);
376
+ if (!this.ready) {
377
+ throw new DeveloperError('rectangle must not be called before the imagery provider is ready.');
378
+ }
379
+ //>>includeEnd('debug');
366
380
  return this._rectangle;
367
381
  }
368
382
  },
@@ -379,6 +393,11 @@ define([
379
393
  */
380
394
  tileDiscardPolicy : {
381
395
  get : function() {
396
+ //>>includeStart('debug', pragmas.debug);
397
+ if (!this.ready) {
398
+ throw new DeveloperError('tileDiscardPolicy must not be called before the imagery provider is ready.');
399
+ }
400
+ //>>includeEnd('debug');
382
401
  return this._tileDiscardPolicy;
383
402
  }
384
403
  },
@@ -405,7 +424,7 @@ define([
405
424
  */
406
425
  ready : {
407
426
  get : function() {
408
- return true;
427
+ return defined(this._urlParts);
409
428
  }
410
429
  },
411
430
 
@@ -431,6 +450,11 @@ define([
431
450
  */
432
451
  credit : {
433
452
  get : function() {
453
+ //>>includeStart('debug', pragmas.debug);
454
+ if (!this.ready) {
455
+ throw new DeveloperError('credit must not be called before the imagery provider is ready.');
456
+ }
457
+ //>>includeEnd('debug');
434
458
  return this._credit;
435
459
  }
436
460
  },
@@ -440,7 +464,8 @@ define([
440
464
  * include an alpha channel. If this property is false, an alpha channel, if present, will
441
465
  * be ignored. If this property is true, any images without an alpha channel will be treated
442
466
  * as if their alpha is 1.0 everywhere. When this property is false, memory usage
443
- * and texture upload time are reduced.
467
+ * and texture upload time are reduced. This function should
468
+ * not be called before {@link ImageryProvider#ready} returns true.
444
469
  * @memberof UrlTemplateImageryProvider.prototype
445
470
  * @type {Boolean}
446
471
  * @readonly
@@ -448,11 +473,70 @@ define([
448
473
  */
449
474
  hasAlphaChannel : {
450
475
  get : function() {
476
+ //>>includeStart('debug', pragmas.debug);
477
+ if (!this.ready) {
478
+ throw new DeveloperError('hasAlphaChannel must not be called before the imagery provider is ready.');
479
+ }
480
+ //>>includeEnd('debug');
451
481
  return this._hasAlphaChannel;
452
482
  }
453
483
  }
454
484
  });
455
485
 
486
+ /**
487
+ * Reinitializes this instance. Reinitializing an instance already in use is supported, but it is not
488
+ * recommended because existing tiles provided by the imagery provider will not be updated.
489
+ *
490
+ * @param {Promise|Object} options Any of the options that may be passed to the {@see UrlTemplateImageryProvider} constructor.
491
+ */
492
+ UrlTemplateImageryProvider.prototype.reinitialize = function(options) {
493
+ var that = this;
494
+ that._readyPromise = when(options).then(function(properties) {
495
+ //>>includeStart('debug', pragmas.debug);
496
+ if (!defined(properties)) {
497
+ throw new DeveloperError('options is required.');
498
+ }
499
+ if (!defined(properties.url)) {
500
+ throw new DeveloperError('options.url is required.');
501
+ }
502
+ //>>includeEnd('debug');
503
+ that.enablePickFeatures = defaultValue(properties.enablePickFeatures, that.enablePickFeatures);
504
+ that._url = properties.url;
505
+ that._pickFeaturesUrl = properties.pickFeaturesUrl;
506
+ that._proxy = properties.proxy;
507
+ that._tileDiscardPolicy = properties.tileDiscardPolicy;
508
+ that._getFeatureInfoFormats = properties.getFeatureInfoFormats;
509
+
510
+ that._subdomains = properties.subdomains;
511
+ if (Array.isArray(that._subdomains)) {
512
+ that._subdomains = that._subdomains.slice();
513
+ } else if (defined(that._subdomains) && that._subdomains.length > 0) {
514
+ that._subdomains = that._subdomains.split('');
515
+ } else {
516
+ that._subdomains = ['a', 'b', 'c'];
517
+ }
518
+
519
+ that._tileWidth = defaultValue(properties.tileWidth, 256);
520
+ that._tileHeight = defaultValue(properties.tileHeight, 256);
521
+ that._minimumLevel = defaultValue(properties.minimumLevel, 0);
522
+ that._maximumLevel = properties.maximumLevel;
523
+ that._tilingScheme = defaultValue(properties.tilingScheme, new WebMercatorTilingScheme({ ellipsoid : properties.ellipsoid }));
524
+ that._rectangle = defaultValue(properties.rectangle, that._tilingScheme.rectangle);
525
+ that._rectangle = Rectangle.intersection(that._rectangle, that._tilingScheme.rectangle);
526
+ that._hasAlphaChannel = defaultValue(properties.hasAlphaChannel, true);
527
+
528
+ var credit = properties.credit;
529
+ if (typeof credit === 'string') {
530
+ credit = new Credit(credit);
531
+ }
532
+ that._credit = credit;
533
+
534
+ that._urlParts = urlTemplateToParts(that._url, tags);
535
+ that._pickFeaturesUrlParts = urlTemplateToParts(that._pickFeaturesUrl, pickFeaturesTags);
536
+ return true;
537
+ });
538
+ };
539
+
456
540
  /**
457
541
  * Gets the credits to be displayed when a given tile is displayed.
458
542
  *
@@ -464,6 +548,11 @@ define([
464
548
  * @exception {DeveloperError} <code>getTileCredits</code> must not be called before the imagery provider is ready.
465
549
  */
466
550
  UrlTemplateImageryProvider.prototype.getTileCredits = function(x, y, level) {
551
+ //>>includeStart('debug', pragmas.debug);
552
+ if (!this.ready) {
553
+ throw new DeveloperError('getTileCredits must not be called before the imagery provider is ready.');
554
+ }
555
+ //>>includeEnd('debug');
467
556
  return undefined;
468
557
  };
469
558
 
@@ -480,6 +569,11 @@ define([
480
569
  * Image or a Canvas DOM object.
481
570
  */
482
571
  UrlTemplateImageryProvider.prototype.requestImage = function(x, y, level) {
572
+ //>>includeStart('debug', pragmas.debug);
573
+ if (!this.ready) {
574
+ throw new DeveloperError('requestImage must not be called before the imagery provider is ready.');
575
+ }
576
+ //>>includeEnd('debug');
483
577
  var url = buildImageUrl(this, x, y, level);
484
578
  return ImageryProvider.loadImage(this, url);
485
579
  };
@@ -499,6 +593,12 @@ define([
499
593
  * It may also be undefined if picking is not supported.
500
594
  */
501
595
  UrlTemplateImageryProvider.prototype.pickFeatures = function(x, y, level, longitude, latitude) {
596
+ //>>includeStart('debug', pragmas.debug);
597
+ if (!this.ready) {
598
+ throw new DeveloperError('pickFeatures must not be called before the imagery provider is ready.');
599
+ }
600
+ //>>includeEnd('debug');
601
+
502
602
  if (!this.enablePickFeatures || !defined(this._pickFeaturesUrl) || this._getFeatureInfoFormats.length === 0) {
503
603
  return undefined;
504
604
  }