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,125 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'../Core/JulianDate',
|
|
4
|
+
'../Core/TimeInterval',
|
|
5
|
+
'../Core/TimeIntervalCollection',
|
|
6
|
+
'../Core/Iso8601',
|
|
7
|
+
'./DynamicColorMaterial',
|
|
8
|
+
'./DynamicImageMaterial'
|
|
9
|
+
], function(
|
|
10
|
+
JulianDate,
|
|
11
|
+
TimeInterval,
|
|
12
|
+
TimeIntervalCollection,
|
|
13
|
+
Iso8601,
|
|
14
|
+
DynamicColorMaterial,
|
|
15
|
+
DynamicImageMaterial) {
|
|
16
|
+
"use strict";
|
|
17
|
+
|
|
18
|
+
var potentialMaterials = [DynamicColorMaterial, DynamicImageMaterial];
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* A dynamic property which stores data for multiple types of materials
|
|
22
|
+
* associated with the same property over time. Rather than creating instances
|
|
23
|
+
* of this object directly, it's typically created and managed via loading CZML
|
|
24
|
+
* data into a DynamicObjectCollection.
|
|
25
|
+
*
|
|
26
|
+
* @alias DynamicMaterialProperty
|
|
27
|
+
* @internalconstructor
|
|
28
|
+
*
|
|
29
|
+
* @see DynamicObject
|
|
30
|
+
* @see DynamicProperty
|
|
31
|
+
* @see ReferenceProperty
|
|
32
|
+
* @see DynamicPositionProperty
|
|
33
|
+
* @see DynamicDirectionsProperty
|
|
34
|
+
* @see DynamicVertexPositionsProperty
|
|
35
|
+
*/
|
|
36
|
+
var DynamicMaterialProperty = function() {
|
|
37
|
+
this._intervals = new TimeIntervalCollection();
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Processes the provided CZML interval or intervals into this property.
|
|
43
|
+
* @memberof DynamicMaterialProperty
|
|
44
|
+
*
|
|
45
|
+
* @param {Object} czmlIntervals The CZML data to process.
|
|
46
|
+
* @param {TimeInterval} [constrainedInterval] Constrains the processing so that any times outside of this interval are ignored.
|
|
47
|
+
* @param {String} [sourceUri] The originating url of the CZML being processed.
|
|
48
|
+
*/
|
|
49
|
+
DynamicMaterialProperty.prototype.processCzmlIntervals = function(czmlIntervals, constrainedInterval, sourceUri) {
|
|
50
|
+
if (Array.isArray(czmlIntervals)) {
|
|
51
|
+
for ( var i = 0, len = czmlIntervals.length; i < len; i++) {
|
|
52
|
+
this._addCzmlInterval(czmlIntervals[i], constrainedInterval, sourceUri);
|
|
53
|
+
}
|
|
54
|
+
} else {
|
|
55
|
+
this._addCzmlInterval(czmlIntervals, constrainedInterval, sourceUri);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Returns the value of the property at the specified time.
|
|
61
|
+
* @memberof DynamicMaterialProperty
|
|
62
|
+
*
|
|
63
|
+
* @param {JulianDate} time The time for which to retrieve the value.
|
|
64
|
+
* @param {Context} [context] The context in which the material exists.
|
|
65
|
+
* @param {Object} [result] The object to store the value into, if omitted, a new instance is created and returned.
|
|
66
|
+
* @returns The modified result parameter or a new instance if the result parameter was not supplied.
|
|
67
|
+
*/
|
|
68
|
+
DynamicMaterialProperty.prototype.getValue = function(time, context, existingMaterial) {
|
|
69
|
+
var value = this._intervals.findIntervalContainingDate(time);
|
|
70
|
+
var material = typeof value !== 'undefined' ? value.data : undefined;
|
|
71
|
+
if (typeof material !== 'undefined') {
|
|
72
|
+
return material.getValue(time, context, existingMaterial);
|
|
73
|
+
}
|
|
74
|
+
return existingMaterial;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
DynamicMaterialProperty.prototype._addCzmlInterval = function(czmlInterval, constrainedInterval, sourceUri) {
|
|
78
|
+
var iso8601Interval = czmlInterval.interval;
|
|
79
|
+
if (typeof iso8601Interval === 'undefined') {
|
|
80
|
+
iso8601Interval = Iso8601.MAXIMUM_INTERVAL.clone();
|
|
81
|
+
} else {
|
|
82
|
+
iso8601Interval = TimeInterval.fromIso8601(iso8601Interval);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (typeof constrainedInterval !== 'undefined') {
|
|
86
|
+
iso8601Interval = iso8601Interval.intersect(constrainedInterval);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
//See if we already have data at that interval.
|
|
90
|
+
var thisIntervals = this._intervals;
|
|
91
|
+
var existingInterval = thisIntervals.findInterval(iso8601Interval.start, iso8601Interval.stop);
|
|
92
|
+
var foundMaterial = false;
|
|
93
|
+
var existingMaterial;
|
|
94
|
+
|
|
95
|
+
if (typeof existingInterval !== 'undefined') {
|
|
96
|
+
//We have an interval, but we need to make sure the
|
|
97
|
+
//new data is the same type of material as the old data.
|
|
98
|
+
existingMaterial = existingInterval.data;
|
|
99
|
+
foundMaterial = existingMaterial.isMaterial(czmlInterval);
|
|
100
|
+
} else {
|
|
101
|
+
//If not, create it.
|
|
102
|
+
existingInterval = iso8601Interval;
|
|
103
|
+
thisIntervals.addInterval(existingInterval);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
//If the new data was a different type, look for a handler for this type.
|
|
107
|
+
if (foundMaterial === false) {
|
|
108
|
+
for ( var i = 0, len = potentialMaterials.length; i < len; i++) {
|
|
109
|
+
var PotentialMaterial = potentialMaterials[i];
|
|
110
|
+
foundMaterial = PotentialMaterial.isMaterial(czmlInterval);
|
|
111
|
+
if (foundMaterial) {
|
|
112
|
+
existingInterval.data = existingMaterial = new PotentialMaterial();
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
//We could handle the data, prcess it.
|
|
119
|
+
if (foundMaterial) {
|
|
120
|
+
existingMaterial.processCzmlIntervals(czmlInterval, sourceUri);
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
return DynamicMaterialProperty;
|
|
125
|
+
});
|
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'../Core/createGuid',
|
|
4
|
+
'../Core/DeveloperError',
|
|
5
|
+
'../Core/TimeInterval',
|
|
6
|
+
'../Core/defaultValue',
|
|
7
|
+
'./DynamicProperty',
|
|
8
|
+
'./DynamicPositionProperty',
|
|
9
|
+
'./DynamicVertexPositionsProperty',
|
|
10
|
+
'./CzmlUnitQuaternion',
|
|
11
|
+
'./CzmlCartesian3'
|
|
12
|
+
], function(
|
|
13
|
+
createGuid,
|
|
14
|
+
DeveloperError,
|
|
15
|
+
TimeInterval,
|
|
16
|
+
defaultValue,
|
|
17
|
+
DynamicProperty,
|
|
18
|
+
DynamicPositionProperty,
|
|
19
|
+
DynamicVertexPositionsProperty,
|
|
20
|
+
CzmlUnitQuaternion,
|
|
21
|
+
CzmlCartesian3) {
|
|
22
|
+
"use strict";
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* DynamicObject instances are the primary data store for processed CZML data.
|
|
26
|
+
* They are used primarily by the visualizers to create and maintain graphic
|
|
27
|
+
* primitives that represent the DynamicObject's properties at a specific time.
|
|
28
|
+
* @alias DynamicObject
|
|
29
|
+
* @constructor
|
|
30
|
+
*
|
|
31
|
+
* @param {Object} [id] A unique identifier for this object. If no id is provided, a GUID is generated.
|
|
32
|
+
*
|
|
33
|
+
* @see DynamicProperty
|
|
34
|
+
* @see DynamicPositionProperty
|
|
35
|
+
* @see DynamicVertexiPositionsProperty
|
|
36
|
+
* @see DynamicObjectCollection
|
|
37
|
+
* @see CompositeDynamicObjectCollection
|
|
38
|
+
* @see DynamicBillboard
|
|
39
|
+
* @see DynamicCone
|
|
40
|
+
* @see DynamicLabel
|
|
41
|
+
* @see DynamicPoint
|
|
42
|
+
* @see DynamicPolygon
|
|
43
|
+
* @see DynamicPolyline
|
|
44
|
+
* @see DynamicPyramid
|
|
45
|
+
*/
|
|
46
|
+
var DynamicObject = function(id) {
|
|
47
|
+
this._cachedAvailabilityDate = undefined;
|
|
48
|
+
this._cachedAvailabilityValue = undefined;
|
|
49
|
+
|
|
50
|
+
if (typeof id === 'undefined') {
|
|
51
|
+
id = createGuid();
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* A unique id associated with this object.
|
|
56
|
+
*/
|
|
57
|
+
this.id = id;
|
|
58
|
+
|
|
59
|
+
//Add standard CZML properties. Even though they won't all be used
|
|
60
|
+
//for each object, having the superset explicitly listed here will allow the
|
|
61
|
+
//compiler to optimize this class. It also allows us to document them.
|
|
62
|
+
//Any changes to this list should coincide with changes to CzmlDefaults.updaters
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The availability TimeInterval, if any, associated with this object.
|
|
66
|
+
* If availability is undefined, it is assumed that this object's
|
|
67
|
+
* other properties will return valid data for any provided time.
|
|
68
|
+
* If availability exists, the objects other properties will only
|
|
69
|
+
* provide valid data if queried within the given interval.
|
|
70
|
+
* @type TimeInterval
|
|
71
|
+
*/
|
|
72
|
+
this.availability = undefined;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Gets or sets the position.
|
|
76
|
+
* @type DynamicPositionProperty
|
|
77
|
+
*/
|
|
78
|
+
this.position = undefined;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Gets or sets the orientation.
|
|
82
|
+
* @type DynamicProperty
|
|
83
|
+
*/
|
|
84
|
+
this.orientation = undefined;
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Gets or sets the billboard.
|
|
88
|
+
* @type DynamicBillboard
|
|
89
|
+
*/
|
|
90
|
+
this.billboard = undefined;
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Gets or sets the cone.
|
|
94
|
+
* @type DynamicCone
|
|
95
|
+
*/
|
|
96
|
+
this.cone = undefined;
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Gets or sets the ellipsoid.
|
|
100
|
+
* @type DynamicEllipsoid
|
|
101
|
+
*/
|
|
102
|
+
this.ellipsoid = undefined;
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Gets or sets the label.
|
|
106
|
+
* @type DynamicLabel
|
|
107
|
+
*/
|
|
108
|
+
this.label = undefined;
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Gets or sets the path.
|
|
112
|
+
* @type DynamicPath
|
|
113
|
+
*/
|
|
114
|
+
this.path = undefined;
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Gets or sets the point graphic.
|
|
118
|
+
* @type DynamicPoint
|
|
119
|
+
*/
|
|
120
|
+
this.point = undefined;
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Gets or sets the polygon.
|
|
124
|
+
* @type DynamicPolygon
|
|
125
|
+
*/
|
|
126
|
+
this.polygon = undefined;
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Gets or sets the polyline.
|
|
130
|
+
* @type DynamicPolyline
|
|
131
|
+
*/
|
|
132
|
+
this.polyline = undefined;
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Gets or sets the pyramid.
|
|
136
|
+
* @type DynamicPyramid
|
|
137
|
+
*/
|
|
138
|
+
this.pyramid = undefined;
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Gets or sets the vertex positions.
|
|
142
|
+
* @type DynamicVertexPositionsProperty
|
|
143
|
+
*/
|
|
144
|
+
this.vertexPositions = undefined;
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Gets or sets the suggested initial offset for viewing this object
|
|
148
|
+
* with the camera. The offset is defined in the east-north-up reference frame.
|
|
149
|
+
* @type Cartesian3
|
|
150
|
+
*/
|
|
151
|
+
this.viewFrom = undefined;
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Given a time, returns true if this object should have data during that time.
|
|
156
|
+
* @param {JulianDate} time The time to check availability for.
|
|
157
|
+
* @exception {DeveloperError} time is required.
|
|
158
|
+
* @returns true if the object should have data during the provided time, false otherwise.
|
|
159
|
+
*/
|
|
160
|
+
DynamicObject.prototype.isAvailable = function(time) {
|
|
161
|
+
if (typeof time === 'undefined') {
|
|
162
|
+
throw new DeveloperError('time is required.');
|
|
163
|
+
}
|
|
164
|
+
if (typeof this.availability === 'undefined') {
|
|
165
|
+
return true;
|
|
166
|
+
}
|
|
167
|
+
if (this._cachedAvailabilityDate === time) {
|
|
168
|
+
return this._cachedAvailabilityValue;
|
|
169
|
+
}
|
|
170
|
+
this._cachedAvailabilityDate = time;
|
|
171
|
+
return this._cachedAvailabilityValue = this.availability.contains(time);
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Processes a single CZML packet and merges its data into the provided DynamicObject's position
|
|
176
|
+
* property. This method is not normally called directly, but is part of the array of CZML processing
|
|
177
|
+
* functions that is passed into the DynamicObjectCollection constructor.
|
|
178
|
+
*
|
|
179
|
+
* @param {DynamicObject} dynamicObject The DynamicObject which will contain the position data.
|
|
180
|
+
* @param {Object} packet The CZML packet to process.
|
|
181
|
+
* @returns {Boolean} true if the property was newly created while processing the packet, false otherwise.
|
|
182
|
+
*
|
|
183
|
+
* @see DynamicPositionProperty
|
|
184
|
+
* @see DynamicObjectCollection
|
|
185
|
+
* @see CzmlDefaults#updaters
|
|
186
|
+
*/
|
|
187
|
+
DynamicObject.processCzmlPacketPosition = function(dynamicObject, packet) {
|
|
188
|
+
var positionData = packet.position;
|
|
189
|
+
if (typeof positionData === 'undefined') {
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
var position = dynamicObject.position;
|
|
194
|
+
var propertyCreated = typeof position === 'undefined';
|
|
195
|
+
if (propertyCreated) {
|
|
196
|
+
dynamicObject.position = position = new DynamicPositionProperty();
|
|
197
|
+
}
|
|
198
|
+
position.processCzmlIntervals(positionData);
|
|
199
|
+
return propertyCreated;
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Processes a single CZML packet and merges its data into the provided DynamicObject's viewFrom
|
|
204
|
+
* property. This method is not normally called directly, but is part of the array of CZML processing
|
|
205
|
+
* functions that is passed into the DynamicObjectCollection constructor.
|
|
206
|
+
*
|
|
207
|
+
* @param {DynamicObject} dynamicObject The DynamicObject which will contain the viewFrom data.
|
|
208
|
+
* @param {Object} packet The CZML packet to process.
|
|
209
|
+
* @returns {Boolean} true if the property was newly created while processing the packet, false otherwise.
|
|
210
|
+
*
|
|
211
|
+
* @see DynamicProperty
|
|
212
|
+
* @see DynamicObjectCollection
|
|
213
|
+
* @see CzmlDefaults#updaters
|
|
214
|
+
*/
|
|
215
|
+
DynamicObject.processCzmlPacketViewFrom = function(dynamicObject, packet) {
|
|
216
|
+
var viewFromData = packet.viewFrom;
|
|
217
|
+
if (typeof viewFromData === 'undefined') {
|
|
218
|
+
return false;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
var viewFrom = dynamicObject.viewFrom;
|
|
222
|
+
var propertyCreated = typeof viewFrom === 'undefined';
|
|
223
|
+
if (propertyCreated) {
|
|
224
|
+
dynamicObject.viewFrom = viewFrom = new DynamicProperty(CzmlCartesian3);
|
|
225
|
+
}
|
|
226
|
+
viewFrom.processCzmlIntervals(viewFromData);
|
|
227
|
+
return propertyCreated;
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* Processes a single CZML packet and merges its data into the provided DynamicObject's orientation
|
|
232
|
+
* property. This method is not normally called directly, but is part of the array of CZML processing
|
|
233
|
+
* functions that is passed into the DynamicObjectCollection constructor.
|
|
234
|
+
*
|
|
235
|
+
* @param {DynamicObject} dynamicObject The DynamicObject which will contain the orientation data.
|
|
236
|
+
* @param {Object} packet The CZML packet to process.
|
|
237
|
+
* @returns {Boolean} true if the property was newly created while processing the packet, false otherwise.
|
|
238
|
+
*
|
|
239
|
+
* @see DynamicProperty
|
|
240
|
+
* @see DynamicObjectCollection
|
|
241
|
+
* @see CzmlDefaults#updaters
|
|
242
|
+
*/
|
|
243
|
+
DynamicObject.processCzmlPacketOrientation = function(dynamicObject, packet) {
|
|
244
|
+
var orientationData = packet.orientation;
|
|
245
|
+
if (typeof orientationData === 'undefined') {
|
|
246
|
+
return false;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
var orientation = dynamicObject.orientation;
|
|
250
|
+
var propertyCreated = typeof orientation === 'undefined';
|
|
251
|
+
if (propertyCreated) {
|
|
252
|
+
dynamicObject.orientation = orientation = new DynamicProperty(CzmlUnitQuaternion);
|
|
253
|
+
}
|
|
254
|
+
orientation.processCzmlIntervals(orientationData);
|
|
255
|
+
return propertyCreated;
|
|
256
|
+
};
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* Processes a single CZML packet and merges its data into the provided DynamicObject's vertexPositions
|
|
260
|
+
* property. This method is not normally called directly, but is part of the array of CZML processing
|
|
261
|
+
* functions that is passed into the DynamicObjectCollection constructor.
|
|
262
|
+
*
|
|
263
|
+
* @param {DynamicObject} dynamicObject The DynamicObject which will contain the vertexPositions data.
|
|
264
|
+
* @param {Object} packet The CZML packet to process.
|
|
265
|
+
* @param {DynamicObjectCollection} dynamicObjectCollection The collection to use to resolve any CZML properly links.
|
|
266
|
+
* @returns {Boolean} true if the property was newly created while processing the packet, false otherwise.
|
|
267
|
+
*
|
|
268
|
+
* @see DynamicProperty
|
|
269
|
+
* @see DynamicObjectCollection
|
|
270
|
+
* @see CzmlDefaults#updaters
|
|
271
|
+
*/
|
|
272
|
+
DynamicObject.processCzmlPacketVertexPositions = function(dynamicObject, packet, dynamicObjectCollection) {
|
|
273
|
+
var vertexPositionsData = packet.vertexPositions;
|
|
274
|
+
if (typeof vertexPositionsData === 'undefined') {
|
|
275
|
+
return false;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
var vertexPositions = dynamicObject.vertexPositions;
|
|
279
|
+
var propertyCreated = typeof dynamicObject.vertexPositions === 'undefined';
|
|
280
|
+
if (propertyCreated) {
|
|
281
|
+
dynamicObject.vertexPositions = vertexPositions = new DynamicVertexPositionsProperty();
|
|
282
|
+
}
|
|
283
|
+
vertexPositions.processCzmlIntervals(vertexPositionsData, undefined, dynamicObjectCollection);
|
|
284
|
+
return propertyCreated;
|
|
285
|
+
};
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* Processes a single CZML packet and merges its data into the provided DynamicObject's availability
|
|
289
|
+
* property. This method is not normally called directly, but is part of the array of CZML processing
|
|
290
|
+
* functions that is passed into the DynamicObjectCollection constructor.
|
|
291
|
+
*
|
|
292
|
+
* @param {DynamicObject} dynamicObject The DynamicObject which will contain the availability data.
|
|
293
|
+
* @param {Object} packet The CZML packet to process.
|
|
294
|
+
* @returns {Boolean} true if the property was newly created while processing the packet, false otherwise.
|
|
295
|
+
*
|
|
296
|
+
* @see DynamicProperty
|
|
297
|
+
* @see DynamicObjectCollection
|
|
298
|
+
* @see CzmlDefaults#updaters
|
|
299
|
+
*/
|
|
300
|
+
DynamicObject.processCzmlPacketAvailability = function(dynamicObject, packet) {
|
|
301
|
+
var availability = packet.availability;
|
|
302
|
+
if (typeof availability === 'undefined') {
|
|
303
|
+
return false;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
var propertyChanged = false;
|
|
307
|
+
var interval = TimeInterval.fromIso8601(availability);
|
|
308
|
+
if (typeof interval !== 'undefined') {
|
|
309
|
+
propertyChanged = dynamicObject._setAvailability(interval);
|
|
310
|
+
}
|
|
311
|
+
return propertyChanged;
|
|
312
|
+
};
|
|
313
|
+
|
|
314
|
+
/**
|
|
315
|
+
* Given two DynamicObjects, takes the position, orientation, vertexPositions and availability
|
|
316
|
+
* properties from the second and assigns them to the first, assuming such properties did not
|
|
317
|
+
* already exist. This method is not normally called directly, but is part of the array of CZML
|
|
318
|
+
* processing functions that is passed into the CompositeDynamicObjectCollection constructor.
|
|
319
|
+
*
|
|
320
|
+
* @param {DynamicObject} targetObject The DynamicObject which will have properties merged onto it.
|
|
321
|
+
* @param {DynamicObject} objectToMerge The DynamicObject containing properties to be merged.
|
|
322
|
+
*
|
|
323
|
+
* @see CzmlDefaults
|
|
324
|
+
*/
|
|
325
|
+
DynamicObject.mergeProperties = function(targetObject, objectToMerge) {
|
|
326
|
+
targetObject.position = defaultValue(targetObject.position, objectToMerge.position);
|
|
327
|
+
targetObject.orientation = defaultValue(targetObject.orientation, objectToMerge.orientation);
|
|
328
|
+
targetObject.vertexPositions = defaultValue(targetObject.vertexPositions, objectToMerge.vertexPositions);
|
|
329
|
+
targetObject.viewFrom = defaultValue(targetObject.viewFrom, objectToMerge.viewFrom);
|
|
330
|
+
var availability = objectToMerge.availability;
|
|
331
|
+
if (typeof availability !== 'undefined') {
|
|
332
|
+
targetObject._setAvailability(availability);
|
|
333
|
+
}
|
|
334
|
+
};
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* Given a DynamicObject, undefines the position, orientation, vertexPositions and availability
|
|
338
|
+
* associated with it. This method is not normally called directly, but is part of the array of
|
|
339
|
+
* CZML processing functions that is passed into the CompositeDynamicObjectCollection constructor.
|
|
340
|
+
*
|
|
341
|
+
* @param {DynamicObject} dynamicObject The DynamicObject to remove the billboard from.
|
|
342
|
+
*
|
|
343
|
+
* @see CzmlDefaults
|
|
344
|
+
*/
|
|
345
|
+
DynamicObject.undefineProperties = function(dynamicObject) {
|
|
346
|
+
dynamicObject.position = undefined;
|
|
347
|
+
dynamicObject.orientation = undefined;
|
|
348
|
+
dynamicObject.vertexPositions = undefined;
|
|
349
|
+
dynamicObject.viewFrom = undefined;
|
|
350
|
+
dynamicObject._setAvailability(undefined);
|
|
351
|
+
};
|
|
352
|
+
|
|
353
|
+
DynamicObject.prototype._setAvailability = function(availability) {
|
|
354
|
+
var changed = !TimeInterval.equals(this.availability, availability);
|
|
355
|
+
|
|
356
|
+
this.availability = availability;
|
|
357
|
+
this._cachedAvailabilityDate = undefined;
|
|
358
|
+
this._cachedAvailabilityValue = undefined;
|
|
359
|
+
|
|
360
|
+
return changed;
|
|
361
|
+
};
|
|
362
|
+
|
|
363
|
+
return DynamicObject;
|
|
364
|
+
});
|