cesium 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE.md +259 -0
- data/README.rdoc +90 -0
- data/Rakefile +40 -0
- data/app/assets/javascripts/Assets/Assets.profile.js +8 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_0.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_1.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_10.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_11.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_12.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_13.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_14.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_15.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_16.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_17.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_18.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_19.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_2.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_20.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_21.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_22.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_23.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_24.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_25.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_26.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_27.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_3.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_4.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_5.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_6.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_7.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_8.json +1 -0
- data/app/assets/javascripts/Assets/IAU2006_XYS/IAU2006_XYS_9.json +1 -0
- data/app/assets/javascripts/Assets/Textures/NE2_LR_LC_SR_W_DR_2048.jpg +0 -0
- data/app/assets/javascripts/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg +0 -0
- data/app/assets/javascripts/Assets/Textures/SkyBox/tycho2t3_80_my.jpg +0 -0
- data/app/assets/javascripts/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg +0 -0
- data/app/assets/javascripts/Assets/Textures/SkyBox/tycho2t3_80_px.jpg +0 -0
- data/app/assets/javascripts/Assets/Textures/SkyBox/tycho2t3_80_py.jpg +0 -0
- data/app/assets/javascripts/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg +0 -0
- data/app/assets/javascripts/Assets/Textures/waterNormals.jpg +0 -0
- data/app/assets/javascripts/Assets/package.json +6 -0
- data/app/assets/javascripts/Cesium.js +320 -0
- data/app/assets/javascripts/Core/AnimationController.js +148 -0
- data/app/assets/javascripts/Core/AxisAlignedBoundingBox.js +243 -0
- data/app/assets/javascripts/Core/BoundingRectangle.js +364 -0
- data/app/assets/javascripts/Core/BoundingSphere.js +819 -0
- data/app/assets/javascripts/Core/BoxTessellator.js +93 -0
- data/app/assets/javascripts/Core/Cartesian2.js +762 -0
- data/app/assets/javascripts/Core/Cartesian3.js +861 -0
- data/app/assets/javascripts/Core/Cartesian4.js +762 -0
- data/app/assets/javascripts/Core/Cartographic.js +211 -0
- data/app/assets/javascripts/Core/CatmullRomSpline.js +232 -0
- data/app/assets/javascripts/Core/Clock.js +195 -0
- data/app/assets/javascripts/Core/ClockRange.js +37 -0
- data/app/assets/javascripts/Core/ClockStep.js +32 -0
- data/app/assets/javascripts/Core/Color.js +1629 -0
- data/app/assets/javascripts/Core/ComponentDatatype.js +119 -0
- data/app/assets/javascripts/Core/Core.profile.js +8 -0
- data/app/assets/javascripts/Core/CubeMapEllipsoidTessellator.js +198 -0
- data/app/assets/javascripts/Core/CubicRealPolynomial.js +251 -0
- data/app/assets/javascripts/Core/DefaultProxy.js +30 -0
- data/app/assets/javascripts/Core/DeveloperError.js +60 -0
- data/app/assets/javascripts/Core/EarthOrientationParameters.js +383 -0
- data/app/assets/javascripts/Core/EarthOrientationParametersSample.js +50 -0
- data/app/assets/javascripts/Core/Ellipsoid.js +539 -0
- data/app/assets/javascripts/Core/EllipsoidTangentPlane.js +207 -0
- data/app/assets/javascripts/Core/EllipsoidalOccluder.js +151 -0
- data/app/assets/javascripts/Core/EncodedCartesian3.js +197 -0
- data/app/assets/javascripts/Core/Enumeration.js +67 -0
- data/app/assets/javascripts/Core/Event.js +122 -0
- data/app/assets/javascripts/Core/Extent.js +383 -0
- data/app/assets/javascripts/Core/ExtentTessellator.js +384 -0
- data/app/assets/javascripts/Core/FAR.js +13 -0
- data/app/assets/javascripts/Core/FeatureDetection.js +126 -0
- data/app/assets/javascripts/Core/Fullscreen.js +235 -0
- data/app/assets/javascripts/Core/GeographicProjection.js +107 -0
- data/app/assets/javascripts/Core/HermitePolynomialApproximation.js +176 -0
- data/app/assets/javascripts/Core/HermiteSpline.js +234 -0
- data/app/assets/javascripts/Core/Iau2006XysData.js +259 -0
- data/app/assets/javascripts/Core/Iau2006XysSample.js +36 -0
- data/app/assets/javascripts/Core/IndexDatatype.js +28 -0
- data/app/assets/javascripts/Core/Intersect.js +40 -0
- data/app/assets/javascripts/Core/IntersectionTests.js +359 -0
- data/app/assets/javascripts/Core/Interval.js +27 -0
- data/app/assets/javascripts/Core/Iso8601.js +46 -0
- data/app/assets/javascripts/Core/JulianDate.js +1228 -0
- data/app/assets/javascripts/Core/KeyboardEventModifier.js +38 -0
- data/app/assets/javascripts/Core/LagrangePolynomialApproximation.js +96 -0
- data/app/assets/javascripts/Core/LeapSecond.js +158 -0
- data/app/assets/javascripts/Core/LinearApproximation.js +98 -0
- data/app/assets/javascripts/Core/Math.js +532 -0
- data/app/assets/javascripts/Core/Matrix2.js +833 -0
- data/app/assets/javascripts/Core/Matrix3.js +1099 -0
- data/app/assets/javascripts/Core/Matrix4.js +2164 -0
- data/app/assets/javascripts/Core/MeshFilters.js +568 -0
- data/app/assets/javascripts/Core/Occluder.js +474 -0
- data/app/assets/javascripts/Core/OrientationInterpolator.js +109 -0
- data/app/assets/javascripts/Core/PlaneTessellator.js +74 -0
- data/app/assets/javascripts/Core/PolygonPipeline.js +792 -0
- data/app/assets/javascripts/Core/PolylinePipeline.js +90 -0
- data/app/assets/javascripts/Core/PrimitiveType.js +80 -0
- data/app/assets/javascripts/Core/QuadraticRealPolynomial.js +146 -0
- data/app/assets/javascripts/Core/QuarticRealPolynomial.js +339 -0
- data/app/assets/javascripts/Core/Quaternion.js +947 -0
- data/app/assets/javascripts/Core/Queue.js +95 -0
- data/app/assets/javascripts/Core/Ray.js +64 -0
- data/app/assets/javascripts/Core/ReferenceFrame.js +25 -0
- data/app/assets/javascripts/Core/RequestErrorEvent.js +35 -0
- data/app/assets/javascripts/Core/RuntimeError.js +59 -0
- data/app/assets/javascripts/Core/ScreenSpaceEventHandler.js +658 -0
- data/app/assets/javascripts/Core/ScreenSpaceEventType.js +149 -0
- data/app/assets/javascripts/Core/Shapes.js +230 -0
- data/app/assets/javascripts/Core/Spherical.js +192 -0
- data/app/assets/javascripts/Core/TaskProcessor.js +131 -0
- data/app/assets/javascripts/Core/TimeConstants.js +85 -0
- data/app/assets/javascripts/Core/TimeInterval.js +305 -0
- data/app/assets/javascripts/Core/TimeIntervalCollection.js +543 -0
- data/app/assets/javascripts/Core/TimeStandard.js +31 -0
- data/app/assets/javascripts/Core/Tipsify.js +285 -0
- data/app/assets/javascripts/Core/Transforms.js +614 -0
- data/app/assets/javascripts/Core/TridiagonalSystemSolver.js +102 -0
- data/app/assets/javascripts/Core/Visibility.js +38 -0
- data/app/assets/javascripts/Core/WebMercatorProjection.js +154 -0
- data/app/assets/javascripts/Core/WindingOrder.js +40 -0
- data/app/assets/javascripts/Core/binarySearch.js +69 -0
- data/app/assets/javascripts/Core/buildModuleUrl.js +77 -0
- data/app/assets/javascripts/Core/clone.js +21 -0
- data/app/assets/javascripts/Core/combine.js +81 -0
- data/app/assets/javascripts/Core/computeSunPosition.js +116 -0
- data/app/assets/javascripts/Core/createGuid.js +25 -0
- data/app/assets/javascripts/Core/defaultValue.js +22 -0
- data/app/assets/javascripts/Core/destroyObject.js +61 -0
- data/app/assets/javascripts/Core/freezeObject.js +20 -0
- data/app/assets/javascripts/Core/getImagePixels.js +46 -0
- data/app/assets/javascripts/Core/isLeapYear.js +30 -0
- data/app/assets/javascripts/Core/jsonp.js +116 -0
- data/app/assets/javascripts/Core/loadArrayBuffer.js +76 -0
- data/app/assets/javascripts/Core/loadImage.js +85 -0
- data/app/assets/javascripts/Core/loadJson.js +54 -0
- data/app/assets/javascripts/Core/loadText.js +78 -0
- data/app/assets/javascripts/Core/loadXML.js +76 -0
- data/app/assets/javascripts/Core/package.json +6 -0
- data/app/assets/javascripts/Core/pointInsideTriangle2D.js +41 -0
- data/app/assets/javascripts/Core/requestAnimationFrame.js +61 -0
- data/app/assets/javascripts/Core/throttleRequestByServer.js +74 -0
- data/app/assets/javascripts/Core/writeTextToCanvas.js +92 -0
- data/app/assets/javascripts/DynamicScene/CompositeDynamicObjectCollection.js +254 -0
- data/app/assets/javascripts/DynamicScene/CzmlBoolean.js +57 -0
- data/app/assets/javascripts/DynamicScene/CzmlCartesian2.js +96 -0
- data/app/assets/javascripts/DynamicScene/CzmlCartesian3.js +99 -0
- data/app/assets/javascripts/DynamicScene/CzmlCartographic.js +125 -0
- data/app/assets/javascripts/DynamicScene/CzmlColor.js +127 -0
- data/app/assets/javascripts/DynamicScene/CzmlDefaults.js +135 -0
- data/app/assets/javascripts/DynamicScene/CzmlHorizontalOrigin.js +59 -0
- data/app/assets/javascripts/DynamicScene/CzmlImage.js +61 -0
- data/app/assets/javascripts/DynamicScene/CzmlLabelStyle.js +59 -0
- data/app/assets/javascripts/DynamicScene/CzmlNumber.js +82 -0
- data/app/assets/javascripts/DynamicScene/CzmlString.js +56 -0
- data/app/assets/javascripts/DynamicScene/CzmlUnitCartesian3.js +99 -0
- data/app/assets/javascripts/DynamicScene/CzmlUnitQuaternion.js +172 -0
- data/app/assets/javascripts/DynamicScene/CzmlUnitSpherical.js +98 -0
- data/app/assets/javascripts/DynamicScene/CzmlVerticalOrigin.js +59 -0
- data/app/assets/javascripts/DynamicScene/DynamicBillboard.js +245 -0
- data/app/assets/javascripts/DynamicScene/DynamicBillboardVisualizer.js +347 -0
- data/app/assets/javascripts/DynamicScene/DynamicColorMaterial.js +78 -0
- data/app/assets/javascripts/DynamicScene/DynamicCone.js +291 -0
- data/app/assets/javascripts/DynamicScene/DynamicConeVisualizer.js +350 -0
- data/app/assets/javascripts/DynamicScene/DynamicConeVisualizerUsingCustomSensor.js +389 -0
- data/app/assets/javascripts/DynamicScene/DynamicDirectionsProperty.js +163 -0
- data/app/assets/javascripts/DynamicScene/DynamicEllipsoid.js +158 -0
- data/app/assets/javascripts/DynamicScene/DynamicEllipsoidVisualizer.js +277 -0
- data/app/assets/javascripts/DynamicScene/DynamicImageMaterial.js +136 -0
- data/app/assets/javascripts/DynamicScene/DynamicLabel.js +286 -0
- data/app/assets/javascripts/DynamicScene/DynamicLabelVisualizer.js +341 -0
- data/app/assets/javascripts/DynamicScene/DynamicMaterialProperty.js +125 -0
- data/app/assets/javascripts/DynamicScene/DynamicObject.js +364 -0
- data/app/assets/javascripts/DynamicScene/DynamicObjectCollection.js +137 -0
- data/app/assets/javascripts/DynamicScene/DynamicObjectView.js +299 -0
- data/app/assets/javascripts/DynamicScene/DynamicPath.js +214 -0
- data/app/assets/javascripts/DynamicScene/DynamicPathVisualizer.js +402 -0
- data/app/assets/javascripts/DynamicScene/DynamicPoint.js +184 -0
- data/app/assets/javascripts/DynamicScene/DynamicPointVisualizer.js +323 -0
- data/app/assets/javascripts/DynamicScene/DynamicPolygon.js +138 -0
- data/app/assets/javascripts/DynamicScene/DynamicPolygonVisualizer.js +251 -0
- data/app/assets/javascripts/DynamicScene/DynamicPolyline.js +183 -0
- data/app/assets/javascripts/DynamicScene/DynamicPolylineVisualizer.js +268 -0
- data/app/assets/javascripts/DynamicScene/DynamicPositionProperty.js +525 -0
- data/app/assets/javascripts/DynamicScene/DynamicProperty.js +352 -0
- data/app/assets/javascripts/DynamicScene/DynamicPyramid.js +204 -0
- data/app/assets/javascripts/DynamicScene/DynamicPyramidVisualizer.js +302 -0
- data/app/assets/javascripts/DynamicScene/DynamicScene.profile.js +8 -0
- data/app/assets/javascripts/DynamicScene/DynamicVertexPositionsProperty.js +199 -0
- data/app/assets/javascripts/DynamicScene/ReferenceProperty.js +155 -0
- data/app/assets/javascripts/DynamicScene/VisualizerCollection.js +181 -0
- data/app/assets/javascripts/DynamicScene/package.json +6 -0
- data/app/assets/javascripts/DynamicScene/processCzml.js +77 -0
- data/app/assets/javascripts/Renderer/BlendEquation.js +52 -0
- data/app/assets/javascripts/Renderer/BlendFunction.js +158 -0
- data/app/assets/javascripts/Renderer/BlendingState.js +64 -0
- data/app/assets/javascripts/Renderer/Buffer.js +141 -0
- data/app/assets/javascripts/Renderer/BufferUsage.js +48 -0
- data/app/assets/javascripts/Renderer/ClearCommand.js +40 -0
- data/app/assets/javascripts/Renderer/CommandLists.js +42 -0
- data/app/assets/javascripts/Renderer/Context.js +2805 -0
- data/app/assets/javascripts/Renderer/CubeMap.js +358 -0
- data/app/assets/javascripts/Renderer/CubeMapFace.js +202 -0
- data/app/assets/javascripts/Renderer/CullFace.js +50 -0
- data/app/assets/javascripts/Renderer/DepthFunction.js +95 -0
- data/app/assets/javascripts/Renderer/DrawCommand.js +96 -0
- data/app/assets/javascripts/Renderer/Framebuffer.js +435 -0
- data/app/assets/javascripts/Renderer/MipmapHint.js +50 -0
- data/app/assets/javascripts/Renderer/PickFramebuffer.js +178 -0
- data/app/assets/javascripts/Renderer/PixelDatatype.js +86 -0
- data/app/assets/javascripts/Renderer/PixelFormat.js +113 -0
- data/app/assets/javascripts/Renderer/Renderbuffer.js +102 -0
- data/app/assets/javascripts/Renderer/RenderbufferFormat.js +77 -0
- data/app/assets/javascripts/Renderer/Renderer.profile.js +8 -0
- data/app/assets/javascripts/Renderer/ShaderCache.js +121 -0
- data/app/assets/javascripts/Renderer/ShaderProgram.js +2402 -0
- data/app/assets/javascripts/Renderer/StencilFunction.js +95 -0
- data/app/assets/javascripts/Renderer/StencilOperation.js +95 -0
- data/app/assets/javascripts/Renderer/Texture.js +395 -0
- data/app/assets/javascripts/Renderer/TextureAtlas.js +472 -0
- data/app/assets/javascripts/Renderer/TextureAtlasBuilder.js +133 -0
- data/app/assets/javascripts/Renderer/TextureMagnificationFilter.js +41 -0
- data/app/assets/javascripts/Renderer/TextureMinificationFilter.js +77 -0
- data/app/assets/javascripts/Renderer/TextureWrap.js +50 -0
- data/app/assets/javascripts/Renderer/UniformDatatype.js +218 -0
- data/app/assets/javascripts/Renderer/UniformState.js +799 -0
- data/app/assets/javascripts/Renderer/VertexArray.js +365 -0
- data/app/assets/javascripts/Renderer/VertexArrayFacade.js +574 -0
- data/app/assets/javascripts/Renderer/VertexLayout.js +49 -0
- data/app/assets/javascripts/Renderer/loadCubeMap.js +92 -0
- data/app/assets/javascripts/Renderer/package.json +6 -0
- data/app/assets/javascripts/Scene/AnimationCollection.js +249 -0
- data/app/assets/javascripts/Scene/ArcGisMapServerImageryProvider.js +384 -0
- data/app/assets/javascripts/Scene/Billboard.js +680 -0
- data/app/assets/javascripts/Scene/BillboardCollection.js +1209 -0
- data/app/assets/javascripts/Scene/BingMapsImageryProvider.js +460 -0
- data/app/assets/javascripts/Scene/BingMapsStyle.js +55 -0
- data/app/assets/javascripts/Scene/Camera.js +358 -0
- data/app/assets/javascripts/Scene/CameraColumbusViewMode.js +30 -0
- data/app/assets/javascripts/Scene/CameraController.js +1258 -0
- data/app/assets/javascripts/Scene/CameraEventAggregator.js +270 -0
- data/app/assets/javascripts/Scene/CameraEventType.js +53 -0
- data/app/assets/javascripts/Scene/CameraFlightPath.js +495 -0
- data/app/assets/javascripts/Scene/CentralBody.js +817 -0
- data/app/assets/javascripts/Scene/CentralBodySurface.js +1120 -0
- data/app/assets/javascripts/Scene/CentralBodySurfaceShaderSet.js +107 -0
- data/app/assets/javascripts/Scene/ComplexConicSensorVolume.js +511 -0
- data/app/assets/javascripts/Scene/CompositePrimitive.js +454 -0
- data/app/assets/javascripts/Scene/CullingVolume.js +59 -0
- data/app/assets/javascripts/Scene/CustomSensorVolume.js +440 -0
- data/app/assets/javascripts/Scene/DiscardMissingTileImagePolicy.js +134 -0
- data/app/assets/javascripts/Scene/EllipsoidPrimitive.js +412 -0
- data/app/assets/javascripts/Scene/EllipsoidTerrainProvider.js +182 -0
- data/app/assets/javascripts/Scene/FrameState.js +86 -0
- data/app/assets/javascripts/Scene/FrustumCommands.js +32 -0
- data/app/assets/javascripts/Scene/GeographicTilingScheme.js +265 -0
- data/app/assets/javascripts/Scene/HorizontalOrigin.js +39 -0
- data/app/assets/javascripts/Scene/Imagery.js +85 -0
- data/app/assets/javascripts/Scene/ImageryLayer.js +876 -0
- data/app/assets/javascripts/Scene/ImageryLayerCollection.js +403 -0
- data/app/assets/javascripts/Scene/ImageryProvider.js +185 -0
- data/app/assets/javascripts/Scene/ImageryProviderError.js +149 -0
- data/app/assets/javascripts/Scene/ImageryState.js +20 -0
- data/app/assets/javascripts/Scene/Label.js +706 -0
- data/app/assets/javascripts/Scene/LabelCollection.js +697 -0
- data/app/assets/javascripts/Scene/LabelStyle.js +39 -0
- data/app/assets/javascripts/Scene/Material.js +1177 -0
- data/app/assets/javascripts/Scene/NeverTileDiscardPolicy.js +38 -0
- data/app/assets/javascripts/Scene/OpenStreetMapImageryProvider.js +282 -0
- data/app/assets/javascripts/Scene/OrthographicFrustum.js +345 -0
- data/app/assets/javascripts/Scene/PerformanceDisplay.js +183 -0
- data/app/assets/javascripts/Scene/PerspectiveFrustum.js +239 -0
- data/app/assets/javascripts/Scene/PerspectiveOffCenterFrustum.js +394 -0
- data/app/assets/javascripts/Scene/Polygon.js +886 -0
- data/app/assets/javascripts/Scene/Polyline.js +441 -0
- data/app/assets/javascripts/Scene/PolylineCollection.js +1532 -0
- data/app/assets/javascripts/Scene/Projections.js +93 -0
- data/app/assets/javascripts/Scene/RectangularPyramidSensorVolume.js +224 -0
- data/app/assets/javascripts/Scene/Scene.js +632 -0
- data/app/assets/javascripts/Scene/Scene.profile.js +8 -0
- data/app/assets/javascripts/Scene/SceneMode.js +51 -0
- data/app/assets/javascripts/Scene/SceneTransitioner.js +776 -0
- data/app/assets/javascripts/Scene/ScreenSpaceCameraController.js +1063 -0
- data/app/assets/javascripts/Scene/SensorVolumeCollection.js +192 -0
- data/app/assets/javascripts/Scene/SingleTileImageryProvider.js +295 -0
- data/app/assets/javascripts/Scene/SkyAtmosphere.js +239 -0
- data/app/assets/javascripts/Scene/SkyBox.js +231 -0
- data/app/assets/javascripts/Scene/TerrainProvider.js +229 -0
- data/app/assets/javascripts/Scene/TexturePool.js +154 -0
- data/app/assets/javascripts/Scene/Tile.js +322 -0
- data/app/assets/javascripts/Scene/TileDiscardPolicy.js +42 -0
- data/app/assets/javascripts/Scene/TileImagery.js +36 -0
- data/app/assets/javascripts/Scene/TileLoadQueue.js +123 -0
- data/app/assets/javascripts/Scene/TileMapServiceImageryProvider.js +337 -0
- data/app/assets/javascripts/Scene/TileReplacementQueue.js +139 -0
- data/app/assets/javascripts/Scene/TileState.js +19 -0
- data/app/assets/javascripts/Scene/TilingScheme.js +213 -0
- data/app/assets/javascripts/Scene/VerticalOrigin.js +39 -0
- data/app/assets/javascripts/Scene/ViewportQuad.js +256 -0
- data/app/assets/javascripts/Scene/WebMapServiceImageryProvider.js +374 -0
- data/app/assets/javascripts/Scene/WebMercatorTilingScheme.js +291 -0
- data/app/assets/javascripts/Scene/package.json +6 -0
- data/app/assets/javascripts/Shaders/BillboardCollectionFS.glsl +30 -0
- data/app/assets/javascripts/Shaders/BillboardCollectionFS.js +31 -0
- data/app/assets/javascripts/Shaders/BillboardCollectionVS.glsl +68 -0
- data/app/assets/javascripts/Shaders/BillboardCollectionVS.js +54 -0
- data/app/assets/javascripts/Shaders/BuiltinFunctions.glsl +927 -0
- data/app/assets/javascripts/Shaders/BuiltinFunctions.js +322 -0
- data/app/assets/javascripts/Shaders/CentralBodyFS.glsl +106 -0
- data/app/assets/javascripts/Shaders/CentralBodyFS.js +82 -0
- data/app/assets/javascripts/Shaders/CentralBodyFSDepth.glsl +20 -0
- data/app/assets/javascripts/Shaders/CentralBodyFSDepth.js +22 -0
- data/app/assets/javascripts/Shaders/CentralBodyFSPole.glsl +29 -0
- data/app/assets/javascripts/Shaders/CentralBodyFSPole.js +28 -0
- data/app/assets/javascripts/Shaders/CentralBodyVS.glsl +88 -0
- data/app/assets/javascripts/Shaders/CentralBodyVS.js +69 -0
- data/app/assets/javascripts/Shaders/CentralBodyVSDepth.glsl +9 -0
- data/app/assets/javascripts/Shaders/CentralBodyVSDepth.js +13 -0
- data/app/assets/javascripts/Shaders/CentralBodyVSPole.glsl +12 -0
- data/app/assets/javascripts/Shaders/CentralBodyVSPole.js +15 -0
- data/app/assets/javascripts/Shaders/ComplexConicSensorVolumeFS.glsl +448 -0
- data/app/assets/javascripts/Shaders/ComplexConicSensorVolumeFS.js +361 -0
- data/app/assets/javascripts/Shaders/ComplexConicSensorVolumeVS.glsl +19 -0
- data/app/assets/javascripts/Shaders/ComplexConicSensorVolumeVS.js +20 -0
- data/app/assets/javascripts/Shaders/ConstructiveSolidGeometry.glsl +886 -0
- data/app/assets/javascripts/Shaders/ConstructiveSolidGeometry.js +586 -0
- data/app/assets/javascripts/Shaders/CustomSensorVolumeFS.glsl +126 -0
- data/app/assets/javascripts/Shaders/CustomSensorVolumeFS.js +95 -0
- data/app/assets/javascripts/Shaders/CustomSensorVolumeVS.glsl +14 -0
- data/app/assets/javascripts/Shaders/CustomSensorVolumeVS.js +18 -0
- data/app/assets/javascripts/Shaders/EllipsoidFS.glsl +40 -0
- data/app/assets/javascripts/Shaders/EllipsoidFS.js +38 -0
- data/app/assets/javascripts/Shaders/EllipsoidVS.glsl +26 -0
- data/app/assets/javascripts/Shaders/EllipsoidVS.js +16 -0
- data/app/assets/javascripts/Shaders/Materials/AsphaltMaterial.glsl +25 -0
- data/app/assets/javascripts/Shaders/Materials/AsphaltMaterial.js +23 -0
- data/app/assets/javascripts/Shaders/Materials/BlobMaterial.glsl +18 -0
- data/app/assets/javascripts/Shaders/Materials/BlobMaterial.js +19 -0
- data/app/assets/javascripts/Shaders/Materials/BrickMaterial.glsl +42 -0
- data/app/assets/javascripts/Shaders/Materials/BrickMaterial.js +36 -0
- data/app/assets/javascripts/Shaders/Materials/BumpMapMaterial.glsl +29 -0
- data/app/assets/javascripts/Shaders/Materials/BumpMapMaterial.js +27 -0
- data/app/assets/javascripts/Shaders/Materials/CementMaterial.glsl +19 -0
- data/app/assets/javascripts/Shaders/Materials/CementMaterial.js +20 -0
- data/app/assets/javascripts/Shaders/Materials/CheckerboardMaterial.glsl +38 -0
- data/app/assets/javascripts/Shaders/Materials/CheckerboardMaterial.js +32 -0
- data/app/assets/javascripts/Shaders/Materials/DotMaterial.glsl +17 -0
- data/app/assets/javascripts/Shaders/Materials/DotMaterial.js +18 -0
- data/app/assets/javascripts/Shaders/Materials/ErosionMaterial.glsl +23 -0
- data/app/assets/javascripts/Shaders/Materials/ErosionMaterial.js +24 -0
- data/app/assets/javascripts/Shaders/Materials/FacetMaterial.glsl +18 -0
- data/app/assets/javascripts/Shaders/Materials/FacetMaterial.js +19 -0
- data/app/assets/javascripts/Shaders/Materials/FresnelMaterial.glsl +12 -0
- data/app/assets/javascripts/Shaders/Materials/FresnelMaterial.js +15 -0
- data/app/assets/javascripts/Shaders/Materials/GrassMaterial.glsl +28 -0
- data/app/assets/javascripts/Shaders/Materials/GrassMaterial.js +26 -0
- data/app/assets/javascripts/Shaders/Materials/NormalMapMaterial.glsl +19 -0
- data/app/assets/javascripts/Shaders/Materials/NormalMapMaterial.js +21 -0
- data/app/assets/javascripts/Shaders/Materials/ReflectionMaterial.glsl +13 -0
- data/app/assets/javascripts/Shaders/Materials/ReflectionMaterial.js +16 -0
- data/app/assets/javascripts/Shaders/Materials/RefractionMaterial.glsl +14 -0
- data/app/assets/javascripts/Shaders/Materials/RefractionMaterial.js +17 -0
- data/app/assets/javascripts/Shaders/Materials/RimLightingMaterial.glsl +18 -0
- data/app/assets/javascripts/Shaders/Materials/RimLightingMaterial.js +19 -0
- data/app/assets/javascripts/Shaders/Materials/StripeMaterial.glsl +29 -0
- data/app/assets/javascripts/Shaders/Materials/StripeMaterial.js +26 -0
- data/app/assets/javascripts/Shaders/Materials/TieDyeMaterial.glsl +17 -0
- data/app/assets/javascripts/Shaders/Materials/TieDyeMaterial.js +19 -0
- data/app/assets/javascripts/Shaders/Materials/Water.glsl +91 -0
- data/app/assets/javascripts/Shaders/Materials/Water.js +60 -0
- data/app/assets/javascripts/Shaders/Materials/WoodMaterial.glsl +36 -0
- data/app/assets/javascripts/Shaders/Materials/WoodMaterial.js +31 -0
- data/app/assets/javascripts/Shaders/Noise.glsl +453 -0
- data/app/assets/javascripts/Shaders/Noise.js +242 -0
- data/app/assets/javascripts/Shaders/PolygonFS.glsl +27 -0
- data/app/assets/javascripts/Shaders/PolygonFS.js +23 -0
- data/app/assets/javascripts/Shaders/PolygonFSPick.glsl +6 -0
- data/app/assets/javascripts/Shaders/PolygonFSPick.js +11 -0
- data/app/assets/javascripts/Shaders/PolygonVS.glsl +38 -0
- data/app/assets/javascripts/Shaders/PolygonVS.js +39 -0
- data/app/assets/javascripts/Shaders/PolygonVSPick.glsl +30 -0
- data/app/assets/javascripts/Shaders/PolygonVSPick.js +32 -0
- data/app/assets/javascripts/Shaders/PolylineFS.glsl +6 -0
- data/app/assets/javascripts/Shaders/PolylineFS.js +11 -0
- data/app/assets/javascripts/Shaders/PolylineVS.glsl +34 -0
- data/app/assets/javascripts/Shaders/PolylineVS.js +35 -0
- data/app/assets/javascripts/Shaders/Ray.glsl +532 -0
- data/app/assets/javascripts/Shaders/Ray.js +357 -0
- data/app/assets/javascripts/Shaders/ReprojectWebMercatorFS.glsl +26 -0
- data/app/assets/javascripts/Shaders/ReprojectWebMercatorFS.js +22 -0
- data/app/assets/javascripts/Shaders/ReprojectWebMercatorVS.glsl +11 -0
- data/app/assets/javascripts/Shaders/ReprojectWebMercatorVS.js +14 -0
- data/app/assets/javascripts/Shaders/SensorVolume.glsl +43 -0
- data/app/assets/javascripts/Shaders/SensorVolume.js +31 -0
- data/app/assets/javascripts/Shaders/Shaders.profile.js +8 -0
- data/app/assets/javascripts/Shaders/SkyAtmosphereFS.glsl +70 -0
- data/app/assets/javascripts/Shaders/SkyAtmosphereFS.js +62 -0
- data/app/assets/javascripts/Shaders/SkyAtmosphereVS.glsl +131 -0
- data/app/assets/javascripts/Shaders/SkyAtmosphereVS.js +115 -0
- data/app/assets/javascripts/Shaders/SkyBoxFS.glsl +10 -0
- data/app/assets/javascripts/Shaders/SkyBoxFS.js +14 -0
- data/app/assets/javascripts/Shaders/SkyBoxVS.glsl +10 -0
- data/app/assets/javascripts/Shaders/SkyBoxVS.js +14 -0
- data/app/assets/javascripts/Shaders/ViewportQuadFS.glsl +16 -0
- data/app/assets/javascripts/Shaders/ViewportQuadFS.js +17 -0
- data/app/assets/javascripts/Shaders/ViewportQuadVS.glsl +10 -0
- data/app/assets/javascripts/Shaders/ViewportQuadVS.js +14 -0
- data/app/assets/javascripts/Shaders/package.json +6 -0
- data/app/assets/javascripts/ThirdParty/ThirdParty.profile.js +8 -0
- data/app/assets/javascripts/ThirdParty/Tween.js +678 -0
- data/app/assets/javascripts/ThirdParty/Uri.js +277 -0
- data/app/assets/javascripts/ThirdParty/measureText.js +197 -0
- data/app/assets/javascripts/ThirdParty/package.json +6 -0
- data/app/assets/javascripts/ThirdParty/sprintf.js +319 -0
- data/app/assets/javascripts/ThirdParty/when.js +748 -0
- data/app/assets/javascripts/Widgets/Dojo/CesiumViewerWidget.css +175 -0
- data/app/assets/javascripts/Widgets/Dojo/CesiumViewerWidget.html +52 -0
- data/app/assets/javascripts/Widgets/Dojo/CesiumViewerWidget.js +1237 -0
- data/app/assets/javascripts/Widgets/Dojo/CesiumWidget.html +4 -0
- data/app/assets/javascripts/Widgets/Dojo/CesiumWidget.js +349 -0
- data/app/assets/javascripts/Widgets/Dojo/TimelineWidget.css +1 -0
- data/app/assets/javascripts/Widgets/Dojo/TimelineWidget.js +47 -0
- data/app/assets/javascripts/Widgets/Dojo/checkForChromeFrame.js +71 -0
- data/app/assets/javascripts/Widgets/Images/Bing_Logo_51x19_White.png +0 -0
- data/app/assets/javascripts/Widgets/Images/Cesium_Logo_overlay.png +0 -0
- data/app/assets/javascripts/Widgets/Images/TimelineIcons.png +0 -0
- data/app/assets/javascripts/Widgets/Images/ajax-loader.gif +0 -0
- data/app/assets/javascripts/Widgets/Images/animationBar.png +0 -0
- data/app/assets/javascripts/Widgets/Images/viewControlBar.png +0 -0
- data/app/assets/javascripts/Widgets/Timeline.css +113 -0
- data/app/assets/javascripts/Widgets/Timeline.js +629 -0
- data/app/assets/javascripts/Widgets/TimelineHighlightRange.js +51 -0
- data/app/assets/javascripts/Widgets/TimelineTrack.js +54 -0
- data/app/assets/javascripts/Widgets/Widgets.profile.js +8 -0
- data/app/assets/javascripts/Widgets/package.json +6 -0
- data/app/assets/javascripts/Workers/Workers.profile.js +8 -0
- data/app/assets/javascripts/Workers/cesiumWorkerBootstrapper.js +2015 -0
- data/app/assets/javascripts/Workers/createTaskProcessorWorker.js +55 -0
- data/app/assets/javascripts/Workers/createVerticesFromExtent.js +24 -0
- data/app/assets/javascripts/Workers/package.json +6 -0
- data/app/assets/javascripts/copyrightHeader.js +22 -0
- data/app/assets/javascripts/main.js +10 -0
- data/app/assets/stylesheets/cesium.css +4 -0
- data/app/controllers/cesium_controller.rb +4 -0
- data/app/helpers/cesium_helper.rb +2 -0
- data/app/views/cesium/index.html.erb +3 -0
- data/config/routes.rb +3 -0
- data/lib/cesium.rb +4 -0
- data/lib/cesium/engine.rb +4 -0
- data/lib/cesium/version.rb +3 -0
- data/lib/tasks/cesium_tasks.rake +4 -0
- data/test/cesium_test.rb +7 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/adapters/jquery-adapter.js.coffee +4 -0
- data/test/dummy/app/assets/javascripts/app.js.coffee +11 -0
- data/test/dummy/app/assets/javascripts/application.js.coffee +73 -0
- data/test/dummy/app/assets/stylesheets/application.css +12 -0
- data/test/dummy/app/controllers/application_controller.rb +4 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +21 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +59 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/requirejs.yml +10 -0
- data/test/dummy/config/routes.rb +3 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/functional/cesium_controller_test.rb +9 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/test_helper.rb +15 -0
- data/test/unit/helpers/cesium_helper_test.rb +4 -0
- metadata +641 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'../Core/defaultValue',
|
|
4
|
+
'../Core/destroyObject',
|
|
5
|
+
'../Core/BoundingSphere',
|
|
6
|
+
'../Core/Cartesian3',
|
|
7
|
+
'../Core/Cartesian4',
|
|
8
|
+
'../Core/DeveloperError',
|
|
9
|
+
'../Core/Intersect',
|
|
10
|
+
'../Core/Matrix4',
|
|
11
|
+
'./ComplexConicSensorVolume',
|
|
12
|
+
'./CustomSensorVolume',
|
|
13
|
+
'./RectangularPyramidSensorVolume',
|
|
14
|
+
'./SceneMode'
|
|
15
|
+
], function(
|
|
16
|
+
defaultValue,
|
|
17
|
+
destroyObject,
|
|
18
|
+
BoundingSphere,
|
|
19
|
+
Cartesian3,
|
|
20
|
+
Cartesian4,
|
|
21
|
+
DeveloperError,
|
|
22
|
+
Intersect,
|
|
23
|
+
Matrix4,
|
|
24
|
+
ComplexConicSensorVolume,
|
|
25
|
+
CustomSensorVolume,
|
|
26
|
+
RectangularPyramidSensorVolume,
|
|
27
|
+
SceneMode) {
|
|
28
|
+
"use strict";
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* DOC_TBA
|
|
32
|
+
*
|
|
33
|
+
* @alias SensorVolumeCollection
|
|
34
|
+
* @constructor
|
|
35
|
+
*/
|
|
36
|
+
var SensorVolumeCollection = function() {
|
|
37
|
+
this._sensors = [];
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* DOC_TBA
|
|
42
|
+
*
|
|
43
|
+
* @memberof SensorVolumeCollection
|
|
44
|
+
*
|
|
45
|
+
* @see SensorVolumeCollection#addCustom
|
|
46
|
+
* @see SensorVolumeCollection#addComplexConic
|
|
47
|
+
*/
|
|
48
|
+
SensorVolumeCollection.prototype.addRectangularPyramid = function(template) {
|
|
49
|
+
var sensor = new RectangularPyramidSensorVolume(template);
|
|
50
|
+
this._sensors.push(sensor);
|
|
51
|
+
return sensor;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* DOC_TBA
|
|
56
|
+
*
|
|
57
|
+
* @memberof SensorVolumeCollection
|
|
58
|
+
*
|
|
59
|
+
* @see SensorVolumeCollection#addRectangularPyramid
|
|
60
|
+
* @see SensorVolumeCollection#addCustom
|
|
61
|
+
*/
|
|
62
|
+
SensorVolumeCollection.prototype.addComplexConic = function(template) {
|
|
63
|
+
var sensor = new ComplexConicSensorVolume(template);
|
|
64
|
+
this._sensors.push(sensor);
|
|
65
|
+
return sensor;
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* DOC_TBA
|
|
70
|
+
*
|
|
71
|
+
* @memberof SensorVolumeCollection
|
|
72
|
+
*
|
|
73
|
+
* @see SensorVolumeCollection#addRectangularPyramid
|
|
74
|
+
* @see SensorVolumeCollection#addComplexConic
|
|
75
|
+
*/
|
|
76
|
+
SensorVolumeCollection.prototype.addCustom = function(template) {
|
|
77
|
+
var sensor = new CustomSensorVolume(template);
|
|
78
|
+
this._sensors.push(sensor);
|
|
79
|
+
return sensor;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* DOC_TBA
|
|
84
|
+
*
|
|
85
|
+
* @memberof SensorVolumeCollection
|
|
86
|
+
*
|
|
87
|
+
* @see SensorVolumeCollection#removeAll
|
|
88
|
+
*/
|
|
89
|
+
SensorVolumeCollection.prototype.remove = function(sensor) {
|
|
90
|
+
if (sensor) {
|
|
91
|
+
var sensors = this._sensors;
|
|
92
|
+
var i = sensors.indexOf(sensor);
|
|
93
|
+
if (i !== -1) {
|
|
94
|
+
sensors[i].destroy();
|
|
95
|
+
sensors.splice(i, 1);
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return false;
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* DOC_TBA
|
|
105
|
+
*
|
|
106
|
+
* @memberof SensorVolumeCollection
|
|
107
|
+
*
|
|
108
|
+
* @see SensorVolumeCollection#remove
|
|
109
|
+
*/
|
|
110
|
+
SensorVolumeCollection.prototype.removeAll = function() {
|
|
111
|
+
var sensors = this._sensors;
|
|
112
|
+
var length = sensors.length;
|
|
113
|
+
for ( var i = 0; i < length; ++i) {
|
|
114
|
+
sensors[i].destroy();
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
this._sensors = [];
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* DOC_TBA
|
|
122
|
+
* @memberof SensorVolumeCollection
|
|
123
|
+
*/
|
|
124
|
+
SensorVolumeCollection.prototype.contains = function(sensor) {
|
|
125
|
+
if (sensor) {
|
|
126
|
+
return (this._sensors.indexOf(sensor) !== -1);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
return false;
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* DOC_TBA
|
|
134
|
+
*
|
|
135
|
+
* @memberof SensorVolumeCollection
|
|
136
|
+
*
|
|
137
|
+
* @see SensorVolumeCollection#getLength
|
|
138
|
+
*/
|
|
139
|
+
SensorVolumeCollection.prototype.get = function(index) {
|
|
140
|
+
if (typeof index === 'undefined') {
|
|
141
|
+
throw new DeveloperError('index is required.');
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
return this._sensors[index];
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* DOC_TBA
|
|
149
|
+
*
|
|
150
|
+
* @memberof SensorVolumeCollection
|
|
151
|
+
*
|
|
152
|
+
* @see SensorVolumeCollection#get
|
|
153
|
+
*/
|
|
154
|
+
SensorVolumeCollection.prototype.getLength = function() {
|
|
155
|
+
return this._sensors.length;
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* @private
|
|
160
|
+
*/
|
|
161
|
+
SensorVolumeCollection.prototype.update = function(context, frameState, commandList) {
|
|
162
|
+
var mode = frameState.mode;
|
|
163
|
+
if (mode !== SceneMode.SCENE3D) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
var sensors = this._sensors;
|
|
168
|
+
var length = sensors.length;
|
|
169
|
+
for (var i = 0; i < length; ++i) {
|
|
170
|
+
sensors[i].update(context, frameState, commandList);
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* DOC_TBA
|
|
176
|
+
* @memberof SensorVolumeCollection
|
|
177
|
+
*/
|
|
178
|
+
SensorVolumeCollection.prototype.isDestroyed = function() {
|
|
179
|
+
return false;
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* DOC_TBA
|
|
184
|
+
* @memberof SensorVolumeCollection
|
|
185
|
+
*/
|
|
186
|
+
SensorVolumeCollection.prototype.destroy = function() {
|
|
187
|
+
this.removeAll();
|
|
188
|
+
return destroyObject(this);
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
return SensorVolumeCollection;
|
|
192
|
+
});
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'../Core/defaultValue',
|
|
4
|
+
'../Core/loadImage',
|
|
5
|
+
'../Core/writeTextToCanvas',
|
|
6
|
+
'../Core/DeveloperError',
|
|
7
|
+
'../Core/Event',
|
|
8
|
+
'../Core/Extent',
|
|
9
|
+
'./GeographicTilingScheme',
|
|
10
|
+
'./ImageryProviderError',
|
|
11
|
+
'../ThirdParty/when'
|
|
12
|
+
], function(
|
|
13
|
+
defaultValue,
|
|
14
|
+
loadImage,
|
|
15
|
+
writeTextToCanvas,
|
|
16
|
+
DeveloperError,
|
|
17
|
+
Event,
|
|
18
|
+
Extent,
|
|
19
|
+
GeographicTilingScheme,
|
|
20
|
+
ImageryProviderError,
|
|
21
|
+
when) {
|
|
22
|
+
"use strict";
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Provides a single, top-level imagery tile. The single image is assumed to use a
|
|
26
|
+
* {@link GeographicTilingScheme}.
|
|
27
|
+
*
|
|
28
|
+
* @alias SingleTileImageryProvider
|
|
29
|
+
* @constructor
|
|
30
|
+
*
|
|
31
|
+
* @param {String} description.url The url for the tile.
|
|
32
|
+
* @param {Extent} [description.extent=Extent.MAX_VALUE] The extent, in radians, covered by the image.
|
|
33
|
+
* @param {String} [description.credit] A string crediting the data source, which is displayed on the canvas.
|
|
34
|
+
* @param {Object} [description.proxy] A proxy to use for requests. This object is expected to have a getURL function which returns the proxied URL, if needed.
|
|
35
|
+
*
|
|
36
|
+
* @exception {DeveloperError} description.url is required.
|
|
37
|
+
*
|
|
38
|
+
* @see ArcGisMapServerImageryProvider
|
|
39
|
+
* @see BingMapsImageryProvider
|
|
40
|
+
* @see OpenStreetMapImageryProvider
|
|
41
|
+
* @see TileMapServiceImageryProvider
|
|
42
|
+
* @see WebMapServiceImageryProvider
|
|
43
|
+
*/
|
|
44
|
+
var SingleTileImageryProvider = function(description) {
|
|
45
|
+
description = defaultValue(description, {});
|
|
46
|
+
|
|
47
|
+
var url = description.url;
|
|
48
|
+
if (typeof url === 'undefined') {
|
|
49
|
+
throw new DeveloperError('url is required.');
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
this._url = url;
|
|
53
|
+
|
|
54
|
+
var proxy = description.proxy;
|
|
55
|
+
this._proxy = proxy;
|
|
56
|
+
|
|
57
|
+
var extent = defaultValue(description.extent, Extent.MAX_VALUE);
|
|
58
|
+
var tilingScheme = new GeographicTilingScheme({
|
|
59
|
+
extent : extent,
|
|
60
|
+
numberOfLevelZeroTilesX : 1,
|
|
61
|
+
numberOfLevelZeroTilesY : 1
|
|
62
|
+
});
|
|
63
|
+
this._tilingScheme = tilingScheme;
|
|
64
|
+
|
|
65
|
+
this._image = undefined;
|
|
66
|
+
this._texture = undefined;
|
|
67
|
+
this._tileWidth = 0;
|
|
68
|
+
this._tileHeight = 0;
|
|
69
|
+
|
|
70
|
+
this._errorEvent = new Event();
|
|
71
|
+
|
|
72
|
+
this._ready = false;
|
|
73
|
+
|
|
74
|
+
var imageUrl = url;
|
|
75
|
+
if (typeof proxy !== 'undefined') {
|
|
76
|
+
imageUrl = proxy.getURL(imageUrl);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (typeof description.credit !== 'undefined') {
|
|
80
|
+
this._logo = writeTextToCanvas(description.credit, {
|
|
81
|
+
font : '12px sans-serif'
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
var that = this;
|
|
86
|
+
var error;
|
|
87
|
+
|
|
88
|
+
function success(image) {
|
|
89
|
+
that._image = image;
|
|
90
|
+
that._tileWidth = image.width;
|
|
91
|
+
that._tileHeight = image.height;
|
|
92
|
+
that._ready = true;
|
|
93
|
+
ImageryProviderError.handleSuccess(that._errorEvent);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function failure(e) {
|
|
97
|
+
var message = 'Failed to load image ' + imageUrl + '.';
|
|
98
|
+
error = ImageryProviderError.handleError(
|
|
99
|
+
error,
|
|
100
|
+
that,
|
|
101
|
+
that._errorEvent,
|
|
102
|
+
message,
|
|
103
|
+
0, 0, 0,
|
|
104
|
+
doRequest);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
function doRequest() {
|
|
108
|
+
when(loadImage(imageUrl), success, failure);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
doRequest();
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Gets the URL of the single, top-level imagery tile.
|
|
116
|
+
*
|
|
117
|
+
* @memberof SingleTileImageryProvider
|
|
118
|
+
*
|
|
119
|
+
* @returns {String} The URL.
|
|
120
|
+
*/
|
|
121
|
+
SingleTileImageryProvider.prototype.getUrl = function() {
|
|
122
|
+
return this._url;
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Gets the width of each tile, in pixels. This function should
|
|
127
|
+
* not be called before {@link SingleTileImageryProvider#isReady} returns true.
|
|
128
|
+
*
|
|
129
|
+
* @memberof SingleTileImageryProvider
|
|
130
|
+
*
|
|
131
|
+
* @returns {Number} The width.
|
|
132
|
+
*
|
|
133
|
+
* @exception {DeveloperError} <code>getTileWidth</code> must not be called before the imagery provider is ready.
|
|
134
|
+
*/
|
|
135
|
+
SingleTileImageryProvider.prototype.getTileWidth = function() {
|
|
136
|
+
if (!this._ready) {
|
|
137
|
+
throw new DeveloperError('getTileWidth must not be called before the imagery provider is ready.');
|
|
138
|
+
}
|
|
139
|
+
return this._tileWidth;
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Gets the height of each tile, in pixels. This function should
|
|
144
|
+
* not be called before {@link SingleTileImageryProvider#isReady} returns true.
|
|
145
|
+
*
|
|
146
|
+
* @memberof SingleTileImageryProvider
|
|
147
|
+
*
|
|
148
|
+
* @returns {Number} The height.
|
|
149
|
+
*
|
|
150
|
+
* @exception {DeveloperError} <code>getTileHeight</code> must not be called before the imagery provider is ready.
|
|
151
|
+
*/
|
|
152
|
+
SingleTileImageryProvider.prototype.getTileHeight = function() {
|
|
153
|
+
if (!this._ready) {
|
|
154
|
+
throw new DeveloperError('getTileHeight must not be called before the imagery provider is ready.');
|
|
155
|
+
}
|
|
156
|
+
return this._tileHeight;
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Gets the maximum level-of-detail that can be requested. This function should
|
|
161
|
+
* not be called before {@link SingleTileImageryProvider#isReady} returns true.
|
|
162
|
+
*
|
|
163
|
+
* @memberof SingleTileImageryProvider
|
|
164
|
+
*
|
|
165
|
+
* @returns {Number} The maximum level.
|
|
166
|
+
*
|
|
167
|
+
* @exception {DeveloperError} <code>getMaximumLevel</code> must not be called before the imagery provider is ready.
|
|
168
|
+
*/
|
|
169
|
+
SingleTileImageryProvider.prototype.getMaximumLevel = function() {
|
|
170
|
+
if (!this._ready) {
|
|
171
|
+
throw new DeveloperError('getMaximumLevel must not be called before the imagery provider is ready.');
|
|
172
|
+
}
|
|
173
|
+
return 0;
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Gets the tiling scheme used by this provider. This function should
|
|
178
|
+
* not be called before {@link SingleTileImageryProvider#isReady} returns true.
|
|
179
|
+
*
|
|
180
|
+
* @memberof SingleTileImageryProvider
|
|
181
|
+
*
|
|
182
|
+
* @returns {TilingScheme} The tiling scheme.
|
|
183
|
+
* @see WebMercatorTilingScheme
|
|
184
|
+
* @see GeographicTilingScheme
|
|
185
|
+
*
|
|
186
|
+
* @exception {DeveloperError} <code>getTilingScheme</code> must not be called before the imagery provider is ready.
|
|
187
|
+
*/
|
|
188
|
+
SingleTileImageryProvider.prototype.getTilingScheme = function() {
|
|
189
|
+
if (!this._ready) {
|
|
190
|
+
throw new DeveloperError('getTilingScheme must not be called before the imagery provider is ready.');
|
|
191
|
+
}
|
|
192
|
+
return this._tilingScheme;
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Gets the extent, in radians, of the imagery provided by this instance. This function should
|
|
197
|
+
* not be called before {@link SingleTileImageryProvider#isReady} returns true.
|
|
198
|
+
*
|
|
199
|
+
* @memberof SingleTileImageryProvider
|
|
200
|
+
*
|
|
201
|
+
* @returns {Extent} The extent.
|
|
202
|
+
*/
|
|
203
|
+
SingleTileImageryProvider.prototype.getExtent = function() {
|
|
204
|
+
return this._tilingScheme.getExtent();
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Gets the tile discard policy. If not undefined, the discard policy is responsible
|
|
209
|
+
* for filtering out "missing" tiles via its shouldDiscardImage function. If this function
|
|
210
|
+
* returns undefined, no tiles are filtered. This function should
|
|
211
|
+
* not be called before {@link SingleTileImageryProvider#isReady} returns true.
|
|
212
|
+
*
|
|
213
|
+
* @memberof SingleTileImageryProvider
|
|
214
|
+
*
|
|
215
|
+
* @returns {TileDiscardPolicy} The discard policy.
|
|
216
|
+
*
|
|
217
|
+
* @see DiscardMissingTileImagePolicy
|
|
218
|
+
* @see NeverTileDiscardPolicy
|
|
219
|
+
*
|
|
220
|
+
* @exception {DeveloperError} <code>getTileDiscardPolicy</code> must not be called before the imagery provider is ready.
|
|
221
|
+
*/
|
|
222
|
+
SingleTileImageryProvider.prototype.getTileDiscardPolicy = function() {
|
|
223
|
+
if (!this._ready) {
|
|
224
|
+
throw new DeveloperError('getTileDiscardPolicy must not be called before the imagery provider is ready.');
|
|
225
|
+
}
|
|
226
|
+
return undefined;
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing
|
|
231
|
+
* to the event, you will be notified of the error and can potentially recover from it. Event listeners
|
|
232
|
+
* are passed an instance of {@link ImageryProviderError}.
|
|
233
|
+
*
|
|
234
|
+
* @memberof SingleTileImageryProvider
|
|
235
|
+
*
|
|
236
|
+
* @returns {Event} The event.
|
|
237
|
+
*/
|
|
238
|
+
SingleTileImageryProvider.prototype.getErrorEvent = function() {
|
|
239
|
+
return this._errorEvent;
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* Gets a value indicating whether or not the provider is ready for use.
|
|
244
|
+
*
|
|
245
|
+
* @memberof SingleTileImageryProvider
|
|
246
|
+
*
|
|
247
|
+
* @returns {Boolean} True if the provider is ready to use; otherwise, false.
|
|
248
|
+
*/
|
|
249
|
+
SingleTileImageryProvider.prototype.isReady = function() {
|
|
250
|
+
return this._ready;
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Requests the image for a given tile. This function should
|
|
255
|
+
* not be called before {@link SingleTileImageryProvider#isReady} returns true.
|
|
256
|
+
*
|
|
257
|
+
* @memberof SingleTileImageryProvider
|
|
258
|
+
*
|
|
259
|
+
* @param {Number} x The tile X coordinate.
|
|
260
|
+
* @param {Number} y The tile Y coordinate.
|
|
261
|
+
* @param {Number} level The tile level.
|
|
262
|
+
*
|
|
263
|
+
* @returns {Promise} A promise for the image that will resolve when the image is available, or
|
|
264
|
+
* undefined if there are too many active requests to the server, and the request
|
|
265
|
+
* should be retried later. The resolved image may be either an
|
|
266
|
+
* Image or a Canvas DOM object.
|
|
267
|
+
*
|
|
268
|
+
* @exception {DeveloperError} <code>requestImage</code> must not be called before the imagery provider is ready.
|
|
269
|
+
*/
|
|
270
|
+
SingleTileImageryProvider.prototype.requestImage = function(x, y, level) {
|
|
271
|
+
if (!this._ready) {
|
|
272
|
+
throw new DeveloperError('requestImage must not be called before the imagery provider is ready.');
|
|
273
|
+
}
|
|
274
|
+
return this._image;
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* Gets the logo to display when this imagery provider is active. Typically this is used to credit
|
|
279
|
+
* the source of the imagery. This function should not be called before {@link SingleTileImageryProvider#isReady} returns true.
|
|
280
|
+
*
|
|
281
|
+
* @memberof SingleTileImageryProvider
|
|
282
|
+
*
|
|
283
|
+
* @returns {Image|Canvas} A canvas or image containing the log to display, or undefined if there is no logo.
|
|
284
|
+
*
|
|
285
|
+
* @exception {DeveloperError} <code>getLogo</code> must not be called before the imagery provider is ready.
|
|
286
|
+
*/
|
|
287
|
+
SingleTileImageryProvider.prototype.getLogo = function() {
|
|
288
|
+
if (!this._ready) {
|
|
289
|
+
throw new DeveloperError('getLogo must not be called before the imagery provider is ready.');
|
|
290
|
+
}
|
|
291
|
+
return this._logo;
|
|
292
|
+
};
|
|
293
|
+
|
|
294
|
+
return SingleTileImageryProvider;
|
|
295
|
+
});
|