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,50 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define(function() {
|
|
3
|
+
"use strict";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A set of Earth Orientation Parameters (EOP) sampled at a time.
|
|
7
|
+
*
|
|
8
|
+
* @alias EarthOrientationParametersSample
|
|
9
|
+
* @constructor
|
|
10
|
+
*
|
|
11
|
+
* @param {Number} xPoleWander The pole wander about the X axis, in radians.
|
|
12
|
+
* @param {Number} yPoleWander The pole wander about the Y axis, in radians.
|
|
13
|
+
* @param {Number} xPoleOffset The offset to the Celestial Intermediate Pole (CIP) about the X axis, in radians.
|
|
14
|
+
* @param {Number} yPoleOffset The offset to the Celestial Intermediate Pole (CIP) about the Y axis, in radians.
|
|
15
|
+
* @param {Number} ut1MinusUtc The difference in time standards, UT1 - UTC, in seconds.
|
|
16
|
+
*/
|
|
17
|
+
var EarthOrientationParametersSample = function EarthOrientationParametersSample(xPoleWander, yPoleWander, xPoleOffset, yPoleOffset, ut1MinusUtc) {
|
|
18
|
+
/**
|
|
19
|
+
* The pole wander about the X axis, in radians.
|
|
20
|
+
* @type {Number}
|
|
21
|
+
*/
|
|
22
|
+
this.xPoleWander = xPoleWander;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The pole wander about the Y axis, in radians.
|
|
26
|
+
* @type {Number}
|
|
27
|
+
*/
|
|
28
|
+
this.yPoleWander = yPoleWander;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* The offset to the Celestial Intermediate Pole (CIP) about the X axis, in radians.
|
|
32
|
+
* @type {Number}
|
|
33
|
+
*/
|
|
34
|
+
this.xPoleOffset = xPoleOffset;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* The offset to the Celestial Intermediate Pole (CIP) about the Y axis, in radians.
|
|
38
|
+
* @type {Number}
|
|
39
|
+
*/
|
|
40
|
+
this.yPoleOffset = yPoleOffset;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* The difference in time standards, UT1 - UTC, in seconds.
|
|
44
|
+
* @type {Number}
|
|
45
|
+
*/
|
|
46
|
+
this.ut1MinusUtc = ut1MinusUtc;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
return EarthOrientationParametersSample;
|
|
50
|
+
});
|
|
@@ -0,0 +1,539 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'./freezeObject',
|
|
4
|
+
'./defaultValue',
|
|
5
|
+
'./DeveloperError',
|
|
6
|
+
'./Math',
|
|
7
|
+
'./Cartesian3',
|
|
8
|
+
'./Cartographic'
|
|
9
|
+
], function(
|
|
10
|
+
freezeObject,
|
|
11
|
+
defaultValue,
|
|
12
|
+
DeveloperError,
|
|
13
|
+
CesiumMath,
|
|
14
|
+
Cartesian3,
|
|
15
|
+
Cartographic) {
|
|
16
|
+
"use strict";
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* A quadratic surface defined in Cartesian coordinates by the equation
|
|
20
|
+
* <code>(x / a)^2 + (y / b)^2 + (z / c)^2 = 1</code>. Primarily used
|
|
21
|
+
* by Cesium to represent the shape of planetary bodies.
|
|
22
|
+
*
|
|
23
|
+
* Rather than constructing this object directly, one of the provided
|
|
24
|
+
* constants is normally used.
|
|
25
|
+
* @alias Ellipsoid
|
|
26
|
+
* @constructor
|
|
27
|
+
* @immutable
|
|
28
|
+
*
|
|
29
|
+
* @param {Number} [x=0] The radius in the x direction.
|
|
30
|
+
* @param {Number} [y=0] The radius in the y direction.
|
|
31
|
+
* @param {Number} [z=0] The radius in the z direction.
|
|
32
|
+
*
|
|
33
|
+
* @exception {DeveloperError} All radii components must be greater than or equal to zero.
|
|
34
|
+
*
|
|
35
|
+
* @see Ellipsoid.fromCartesian3
|
|
36
|
+
* @see Ellipsoid.WGS84
|
|
37
|
+
* @see Ellipsoid.UNIT_SPHERE
|
|
38
|
+
*/
|
|
39
|
+
var Ellipsoid = function(x, y, z) {
|
|
40
|
+
x = defaultValue(x, 0.0);
|
|
41
|
+
y = defaultValue(y, 0.0);
|
|
42
|
+
z = defaultValue(z, 0.0);
|
|
43
|
+
|
|
44
|
+
if (x < 0.0 || y < 0.0 || z < 0.0) {
|
|
45
|
+
throw new DeveloperError('All radii components must be greater than or equal to zero.');
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
this._radii = new Cartesian3(x, y, z);
|
|
49
|
+
|
|
50
|
+
this._radiiSquared = new Cartesian3(x * x,
|
|
51
|
+
y * y,
|
|
52
|
+
z * z);
|
|
53
|
+
|
|
54
|
+
this._radiiToTheFourth = new Cartesian3(x * x * x * x,
|
|
55
|
+
y * y * y * y,
|
|
56
|
+
z * z * z * z);
|
|
57
|
+
|
|
58
|
+
this._oneOverRadii = new Cartesian3(x === 0.0 ? 0.0 : 1.0 / x,
|
|
59
|
+
y === 0.0 ? 0.0 : 1.0 / y,
|
|
60
|
+
z === 0.0 ? 0.0 : 1.0 / z);
|
|
61
|
+
|
|
62
|
+
this._oneOverRadiiSquared = new Cartesian3(x === 0.0 ? 0.0 : 1.0 / (x * x),
|
|
63
|
+
y === 0.0 ? 0.0 : 1.0 / (y * y),
|
|
64
|
+
z === 0.0 ? 0.0 : 1.0 / (z * z));
|
|
65
|
+
|
|
66
|
+
this._minimumRadius = Math.min(x, y, z);
|
|
67
|
+
|
|
68
|
+
this._maximumRadius = Math.max(x, y, z);
|
|
69
|
+
|
|
70
|
+
this._centerToleranceSquared = CesiumMath.EPSILON1;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Computes an Ellipsoid from a Cartesian specifying the radii in x, y, and z directions.
|
|
75
|
+
*
|
|
76
|
+
* @param {Cartesian3} [radii=Cartesian3.ZERO] The ellipsoid's radius in the x, y, and z directions.
|
|
77
|
+
* @return {Ellipsoid} A new Ellipsoid instance.
|
|
78
|
+
*
|
|
79
|
+
* @exception {DeveloperError} All radii components must be greater than or equal to zero.
|
|
80
|
+
*
|
|
81
|
+
* @see Ellipsoid.WGS84
|
|
82
|
+
* @see Ellipsoid.UNIT_SPHERE
|
|
83
|
+
*/
|
|
84
|
+
Ellipsoid.fromCartesian3 = function(cartesian) {
|
|
85
|
+
if (typeof cartesian === 'undefined') {
|
|
86
|
+
return new Ellipsoid();
|
|
87
|
+
}
|
|
88
|
+
return new Ellipsoid(cartesian.x, cartesian.y, cartesian.z);
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* An Ellipsoid instance initialized to the WGS84 standard.
|
|
93
|
+
* @memberof Ellipsoid
|
|
94
|
+
*
|
|
95
|
+
* @see czm_getWgs84EllipsoidEC
|
|
96
|
+
*/
|
|
97
|
+
Ellipsoid.WGS84 = freezeObject(new Ellipsoid(6378137.0, 6378137.0, 6356752.3142451793));
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* An Ellipsoid instance initialized to radii of (1.0, 1.0, 1.0).
|
|
101
|
+
* @memberof Ellipsoid
|
|
102
|
+
*/
|
|
103
|
+
Ellipsoid.UNIT_SPHERE = freezeObject(new Ellipsoid(1.0, 1.0, 1.0));
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* @memberof Ellipsoid
|
|
107
|
+
* @return {Cartesian3} The radii of the ellipsoid.
|
|
108
|
+
*/
|
|
109
|
+
Ellipsoid.prototype.getRadii = function() {
|
|
110
|
+
return this._radii;
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* @memberof Ellipsoid
|
|
115
|
+
* @return {Cartesian3} The squared radii of the ellipsoid.
|
|
116
|
+
*/
|
|
117
|
+
Ellipsoid.prototype.getRadiiSquared = function() {
|
|
118
|
+
return this._radiiSquared;
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* @memberof Ellipsoid
|
|
123
|
+
* @return {Cartesian3} The radii of the ellipsoid raised to the fourth power.
|
|
124
|
+
*/
|
|
125
|
+
Ellipsoid.prototype.getRadiiToTheFourth = function() {
|
|
126
|
+
return this._radiiToTheFourth;
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* @memberof Ellipsoid
|
|
131
|
+
* @return {Cartesian3} One over the radii of the ellipsoid.
|
|
132
|
+
*/
|
|
133
|
+
Ellipsoid.prototype.getOneOverRadii = function() {
|
|
134
|
+
return this._oneOverRadii;
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* @memberof Ellipsoid
|
|
139
|
+
* @return {Cartesian3} One over the squared radii of the ellipsoid.
|
|
140
|
+
*/
|
|
141
|
+
Ellipsoid.prototype.getOneOverRadiiSquared = function() {
|
|
142
|
+
return this._oneOverRadiiSquared;
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* @memberof Ellipsoid
|
|
147
|
+
* @return {Cartesian3} The minimum radius of the ellipsoid.
|
|
148
|
+
*/
|
|
149
|
+
Ellipsoid.prototype.getMinimumRadius = function() {
|
|
150
|
+
return this._minimumRadius;
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* @memberof Ellipsoid
|
|
155
|
+
* @return {Cartesian3} The maximum radius of the ellipsoid.
|
|
156
|
+
*/
|
|
157
|
+
Ellipsoid.prototype.getMaximumRadius = function() {
|
|
158
|
+
return this._maximumRadius;
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Computes the unit vector directed from the center of this ellipsoid toward the provided Cartesian position.
|
|
163
|
+
* @memberof Ellipsoid
|
|
164
|
+
*
|
|
165
|
+
* @param {Cartesian3} cartesian The Cartesian for which to to determine the geocentric normal.
|
|
166
|
+
* @param {Cartesian3} [result] The object onto which to store the result.
|
|
167
|
+
* @return {Cartesian3} The modified result parameter or a new Cartesian3 instance if none was provided.
|
|
168
|
+
*
|
|
169
|
+
* @exception {DeveloperError} cartesian is required.
|
|
170
|
+
*/
|
|
171
|
+
Ellipsoid.prototype.geocentricSurfaceNormal = Cartesian3.normalize;
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Computes the normal of the plane tangent to the surface of the ellipsoid at the provided position.
|
|
175
|
+
* @memberof Ellipsoid
|
|
176
|
+
*
|
|
177
|
+
* @param {Cartographic} cartographic The cartographic position for which to to determine the geodetic normal.
|
|
178
|
+
* @param {Cartesian3} [result] The object onto which to store the result.
|
|
179
|
+
* @return {Cartesian3} The modified result parameter or a new Cartesian3 instance if none was provided.
|
|
180
|
+
*
|
|
181
|
+
* @exception {DeveloperError} cartographic is required.
|
|
182
|
+
*/
|
|
183
|
+
Ellipsoid.prototype.geodeticSurfaceNormalCartographic = function(cartographic, result) {
|
|
184
|
+
if (typeof cartographic === 'undefined') {
|
|
185
|
+
throw new DeveloperError('cartographic is required.');
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
var longitude = cartographic.longitude;
|
|
189
|
+
var latitude = cartographic.latitude;
|
|
190
|
+
var cosLatitude = Math.cos(latitude);
|
|
191
|
+
|
|
192
|
+
var x = cosLatitude * Math.cos(longitude);
|
|
193
|
+
var y = cosLatitude * Math.sin(longitude);
|
|
194
|
+
var z = Math.sin(latitude);
|
|
195
|
+
|
|
196
|
+
if (typeof result === 'undefined') {
|
|
197
|
+
result = new Cartesian3();
|
|
198
|
+
}
|
|
199
|
+
result.x = x;
|
|
200
|
+
result.y = y;
|
|
201
|
+
result.z = z;
|
|
202
|
+
return Cartesian3.normalize(result, result);
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Computes the normal of the plane tangent to the surface of the ellipsoid at the provided position.
|
|
207
|
+
* @memberof Ellipsoid
|
|
208
|
+
*
|
|
209
|
+
* @param {Cartesian3} cartesian The Cartesian position for which to to determine the surface normal.
|
|
210
|
+
* @param {Cartesian3} [result] The object onto which to store the result.
|
|
211
|
+
* @return {Cartesian3} The modified result parameter or a new Cartesian3 instance if none was provided.
|
|
212
|
+
*
|
|
213
|
+
* @exception {DeveloperError} cartesian is required.
|
|
214
|
+
*/
|
|
215
|
+
Ellipsoid.prototype.geodeticSurfaceNormal = function(cartesian, result) {
|
|
216
|
+
result = Cartesian3.multiplyComponents(cartesian, this._oneOverRadiiSquared, result);
|
|
217
|
+
return Cartesian3.normalize(result, result);
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
var cartographicToCartesianNormal = new Cartesian3();
|
|
221
|
+
var cartographicToCartesianK = new Cartesian3();
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Converts the provided cartographic to Cartesian representation.
|
|
225
|
+
* @memberof Ellipsoid
|
|
226
|
+
*
|
|
227
|
+
* @param {Cartographic} cartographic The cartographic position.
|
|
228
|
+
* @param {Cartesian3} [result] The object onto which to store the result.
|
|
229
|
+
* @return {Cartesian3} The modified result parameter or a new Cartesian3 instance if none was provided.
|
|
230
|
+
*
|
|
231
|
+
* @exception {DeveloperError} cartographic is required.
|
|
232
|
+
*
|
|
233
|
+
* @example
|
|
234
|
+
* //Create a Cartographic and determine it's Cartesian representation on a WGS84 ellipsoid.
|
|
235
|
+
* var position = new Cartographic(Math.toRadians(21), Math.toRadians(78), 5000);
|
|
236
|
+
* var cartesianPosition = Ellipsoid.WGS84.cartographicToCartesian(position);
|
|
237
|
+
*/
|
|
238
|
+
Ellipsoid.prototype.cartographicToCartesian = function(cartographic, result) {
|
|
239
|
+
//`cartographic is required` is thrown from geodeticSurfaceNormalCartographic.
|
|
240
|
+
var n = cartographicToCartesianNormal;
|
|
241
|
+
var k = cartographicToCartesianK;
|
|
242
|
+
this.geodeticSurfaceNormalCartographic(cartographic, n);
|
|
243
|
+
Cartesian3.multiplyComponents(this._radiiSquared, n, k);
|
|
244
|
+
var gamma = Math.sqrt(Cartesian3.dot(n, k));
|
|
245
|
+
Cartesian3.divideByScalar(k, gamma, k);
|
|
246
|
+
Cartesian3.multiplyByScalar(n, cartographic.height, n);
|
|
247
|
+
return Cartesian3.add(k, n, result);
|
|
248
|
+
};
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* Converts the provided array of cartographics to an array of Cartesians.
|
|
252
|
+
* @memberof Ellipsoid
|
|
253
|
+
*
|
|
254
|
+
* @param {Array} cartographics An array of cartographic positions.
|
|
255
|
+
* @param {Array} [result] The object onto which to store the result.
|
|
256
|
+
* @return {Array} The modified result parameter or a new Array instance if none was provided.
|
|
257
|
+
*
|
|
258
|
+
* @exception {DeveloperError} cartographics is required.
|
|
259
|
+
*
|
|
260
|
+
* @example
|
|
261
|
+
* //Convert an array of Cartographics and determine their Cartesian representation on a WGS84 ellipsoid.
|
|
262
|
+
* var positions = [new Cartographic(Math.toRadians(21), Math.toRadians(78), 0),
|
|
263
|
+
* new Cartographic(Math.toRadians(21.321), Math.toRadians(78.123), 100),
|
|
264
|
+
* new Cartographic(Math.toRadians(21.645), Math.toRadians(78.456), 250)
|
|
265
|
+
* var cartesianPositions = Ellipsoid.WGS84.cartographicArrayToCartesianArray(positions);
|
|
266
|
+
*/
|
|
267
|
+
Ellipsoid.prototype.cartographicArrayToCartesianArray = function(cartographics, result) {
|
|
268
|
+
if (typeof cartographics === 'undefined') {
|
|
269
|
+
throw new DeveloperError('cartographics is required.');
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
var length = cartographics.length;
|
|
273
|
+
if (typeof result === 'undefined') {
|
|
274
|
+
result = new Array(length);
|
|
275
|
+
} else {
|
|
276
|
+
result.length = length;
|
|
277
|
+
}
|
|
278
|
+
for ( var i = 0; i < length; i++) {
|
|
279
|
+
result[i] = this.cartographicToCartesian(cartographics[i], result[i]);
|
|
280
|
+
}
|
|
281
|
+
return result;
|
|
282
|
+
};
|
|
283
|
+
|
|
284
|
+
var cartesianToCartographicN = new Cartesian3();
|
|
285
|
+
var cartesianToCartographicP = new Cartesian3();
|
|
286
|
+
var cartesianToCartographicH = new Cartesian3();
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* Converts the provided cartesian to cartographic representation.
|
|
290
|
+
* The cartesian is undefined at the center of the ellipsoid.
|
|
291
|
+
* @memberof Ellipsoid
|
|
292
|
+
*
|
|
293
|
+
* @param {Cartesian3} cartesian The Cartesian position to convert to cartographic representation.
|
|
294
|
+
* @param {Cartographic} [result] The object onto which to store the result.
|
|
295
|
+
* @return {Cartographic} The modified result parameter, new Cartographic instance if none was provided, or undefined if the cartesian is at the center of the ellipsoid.
|
|
296
|
+
*
|
|
297
|
+
* @exception {DeveloperError} cartesian is required.
|
|
298
|
+
*
|
|
299
|
+
* @example
|
|
300
|
+
* //Create a Cartesian and determine it's Cartographic representation on a WGS84 ellipsoid.
|
|
301
|
+
* var position = new Cartesian(17832.12, 83234.52, 952313.73);
|
|
302
|
+
* var cartographicPosition = Ellipsoid.WGS84.cartesianToCartographic(position);
|
|
303
|
+
*/
|
|
304
|
+
Ellipsoid.prototype.cartesianToCartographic = function(cartesian, result) {
|
|
305
|
+
//`cartesian is required.` is thrown from scaleToGeodeticSurface
|
|
306
|
+
var p = this.scaleToGeodeticSurface(cartesian, cartesianToCartographicP);
|
|
307
|
+
|
|
308
|
+
if (typeof p === 'undefined') {
|
|
309
|
+
return undefined;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
var n = this.geodeticSurfaceNormal(p, cartesianToCartographicN);
|
|
313
|
+
var h = Cartesian3.subtract(cartesian, p, cartesianToCartographicH);
|
|
314
|
+
|
|
315
|
+
var longitude = Math.atan2(n.y, n.x);
|
|
316
|
+
var latitude = Math.asin(n.z);
|
|
317
|
+
var height = CesiumMath.sign(Cartesian3.dot(h, cartesian)) * Cartesian3.magnitude(h);
|
|
318
|
+
|
|
319
|
+
if (typeof result === 'undefined') {
|
|
320
|
+
return new Cartographic(longitude, latitude, height);
|
|
321
|
+
}
|
|
322
|
+
result.longitude = longitude;
|
|
323
|
+
result.latitude = latitude;
|
|
324
|
+
result.height = height;
|
|
325
|
+
return result;
|
|
326
|
+
};
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* Converts the provided array of cartesians to an array of cartographics.
|
|
330
|
+
* @memberof Ellipsoid
|
|
331
|
+
*
|
|
332
|
+
* @param {Array} cartesians An array of Cartesian positions.
|
|
333
|
+
* @param {Array} [result] The object onto which to store the result.
|
|
334
|
+
* @return {Array} The modified result parameter or a new Array instance if none was provided.
|
|
335
|
+
*
|
|
336
|
+
* @exception {DeveloperError} cartesians is required.
|
|
337
|
+
*
|
|
338
|
+
* @example
|
|
339
|
+
* //Create an array of Cartesians and determine their Cartographic representation on a WGS84 ellipsoid.
|
|
340
|
+
* var positions = [new Cartesian(17832.12, 83234.52, 952313.73),
|
|
341
|
+
* new Cartesian(17832.13, 83234.53, 952313.73),
|
|
342
|
+
* new Cartesian(17832.14, 83234.54, 952313.73)]
|
|
343
|
+
* var cartographicPositions = Ellipsoid.WGS84.cartesianArrayToCartographicArray(positions);
|
|
344
|
+
*/
|
|
345
|
+
Ellipsoid.prototype.cartesianArrayToCartographicArray = function(cartesians, result) {
|
|
346
|
+
if (typeof cartesians === 'undefined') {
|
|
347
|
+
throw new DeveloperError('cartesians is required.');
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
var length = cartesians.length;
|
|
351
|
+
if (typeof result === 'undefined') {
|
|
352
|
+
result = new Array(length);
|
|
353
|
+
} else {
|
|
354
|
+
result.length = length;
|
|
355
|
+
}
|
|
356
|
+
for ( var i = 0; i < length; ++i) {
|
|
357
|
+
result[i] = this.cartesianToCartographic(cartesians[i], result[i]);
|
|
358
|
+
}
|
|
359
|
+
return result;
|
|
360
|
+
};
|
|
361
|
+
|
|
362
|
+
var scaleToGeodeticSurfaceIntersection;
|
|
363
|
+
var scaleToGeodeticSurfaceGradient = new Cartesian3();
|
|
364
|
+
|
|
365
|
+
/**
|
|
366
|
+
* Scales the provided Cartesian position along the geodetic surface normal
|
|
367
|
+
* so that it is on the surface of this ellipsoid. If the position is
|
|
368
|
+
* at the center of the ellipsoid, this function returns undefined.
|
|
369
|
+
* @memberof Ellipsoid
|
|
370
|
+
*
|
|
371
|
+
* @param {Cartesian3} cartesian The Cartesian position to scale.
|
|
372
|
+
* @param {Cartesian3} [result] The object onto which to store the result.
|
|
373
|
+
* @return {Cartesian3} The modified result parameter, a new Cartesian3 instance if none was provided, or undefined if the position is at the center.
|
|
374
|
+
*
|
|
375
|
+
* @exception {DeveloperError} cartesian is required.
|
|
376
|
+
*/
|
|
377
|
+
Ellipsoid.prototype.scaleToGeodeticSurface = function(cartesian, result) {
|
|
378
|
+
if (typeof cartesian === 'undefined') {
|
|
379
|
+
throw new DeveloperError('cartesian is required.');
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
var positionX = cartesian.x;
|
|
383
|
+
var positionY = cartesian.y;
|
|
384
|
+
var positionZ = cartesian.z;
|
|
385
|
+
|
|
386
|
+
var oneOverRadii = this._oneOverRadii;
|
|
387
|
+
var oneOverRadiiX = oneOverRadii.x;
|
|
388
|
+
var oneOverRadiiY = oneOverRadii.y;
|
|
389
|
+
var oneOverRadiiZ = oneOverRadii.z;
|
|
390
|
+
|
|
391
|
+
var x2 = positionX * positionX * oneOverRadiiX * oneOverRadiiX;
|
|
392
|
+
var y2 = positionY * positionY * oneOverRadiiY * oneOverRadiiY;
|
|
393
|
+
var z2 = positionZ * positionZ * oneOverRadiiZ * oneOverRadiiZ;
|
|
394
|
+
|
|
395
|
+
// Compute the squared ellipsoid norm.
|
|
396
|
+
var squaredNorm = x2 + y2 + z2;
|
|
397
|
+
var ratio = Math.sqrt(1.0 / squaredNorm);
|
|
398
|
+
|
|
399
|
+
// As an initial approximation, assume that the radial intersection is the projection point.
|
|
400
|
+
var intersection = Cartesian3.multiplyByScalar(cartesian, ratio, scaleToGeodeticSurfaceIntersection);
|
|
401
|
+
|
|
402
|
+
//* If the position is near the center, the iteration will not converge.
|
|
403
|
+
if (squaredNorm < this._centerToleranceSquared) {
|
|
404
|
+
return !isFinite(ratio) ? undefined : Cartesian3.clone(intersection, result);
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
var oneOverRadiiSquared = this._oneOverRadiiSquared;
|
|
408
|
+
var oneOverRadiiSquaredX = oneOverRadiiSquared.x;
|
|
409
|
+
var oneOverRadiiSquaredY = oneOverRadiiSquared.y;
|
|
410
|
+
var oneOverRadiiSquaredZ = oneOverRadiiSquared.z;
|
|
411
|
+
|
|
412
|
+
// Use the gradient at the intersection point in place of the true unit normal.
|
|
413
|
+
// The difference in magnitude will be absorbed in the multiplier.
|
|
414
|
+
var gradient = scaleToGeodeticSurfaceGradient;
|
|
415
|
+
gradient.x = intersection.x * oneOverRadiiSquaredX * 2.0;
|
|
416
|
+
gradient.y = intersection.y * oneOverRadiiSquaredY * 2.0;
|
|
417
|
+
gradient.z = intersection.z * oneOverRadiiSquaredZ * 2.0;
|
|
418
|
+
|
|
419
|
+
// Compute the initial guess at the normal vector multiplier, lambda.
|
|
420
|
+
var lambda = (1.0 - ratio) * Cartesian3.magnitude(cartesian) / (0.5 * Cartesian3.magnitude(gradient));
|
|
421
|
+
var correction = 0.0;
|
|
422
|
+
|
|
423
|
+
var func;
|
|
424
|
+
var denominator;
|
|
425
|
+
var xMultiplier;
|
|
426
|
+
var yMultiplier;
|
|
427
|
+
var zMultiplier;
|
|
428
|
+
var xMultiplier2;
|
|
429
|
+
var yMultiplier2;
|
|
430
|
+
var zMultiplier2;
|
|
431
|
+
var xMultiplier3;
|
|
432
|
+
var yMultiplier3;
|
|
433
|
+
var zMultiplier3;
|
|
434
|
+
|
|
435
|
+
do {
|
|
436
|
+
lambda -= correction;
|
|
437
|
+
|
|
438
|
+
xMultiplier = 1.0 / (1.0 + lambda * oneOverRadiiSquaredX);
|
|
439
|
+
yMultiplier = 1.0 / (1.0 + lambda * oneOverRadiiSquaredY);
|
|
440
|
+
zMultiplier = 1.0 / (1.0 + lambda * oneOverRadiiSquaredZ);
|
|
441
|
+
|
|
442
|
+
xMultiplier2 = xMultiplier * xMultiplier;
|
|
443
|
+
yMultiplier2 = yMultiplier * yMultiplier;
|
|
444
|
+
zMultiplier2 = zMultiplier * zMultiplier;
|
|
445
|
+
|
|
446
|
+
xMultiplier3 = xMultiplier2 * xMultiplier;
|
|
447
|
+
yMultiplier3 = yMultiplier2 * yMultiplier;
|
|
448
|
+
zMultiplier3 = zMultiplier2 * zMultiplier;
|
|
449
|
+
|
|
450
|
+
func = x2 * xMultiplier2 + y2 * yMultiplier2 + z2 * zMultiplier2 - 1.0;
|
|
451
|
+
|
|
452
|
+
// "denominator" here refers to the use of this expression in the velocity and acceleration
|
|
453
|
+
// computations in the sections to follow.
|
|
454
|
+
denominator = x2 * xMultiplier3 * oneOverRadiiSquaredX + y2 * yMultiplier3 * oneOverRadiiSquaredY + z2 * zMultiplier3 * oneOverRadiiSquaredZ;
|
|
455
|
+
|
|
456
|
+
var derivative = -2.0 * denominator;
|
|
457
|
+
|
|
458
|
+
correction = func / derivative;
|
|
459
|
+
} while (Math.abs(func) > CesiumMath.EPSILON12);
|
|
460
|
+
|
|
461
|
+
if (typeof result === 'undefined') {
|
|
462
|
+
return new Cartesian3(positionX * xMultiplier, positionY * yMultiplier, positionZ * zMultiplier);
|
|
463
|
+
}
|
|
464
|
+
result.x = positionX * xMultiplier;
|
|
465
|
+
result.y = positionY * yMultiplier;
|
|
466
|
+
result.z = positionZ * zMultiplier;
|
|
467
|
+
return result;
|
|
468
|
+
};
|
|
469
|
+
|
|
470
|
+
/**
|
|
471
|
+
* Scales the provided Cartesian position along the geocentric surface normal
|
|
472
|
+
* so that it is on the surface of this ellipsoid.
|
|
473
|
+
* @memberof Ellipsoid
|
|
474
|
+
*
|
|
475
|
+
* @param {Cartesian3} cartesian The Cartesian position to scale.
|
|
476
|
+
* @param {Cartesian3} [result] The object onto which to store the result.
|
|
477
|
+
* @return {Cartesian3} The modified result parameter or a new Cartesian3 instance if none was provided.
|
|
478
|
+
*
|
|
479
|
+
* @exception {DeveloperError} cartesian is required.
|
|
480
|
+
*/
|
|
481
|
+
Ellipsoid.prototype.scaleToGeocentricSurface = function(cartesian, result) {
|
|
482
|
+
if (typeof cartesian === 'undefined') {
|
|
483
|
+
throw new DeveloperError('cartesian is required.');
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
var positionX = cartesian.x;
|
|
487
|
+
var positionY = cartesian.y;
|
|
488
|
+
var positionZ = cartesian.z;
|
|
489
|
+
var oneOverRadiiSquared = this._oneOverRadiiSquared;
|
|
490
|
+
|
|
491
|
+
var beta = 1.0 / Math.sqrt((positionX * positionX) * oneOverRadiiSquared.x +
|
|
492
|
+
(positionY * positionY) * oneOverRadiiSquared.y +
|
|
493
|
+
(positionZ * positionZ) * oneOverRadiiSquared.z);
|
|
494
|
+
|
|
495
|
+
return Cartesian3.multiplyByScalar(cartesian, beta, result);
|
|
496
|
+
};
|
|
497
|
+
|
|
498
|
+
/**
|
|
499
|
+
* Transforms a Cartesian X, Y, Z position to the ellipsoid-scaled space by multiplying
|
|
500
|
+
* its components by the result of {@link Ellipsoid#getOneOverRadii}.
|
|
501
|
+
*
|
|
502
|
+
* @memberof Ellipsoid
|
|
503
|
+
*
|
|
504
|
+
* @param {Cartesian3} position The position to transform.
|
|
505
|
+
* @param {Cartesian3} [result] The position to which to copy the result, or undefined to create and
|
|
506
|
+
* return a new instance.
|
|
507
|
+
* @returns {Cartesian3} The position expressed in the scaled space. The returned instance is the
|
|
508
|
+
* one passed as the result parameter if it is not undefined, or a new instance of it is.
|
|
509
|
+
*/
|
|
510
|
+
Ellipsoid.prototype.transformPositionToScaledSpace = function(position, result) {
|
|
511
|
+
return Cartesian3.multiplyComponents(position, this._oneOverRadii, result);
|
|
512
|
+
};
|
|
513
|
+
|
|
514
|
+
/**
|
|
515
|
+
* Compares this Ellipsoid against the provided Ellipsoid componentwise and returns
|
|
516
|
+
* <code>true</code> if they are equal, <code>false</code> otherwise.
|
|
517
|
+
* @memberof Ellipsoid
|
|
518
|
+
*
|
|
519
|
+
* @param {Ellipsoid} [right] The other Ellipsoid.
|
|
520
|
+
* @return {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
|
|
521
|
+
*/
|
|
522
|
+
Ellipsoid.prototype.equals = function(right) {
|
|
523
|
+
return (this === right) ||
|
|
524
|
+
(typeof right !== 'undefined' &&
|
|
525
|
+
Cartesian3.equals(this._radii, right._radii));
|
|
526
|
+
};
|
|
527
|
+
|
|
528
|
+
/**
|
|
529
|
+
* Creates a string representing this Ellipsoid in the format '(radii.x, radii.y, radii.z)'.
|
|
530
|
+
* @memberof Ellipsoid
|
|
531
|
+
*
|
|
532
|
+
* @return {String} A string representing this ellipsoid in the format '(radii.x, radii.y, radii.z)'.
|
|
533
|
+
*/
|
|
534
|
+
Ellipsoid.prototype.toString = function() {
|
|
535
|
+
return this._radii.toString();
|
|
536
|
+
};
|
|
537
|
+
|
|
538
|
+
return Ellipsoid;
|
|
539
|
+
});
|