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,21 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define(function() {
|
|
3
|
+
"use strict";
|
|
4
|
+
|
|
5
|
+
function clone(object) {
|
|
6
|
+
if (object === null || typeof object !== 'object') {
|
|
7
|
+
return object;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
var temp = new object.constructor();
|
|
11
|
+
for ( var key in object) {
|
|
12
|
+
if (object.hasOwnProperty(key)) {
|
|
13
|
+
temp[key] = clone(object[key]);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return temp;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return clone;
|
|
21
|
+
});
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'./DeveloperError',
|
|
4
|
+
'./defaultValue'
|
|
5
|
+
], function(
|
|
6
|
+
DeveloperError,
|
|
7
|
+
defaultValue) {
|
|
8
|
+
"use strict";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Merges object properties into a new combined object. When two objects have the same
|
|
12
|
+
* property, the value of the object that comes earlier in the array is used.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* var object1 = {
|
|
16
|
+
* one : 1,
|
|
17
|
+
* deep : {
|
|
18
|
+
* value1 : 10
|
|
19
|
+
* }
|
|
20
|
+
* }
|
|
21
|
+
* var object2 = {
|
|
22
|
+
* two : 2
|
|
23
|
+
* }
|
|
24
|
+
* var object3 = {
|
|
25
|
+
* deep : {
|
|
26
|
+
* value1 : 5,
|
|
27
|
+
* value2 : 11
|
|
28
|
+
* }
|
|
29
|
+
* }
|
|
30
|
+
* var final = combine([object1,object2, object3], true, true);
|
|
31
|
+
*
|
|
32
|
+
* // final === {
|
|
33
|
+
* // one : 1,
|
|
34
|
+
* // two : 2,
|
|
35
|
+
* // deep : {
|
|
36
|
+
* // value1 : 10,
|
|
37
|
+
* // value2 : 11
|
|
38
|
+
* // }
|
|
39
|
+
* // }
|
|
40
|
+
*
|
|
41
|
+
* @param {Array} objects Array of objects that get merged together.
|
|
42
|
+
* @param {Boolean} [deep = true] Perform a recursive merge.
|
|
43
|
+
* @param {Boolean} [allowDuplicates = true] An error gets thrown if allowDuplicates is false and two objects contain the same property.
|
|
44
|
+
*
|
|
45
|
+
* @returns {Object} combined object
|
|
46
|
+
*
|
|
47
|
+
* @exports combine
|
|
48
|
+
*
|
|
49
|
+
* @exception {DeveloperError} Duplicate member.
|
|
50
|
+
*/
|
|
51
|
+
|
|
52
|
+
var combine = function(objects, deep, allowDuplicates) {
|
|
53
|
+
deep = defaultValue(deep, true);
|
|
54
|
+
allowDuplicates = defaultValue(allowDuplicates, true);
|
|
55
|
+
|
|
56
|
+
var combined = {};
|
|
57
|
+
for (var i = 0; i < objects.length; i++) {
|
|
58
|
+
combineTwoObjects(combined, objects[i], deep, allowDuplicates);
|
|
59
|
+
}
|
|
60
|
+
return combined;
|
|
61
|
+
};
|
|
62
|
+
var combineTwoObjects = function(object1, object2, deep, allowDuplicates) {
|
|
63
|
+
for (var property in object2) {
|
|
64
|
+
if (object2.hasOwnProperty(property)) {
|
|
65
|
+
if (object1.hasOwnProperty(property) && (typeof object1[property] !== 'undefined')) {
|
|
66
|
+
if (!allowDuplicates) {
|
|
67
|
+
throw new DeveloperError('Duplicate member: ' + property);
|
|
68
|
+
}
|
|
69
|
+
if (deep && typeof object1[property] === 'object' && typeof object2[property] === 'object') {
|
|
70
|
+
combineTwoObjects(object1[property], object2[property], deep, allowDuplicates);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
object1[property] = object2[property];
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
return combine;
|
|
81
|
+
});
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'./isLeapYear',
|
|
4
|
+
'./DeveloperError',
|
|
5
|
+
'./Math',
|
|
6
|
+
'./Cartesian3',
|
|
7
|
+
'./Cartographic',
|
|
8
|
+
'./Matrix3',
|
|
9
|
+
'./JulianDate'
|
|
10
|
+
],
|
|
11
|
+
function(
|
|
12
|
+
isLeapYear,
|
|
13
|
+
DeveloperError,
|
|
14
|
+
CesiumMath,
|
|
15
|
+
Cartesian3,
|
|
16
|
+
Cartographic,
|
|
17
|
+
Matrix3,
|
|
18
|
+
JulianDate) {
|
|
19
|
+
"use strict";
|
|
20
|
+
|
|
21
|
+
var offSets = [0, // January
|
|
22
|
+
31, // February
|
|
23
|
+
59, // March
|
|
24
|
+
90, // April
|
|
25
|
+
120,// May
|
|
26
|
+
151,// June
|
|
27
|
+
181,// July
|
|
28
|
+
212,// August
|
|
29
|
+
243,// September
|
|
30
|
+
273,// October
|
|
31
|
+
304,// November
|
|
32
|
+
334 // December
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
var scratch = new Cartesian3();
|
|
36
|
+
var transform = new Matrix3(0.0, 0.0, 0.0,
|
|
37
|
+
0.0, 1.0, 0.0,
|
|
38
|
+
0.0, 0.0, 0.0);
|
|
39
|
+
|
|
40
|
+
var AU_TO_METERS = 149597870700.0;
|
|
41
|
+
|
|
42
|
+
var direction = new Cartesian3();
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Computes the position of the Sun in Earth's fixed frame.
|
|
46
|
+
* @exports computeSunPosition
|
|
47
|
+
*
|
|
48
|
+
* @param {JulianDate} [julianDate] The time at which to compute the Sun's position, if not provided the current system time is used.
|
|
49
|
+
* @param {Cartesian3} [result] The object onto which to store the result.
|
|
50
|
+
* @return {Cartesian3} The modified result parameter or a new Cartesian3 instance if none was provided.
|
|
51
|
+
*
|
|
52
|
+
* @exception {DeveloperError} julianDate is required.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* var sunPosition = computeSunPosition(new JulianDate());
|
|
56
|
+
*/
|
|
57
|
+
var computeSunPosition = function(julianDate, result) {
|
|
58
|
+
if (typeof julianDate === 'undefined') {
|
|
59
|
+
julianDate = new JulianDate();
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
var T = (julianDate.getTotalDays() - 2451545.0) / 36525;
|
|
63
|
+
var meanAnomaly = CesiumMath.convertLongitudeRange(CesiumMath.toRadians(357.5277233 + 35999.05034 * T));
|
|
64
|
+
var distanceToSunInAU = 1.000140612 - 0.016708617 * Math.cos(meanAnomaly) - 0.000139589 * Math.cos(2 * meanAnomaly);
|
|
65
|
+
|
|
66
|
+
var date = julianDate.toDate();
|
|
67
|
+
var month = date.getUTCMonth();
|
|
68
|
+
var dayOfYear = date.getUTCDate() + offSets[month];
|
|
69
|
+
|
|
70
|
+
if (isLeapYear(date.getUTCFullYear()) && month > 1) {
|
|
71
|
+
dayOfYear++;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
var temp = CesiumMath.toRadians((360.0 / 365.0) * (dayOfYear - 81.0));
|
|
75
|
+
var equationOfTime = 9.87 * Math.sin(2 * temp) - 7.53 * Math.cos(temp) - 1.5 * Math.sin(temp);
|
|
76
|
+
var timeFraction = julianDate.getJulianTimeFraction();
|
|
77
|
+
var localTime;
|
|
78
|
+
if (timeFraction >= 0.5) {
|
|
79
|
+
localTime = timeFraction * 24.0 - 12.0;
|
|
80
|
+
} else {
|
|
81
|
+
localTime = 12.0 + timeFraction * 24.0;
|
|
82
|
+
}
|
|
83
|
+
var localSolarTime = localTime + (equationOfTime / 60.0);
|
|
84
|
+
var hourAngle = CesiumMath.toRadians(15.0 * (12.0 - localSolarTime));
|
|
85
|
+
var declinationAngle = Math.asin(0.39795 * Math.cos(CesiumMath.toRadians(0.98563 * (dayOfYear - 173.0))));
|
|
86
|
+
|
|
87
|
+
var latitudeAngle = 0.0;
|
|
88
|
+
|
|
89
|
+
var cosLatitudeAngle = Math.cos(latitudeAngle);
|
|
90
|
+
var sinLatitudeAngle = Math.sin(latitudeAngle);
|
|
91
|
+
|
|
92
|
+
//Since some of these are constant,
|
|
93
|
+
//there's no need to set them every time.
|
|
94
|
+
transform[0] = cosLatitudeAngle;
|
|
95
|
+
//transform[1] = 0.0;
|
|
96
|
+
transform[2] = -sinLatitudeAngle;
|
|
97
|
+
//transform[3] = 0.0;
|
|
98
|
+
//transform[4] = 1.0;
|
|
99
|
+
//transform[5] = 0.0;
|
|
100
|
+
transform[6] = sinLatitudeAngle;
|
|
101
|
+
//transform[7] = 0.0;
|
|
102
|
+
transform[8] = cosLatitudeAngle;
|
|
103
|
+
|
|
104
|
+
var cosDeclinationAngle = Math.cos(declinationAngle);
|
|
105
|
+
scratch.x = cosDeclinationAngle * Math.cos(hourAngle);
|
|
106
|
+
scratch.y = cosDeclinationAngle * Math.sin(hourAngle);
|
|
107
|
+
scratch.z = Math.sin(declinationAngle);
|
|
108
|
+
|
|
109
|
+
Matrix3.multiplyByVector(transform, scratch, direction);
|
|
110
|
+
var distance = distanceToSunInAU * AU_TO_METERS;
|
|
111
|
+
|
|
112
|
+
return direction.multiplyByScalar(distance, result);
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
return computeSunPosition;
|
|
116
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define(function() {
|
|
3
|
+
"use strict";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Creates a Globally unique identifier (GUID) string. A GUID is 128 bits long, and can guarantee uniqueness across space and time.
|
|
7
|
+
*
|
|
8
|
+
* @exports createGuid
|
|
9
|
+
*
|
|
10
|
+
* @see <a href='http://www.ietf.org/rfc/rfc4122.txt'>RFC 4122 A Universally Unique IDentifier (UUID) URN Namespace</a>
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* this.guid = createGuid();
|
|
14
|
+
*/
|
|
15
|
+
var createGuid = function() {
|
|
16
|
+
// http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript
|
|
17
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
|
|
18
|
+
var r = Math.random() * 16 | 0;
|
|
19
|
+
var v = c === 'x' ? r : (r & 0x3 | 0x8);
|
|
20
|
+
return v.toString(16);
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
return createGuid;
|
|
25
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define(function() {
|
|
3
|
+
"use strict";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Returns the first parameter if not undefined, otherwise the second parameter.
|
|
7
|
+
* Useful for setting a default value for a parameter.
|
|
8
|
+
*
|
|
9
|
+
* @exports defaultValue
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* param = defaultValue(param, 'default');
|
|
13
|
+
*/
|
|
14
|
+
var defaultValue = function(a, b) {
|
|
15
|
+
if (typeof a !== 'undefined') {
|
|
16
|
+
return a;
|
|
17
|
+
}
|
|
18
|
+
return b;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
return defaultValue;
|
|
22
|
+
});
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'./defaultValue',
|
|
4
|
+
'./DeveloperError'
|
|
5
|
+
], function(
|
|
6
|
+
defaultValue,
|
|
7
|
+
DeveloperError) {
|
|
8
|
+
"use strict";
|
|
9
|
+
|
|
10
|
+
function returnTrue() {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Destroys an object. Each of the object's functions, including functions in its prototype,
|
|
16
|
+
* is replaced with a function that throws a {@link DeveloperError}, except for the object's
|
|
17
|
+
* <code>isDestroyed</code> function, which is set to a function that returns <code>true</code>.
|
|
18
|
+
* The object's properties are removed with <code>delete</code>.
|
|
19
|
+
* <br /><br />
|
|
20
|
+
* This function is used by objects that hold native resources, e.g., WebGL resources, which
|
|
21
|
+
* need to be explicitly released. Client code calls an object's <code>destroy</code> function,
|
|
22
|
+
* which then releases the native resource and calls <code>destroyObject</code> to put itself
|
|
23
|
+
* in a destroyed state.
|
|
24
|
+
*
|
|
25
|
+
* @exports destroyObject
|
|
26
|
+
*
|
|
27
|
+
* @param {Object} object The object to destroy.
|
|
28
|
+
* @param {String} [message] The message to include in the exception that is thrown if
|
|
29
|
+
* a destroyed object's function is called.
|
|
30
|
+
*
|
|
31
|
+
* @see DeveloperError
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* // How a texture would destroy itself.
|
|
35
|
+
* this.destroy = function () {
|
|
36
|
+
* _gl.deleteTexture(_texture);
|
|
37
|
+
* return destroyObject(this);
|
|
38
|
+
* };
|
|
39
|
+
*/
|
|
40
|
+
var destroyObject = function(object, message) {
|
|
41
|
+
message = defaultValue(message, 'This object was destroyed, i.e., destroy() was called.');
|
|
42
|
+
|
|
43
|
+
function throwOnDestroyed() {
|
|
44
|
+
throw new DeveloperError(message);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
for ( var key in object) {
|
|
48
|
+
if (typeof object[key] === 'function') {
|
|
49
|
+
object[key] = throwOnDestroyed;
|
|
50
|
+
} else {
|
|
51
|
+
delete object[key];
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
object.isDestroyed = returnTrue;
|
|
56
|
+
|
|
57
|
+
return undefined;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
return destroyObject;
|
|
61
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define(function() {
|
|
3
|
+
"use strict";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Freezes an object, using Object.freeze if available, otherwise returns
|
|
7
|
+
* the object unchanged. This function should be used in setup code to prevent
|
|
8
|
+
* errors from completely halting JavaScript execution in legacy browsers.
|
|
9
|
+
*
|
|
10
|
+
* @exports freezeObject
|
|
11
|
+
*/
|
|
12
|
+
var freezeObject = Object.freeze;
|
|
13
|
+
if (typeof freezeObject === 'undefined') {
|
|
14
|
+
freezeObject = function(o) {
|
|
15
|
+
return o;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return freezeObject;
|
|
20
|
+
});
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define(function() {
|
|
3
|
+
"use strict";
|
|
4
|
+
|
|
5
|
+
var context2DsByWidthAndHeight = {};
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Extract a pixel array from a loaded image. Draws the image
|
|
9
|
+
* into a canvas so it can read the pixels back.
|
|
10
|
+
*
|
|
11
|
+
* @exports getImagePixels
|
|
12
|
+
*
|
|
13
|
+
* @param {Image} image The image to extract pixels from.
|
|
14
|
+
*
|
|
15
|
+
* @returns {CanvasPixelArray} The pixels of the image.
|
|
16
|
+
*/
|
|
17
|
+
var getImagePixels = function(image, width, height) {
|
|
18
|
+
if (typeof width === 'undefined') {
|
|
19
|
+
width = image.width;
|
|
20
|
+
}
|
|
21
|
+
if (typeof height === 'undefined') {
|
|
22
|
+
height = image.height;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var context2DsByHeight = context2DsByWidthAndHeight[width];
|
|
26
|
+
if (typeof context2DsByHeight === 'undefined') {
|
|
27
|
+
context2DsByHeight = {};
|
|
28
|
+
context2DsByWidthAndHeight[width] = context2DsByHeight;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
var context2d = context2DsByHeight[height];
|
|
32
|
+
if (typeof context2d === 'undefined') {
|
|
33
|
+
var canvas = document.createElement('canvas');
|
|
34
|
+
canvas.width = width;
|
|
35
|
+
canvas.height = height;
|
|
36
|
+
context2d = canvas.getContext('2d');
|
|
37
|
+
context2d.globalCompositeOperation = 'copy';
|
|
38
|
+
context2DsByHeight[height] = context2d;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
context2d.drawImage(image, 0, 0, width, height);
|
|
42
|
+
return context2d.getImageData(0, 0, width, height).data;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
return getImagePixels;
|
|
46
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'./DeveloperError'
|
|
4
|
+
], function(
|
|
5
|
+
DeveloperError) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Determines if a given date is a leap year.
|
|
10
|
+
*
|
|
11
|
+
* @exports isLeapYear
|
|
12
|
+
*
|
|
13
|
+
* @param {Number} year The year to be tested.
|
|
14
|
+
*
|
|
15
|
+
* @return {Boolean} True if <code>year</code> is a leap yer.
|
|
16
|
+
*
|
|
17
|
+
* @exception {DeveloperError} year is required and must be a number.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* var leapYear = isLeapYear(2000); // true
|
|
21
|
+
*/
|
|
22
|
+
function isLeapYear(year) {
|
|
23
|
+
if (year === null || isNaN(year)) {
|
|
24
|
+
throw new DeveloperError('year is required and must be a number.');
|
|
25
|
+
}
|
|
26
|
+
return ((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return isLeapYear;
|
|
30
|
+
});
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'./defaultValue',
|
|
4
|
+
'./DeveloperError',
|
|
5
|
+
'../ThirdParty/when'
|
|
6
|
+
], function(
|
|
7
|
+
defaultValue,
|
|
8
|
+
DeveloperError,
|
|
9
|
+
when) {
|
|
10
|
+
"use strict";
|
|
11
|
+
|
|
12
|
+
function pushQueryParameter(array, name, value) {
|
|
13
|
+
array.push(encodeURIComponent(name) + '=' + encodeURIComponent(value));
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Requests a resource using JSONP.
|
|
18
|
+
*
|
|
19
|
+
* @exports jsonp
|
|
20
|
+
*
|
|
21
|
+
* @param {String} url The URL to request.
|
|
22
|
+
* @param {Object} [options.parameters] Any extra query parameters to append to the URL.
|
|
23
|
+
* @param {String} [options.callbackParameterName='callback'] The callback parameter name that the server expects.
|
|
24
|
+
* @param {Object} [options.proxy] A proxy to use for the request. This object is expected to have a getURL function which returns the proxied URL, if needed.
|
|
25
|
+
*
|
|
26
|
+
* @returns {Object} a promise that will resolve to the requested data when loaded.
|
|
27
|
+
*
|
|
28
|
+
* @see <a href='http://wiki.commonjs.org/wiki/Promises/A'>CommonJS Promises/A</a>
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* // load a data asynchronously
|
|
32
|
+
* jsonp('some/webservice').then(function(data) {
|
|
33
|
+
* // use the loaded data
|
|
34
|
+
* }, function() {
|
|
35
|
+
* // an error occurred
|
|
36
|
+
* });
|
|
37
|
+
*/
|
|
38
|
+
var jsonp = function(url, options) {
|
|
39
|
+
if (typeof url === 'undefined') {
|
|
40
|
+
throw new DeveloperError('url is required.');
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
options = defaultValue(options, {});
|
|
44
|
+
|
|
45
|
+
var deferred = when.defer();
|
|
46
|
+
|
|
47
|
+
//generate a unique function name
|
|
48
|
+
var functionName;
|
|
49
|
+
do {
|
|
50
|
+
functionName = 'jsonp' + Math.random().toString().substring(2, 8);
|
|
51
|
+
} while (typeof window[functionName] !== 'undefined');
|
|
52
|
+
|
|
53
|
+
//assign a function with that name in the global scope
|
|
54
|
+
window[functionName] = function(data) {
|
|
55
|
+
deferred.resolve(data);
|
|
56
|
+
|
|
57
|
+
try {
|
|
58
|
+
delete window[functionName];
|
|
59
|
+
} catch (e) {
|
|
60
|
+
window[functionName] = undefined;
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
var callbackParameterName = defaultValue(options.callbackParameterName, 'callback');
|
|
65
|
+
var queryParts = [];
|
|
66
|
+
pushQueryParameter(queryParts, callbackParameterName, functionName);
|
|
67
|
+
|
|
68
|
+
var parameters = defaultValue(options.parameters, {});
|
|
69
|
+
for ( var name in parameters) {
|
|
70
|
+
if (parameters.hasOwnProperty(name)) {
|
|
71
|
+
pushQueryParameter(queryParts, name, parameters[name]);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if (queryParts.length > 0) {
|
|
76
|
+
if (url.indexOf('?') === -1) {
|
|
77
|
+
url += '?';
|
|
78
|
+
} else {
|
|
79
|
+
url += '&';
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
url += queryParts.join('&');
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
var proxy = options.proxy;
|
|
86
|
+
if (typeof proxy !== 'undefined') {
|
|
87
|
+
url = proxy.getURL(url);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
jsonp.loadAndExecuteScript(url, functionName, deferred);
|
|
91
|
+
|
|
92
|
+
return deferred.promise;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
// This is broken out into a separate function so that it can be mocked for testing purposes.
|
|
96
|
+
jsonp.loadAndExecuteScript = function(url, functionName, deferred) {
|
|
97
|
+
var script = document.createElement('script');
|
|
98
|
+
script.async = true;
|
|
99
|
+
script.src = url;
|
|
100
|
+
|
|
101
|
+
var head = document.getElementsByTagName('head')[0];
|
|
102
|
+
script.onload = function() {
|
|
103
|
+
script.onload = undefined;
|
|
104
|
+
head.removeChild(script);
|
|
105
|
+
};
|
|
106
|
+
script.onerror = function(e) {
|
|
107
|
+
deferred.reject(e);
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
head.appendChild(script);
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
jsonp.defaultLoadAndExecuteScript = jsonp.loadAndExecuteScript;
|
|
114
|
+
|
|
115
|
+
return jsonp;
|
|
116
|
+
});
|