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,235 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'./DeveloperError'
|
|
4
|
+
], function(
|
|
5
|
+
DeveloperError) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var _supportsFullscreen;
|
|
9
|
+
var _names = {
|
|
10
|
+
requestFullscreen : undefined,
|
|
11
|
+
exitFullscreen : undefined,
|
|
12
|
+
fullscreenEnabled : undefined,
|
|
13
|
+
fullscreenElement : undefined,
|
|
14
|
+
fullscreenchange : undefined,
|
|
15
|
+
fullscreenerror : undefined
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Browser-independent functions for working with the standard fullscreen API.
|
|
20
|
+
*
|
|
21
|
+
* @exports Fullscreen
|
|
22
|
+
*
|
|
23
|
+
* @see <a href='http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html'>W3C Fullscreen Living Specification</a>
|
|
24
|
+
*/
|
|
25
|
+
var Fullscreen = {};
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Detects whether the browser supports the standard fullscreen API.
|
|
29
|
+
*
|
|
30
|
+
* @returns <code>true</code> if the browser supports the standard fullscreen API,
|
|
31
|
+
* <code>false</code> otherwise.
|
|
32
|
+
*/
|
|
33
|
+
Fullscreen.supportsFullscreen = function() {
|
|
34
|
+
if (typeof _supportsFullscreen !== 'undefined') {
|
|
35
|
+
return _supportsFullscreen;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
_supportsFullscreen = false;
|
|
39
|
+
|
|
40
|
+
var body = document.body;
|
|
41
|
+
if (typeof body.requestFullscreen === 'function') {
|
|
42
|
+
// go with the unprefixed, standard set of names
|
|
43
|
+
_names.requestFullscreen = 'requestFullscreen';
|
|
44
|
+
_names.exitFullscreen = 'exitFullscreen';
|
|
45
|
+
_names.fullscreenEnabled = 'fullscreenEnabled';
|
|
46
|
+
_names.fullscreenElement = 'fullscreenElement';
|
|
47
|
+
_names.fullscreenchange = 'fullscreenchange';
|
|
48
|
+
_names.fullscreenerror = 'fullscreenerror';
|
|
49
|
+
_supportsFullscreen = true;
|
|
50
|
+
return _supportsFullscreen;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
//check for the correct combination of prefix plus the various names that browsers use
|
|
54
|
+
var prefixes = ['webkit', 'moz', 'o', 'ms', 'khtml'];
|
|
55
|
+
var name;
|
|
56
|
+
for ( var i = 0, len = prefixes.length; i < len; ++i) {
|
|
57
|
+
var prefix = prefixes[i];
|
|
58
|
+
|
|
59
|
+
// casing of Fullscreen differs across browsers
|
|
60
|
+
name = prefix + 'RequestFullscreen';
|
|
61
|
+
if (typeof body[name] === 'function') {
|
|
62
|
+
_names.requestFullscreen = name;
|
|
63
|
+
_supportsFullscreen = true;
|
|
64
|
+
} else {
|
|
65
|
+
name = prefix + 'RequestFullScreen';
|
|
66
|
+
if (typeof body[name] === 'function') {
|
|
67
|
+
_names.requestFullscreen = name;
|
|
68
|
+
_supportsFullscreen = true;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// disagreement about whether it's "exit" as per spec, or "cancel"
|
|
73
|
+
name = prefix + 'ExitFullscreen';
|
|
74
|
+
if (typeof document[name] === 'function') {
|
|
75
|
+
_names.exitFullscreen = name;
|
|
76
|
+
} else {
|
|
77
|
+
name = prefix + 'CancelFullScreen';
|
|
78
|
+
if (typeof document[name] === 'function') {
|
|
79
|
+
_names.exitFullscreen = name;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// casing of Fullscreen differs across browsers
|
|
84
|
+
name = prefix + 'FullscreenEnabled';
|
|
85
|
+
if (typeof document[name] !== 'undefined') {
|
|
86
|
+
_names.fullscreenEnabled = name;
|
|
87
|
+
} else {
|
|
88
|
+
name = prefix + 'FullScreenEnabled';
|
|
89
|
+
if (typeof document[name] !== 'undefined') {
|
|
90
|
+
_names.fullscreenEnabled = name;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// casing of Fullscreen differs across browsers
|
|
95
|
+
name = prefix + 'FullscreenElement';
|
|
96
|
+
if (typeof document[name] !== 'undefined') {
|
|
97
|
+
_names.fullscreenElement = name;
|
|
98
|
+
} else {
|
|
99
|
+
name = prefix + 'FullScreenElement';
|
|
100
|
+
if (typeof document[name] !== 'undefined') {
|
|
101
|
+
_names.fullscreenElement = name;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// thankfully, event names are all lowercase per spec
|
|
106
|
+
name = prefix + 'fullscreenchange';
|
|
107
|
+
// event names do not have 'on' in the front, but the property on the document does
|
|
108
|
+
if (typeof document['on' + name] !== 'undefined') {
|
|
109
|
+
_names.fullscreenchange = name;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
name = prefix + 'fullscreenerror';
|
|
113
|
+
if (typeof document['on' + name] !== 'undefined') {
|
|
114
|
+
_names.fullscreenerror = name;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
return _supportsFullscreen;
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Asynchronously requests the browser to enter fullscreen mode on the given element.
|
|
123
|
+
* If fullscreen mode is not supported by the browser, does nothing.
|
|
124
|
+
*
|
|
125
|
+
* @param {Object} element The HTML element which will be placed into fullscreen mode.
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* // Put the entire page into fullscreen.
|
|
129
|
+
* Fullscreen.requestFullscreen(document.body)
|
|
130
|
+
*
|
|
131
|
+
* // Place only the Cesium canvas into fullscreen.
|
|
132
|
+
* Fullscreen.requestFullscreen(scene.getCanvas())
|
|
133
|
+
*/
|
|
134
|
+
Fullscreen.requestFullscreen = function(element) {
|
|
135
|
+
if (!Fullscreen.supportsFullscreen()) {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
element[_names.requestFullscreen]();
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Asynchronously exits fullscreen mode. If the browser is not currently
|
|
144
|
+
* in fullscreen, or if fullscreen mode is not supported by the browser, does nothing.
|
|
145
|
+
*/
|
|
146
|
+
Fullscreen.exitFullscreen = function() {
|
|
147
|
+
if (!Fullscreen.supportsFullscreen()) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
document[_names.exitFullscreen]();
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Determine whether the browser will allow an element to be made fullscreen, or not.
|
|
156
|
+
* For example, by default, iframes cannot go fullscreen unless the containing page
|
|
157
|
+
* adds an "allowfullscreen" attribute (or prefixed equivalent).
|
|
158
|
+
*
|
|
159
|
+
* @returns {Boolean} <code>true</code> if the browser is able to enter fullscreen mode,
|
|
160
|
+
* <code>false</code> if not, and <code>undefined</code> if the browser does not
|
|
161
|
+
* support fullscreen mode.
|
|
162
|
+
*/
|
|
163
|
+
Fullscreen.isFullscreenEnabled = function() {
|
|
164
|
+
if (!Fullscreen.supportsFullscreen()) {
|
|
165
|
+
return undefined;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
return document[_names.fullscreenEnabled];
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Gets the element that is currently fullscreen, if any. To simply check if the
|
|
173
|
+
* browser is in fullscreen mode or not, use {@link Fullscreen#isFullscreen}.
|
|
174
|
+
*
|
|
175
|
+
* @returns {Object} the element that is currently fullscreen, or <code>null</code> if the browser is
|
|
176
|
+
* not in fullscreen mode, or <code>undefined</code> if the browser does not support fullscreen
|
|
177
|
+
* mode.
|
|
178
|
+
*/
|
|
179
|
+
Fullscreen.getFullscreenElement = function() {
|
|
180
|
+
if (!Fullscreen.supportsFullscreen()) {
|
|
181
|
+
return undefined;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
return document[_names.fullscreenElement];
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Determines if the browser is currently in fullscreen mode.
|
|
189
|
+
*
|
|
190
|
+
* @returns {Boolean} <code>true</code> if the browser is currently in fullscreen mode, <code>false</code>
|
|
191
|
+
* if it is not, or <code>undefined</code> if the browser does not support fullscreen mode.
|
|
192
|
+
*/
|
|
193
|
+
Fullscreen.isFullscreen = function() {
|
|
194
|
+
if (!Fullscreen.supportsFullscreen()) {
|
|
195
|
+
return undefined;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
return Fullscreen.getFullscreenElement() !== null;
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Gets the name of the event on the document that is fired when fullscreen is
|
|
203
|
+
* entered or exited. This event name is intended for use with addEventListener.
|
|
204
|
+
*
|
|
205
|
+
* In your event handler, to determine if the browser is in fullscreen mode or not,
|
|
206
|
+
* use {@link Fullscreen#isFullscreen}.
|
|
207
|
+
*
|
|
208
|
+
* @returns {String} the name of the event that is fired when fullscreen is entered or
|
|
209
|
+
* exited, or <code>undefined</code> if fullscreen is not supported.
|
|
210
|
+
*/
|
|
211
|
+
Fullscreen.getFullscreenChangeEventName = function() {
|
|
212
|
+
if (!Fullscreen.supportsFullscreen()) {
|
|
213
|
+
return undefined;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
return _names.fullscreenchange;
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Gets the name of the event that is fired when a fullscreen error
|
|
221
|
+
* occurs. This event name is intended for use with addEventListener.
|
|
222
|
+
*
|
|
223
|
+
* @returns {String} the name of the event that is fired when a fullscreen error occurs,
|
|
224
|
+
* or <code>undefined</code> if fullscreen is not supported.
|
|
225
|
+
*/
|
|
226
|
+
Fullscreen.getFullscreenErrorEventName = function() {
|
|
227
|
+
if (!Fullscreen.supportsFullscreen()) {
|
|
228
|
+
return undefined;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
return _names.fullscreenerror;
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
return Fullscreen;
|
|
235
|
+
});
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'./defaultValue',
|
|
4
|
+
'./Cartesian3',
|
|
5
|
+
'./Cartographic',
|
|
6
|
+
'./Ellipsoid'
|
|
7
|
+
], function(
|
|
8
|
+
defaultValue,
|
|
9
|
+
Cartesian3,
|
|
10
|
+
Cartographic,
|
|
11
|
+
Ellipsoid) {
|
|
12
|
+
"use strict";
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* A simple map projection where longitude and latitude are linearly mapped to X and Y by multiplying
|
|
16
|
+
* them by the {@link Ellipsoid#getMaximumRadius}. This projection
|
|
17
|
+
* is commonly known as geographic, equirectangular, equidistant cylindrical, or plate carrée. It
|
|
18
|
+
* is also known as EPSG:4326.
|
|
19
|
+
*
|
|
20
|
+
* @alias GeographicProjection
|
|
21
|
+
* @constructor
|
|
22
|
+
* @immutable
|
|
23
|
+
*
|
|
24
|
+
* @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid.
|
|
25
|
+
*
|
|
26
|
+
* @see WebMercatorProjection
|
|
27
|
+
*/
|
|
28
|
+
var GeographicProjection = function(ellipsoid) {
|
|
29
|
+
this._ellipsoid = defaultValue(ellipsoid, Ellipsoid.WGS84);
|
|
30
|
+
this._semimajorAxis = this._ellipsoid.getMaximumRadius();
|
|
31
|
+
this._oneOverSemimajorAxis = 1.0 / this._semimajorAxis;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Gets the {@link Ellipsoid}.
|
|
36
|
+
*
|
|
37
|
+
* @memberof GeographicProjection
|
|
38
|
+
*
|
|
39
|
+
* @returns {Ellipsoid} The ellipsoid.
|
|
40
|
+
*/
|
|
41
|
+
GeographicProjection.prototype.getEllipsoid = function() {
|
|
42
|
+
return this._ellipsoid;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Projects a set of {@link Cartographic} coordinates, in radians, to map coordinates, in meters.
|
|
47
|
+
* X and Y are the longitude and latitude, respectively, multiplied by the maximum radius of the
|
|
48
|
+
* ellipsoid. Z is the unmodified height.
|
|
49
|
+
*
|
|
50
|
+
* @memberof GeographicProjection
|
|
51
|
+
*
|
|
52
|
+
* @param {Cartographic} cartographic The coordinates to project.
|
|
53
|
+
* @param {Cartesian3} [result] An instance into which to copy the result. If this parameter is
|
|
54
|
+
* undefined, a new instance is created and returned.
|
|
55
|
+
* @returns {Cartesian3} The projected coordinates. If the result parameter is not undefined, the
|
|
56
|
+
* coordinates are copied there and that instance is returned. Otherwise, a new instance is
|
|
57
|
+
* created and returned.
|
|
58
|
+
*/
|
|
59
|
+
GeographicProjection.prototype.project = function(cartographic, result) {
|
|
60
|
+
// Actually this is the special case of equidistant cylindrical called the plate carree
|
|
61
|
+
var semimajorAxis = this._semimajorAxis;
|
|
62
|
+
var x = cartographic.longitude * semimajorAxis;
|
|
63
|
+
var y = cartographic.latitude * semimajorAxis;
|
|
64
|
+
var z = cartographic.height;
|
|
65
|
+
|
|
66
|
+
if (typeof result === 'undefined') {
|
|
67
|
+
return new Cartesian3(x, y, z);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
result.x = x;
|
|
71
|
+
result.y = y;
|
|
72
|
+
result.z = z;
|
|
73
|
+
return result;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Unprojects a set of projected {@link Cartesian3} coordinates, in meters, to {@link Cartographic}
|
|
78
|
+
* coordinates, in radians. Longitude and Latitude are the X and Y coordinates, respectively,
|
|
79
|
+
* divided by the maximum radius of the ellipsoid. Height is the unmodified Z coordinate.
|
|
80
|
+
*
|
|
81
|
+
* @memberof GeographicProjection
|
|
82
|
+
*
|
|
83
|
+
* @param {Cartesian3} cartesian The coordinate to unproject.
|
|
84
|
+
* @param {Cartographic} [result] An instance into which to copy the result. If this parameter is
|
|
85
|
+
* undefined, a new instance is created and returned.
|
|
86
|
+
* @returns {Cartographic} The unprojected coordinates. If the result parameter is not undefined, the
|
|
87
|
+
* coordinates are copied there and that instance is returned. Otherwise, a new instance is
|
|
88
|
+
* created and returned.
|
|
89
|
+
*/
|
|
90
|
+
GeographicProjection.prototype.unproject = function(cartesian, result) {
|
|
91
|
+
var oneOverEarthSemimajorAxis = this._oneOverSemimajorAxis;
|
|
92
|
+
var longitude = cartesian.x * oneOverEarthSemimajorAxis;
|
|
93
|
+
var latitude = cartesian.y * oneOverEarthSemimajorAxis;
|
|
94
|
+
var height = cartesian.z;
|
|
95
|
+
|
|
96
|
+
if (typeof result === 'undefined') {
|
|
97
|
+
return new Cartographic(longitude, latitude, height);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
result.longitude = longitude;
|
|
101
|
+
result.latitude = latitude;
|
|
102
|
+
result.height = height;
|
|
103
|
+
return result;
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
return GeographicProjection;
|
|
107
|
+
});
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define(['./Math'
|
|
3
|
+
], function(
|
|
4
|
+
CesiumMath) {
|
|
5
|
+
"use strict";
|
|
6
|
+
|
|
7
|
+
var factorial = CesiumMath.factorial;
|
|
8
|
+
|
|
9
|
+
function calculateCoefficientTerm(x, zIndices, xTable, derivOrder, termOrder, reservedIndices) {
|
|
10
|
+
var result = 0;
|
|
11
|
+
var reserved;
|
|
12
|
+
var i;
|
|
13
|
+
var j;
|
|
14
|
+
|
|
15
|
+
if (derivOrder > 0) {
|
|
16
|
+
for (i = 0; i < termOrder; i++) {
|
|
17
|
+
reserved = false;
|
|
18
|
+
for (j = 0; j < reservedIndices.length && !reserved; j++) {
|
|
19
|
+
if (i === reservedIndices[j]) {
|
|
20
|
+
reserved = true;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
if (!reserved) {
|
|
25
|
+
reservedIndices.push(i);
|
|
26
|
+
result += calculateCoefficientTerm(x, zIndices, xTable, derivOrder - 1, termOrder, reservedIndices);
|
|
27
|
+
reservedIndices.splice(reservedIndices.length - 1, 1);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return result;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
result = 1;
|
|
35
|
+
for (i = 0; i < termOrder; i++) {
|
|
36
|
+
reserved = false;
|
|
37
|
+
for (j = 0; j < reservedIndices.length && !reserved; j++) {
|
|
38
|
+
if (i === reservedIndices[j]) {
|
|
39
|
+
reserved = true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (!reserved) {
|
|
44
|
+
result *= x - xTable[zIndices[i]];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return result;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Functions for performing Hermite interpolation.
|
|
53
|
+
* @exports HermitePolynomialApproximation
|
|
54
|
+
*
|
|
55
|
+
* @see LinearApproximation
|
|
56
|
+
* @see LagrangePolynomialApproximation
|
|
57
|
+
*/
|
|
58
|
+
var HermitePolynomialApproximation = {
|
|
59
|
+
type : 'Hermite'
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Given the desired degree, returns the number of data points required for interpolation.
|
|
64
|
+
*
|
|
65
|
+
* @memberof HermitePolynomialApproximation
|
|
66
|
+
*
|
|
67
|
+
* @param degree The desired degree of interpolation.
|
|
68
|
+
*
|
|
69
|
+
* @returns The number of required data points needed for the desired degree of interpolation.
|
|
70
|
+
*/
|
|
71
|
+
HermitePolynomialApproximation.getRequiredDataPoints = function(degree) {
|
|
72
|
+
return Math.max(degree + 1, 2);
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* <p>
|
|
77
|
+
* Interpolates values using the supplied interpolation algorithm. The appropriate subset of input
|
|
78
|
+
* values to use for the interpolation is determined automatically from an interpolation given
|
|
79
|
+
* degree.
|
|
80
|
+
* </p>
|
|
81
|
+
* <p>
|
|
82
|
+
* The xTable array can contain any number of elements, and the appropriate subset will be
|
|
83
|
+
* selected according to the degree of interpolation requested. For example, if degree is 5,
|
|
84
|
+
* the 6 elements surrounding x will be used for interpolation. When using
|
|
85
|
+
* {@link LinearApproximation} the degree should be 1 since it always deals with only 2 elements
|
|
86
|
+
* surrounding x. The yTable array should contain a number of elements equal to:
|
|
87
|
+
* <code>xTable.length * yStride</code>. If insufficient elements are provided
|
|
88
|
+
* to perform the requested degree of interpolation, the highest possible degree of interpolation
|
|
89
|
+
* will be performed.
|
|
90
|
+
* </p>
|
|
91
|
+
*
|
|
92
|
+
* @param {Number} x The independent variable for which the dependent variables will be interpolated.
|
|
93
|
+
*
|
|
94
|
+
* @param {Array} xTable The array of independent variables to use to interpolate. The values
|
|
95
|
+
* in this array must be in increasing order and the same value must not occur twice in the array.
|
|
96
|
+
*
|
|
97
|
+
* @param {Array} yTable The array of dependent variables to use to interpolate. For a set of three
|
|
98
|
+
* dependent values (p,q,w) and their derivatives (dp, dq, dw) at time 1 and time 2 this should be
|
|
99
|
+
* as follows: {p1, q1, w1, dp1, dq1, dw1, p2, q2, w2, dp2, dq2, dw2}.
|
|
100
|
+
*
|
|
101
|
+
* @param {Number} yStride The number of dependent variable values in yTable corresponding to
|
|
102
|
+
* each independent variable value in xTable.
|
|
103
|
+
*
|
|
104
|
+
* @returns An array of interpolated values. The array contains at least yStride elements, each
|
|
105
|
+
* of which is an interpolated dependent variable value.
|
|
106
|
+
*
|
|
107
|
+
* @see LinearApproximation
|
|
108
|
+
* @see LagrangePolynomialApproximation
|
|
109
|
+
*
|
|
110
|
+
* @memberof HermitePolynomialApproximation
|
|
111
|
+
*/
|
|
112
|
+
HermitePolynomialApproximation.interpolateOrderZero = function(x, xTable, yTable, yStride) {
|
|
113
|
+
var length = xTable.length, i, j, d, s, len, index, result = new Array(yStride), coefficients = new Array(yStride);
|
|
114
|
+
|
|
115
|
+
for (i = 0; i < yStride; i++) {
|
|
116
|
+
result[i] = 0;
|
|
117
|
+
|
|
118
|
+
var l = new Array(length);
|
|
119
|
+
coefficients[i] = l;
|
|
120
|
+
for (j = 0; j < length; j++) {
|
|
121
|
+
l[j] = [];
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
var zIndicesLength = length, zIndices = new Array(zIndicesLength);
|
|
126
|
+
|
|
127
|
+
for (i = 0; i < zIndicesLength; i++) {
|
|
128
|
+
zIndices[i] = i;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
var highestNonZeroCoef = length - 1;
|
|
132
|
+
for (s = 0; s < yStride; s++) {
|
|
133
|
+
for (j = 0; j < zIndicesLength; j++) {
|
|
134
|
+
index = zIndices[j] * yStride + s;
|
|
135
|
+
coefficients[s][0].push(yTable[index]);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
for (i = 1; i < zIndicesLength; i++) {
|
|
139
|
+
var nonZeroCoefficients = false;
|
|
140
|
+
for (j = 0; j < zIndicesLength - i; j++) {
|
|
141
|
+
var zj = xTable[zIndices[j]];
|
|
142
|
+
var zn = xTable[zIndices[j + i]];
|
|
143
|
+
|
|
144
|
+
var numerator;
|
|
145
|
+
if (zn - zj <= 0) {
|
|
146
|
+
index = zIndices[j] * yStride + yStride * i + s;
|
|
147
|
+
numerator = yTable[index];
|
|
148
|
+
coefficients[s][i].push(numerator / factorial(i));
|
|
149
|
+
} else {
|
|
150
|
+
numerator = (coefficients[s][i - 1][j + 1] - coefficients[s][i - 1][j]);
|
|
151
|
+
coefficients[s][i].push(numerator / (zn - zj));
|
|
152
|
+
}
|
|
153
|
+
nonZeroCoefficients = nonZeroCoefficients || (numerator !== 0);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
if (!nonZeroCoefficients) {
|
|
157
|
+
highestNonZeroCoef = i - 1;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
for (d = 0, len = 0; d <= len; d++) {
|
|
163
|
+
for (i = d; i <= highestNonZeroCoef; i++) {
|
|
164
|
+
var tempTerm = calculateCoefficientTerm(x, zIndices, xTable, d, i, []);
|
|
165
|
+
for (s = 0; s < yStride; s++) {
|
|
166
|
+
var coeff = coefficients[s][i][0];
|
|
167
|
+
result[s + d * yStride] += coeff * tempTerm;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
return result;
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
return HermitePolynomialApproximation;
|
|
176
|
+
});
|