cesium 1.17.0 → 1.18.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/Cesium/Cesium.js +3 -2
- data/app/assets/javascripts/Cesium/Core/BoundingSphere.js +158 -2
- data/app/assets/javascripts/Cesium/Core/BoxOutlineGeometry.js +0 -2
- data/app/assets/javascripts/Cesium/Core/CesiumTerrainProvider.js +1 -1
- data/app/assets/javascripts/Cesium/Core/CircleGeometry.js +0 -2
- data/app/assets/javascripts/Cesium/Core/CircleOutlineGeometry.js +0 -2
- data/app/assets/javascripts/Cesium/Core/CorridorOutlineGeometry.js +0 -2
- data/app/assets/javascripts/Cesium/Core/CylinderGeometry.js +0 -2
- data/app/assets/javascripts/Cesium/Core/CylinderOutlineGeometry.js +0 -2
- data/app/assets/javascripts/Cesium/Core/EllipseOutlineGeometry.js +0 -2
- data/app/assets/javascripts/Cesium/Core/EllipsoidGeometry.js +0 -2
- data/app/assets/javascripts/Cesium/Core/EllipsoidOutlineGeometry.js +0 -2
- data/app/assets/javascripts/Cesium/Core/EllipsoidTerrainProvider.js +7 -9
- data/app/assets/javascripts/Cesium/Core/Math.js +19 -0
- data/app/assets/javascripts/Cesium/Core/PolygonGeometry.js +1 -0
- data/app/assets/javascripts/Cesium/Core/PolygonOutlineGeometry.js +0 -2
- data/app/assets/javascripts/Cesium/Core/PolygonPipeline.js +5 -3
- data/app/assets/javascripts/Cesium/Core/PolylineVolumeOutlineGeometry.js +0 -2
- data/app/assets/javascripts/Cesium/Core/Rectangle.js +60 -0
- data/app/assets/javascripts/Cesium/Core/RectangleOutlineGeometry.js +0 -2
- data/app/assets/javascripts/Cesium/Core/SimplePolylineGeometry.js +0 -2
- data/app/assets/javascripts/Cesium/Core/SphereGeometry.js +0 -2
- data/app/assets/javascripts/Cesium/Core/SphereOutlineGeometry.js +0 -2
- data/app/assets/javascripts/Cesium/Core/WallOutlineGeometry.js +0 -2
- data/app/assets/javascripts/Cesium/Core/getBaseUri.js +22 -4
- data/app/assets/javascripts/Cesium/DataSources/CylinderGraphics.js +0 -1
- data/app/assets/javascripts/Cesium/Scene/ArcGisMapServerImageryProvider.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/BingMapsImageryProvider.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/CameraFlightPath.js +6 -4
- data/app/assets/javascripts/Cesium/Scene/EllipsoidSurfaceAppearance.js +0 -2
- data/app/assets/javascripts/Cesium/Scene/GlobeSurfaceTileProvider.js +19 -16
- data/app/assets/javascripts/Cesium/Scene/GoogleEarthImageryProvider.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/GroundPrimitive.js +8 -3
- data/app/assets/javascripts/Cesium/Scene/ImageryLayer.js +22 -0
- data/app/assets/javascripts/Cesium/Scene/ImageryLayerCollection.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/Model.js +5 -2
- data/app/assets/javascripts/Cesium/Scene/OpenStreetMapImageryProvider.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/PerInstanceColorAppearance.js +0 -2
- data/app/assets/javascripts/Cesium/Scene/Polyline.js +0 -1
- data/app/assets/javascripts/Cesium/Scene/PolylineCollection.js +0 -1
- data/app/assets/javascripts/Cesium/Scene/PolylineColorAppearance.js +0 -2
- data/app/assets/javascripts/Cesium/Scene/PolylineMaterialAppearance.js +0 -1
- data/app/assets/javascripts/Cesium/Scene/SingleTileImageryProvider.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/TileMapServiceImageryProvider.js +5 -0
- data/app/assets/javascripts/Cesium/Scene/UrlTemplateImageryProvider.js +143 -43
- data/app/assets/javascripts/Cesium/Scene/WebMapServiceImageryProvider.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/WebMapTileServiceImageryProvider.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/createOpenStreetMapImageryProvider.js +1 -1
- data/app/assets/javascripts/Cesium/Scene/createTileMapServiceImageryProvider.js +286 -0
- data/app/assets/javascripts/Cesium/Scene/modelMaterialsCommon.js +54 -9
- data/app/assets/javascripts/Cesium/Widgets/BaseLayerPicker/BaseLayerPicker.js +2 -2
- data/app/assets/javascripts/Cesium/Widgets/BaseLayerPicker/createDefaultImageryProviderViewModels.js +4 -4
- data/app/assets/javascripts/Cesium/Workers/cesiumWorkerBootstrapper.js +23 -1
- data/app/assets/javascripts/Cesium/Workers/combineGeometry.js +231 -2
- data/app/assets/javascripts/Cesium/Workers/createBoxGeometry.js +231 -2
- data/app/assets/javascripts/Cesium/Workers/createBoxOutlineGeometry.js +231 -4
- data/app/assets/javascripts/Cesium/Workers/createCircleGeometry.js +231 -4
- data/app/assets/javascripts/Cesium/Workers/createCircleOutlineGeometry.js +231 -6
- data/app/assets/javascripts/Cesium/Workers/createCorridorGeometry.js +231 -2
- data/app/assets/javascripts/Cesium/Workers/createCorridorOutlineGeometry.js +231 -4
- data/app/assets/javascripts/Cesium/Workers/createCylinderGeometry.js +231 -4
- data/app/assets/javascripts/Cesium/Workers/createCylinderOutlineGeometry.js +231 -4
- data/app/assets/javascripts/Cesium/Workers/createEllipseGeometry.js +231 -2
- data/app/assets/javascripts/Cesium/Workers/createEllipseOutlineGeometry.js +231 -4
- data/app/assets/javascripts/Cesium/Workers/createEllipsoidGeometry.js +231 -4
- data/app/assets/javascripts/Cesium/Workers/createEllipsoidOutlineGeometry.js +231 -4
- data/app/assets/javascripts/Cesium/Workers/createGeometry.js +231 -2
- data/app/assets/javascripts/Cesium/Workers/createPointGeometry.js +231 -2
- data/app/assets/javascripts/Cesium/Workers/createPolygonGeometry.js +237 -5
- data/app/assets/javascripts/Cesium/Workers/createPolygonOutlineGeometry.js +236 -7
- data/app/assets/javascripts/Cesium/Workers/createPolylineGeometry.js +231 -2
- data/app/assets/javascripts/Cesium/Workers/createPolylineVolumeGeometry.js +236 -5
- data/app/assets/javascripts/Cesium/Workers/createPolylineVolumeOutlineGeometry.js +236 -7
- data/app/assets/javascripts/Cesium/Workers/createRectangleGeometry.js +236 -5
- data/app/assets/javascripts/Cesium/Workers/createRectangleOutlineGeometry.js +236 -7
- data/app/assets/javascripts/Cesium/Workers/createSimplePolylineGeometry.js +231 -4
- data/app/assets/javascripts/Cesium/Workers/createSphereGeometry.js +231 -6
- data/app/assets/javascripts/Cesium/Workers/createSphereOutlineGeometry.js +231 -6
- data/app/assets/javascripts/Cesium/Workers/createVerticesFromHeightmap.js +231 -2
- data/app/assets/javascripts/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +231 -2
- data/app/assets/javascripts/Cesium/Workers/createWallGeometry.js +236 -5
- data/app/assets/javascripts/Cesium/Workers/createWallOutlineGeometry.js +236 -7
- data/app/assets/javascripts/Cesium/Workers/upsampleQuantizedTerrainMesh.js +231 -2
- data/lib/cesium/version.rb +1 -1
- data/test/dummy/log/development.log +232 -0
- data/test/dummy/tmp/cache/assets/C16/310/sprockets%2Fc9273e1954562144f440a71a3766c300 +0 -0
- data/test/dummy/tmp/cache/assets/C16/BE0/sprockets%2F730c481502395cc21463bcc305986308 +0 -0
- data/test/dummy/tmp/cache/assets/C3E/980/sprockets%2F00fce10d03861d2101743695f0716c66 +0 -0
- data/test/dummy/tmp/cache/assets/C4F/690/sprockets%2F771870445807107490b63bfd6e0b543d +0 -0
- data/test/dummy/tmp/cache/assets/C54/680/sprockets%2F31c6133a4541f42b507e5689b076759f +0 -0
- data/test/dummy/tmp/cache/assets/C5C/600/sprockets%2F6ec94c904254580e8691821109d6ad57 +0 -0
- data/test/dummy/tmp/cache/assets/C7C/C90/sprockets%2F92c082511a234b21cf6c479b6f507576 +0 -0
- data/test/dummy/tmp/cache/assets/C7D/950/sprockets%2F6c0363b13959ad48161b25b1c835657e +0 -0
- data/test/dummy/tmp/cache/assets/C87/860/sprockets%2F06a90e1784696233013dd6ee75e4549b +0 -0
- data/test/dummy/tmp/cache/assets/C91/8A0/sprockets%2Fe02395f83f6f5201913e1b888f46f645 +0 -0
- data/test/dummy/tmp/cache/assets/C94/D10/sprockets%2F903d696bc385f21c973d97789a31e504 +0 -0
- data/test/dummy/tmp/cache/assets/CA2/BC0/sprockets%2F336f5a0e85027c07c4460b10d548a7d4 +0 -0
- data/test/dummy/tmp/cache/assets/CA6/050/sprockets%2F0870154ae63a5f7c83121ef17d0846b2 +0 -0
- data/test/dummy/tmp/cache/assets/CA7/D20/sprockets%2F1f594f974f38ae85702ec10ae4233000 +0 -0
- data/test/dummy/tmp/cache/assets/CA7/D40/sprockets%2F09291437a41fbc8b0053920f836c4b9a +0 -0
- data/test/dummy/tmp/cache/assets/CAA/EF0/sprockets%2F13b3f1125490c5a2e82e24d64f780e39 +0 -0
- data/test/dummy/tmp/cache/assets/CAB/320/sprockets%2F78ac4929439bc866a653a2a12a2a5165 +0 -0
- data/test/dummy/tmp/cache/assets/CAE/630/sprockets%2F9d24d9f35a4650e41b4645c5d81b0842 +0 -0
- data/test/dummy/tmp/cache/assets/CB5/310/sprockets%2F2833f6b19a5ac7453729822f259b2db6 +0 -0
- data/test/dummy/tmp/cache/assets/CB7/A10/sprockets%2Fd34b045e6d4215367bcf6f08e4638926 +0 -0
- data/test/dummy/tmp/cache/assets/CB7/FA0/sprockets%2Fe11b1d418699c10ce19c92b8a8562992 +0 -0
- data/test/dummy/tmp/cache/assets/CB9/FD0/sprockets%2F868358f2ee30f4326e761014cd2576ee +0 -0
- data/test/dummy/tmp/cache/assets/CBC/B00/sprockets%2F781e0bd52bee4781ff663069a5941079 +0 -0
- data/test/dummy/tmp/cache/assets/CC0/3A0/sprockets%2F26cd86b84410a02a601212bd2236f6da +0 -0
- data/test/dummy/tmp/cache/assets/CC3/1D0/sprockets%2Fe05f83785d87559e712ef7331136b7fa +0 -0
- data/test/dummy/tmp/cache/assets/CC5/FB0/sprockets%2F80e0c2f9390c8a479972b8841e949cb3 +0 -0
- data/test/dummy/tmp/cache/assets/CD0/310/sprockets%2F825eb4414b555ce140fc46ad24b48061 +0 -0
- data/test/dummy/tmp/cache/assets/CD1/F00/sprockets%2F47e220bc6460ea8850265baf014525fd +0 -0
- data/test/dummy/tmp/cache/assets/CD3/940/sprockets%2F641b837eeb02a10631a0d20acd987887 +0 -0
- data/test/dummy/tmp/cache/assets/CD4/D30/sprockets%2F6741dd0454f9080fa418ed09a192ab40 +0 -0
- data/test/dummy/tmp/cache/assets/CD5/900/sprockets%2F0603a31cdcdf8ec2872219242c65f336 +0 -0
- data/test/dummy/tmp/cache/assets/CD7/AF0/sprockets%2F8ea5147f262ca0db032440670e576f7d +0 -0
- data/test/dummy/tmp/cache/assets/CD8/8B0/sprockets%2F27e2f83e374ba7052dc6c2281d18071e +0 -0
- data/test/dummy/tmp/cache/assets/CD9/830/sprockets%2F056590d09da88c9b1920143a3b37d6ea +0 -0
- data/test/dummy/tmp/cache/assets/CDA/700/sprockets%2F24c5884ae3352ca70a9546d02bb6e844 +0 -0
- data/test/dummy/tmp/cache/assets/CDC/3A0/sprockets%2F2bdb3f8510205db3f3bf4605947851f7 +0 -0
- data/test/dummy/tmp/cache/assets/CDC/910/sprockets%2F4127b7bf7565f5eb82a54f5012c7512d +0 -0
- data/test/dummy/tmp/cache/assets/CDD/5A0/sprockets%2Fb7dfa40599517f39400db36240fa16c9 +0 -0
- data/test/dummy/tmp/cache/assets/CDE/400/sprockets%2F1a1e6562a81a5be59fe6c205797711d3 +0 -0
- data/test/dummy/tmp/cache/assets/CE0/310/sprockets%2F9ee5a8c15b510b043e88f5826cc33409 +0 -0
- data/test/dummy/tmp/cache/assets/CE1/B10/sprockets%2Fc25147e593c0dd3f0973509a56aa92f5 +0 -0
- data/test/dummy/tmp/cache/assets/CE6/DD0/sprockets%2Ffd590df3a5e39763c7258802d8233c1c +0 -0
- data/test/dummy/tmp/cache/assets/CE8/910/sprockets%2F080f8c0b62830c954799a2d5edf591d2 +0 -0
- data/test/dummy/tmp/cache/assets/CE9/380/sprockets%2Fdb39605a961a8c0f9150d48ca81938f7 +0 -0
- data/test/dummy/tmp/cache/assets/CE9/8F0/sprockets%2F505f0e4ca77daae7369943e392a85607 +0 -0
- data/test/dummy/tmp/cache/assets/CEB/8A0/sprockets%2F159eb5218f66cb1523956585e1add78c +0 -0
- data/test/dummy/tmp/cache/assets/CEC/230/sprockets%2F06c6439d6734e9122d0429d99bd76ceb +0 -0
- data/test/dummy/tmp/cache/assets/CEC/9B0/sprockets%2F623d2921e3b7bd6cbe9288253e18e776 +0 -0
- data/test/dummy/tmp/cache/assets/CED/610/sprockets%2Fc464c2668d8d57244934c45b9a28e7ba +0 -0
- data/test/dummy/tmp/cache/assets/CF0/8D0/sprockets%2Fd87a027ff95cd7b9080555d76f16824a +0 -0
- data/test/dummy/tmp/cache/assets/CF6/3F0/sprockets%2Fc8a187687d86c86d20ccd8d39258428a +0 -0
- data/test/dummy/tmp/cache/assets/CF9/CA0/sprockets%2Fe3287c6767a894efd1e4461ae21599e8 +0 -0
- data/test/dummy/tmp/cache/assets/CFA/720/sprockets%2Fdc2ea106de9ab60be261248f21059224 +0 -0
- data/test/dummy/tmp/cache/assets/CFA/B50/sprockets%2F8505a240bc3a2e4b1a953417c73ebc72 +0 -0
- data/test/dummy/tmp/cache/assets/CFB/AB0/sprockets%2F4310d259c9d51b895d0b3c1a6eb031d2 +0 -0
- data/test/dummy/tmp/cache/assets/CFE/AE0/sprockets%2F7c886a80519554ea620aac2325bb1ce0 +0 -0
- data/test/dummy/tmp/cache/assets/CFF/860/sprockets%2F5c7d2a10419532611c629aef1e62ed3b +0 -0
- data/test/dummy/tmp/cache/assets/D00/C10/sprockets%2F169d5c9cc4598e63f95577f52e9da370 +0 -0
- data/test/dummy/tmp/cache/assets/D01/A60/sprockets%2F3ca75cfcf2037d5364e4531448da120d +0 -0
- data/test/dummy/tmp/cache/assets/D03/8B0/sprockets%2Febcb583b805d6193b261002efcf52067 +0 -0
- data/test/dummy/tmp/cache/assets/D09/100/sprockets%2Fd696fb8fbd707484e69f9815a79387d2 +0 -0
- data/test/dummy/tmp/cache/assets/D0B/640/sprockets%2F9366c3e436388b239ebcda0fc24520f1 +0 -0
- data/test/dummy/tmp/cache/assets/D0F/980/sprockets%2Fdaa14ed9a3657161c56c66483e2d17e4 +0 -0
- data/test/dummy/tmp/cache/assets/D10/FC0/sprockets%2F563f9f7eb632fc32ab885a1bc2127429 +0 -0
- data/test/dummy/tmp/cache/assets/D11/C40/sprockets%2F04aecf869ffe1036d6a34e5412b37548 +0 -0
- data/test/dummy/tmp/cache/assets/D14/0F0/sprockets%2Ff82e9e555d5326ff2226159aeec16c12 +0 -0
- data/test/dummy/tmp/cache/assets/D15/030/sprockets%2Fa5affe567dc74a8321744f5902f6d531 +0 -0
- data/test/dummy/tmp/cache/assets/D15/6B0/sprockets%2F3bfbac97eb5796307418d0f0e679144a +0 -0
- data/test/dummy/tmp/cache/assets/D16/0C0/sprockets%2F58fb9abfdb670a8502813dc88487711a +0 -0
- data/test/dummy/tmp/cache/assets/D16/2C0/sprockets%2Fa90ad78854c9bd1156e3866eb0e234f5 +0 -0
- data/test/dummy/tmp/cache/assets/D17/C50/sprockets%2Fc3f3c439bf5e484757eee298b106062a +0 -0
- data/test/dummy/tmp/cache/assets/D18/290/sprockets%2F5cb980f53c999c04b9b0b930dd08266e +0 -0
- data/test/dummy/tmp/cache/assets/D1A/670/sprockets%2F4f45089e5678ba2b1c06518bde98a7d4 +0 -0
- data/test/dummy/tmp/cache/assets/D1D/C90/sprockets%2Fa688522a4494897a6f6a5e6b80b0c4ff +0 -0
- data/test/dummy/tmp/cache/assets/D1F/FB0/sprockets%2Ff99fa88a2f4184388de53b6bb71057c3 +0 -0
- data/test/dummy/tmp/cache/assets/D25/A10/sprockets%2F8459d7a6e879de2a674d224bd7b960d5 +0 -0
- data/test/dummy/tmp/cache/assets/D26/C90/sprockets%2Fb09f146e78fc920d934ee9e19dc92284 +0 -0
- data/test/dummy/tmp/cache/assets/D29/F80/sprockets%2F3d888988ef5e7292bf1f181eb622b19f +0 -0
- data/test/dummy/tmp/cache/assets/D2C/200/sprockets%2Fea42ef470e90c4282457aaab741e1d20 +0 -0
- data/test/dummy/tmp/cache/assets/D34/E10/sprockets%2F74034ea037bd6434c8eb68ccf2b3026d +0 -0
- data/test/dummy/tmp/cache/assets/D36/990/sprockets%2F2508cad8b402c37cc09f6dfa6222c476 +0 -0
- data/test/dummy/tmp/cache/assets/D37/190/sprockets%2F1b0a29942409f65198f4dd0b107ddabf +0 -0
- data/test/dummy/tmp/cache/assets/D37/F00/sprockets%2F18060fd4371473efaa135cea6076ced7 +0 -0
- data/test/dummy/tmp/cache/assets/D38/5A0/sprockets%2F05c60f19fe5c929377109d0acb6bc1d2 +0 -0
- data/test/dummy/tmp/cache/assets/D38/C80/sprockets%2F0c40fce56bb9b9d01f5112c7974a22f7 +0 -0
- data/test/dummy/tmp/cache/assets/D3C/FE0/sprockets%2F24f6d543983043d0d1feefacb090196e +0 -0
- data/test/dummy/tmp/cache/assets/D3E/520/sprockets%2F4765d7ea3ba6a5d16231c29de0d958c4 +0 -0
- data/test/dummy/tmp/cache/assets/D3F/5E0/sprockets%2Fcbf1d7fac4114ec9059f87f2a0936342 +0 -0
- data/test/dummy/tmp/cache/assets/D48/2D0/sprockets%2F0be50e01c1aee3d2e4b1167bc704b150 +0 -0
- data/test/dummy/tmp/cache/assets/D49/000/sprockets%2Fd94896eee0f35a0a966393090fcc3fc1 +0 -0
- data/test/dummy/tmp/cache/assets/D4B/430/sprockets%2F3717d58544de674bf0f87b1fd67a45ac +0 -0
- data/test/dummy/tmp/cache/assets/D4B/EB0/sprockets%2F90e1f184458ccb432d9fddb8994423af +0 -0
- data/test/dummy/tmp/cache/assets/D51/EC0/sprockets%2F741e01ffc618da7e6ee5a5f3945c5499 +0 -0
- data/test/dummy/tmp/cache/assets/D53/0B0/sprockets%2F3ce0380426fadc73b3e4b21a4b305d6a +0 -0
- data/test/dummy/tmp/cache/assets/D55/050/sprockets%2Ff8a1519f64f695a48b04fc494d7fce19 +0 -0
- data/test/dummy/tmp/cache/assets/D56/850/sprockets%2F4281a0d26ca87aa5d200ac5c45dac728 +0 -0
- data/test/dummy/tmp/cache/assets/D59/110/sprockets%2F2ec0c121af2f7eb46d4a164c3fd75032 +0 -0
- data/test/dummy/tmp/cache/assets/D60/760/sprockets%2Ff2488acab1571bcae10c7c23d5f64606 +0 -0
- data/test/dummy/tmp/cache/assets/D63/2C0/sprockets%2Fb29b4f22c11cdf82445a279ce2b3e08b +0 -0
- data/test/dummy/tmp/cache/assets/D65/390/sprockets%2F5a8932bfeba07d1607613f62bf1b9e1b +0 -0
- data/test/dummy/tmp/cache/assets/D66/D60/sprockets%2Fd116910cf8d03281dfa078d9c81af3ca +0 -0
- data/test/dummy/tmp/cache/assets/D66/F50/sprockets%2F3f8db65ac02247d21db75d02af68e9b1 +0 -0
- data/test/dummy/tmp/cache/assets/D68/4E0/sprockets%2F013c5d547bd5e3350f8f5fe1f4eb03e3 +0 -0
- data/test/dummy/tmp/cache/assets/D6D/5A0/sprockets%2F93cdc99cc7adf79210460311d71cfae4 +0 -0
- data/test/dummy/tmp/cache/assets/D6D/DF0/sprockets%2F839c9b7b20c2a49bd9516a84bec6a61a +0 -0
- data/test/dummy/tmp/cache/assets/D6E/300/sprockets%2F3ad5a388b388247dd303bdbbf73b3f57 +0 -0
- data/test/dummy/tmp/cache/assets/D6E/470/sprockets%2F71df3138a1fe8b97f7fadb7dc1203714 +0 -0
- data/test/dummy/tmp/cache/assets/D6E/6D0/sprockets%2Ffc7d3ba0ef7c52a8455bf1268a29623e +0 -0
- data/test/dummy/tmp/cache/assets/D72/550/sprockets%2Fdc8a1e3cc36d42587cd9c5750e703e4d +0 -0
- data/test/dummy/tmp/cache/assets/D73/1E0/sprockets%2F2028a62d96b8b021e87ea2c9dded688a +0 -0
- data/test/dummy/tmp/cache/assets/D74/FD0/sprockets%2F64dbb94566f1a107a8a455fa7cb76ff4 +0 -0
- data/test/dummy/tmp/cache/assets/D77/AE0/sprockets%2F5668bbe7bf9792cfd8da59d01b7a1061 +0 -0
- data/test/dummy/tmp/cache/assets/D7A/3F0/sprockets%2Fbf3d583f5ba468586a1db5f56e52ef61 +0 -0
- data/test/dummy/tmp/cache/assets/D7B/230/sprockets%2F4e473cebde712a45d9879939c2e2bec1 +0 -0
- data/test/dummy/tmp/cache/assets/D80/4A0/sprockets%2Fc0322f552fc7ddecd97889feaf544660 +0 -0
- data/test/dummy/tmp/cache/assets/D8E/5F0/sprockets%2F123b3f0aaa8ab1864ed5d6e29d2167ca +0 -0
- data/test/dummy/tmp/cache/assets/D90/C00/sprockets%2Fab691533f1127900c07c2debabd7ff5c +0 -0
- data/test/dummy/tmp/cache/assets/D96/9A0/sprockets%2Fec9907bade1891db6bc20180a843cec3 +0 -0
- data/test/dummy/tmp/cache/assets/D96/B40/sprockets%2F90a85be6000c45257cc63dec8c1bcf8b +0 -0
- data/test/dummy/tmp/cache/assets/D97/3D0/sprockets%2F44b63b15cae4c6f7d5b04ed3754f41be +0 -0
- data/test/dummy/tmp/cache/assets/D97/A10/sprockets%2Ff1fe3b6160ec3da42f287aed3d3235c9 +0 -0
- data/test/dummy/tmp/cache/assets/D9C/230/sprockets%2F5126f140ae32b9557afd23d7f8cbdbc9 +0 -0
- data/test/dummy/tmp/cache/assets/D9D/E00/sprockets%2F62f7d32b35fb23cc6360fbedd75c6e17 +0 -0
- data/test/dummy/tmp/cache/assets/D9E/050/sprockets%2F6dfa22af1047cd7b6a9d6dd9611b56d6 +0 -0
- data/test/dummy/tmp/cache/assets/D9E/750/sprockets%2F3ab32a9aab15487d6b9be355c37dfe92 +0 -0
- data/test/dummy/tmp/cache/assets/D9F/790/sprockets%2F4d9649c0c0fdecf285b30fa1474b59db +0 -0
- data/test/dummy/tmp/cache/assets/D9F/9C0/sprockets%2Fffc7d816802d6a5085e5b3e3f93bb4aa +0 -0
- data/test/dummy/tmp/cache/assets/DA3/7B0/sprockets%2Fb20f9d42c879feea70b12b6fe9a7443c +0 -0
- data/test/dummy/tmp/cache/assets/DA7/180/sprockets%2Fd73e504186ef5af78cdf7c24cfc3f620 +0 -0
- data/test/dummy/tmp/cache/assets/DAA/D30/sprockets%2Fba92440f66d3ab82ccfcd4f86e899a16 +0 -0
- data/test/dummy/tmp/cache/assets/DAB/300/sprockets%2Fe822e0c7ed2416485de1f78ded67ed0f +0 -0
- data/test/dummy/tmp/cache/assets/DAE/8E0/sprockets%2Faee3dc2a887eeee336ef1893818372bd +0 -0
- data/test/dummy/tmp/cache/assets/DB4/5A0/sprockets%2Ff6c4c504c300bcf2baa95ca8923dcb10 +0 -0
- data/test/dummy/tmp/cache/assets/DBA/3B0/sprockets%2Ffd06bc030bc3ae7a13682ad3ce3e37f4 +0 -0
- data/test/dummy/tmp/cache/assets/DBC/A70/sprockets%2F0f7da71f1d2e23fc55bc2441e0efa41f +0 -0
- data/test/dummy/tmp/cache/assets/DBD/040/sprockets%2Fbab3c9aeedf12b684be7a100458ad308 +0 -0
- data/test/dummy/tmp/cache/assets/DC6/BB0/sprockets%2Fc650cd342bf1d6306bf614ebcebe56f6 +0 -0
- data/test/dummy/tmp/cache/assets/DC8/670/sprockets%2F47b5310b4dbf58b2b8dcd6ba98c05db6 +0 -0
- data/test/dummy/tmp/cache/assets/DC8/9E0/sprockets%2F0fad3b3f1ed38ea3041c6f6f382c79da +0 -0
- data/test/dummy/tmp/cache/assets/DCB/D50/sprockets%2F285bfff127e41bfcab2ce7941eba9343 +0 -0
- data/test/dummy/tmp/cache/assets/DCF/180/sprockets%2Fa0fb6e0ea7cad056e5e49e3d875c40d8 +0 -0
- data/test/dummy/tmp/cache/assets/DCF/6F0/sprockets%2Fb35295b9c0ed38dd040ea475edfea37f +0 -0
- data/test/dummy/tmp/cache/assets/DCF/AC0/sprockets%2Fca3f2c931d05fd9271edb9db0f19c92f +0 -0
- data/test/dummy/tmp/cache/assets/DD3/150/sprockets%2Fbae8affcbd247de88930e215e7d4d460 +0 -0
- data/test/dummy/tmp/cache/assets/DDE/D00/sprockets%2F74c27cac3ef959ecc8cfd9327b7fa334 +0 -0
- data/test/dummy/tmp/cache/assets/DEA/980/sprockets%2Fc5897a1f996aafff34f555f76a39fbbd +0 -0
- data/test/dummy/tmp/cache/assets/DEE/930/sprockets%2F8e899ec8a7afe2577634ef981ccabcc9 +0 -0
- data/test/dummy/tmp/cache/assets/E01/7D0/sprockets%2F771e23888dbed36f017cbb35acdbc8df +0 -0
- data/test/dummy/tmp/cache/assets/E02/460/sprockets%2Febdaa5d81edadcf19f17470971a692df +0 -0
- data/test/dummy/tmp/cache/assets/E03/8C0/sprockets%2Fdddca472be9884cdfe6af78222bad074 +0 -0
- data/test/dummy/tmp/cache/assets/E04/730/sprockets%2F583c8db59edef3f0c5b7e336e284babb +0 -0
- data/test/dummy/tmp/cache/assets/E14/5A0/sprockets%2F4ac5be9007bc8bebc81dcabe902b021c +0 -0
- data/test/dummy/tmp/cache/assets/E28/A80/sprockets%2F34a8d9e9cbd7a2a5178da0afbf4e10fd +0 -0
- data/test/dummy/tmp/cache/assets/E2A/FC0/sprockets%2Fa90fba67cf290f1ae5d51b9ccd74fbb4 +0 -0
- data/test/dummy/tmp/cache/assets/E2F/3D0/sprockets%2F3d8aa6ffceaf05eefca73ce469e71222 +0 -0
- data/test/dummy/tmp/cache/assets/E2F/8C0/sprockets%2Fb333cacd9aae969cf4e25ce0dddd4277 +0 -0
- data/test/dummy/tmp/cache/assets/E31/6E0/sprockets%2Ff305b61e7fa499ad2504bfebb9e7edea +0 -0
- data/test/dummy/tmp/cache/assets/E3E/2D0/sprockets%2F4e7fda6ffbcb5a5f816cf91cd5d723f9 +0 -0
- data/test/dummy/tmp/cache/assets/E67/7C0/sprockets%2F5fdef75e5fc94f4672cbbce2d4bde3a4 +0 -0
- data/test/dummy/tmp/cache/assets/E84/C40/sprockets%2Fd1b7fa85aeb3b0eff54ea8518ca3cbdc +0 -0
- data/test/dummy/tmp/cache/assets/E96/510/sprockets%2Ff3dd99b915fbacd1c6e7ebcf916b5abf +0 -0
- data/test/dummy/tmp/cache/assets/EB0/300/sprockets%2Fe4bacccace2941a1a8ddfbdd97b2ad82 +0 -0
- data/test/dummy/tmp/data/meta_request/77d9256eaba827554162b22cbae039d3.json +1 -0
- data/test/dummy/tmp/data/meta_request/99e35f127878b47fbca1bfd42a6d2e7d.json +1 -0
- data/test/dummy/tmp/data/meta_request/e7dac870e053aa6dabbeeac8d5913303.json +1 -0
- data/test/dummy/tmp/data/meta_request/fc7d26c7d98a6058081869da8c253f3c.json +1 -0
- data/test/dummy/tmp/pids/server.pid +1 -0
- metadata +19 -2
@@ -74,7 +74,7 @@ define([
|
|
74
74
|
* @see GoogleEarthImageryProvider
|
75
75
|
* @see createOpenStreetMapImageryProvider
|
76
76
|
* @see SingleTileImageryProvider
|
77
|
-
* @see
|
77
|
+
* @see createTileMapServiceImageryProvider
|
78
78
|
* @see WebMapTileServiceImageryProvider
|
79
79
|
* @see UrlTemplateImageryProvider
|
80
80
|
*
|
@@ -93,7 +93,7 @@ define([
|
|
93
93
|
* @see GoogleEarthImageryProvider
|
94
94
|
* @see createOpenStreetMapImageryProvider
|
95
95
|
* @see SingleTileImageryProvider
|
96
|
-
* @see
|
96
|
+
* @see createTileMapServiceImageryProvider
|
97
97
|
* @see WebMapServiceImageryProvider
|
98
98
|
* @see UrlTemplateImageryProvider
|
99
99
|
*/
|
@@ -42,7 +42,7 @@ define([
|
|
42
42
|
* @see BingMapsImageryProvider
|
43
43
|
* @see GoogleEarthImageryProvider
|
44
44
|
* @see SingleTileImageryProvider
|
45
|
-
* @see
|
45
|
+
* @see createTileMapServiceImageryProvider
|
46
46
|
* @see WebMapServiceImageryProvider
|
47
47
|
* @see WebMapTileServiceImageryProvider
|
48
48
|
* @see UrlTemplateImageryProvider
|
@@ -0,0 +1,286 @@
|
|
1
|
+
/*global define*/
|
2
|
+
define([
|
3
|
+
'../Core/Cartesian2',
|
4
|
+
'../Core/Cartographic',
|
5
|
+
'../Core/Credit',
|
6
|
+
'../Core/defaultValue',
|
7
|
+
'../Core/defined',
|
8
|
+
'../Core/defineProperties',
|
9
|
+
'../Core/DeveloperError',
|
10
|
+
'../Core/Event',
|
11
|
+
'../Core/GeographicTilingScheme',
|
12
|
+
'../Core/joinUrls',
|
13
|
+
'../Core/loadXML',
|
14
|
+
'../Core/Rectangle',
|
15
|
+
'../Core/RuntimeError',
|
16
|
+
'../Core/TileProviderError',
|
17
|
+
'../Core/WebMercatorTilingScheme',
|
18
|
+
'../ThirdParty/when',
|
19
|
+
'./UrlTemplateImageryProvider'
|
20
|
+
], function(
|
21
|
+
Cartesian2,
|
22
|
+
Cartographic,
|
23
|
+
Credit,
|
24
|
+
defaultValue,
|
25
|
+
defined,
|
26
|
+
defineProperties,
|
27
|
+
DeveloperError,
|
28
|
+
Event,
|
29
|
+
GeographicTilingScheme,
|
30
|
+
joinUrls,
|
31
|
+
loadXML,
|
32
|
+
Rectangle,
|
33
|
+
RuntimeError,
|
34
|
+
TileProviderError,
|
35
|
+
WebMercatorTilingScheme,
|
36
|
+
when,
|
37
|
+
UrlTemplateImageryProvider) {
|
38
|
+
"use strict";
|
39
|
+
|
40
|
+
/**
|
41
|
+
* Creates a {@link UrlTemplateImageryProvider} instance that provides tiled imagery as generated by
|
42
|
+
* {@link http://www.maptiler.org/'>MapTiler</a> / <a href='http://www.klokan.cz/projects/gdal2tiles/|GDDAL2Tiles} etc.
|
43
|
+
*
|
44
|
+
* @exports createTileMapServiceImageryProvider
|
45
|
+
*
|
46
|
+
* @param {Object} [options] Object with the following properties:
|
47
|
+
* @param {String} [options.url='.'] Path to image tiles on server.
|
48
|
+
* @param {String} [options.fileExtension='png'] The file extension for images on the server.
|
49
|
+
* @param {Object} [options.proxy] A proxy to use for requests. This object is expected to have a getURL function which returns the proxied URL.
|
50
|
+
* @param {Credit|String} [options.credit=''] A credit for the data source, which is displayed on the canvas.
|
51
|
+
* @param {Number} [options.minimumLevel=0] The minimum level-of-detail supported by the imagery provider. Take care when specifying
|
52
|
+
* this that the number of tiles at the minimum level is small, such as four or less. A larger number is likely
|
53
|
+
* to result in rendering problems.
|
54
|
+
* @param {Number} [options.maximumLevel] The maximum level-of-detail supported by the imagery provider, or undefined if there is no limit.
|
55
|
+
* @param {Rectangle} [options.rectangle=Rectangle.MAX_VALUE] The rectangle, in radians, covered by the image.
|
56
|
+
* @param {TilingScheme} [options.tilingScheme] The tiling scheme specifying how the ellipsoidal
|
57
|
+
* surface is broken into tiles. If this parameter is not provided, a {@link WebMercatorTilingScheme}
|
58
|
+
* is used.
|
59
|
+
* @param {Ellipsoid} [options.ellipsoid] The ellipsoid. If the tilingScheme is specified,
|
60
|
+
* this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither
|
61
|
+
* parameter is specified, the WGS84 ellipsoid is used.
|
62
|
+
* @param {Number} [options.tileWidth=256] Pixel width of image tiles.
|
63
|
+
* @param {Number} [options.tileHeight=256] Pixel height of image tiles.
|
64
|
+
*
|
65
|
+
* @see ArcGisMapServerImageryProvider
|
66
|
+
* @see BingMapsImageryProvider
|
67
|
+
* @see GoogleEarthImageryProvider
|
68
|
+
* @see createOpenStreetMapImageryProvider
|
69
|
+
* @see SingleTileImageryProvider
|
70
|
+
* @see WebMapServiceImageryProvider
|
71
|
+
* @see WebMapTileServiceImageryProvider
|
72
|
+
* @see UrlTemplateImageryProvider
|
73
|
+
*
|
74
|
+
* @see {@link http://www.maptiler.org/|MapTiler}
|
75
|
+
* @see {@link http://www.klokan.cz/projects/gdal2tiles/|GDDAL2Tiles}
|
76
|
+
* @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
|
77
|
+
*
|
78
|
+
* @example
|
79
|
+
* var tms = Cesium.createTileMapServiceImageryProvider({
|
80
|
+
* url : '../images/cesium_maptiler/Cesium_Logo_Color',
|
81
|
+
* fileExtension: 'png',
|
82
|
+
* maximumLevel: 4,
|
83
|
+
* rectangle: new Cesium.Rectangle(
|
84
|
+
* Cesium.Math.toRadians(-120.0),
|
85
|
+
* Cesium.Math.toRadians(20.0),
|
86
|
+
* Cesium.Math.toRadians(-60.0),
|
87
|
+
* Cesium.Math.toRadians(40.0))
|
88
|
+
* });
|
89
|
+
*/
|
90
|
+
function createTileMapServiceImageryProvider(options) {
|
91
|
+
options = defaultValue(options, {});
|
92
|
+
|
93
|
+
//>>includeStart('debug', pragmas.debug);
|
94
|
+
if (!defined(options.url)) {
|
95
|
+
throw new DeveloperError('options.url is required.');
|
96
|
+
}
|
97
|
+
//>>includeEnd('debug');
|
98
|
+
|
99
|
+
var url = options.url;
|
100
|
+
|
101
|
+
var deferred = when.defer();
|
102
|
+
var imageryProvider = new UrlTemplateImageryProvider(deferred.promise);
|
103
|
+
|
104
|
+
var metadataError;
|
105
|
+
|
106
|
+
function metadataSuccess(xml) {
|
107
|
+
var tileFormatRegex = /tileformat/i;
|
108
|
+
var tileSetRegex = /tileset/i;
|
109
|
+
var tileSetsRegex = /tilesets/i;
|
110
|
+
var bboxRegex = /boundingbox/i;
|
111
|
+
var srsRegex = /srs/i;
|
112
|
+
var format, bbox, tilesets, srs;
|
113
|
+
var tilesetsList = []; //list of TileSets
|
114
|
+
|
115
|
+
// Allowing options properties (already copied to that) to override XML values
|
116
|
+
|
117
|
+
// Iterate XML Document nodes for properties
|
118
|
+
var nodeList = xml.childNodes[0].childNodes;
|
119
|
+
for (var i = 0; i < nodeList.length; i++){
|
120
|
+
if (tileFormatRegex.test(nodeList.item(i).nodeName)) {
|
121
|
+
format = nodeList.item(i);
|
122
|
+
} else if (tileSetsRegex.test(nodeList.item(i).nodeName)) {
|
123
|
+
tilesets = nodeList.item(i); // Node list of TileSets
|
124
|
+
var tileSetNodes = nodeList.item(i).childNodes;
|
125
|
+
// Iterate the nodes to find all TileSets
|
126
|
+
for(var j = 0; j < tileSetNodes.length; j++) {
|
127
|
+
if (tileSetRegex.test(tileSetNodes.item(j).nodeName)) {
|
128
|
+
// Add them to tilesets list
|
129
|
+
tilesetsList.push(tileSetNodes.item(j));
|
130
|
+
}
|
131
|
+
}
|
132
|
+
} else if (bboxRegex.test(nodeList.item(i).nodeName)) {
|
133
|
+
bbox = nodeList.item(i);
|
134
|
+
} else if (srsRegex.test(nodeList.item(i).nodeName)) {
|
135
|
+
srs = nodeList.item(i).textContent;
|
136
|
+
}
|
137
|
+
}
|
138
|
+
|
139
|
+
var fileExtension = defaultValue(options.fileExtension, format.getAttribute('extension'));
|
140
|
+
var tileWidth = defaultValue(options.tileWidth, parseInt(format.getAttribute('width'), 10));
|
141
|
+
var tileHeight = defaultValue(options.tileHeight, parseInt(format.getAttribute('height'), 10));
|
142
|
+
var minimumLevel = defaultValue(options.minimumLevel, parseInt(tilesetsList[0].getAttribute('order'), 10));
|
143
|
+
var maximumLevel = defaultValue(options.maximumLevel, parseInt(tilesetsList[tilesetsList.length - 1].getAttribute('order'), 10));
|
144
|
+
|
145
|
+
// Determine based on the profile attribute if this tileset was generated by gdal2tiles.py ('mercator' or 'geodetic' profile, in which
|
146
|
+
// case X is latitude and Y is longitude) or by a tool compliant with the TMS standard ('global-mercator' or 'global-geodetic' profile,
|
147
|
+
// in which case X is longitude and Y is latitude).
|
148
|
+
var tilingSchemeName = tilesets.getAttribute('profile');
|
149
|
+
|
150
|
+
var flipXY = false;
|
151
|
+
if (tilingSchemeName === 'geodetic' || tilingSchemeName === 'mercator') {
|
152
|
+
flipXY = true;
|
153
|
+
}
|
154
|
+
|
155
|
+
var tilingScheme = options.tilingScheme;
|
156
|
+
|
157
|
+
if (!defined(tilingScheme)) {
|
158
|
+
if (tilingSchemeName === 'geodetic' || tilingSchemeName === 'global-geodetic') {
|
159
|
+
tilingScheme = new GeographicTilingScheme({ ellipsoid : options.ellipsoid });
|
160
|
+
} else if (tilingSchemeName === 'mercator' || tilingSchemeName === 'global-mercator') {
|
161
|
+
tilingScheme = new WebMercatorTilingScheme({ ellipsoid : options.ellipsoid });
|
162
|
+
} else {
|
163
|
+
var message = joinUrls(url, 'tilemapresource.xml') + 'specifies an unsupported profile attribute, ' + tilingSchemeName + '.';
|
164
|
+
metadataError = TileProviderError.handleError(metadataError, imageryProvider, imageryProvider.errorEvent, message, undefined, undefined, undefined, requestMetadata);
|
165
|
+
if(!metadataError.retry) {
|
166
|
+
deferred.reject(new RuntimeError(message));
|
167
|
+
}
|
168
|
+
return;
|
169
|
+
}
|
170
|
+
}
|
171
|
+
|
172
|
+
// rectangle handling
|
173
|
+
var rectangle = Rectangle.clone(options.rectangle);
|
174
|
+
|
175
|
+
if (!defined(rectangle)) {
|
176
|
+
var swXY;
|
177
|
+
var neXY;
|
178
|
+
var sw;
|
179
|
+
var ne;
|
180
|
+
|
181
|
+
if (flipXY) {
|
182
|
+
swXY = new Cartesian2(parseFloat(bbox.getAttribute('miny')), parseFloat(bbox.getAttribute('minx')));
|
183
|
+
neXY = new Cartesian2(parseFloat(bbox.getAttribute('maxy')), parseFloat(bbox.getAttribute('maxx')));
|
184
|
+
|
185
|
+
// In old tilers with X/Y flipped, coordinate are always geodetic degrees.
|
186
|
+
sw = Cartographic.fromDegrees(swXY.x, swXY.y);
|
187
|
+
ne = Cartographic.fromDegrees(neXY.x, neXY.y);
|
188
|
+
} else {
|
189
|
+
swXY = new Cartesian2(parseFloat(bbox.getAttribute('minx')), parseFloat(bbox.getAttribute('miny')));
|
190
|
+
neXY = new Cartesian2(parseFloat(bbox.getAttribute('maxx')), parseFloat(bbox.getAttribute('maxy')));
|
191
|
+
|
192
|
+
if (tilingScheme instanceof GeographicTilingScheme) {
|
193
|
+
sw = Cartographic.fromDegrees(swXY.x, swXY.y);
|
194
|
+
ne = Cartographic.fromDegrees(neXY.x, neXY.y);
|
195
|
+
} else {
|
196
|
+
var projection = tilingScheme.projection;
|
197
|
+
sw = projection.unproject(swXY);
|
198
|
+
ne = projection.unproject(neXY);
|
199
|
+
}
|
200
|
+
}
|
201
|
+
|
202
|
+
rectangle = new Rectangle(sw.longitude, sw.latitude, ne.longitude, ne.latitude);
|
203
|
+
}
|
204
|
+
|
205
|
+
// The rectangle must not be outside the bounds allowed by the tiling scheme.
|
206
|
+
if (rectangle.west < tilingScheme.rectangle.west) {
|
207
|
+
rectangle.west = tilingScheme.rectangle.west;
|
208
|
+
}
|
209
|
+
if (rectangle.east > tilingScheme.rectangle.east) {
|
210
|
+
rectangle.east = tilingScheme.rectangle.east;
|
211
|
+
}
|
212
|
+
if (rectangle.south < tilingScheme.rectangle.south) {
|
213
|
+
rectangle.south = tilingScheme.rectangle.south;
|
214
|
+
}
|
215
|
+
if (rectangle.north > tilingScheme.rectangle.north) {
|
216
|
+
rectangle.north = tilingScheme.rectangle.north;
|
217
|
+
}
|
218
|
+
|
219
|
+
// Check the number of tiles at the minimum level. If it's more than four,
|
220
|
+
// try requesting the lower levels anyway, because starting at the higher minimum
|
221
|
+
// level will cause too many tiles to be downloaded and rendered.
|
222
|
+
var swTile = tilingScheme.positionToTileXY(Rectangle.southwest(rectangle), minimumLevel);
|
223
|
+
var neTile = tilingScheme.positionToTileXY(Rectangle.northeast(rectangle), minimumLevel);
|
224
|
+
var tileCount = (Math.abs(neTile.x - swTile.x) + 1) * (Math.abs(neTile.y - swTile.y) + 1);
|
225
|
+
if (tileCount > 4) {
|
226
|
+
minimumLevel = 0;
|
227
|
+
}
|
228
|
+
|
229
|
+
var templateUrl = joinUrls(url, '{z}/{x}/{reverseY}.' + fileExtension);
|
230
|
+
|
231
|
+
deferred.resolve({
|
232
|
+
url : templateUrl,
|
233
|
+
tilingScheme : tilingScheme,
|
234
|
+
rectangle : rectangle,
|
235
|
+
tileWidth : tileWidth,
|
236
|
+
tileHeight : tileHeight,
|
237
|
+
minimumLevel : minimumLevel,
|
238
|
+
maximumLevel : maximumLevel,
|
239
|
+
proxy : options.proxy,
|
240
|
+
tileDiscardPolicy : options.tileDiscardPolicy,
|
241
|
+
credit: options.credit
|
242
|
+
});
|
243
|
+
}
|
244
|
+
|
245
|
+
function metadataFailure(error) {
|
246
|
+
// Can't load XML, still allow options and defaults
|
247
|
+
var fileExtension = defaultValue(options.fileExtension, 'png');
|
248
|
+
var tileWidth = defaultValue(options.tileWidth, 256);
|
249
|
+
var tileHeight = defaultValue(options.tileHeight, 256);
|
250
|
+
var minimumLevel = defaultValue(options.minimumLevel, 0);
|
251
|
+
var maximumLevel = options.maximumLevel;
|
252
|
+
var tilingScheme = defined(options.tilingScheme) ? options.tilingScheme : new WebMercatorTilingScheme({ ellipsoid : options.ellipsoid });
|
253
|
+
var rectangle = defaultValue(options.rectangle, tilingScheme.rectangle);
|
254
|
+
|
255
|
+
var templateUrl = joinUrls(url, '{z}/{x}/{reverseY}.' + fileExtension);
|
256
|
+
|
257
|
+
deferred.resolve({
|
258
|
+
url : templateUrl,
|
259
|
+
tilingScheme : tilingScheme,
|
260
|
+
rectangle : rectangle,
|
261
|
+
tileWidth : tileWidth,
|
262
|
+
tileHeight : tileHeight,
|
263
|
+
minimumLevel : minimumLevel,
|
264
|
+
maximumLevel : maximumLevel,
|
265
|
+
proxy : options.proxy,
|
266
|
+
tileDiscardPolicy : options.tileDiscardPolicy,
|
267
|
+
credit: options.credit
|
268
|
+
});
|
269
|
+
}
|
270
|
+
|
271
|
+
function requestMetadata() {
|
272
|
+
var resourceUrl = joinUrls(url, 'tilemapresource.xml');
|
273
|
+
var proxy = options.proxy;
|
274
|
+
if (defined(proxy)) {
|
275
|
+
resourceUrl = proxy.getURL(resourceUrl);
|
276
|
+
}
|
277
|
+
// Try to load remaining parameters from XML
|
278
|
+
when(loadXML(resourceUrl), metadataSuccess, metadataFailure);
|
279
|
+
}
|
280
|
+
|
281
|
+
requestMetadata();
|
282
|
+
return imageryProvider;
|
283
|
+
}
|
284
|
+
|
285
|
+
return createTileMapServiceImageryProvider;
|
286
|
+
});
|
@@ -223,14 +223,16 @@ define([
|
|
223
223
|
var lowerCase;
|
224
224
|
var hasTexCoords = false;
|
225
225
|
for(var name in parameterValues) {
|
226
|
-
|
227
|
-
|
226
|
+
//generate shader parameters for KHR_materials_common attributes
|
227
|
+
//(including a check, because some boolean flags should not be used as shader parameters)
|
228
|
+
if (parameterValues.hasOwnProperty(name) && (name !== 'transparent') && (name !== 'doubleSided')) {
|
229
|
+
var valType = getKHRMaterialsCommonValueType(name, parameterValues[name]);
|
228
230
|
lowerCase = name.toLowerCase();
|
229
|
-
if (!hasTexCoords && (
|
231
|
+
if (!hasTexCoords && (valType === WebGLConstants.SAMPLER_2D)) {
|
230
232
|
hasTexCoords = true;
|
231
233
|
}
|
232
234
|
techniqueParameters[lowerCase] = {
|
233
|
-
type:
|
235
|
+
type: valType
|
234
236
|
};
|
235
237
|
}
|
236
238
|
}
|
@@ -609,18 +611,54 @@ define([
|
|
609
611
|
return techniqueId;
|
610
612
|
}
|
611
613
|
|
614
|
+
function getKHRMaterialsCommonValueType(paramName, paramValue)
|
615
|
+
{
|
616
|
+
var value;
|
617
|
+
|
618
|
+
// Backwards compatibility for COLLADA2GLTF v1.0-draft when it encoding
|
619
|
+
// materials using KHR_materials_common with explicit type/value members
|
620
|
+
if (defined(paramValue.value)) {
|
621
|
+
value = paramValue.value;
|
622
|
+
} else {
|
623
|
+
value = paramValue;
|
624
|
+
}
|
625
|
+
|
626
|
+
switch (paramName) {
|
627
|
+
case 'ambient':
|
628
|
+
return (value instanceof String || typeof value === 'string') ? WebGLConstants.SAMPLER_2D : WebGLConstants.FLOAT_VEC4;
|
629
|
+
case 'diffuse':
|
630
|
+
return (value instanceof String || typeof value === 'string') ? WebGLConstants.SAMPLER_2D : WebGLConstants.FLOAT_VEC4;
|
631
|
+
case 'emission':
|
632
|
+
return (value instanceof String || typeof value === 'string') ? WebGLConstants.SAMPLER_2D : WebGLConstants.FLOAT_VEC4;
|
633
|
+
case 'specular':
|
634
|
+
return (value instanceof String || typeof value === 'string') ? WebGLConstants.SAMPLER_2D : WebGLConstants.FLOAT_VEC4;
|
635
|
+
case 'shininess':
|
636
|
+
return WebGLConstants.FLOAT;
|
637
|
+
case 'transparency':
|
638
|
+
return WebGLConstants.FLOAT;
|
639
|
+
|
640
|
+
// these two are usually not used directly within shaders,
|
641
|
+
// they are just added here for completeness
|
642
|
+
case 'transparent':
|
643
|
+
return WebGLConstants.BOOL;
|
644
|
+
case 'doubleSided':
|
645
|
+
return WebGLConstants.BOOL;
|
646
|
+
}
|
647
|
+
}
|
648
|
+
|
612
649
|
function getTechniqueKey(khrMaterialsCommon) {
|
613
650
|
var techniqueKey = '';
|
614
|
-
|
651
|
+
techniqueKey += 'technique:' + khrMaterialsCommon.technique + ';';
|
615
652
|
|
616
653
|
var values = khrMaterialsCommon.values;
|
617
654
|
var keys = Object.keys(values).sort();
|
618
655
|
var keysCount = keys.length;
|
619
656
|
for (var i=0;i<keysCount;++i) {
|
620
657
|
var name = keys[i];
|
621
|
-
|
622
|
-
|
623
|
-
|
658
|
+
//generate first part of key using shader parameters for KHR_materials_common attributes
|
659
|
+
//(including a check, because some boolean flags should not be used as shader parameters)
|
660
|
+
if (values.hasOwnProperty(name) && (name !== 'transparent') && (name !== 'doubleSided')) {
|
661
|
+
techniqueKey += name + ':' + getKHRMaterialsCommonValueType(name, values[name]);
|
624
662
|
techniqueKey += ';';
|
625
663
|
}
|
626
664
|
}
|
@@ -692,7 +730,14 @@ define([
|
|
692
730
|
for (var valueName in values) {
|
693
731
|
if (values.hasOwnProperty(valueName)) {
|
694
732
|
var value = values[valueName];
|
695
|
-
|
733
|
+
|
734
|
+
// Backwards compatibility for COLLADA2GLTF v1.0-draft when it encoding
|
735
|
+
// materials using KHR_materials_common with explicit type/value members
|
736
|
+
if (defined(value.value)) {
|
737
|
+
material.values[valueName] = value.value;
|
738
|
+
} else {
|
739
|
+
material.values[valueName] = value;
|
740
|
+
}
|
696
741
|
}
|
697
742
|
}
|
698
743
|
|
@@ -72,7 +72,7 @@ define([
|
|
72
72
|
* tooltip : 'The lights of cities and villages trace the outlines of civilization \
|
73
73
|
* in this global view of the Earth at night as seen by NASA/NOAA\'s Suomi NPP satellite.',
|
74
74
|
* creationFunction : function() {
|
75
|
-
* return
|
75
|
+
* return Cesium.createTileMapServiceImageryProvider({
|
76
76
|
* url : '//cesiumjs.org/blackmarble',
|
77
77
|
* maximumLevel : 8,
|
78
78
|
* credit : 'Black Marble imagery courtesy NASA Earth Observatory'
|
@@ -85,7 +85,7 @@ define([
|
|
85
85
|
* iconUrl : Cesium.buildModuleUrl('Widgets/Images/ImageryProviders/naturalEarthII.png'),
|
86
86
|
* tooltip : 'Natural Earth II, darkened for contrast.\nhttp://www.naturalearthdata.com/',
|
87
87
|
* creationFunction : function() {
|
88
|
-
* return
|
88
|
+
* return Cesium.createTileMapServiceImageryProvider({
|
89
89
|
* url : Cesium.buildModuleUrl('Assets/Textures/NaturalEarthII')
|
90
90
|
* });
|
91
91
|
* }
|
data/app/assets/javascripts/Cesium/Widgets/BaseLayerPicker/createDefaultImageryProviderViewModels.js
CHANGED
@@ -5,8 +5,8 @@ define([
|
|
5
5
|
'../../Scene/BingMapsImageryProvider',
|
6
6
|
'../../Scene/BingMapsStyle',
|
7
7
|
'../../Scene/createOpenStreetMapImageryProvider',
|
8
|
+
'../../Scene/createTileMapServiceImageryProvider',
|
8
9
|
'../../Scene/MapboxImageryProvider',
|
9
|
-
'../../Scene/TileMapServiceImageryProvider',
|
10
10
|
'../BaseLayerPicker/ProviderViewModel'
|
11
11
|
], function(
|
12
12
|
buildModuleUrl,
|
@@ -14,8 +14,8 @@ define([
|
|
14
14
|
BingMapsImageryProvider,
|
15
15
|
BingMapsStyle,
|
16
16
|
createOpenStreetMapImageryProvider,
|
17
|
+
createTileMapServiceImageryProvider,
|
17
18
|
MapboxImageryProvider,
|
18
|
-
TileMapServiceImageryProvider,
|
19
19
|
ProviderViewModel) {
|
20
20
|
"use strict";
|
21
21
|
|
@@ -198,7 +198,7 @@ map of the world.\nhttp://www.openstreetmap.org',
|
|
198
198
|
tooltip : 'The lights of cities and villages trace the outlines of civilization in this global view of the \
|
199
199
|
Earth at night as seen by NASA/NOAA\'s Suomi NPP satellite.',
|
200
200
|
creationFunction : function() {
|
201
|
-
return
|
201
|
+
return createTileMapServiceImageryProvider({
|
202
202
|
url : '//cesiumjs.org/blackmarble',
|
203
203
|
maximumLevel : 8,
|
204
204
|
credit : 'Black Marble imagery courtesy NASA Earth Observatory'
|
@@ -211,7 +211,7 @@ Earth at night as seen by NASA/NOAA\'s Suomi NPP satellite.',
|
|
211
211
|
iconUrl : buildModuleUrl('Widgets/Images/ImageryProviders/naturalEarthII.png'),
|
212
212
|
tooltip : 'Natural Earth II, darkened for contrast.\nhttp://www.naturalearthdata.com/',
|
213
213
|
creationFunction : function() {
|
214
|
-
return
|
214
|
+
return createTileMapServiceImageryProvider({
|
215
215
|
url : buildModuleUrl('Assets/Textures/NaturalEarthII')
|
216
216
|
});
|
217
217
|
}
|