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,402 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'../Core/DeveloperError',
|
|
4
|
+
'../Core/destroyObject',
|
|
5
|
+
'../Core/Cartesian3',
|
|
6
|
+
'../Core/Matrix4',
|
|
7
|
+
'../Core/Color',
|
|
8
|
+
'../Core/Transforms',
|
|
9
|
+
'../Core/ReferenceFrame',
|
|
10
|
+
'../Scene/SceneMode',
|
|
11
|
+
'../Scene/PolylineCollection'
|
|
12
|
+
], function(
|
|
13
|
+
DeveloperError,
|
|
14
|
+
destroyObject,
|
|
15
|
+
Cartesian3,
|
|
16
|
+
Matrix4,
|
|
17
|
+
Color,
|
|
18
|
+
Transforms,
|
|
19
|
+
ReferenceFrame,
|
|
20
|
+
SceneMode,
|
|
21
|
+
PolylineCollection) {
|
|
22
|
+
"use strict";
|
|
23
|
+
|
|
24
|
+
var PolylineUpdater = function(scene, referenceFrame) {
|
|
25
|
+
this._unusedIndexes = [];
|
|
26
|
+
this._polylineCollection = new PolylineCollection();
|
|
27
|
+
this._scene = scene;
|
|
28
|
+
this._referenceFrame = referenceFrame;
|
|
29
|
+
|
|
30
|
+
var transform;
|
|
31
|
+
if (referenceFrame === ReferenceFrame.INERTIAL) {
|
|
32
|
+
transform = Transforms.computeIcrfToFixedMatrix;
|
|
33
|
+
}
|
|
34
|
+
scene.getPrimitives().add(this._polylineCollection);
|
|
35
|
+
this._transformFunction = transform;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
PolylineUpdater.prototype.update = function(time) {
|
|
39
|
+
var transform = this._transformFunction;
|
|
40
|
+
if (typeof transform !== 'undefined') {
|
|
41
|
+
var toFixed = transform(time);
|
|
42
|
+
if (typeof toFixed !== 'undefined') {
|
|
43
|
+
Matrix4.fromRotationTranslation(toFixed, Cartesian3.ZERO, this._polylineCollection.modelMatrix);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
PolylineUpdater.prototype.updateObject = function(time, dynamicObject) {
|
|
49
|
+
var dynamicPath = dynamicObject.path;
|
|
50
|
+
if (typeof dynamicPath === 'undefined') {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
var positionProperty = dynamicObject.position;
|
|
55
|
+
if (typeof positionProperty === 'undefined') {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
var polyline;
|
|
60
|
+
var property;
|
|
61
|
+
var sampleStart;
|
|
62
|
+
var sampleStop;
|
|
63
|
+
var showProperty = dynamicPath.show;
|
|
64
|
+
var pathVisualizerIndex = dynamicObject._pathVisualizerIndex;
|
|
65
|
+
var show = (typeof showProperty === 'undefined' || showProperty.getValue(time));
|
|
66
|
+
|
|
67
|
+
//While we want to show the path, there may not actually be anything to show
|
|
68
|
+
//depending on lead/trail settings. Compute the interval of the path to
|
|
69
|
+
//show and check against actual availability.
|
|
70
|
+
if (show) {
|
|
71
|
+
property = dynamicPath.leadTime;
|
|
72
|
+
var leadTime;
|
|
73
|
+
if (typeof property !== 'undefined') {
|
|
74
|
+
leadTime = property.getValue(time);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
property = dynamicPath.trailTime;
|
|
78
|
+
var trailTime;
|
|
79
|
+
if (typeof property !== 'undefined') {
|
|
80
|
+
trailTime = property.getValue(time);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
var availability = dynamicObject.availability;
|
|
84
|
+
var hasAvailability = typeof availability !== 'undefined';
|
|
85
|
+
var hasLeadTime = typeof leadTime !== 'undefined';
|
|
86
|
+
var hasTrailTime = typeof trailTime !== 'undefined';
|
|
87
|
+
|
|
88
|
+
//Objects need to have either defined availability or both a lead and trail time in order to
|
|
89
|
+
//draw a path (since we can't draw "infinite" paths.
|
|
90
|
+
show = hasAvailability || (hasLeadTime && hasTrailTime);
|
|
91
|
+
|
|
92
|
+
//The final step is to compute the actual start/stop times of the path to show.
|
|
93
|
+
//If current time is outside of the availability interval, there's a chance that
|
|
94
|
+
//we won't have to draw anything anyway.
|
|
95
|
+
if (show) {
|
|
96
|
+
if (hasTrailTime) {
|
|
97
|
+
sampleStart = time.addSeconds(-trailTime);
|
|
98
|
+
}
|
|
99
|
+
if (hasAvailability && (!hasTrailTime || availability.start.greaterThan(sampleStart))) {
|
|
100
|
+
sampleStart = availability.start;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (hasLeadTime) {
|
|
104
|
+
sampleStop = time.addSeconds(leadTime);
|
|
105
|
+
}
|
|
106
|
+
if (hasAvailability && (!hasLeadTime || availability.stop.lessThan(sampleStop))) {
|
|
107
|
+
sampleStop = availability.stop;
|
|
108
|
+
}
|
|
109
|
+
show = sampleStart.lessThan(sampleStop);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
if (!show) {
|
|
114
|
+
//don't bother creating or updating anything else
|
|
115
|
+
if (typeof pathVisualizerIndex !== 'undefined') {
|
|
116
|
+
polyline = this._polylineCollection.get(pathVisualizerIndex);
|
|
117
|
+
polyline.setShow(false);
|
|
118
|
+
dynamicObject._pathVisualizerIndex = undefined;
|
|
119
|
+
this._unusedIndexes.push(pathVisualizerIndex);
|
|
120
|
+
}
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
if (typeof pathVisualizerIndex === 'undefined') {
|
|
125
|
+
var unusedIndexes = this._unusedIndexes;
|
|
126
|
+
var length = unusedIndexes.length;
|
|
127
|
+
if (length > 0) {
|
|
128
|
+
pathVisualizerIndex = unusedIndexes.pop();
|
|
129
|
+
polyline = this._polylineCollection.get(pathVisualizerIndex);
|
|
130
|
+
} else {
|
|
131
|
+
pathVisualizerIndex = this._polylineCollection.getLength();
|
|
132
|
+
polyline = this._polylineCollection.add();
|
|
133
|
+
}
|
|
134
|
+
dynamicObject._pathVisualizerIndex = pathVisualizerIndex;
|
|
135
|
+
polyline.dynamicObject = dynamicObject;
|
|
136
|
+
|
|
137
|
+
// CZML_TODO Determine official defaults
|
|
138
|
+
polyline.setColor(Color.WHITE);
|
|
139
|
+
polyline.setOutlineColor(Color.BLACK);
|
|
140
|
+
polyline.setOutlineWidth(1);
|
|
141
|
+
polyline.setWidth(1);
|
|
142
|
+
} else {
|
|
143
|
+
polyline = this._polylineCollection.get(pathVisualizerIndex);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
polyline.setShow(true);
|
|
147
|
+
polyline.setPositions(positionProperty._getValueRangeInReferenceFrame(sampleStart, sampleStop, time, this._referenceFrame, polyline.getPositions()));
|
|
148
|
+
|
|
149
|
+
property = dynamicPath.color;
|
|
150
|
+
if (typeof property !== 'undefined') {
|
|
151
|
+
polyline.setColor(property.getValue(time, polyline.getColor()));
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
property = dynamicPath.outlineColor;
|
|
155
|
+
if (typeof property !== 'undefined') {
|
|
156
|
+
polyline.setOutlineColor(property.getValue(time, polyline.getOutlineColor()));
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
property = dynamicPath.outlineWidth;
|
|
160
|
+
if (typeof property !== 'undefined') {
|
|
161
|
+
var outlineWidth = property.getValue(time);
|
|
162
|
+
if (typeof outlineWidth !== 'undefined') {
|
|
163
|
+
polyline.setOutlineWidth(outlineWidth);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
property = dynamicPath.width;
|
|
168
|
+
if (typeof property !== 'undefined') {
|
|
169
|
+
var width = property.getValue(time);
|
|
170
|
+
if (typeof width !== 'undefined') {
|
|
171
|
+
polyline.setWidth(width);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
PolylineUpdater.prototype.removeObject = function(dynamicObject) {
|
|
177
|
+
var pathVisualizerIndex = dynamicObject._pathVisualizerIndex;
|
|
178
|
+
if (typeof pathVisualizerIndex !== 'undefined') {
|
|
179
|
+
var polyline = this._polylineCollection.get(pathVisualizerIndex);
|
|
180
|
+
polyline.setShow(false);
|
|
181
|
+
this._unusedIndexes.push(pathVisualizerIndex);
|
|
182
|
+
dynamicObject._pathVisualizerIndex = undefined;
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
PolylineUpdater.prototype.destroy = function() {
|
|
187
|
+
this._scene.getPrimitives().remove(this._polylineCollection);
|
|
188
|
+
return destroyObject(this);
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* A DynamicObject visualizer which maps the DynamicPath instance
|
|
193
|
+
* in DynamicObject.path to a Polyline primitive.
|
|
194
|
+
* @alias DynamicPathVisualizer
|
|
195
|
+
* @constructor
|
|
196
|
+
*
|
|
197
|
+
* @param {Scene} scene The scene the primitives will be rendered in.
|
|
198
|
+
* @param {DynamicObjectCollection} [dynamicObjectCollection] The dynamicObjectCollection to visualize.
|
|
199
|
+
*
|
|
200
|
+
* @exception {DeveloperError} scene is required.
|
|
201
|
+
*
|
|
202
|
+
* @see DynamicPath
|
|
203
|
+
* @see Polyline
|
|
204
|
+
* @see Scene
|
|
205
|
+
* @see DynamicObject
|
|
206
|
+
* @see DynamicObjectCollection
|
|
207
|
+
* @see CompositeDynamicObjectCollection
|
|
208
|
+
* @see VisualizerCollection
|
|
209
|
+
* @see DynamicBillboardVisualizer
|
|
210
|
+
* @see DynamicConeVisualizer
|
|
211
|
+
* @see DynamicConeVisualizerUsingCustomSensorr
|
|
212
|
+
* @see DynamicLabelVisualizer
|
|
213
|
+
* @see DynamicPointVisualizer
|
|
214
|
+
* @see DynamicPolygonVisualizer
|
|
215
|
+
* @see DynamicPyramidVisualizer
|
|
216
|
+
*
|
|
217
|
+
*/
|
|
218
|
+
var DynamicPathVisualizer = function(scene, dynamicObjectCollection) {
|
|
219
|
+
if (typeof scene === 'undefined') {
|
|
220
|
+
throw new DeveloperError('scene is required.');
|
|
221
|
+
}
|
|
222
|
+
this._scene = scene;
|
|
223
|
+
this._updaters = {};
|
|
224
|
+
this._dynamicObjectCollection = undefined;
|
|
225
|
+
this.setDynamicObjectCollection(dynamicObjectCollection);
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* Returns the scene being used by this visualizer.
|
|
230
|
+
*
|
|
231
|
+
* @returns {Scene} The scene being used by this visualizer.
|
|
232
|
+
*/
|
|
233
|
+
DynamicPathVisualizer.prototype.getScene = function() {
|
|
234
|
+
return this._scene;
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Gets the DynamicObjectCollection being visualized.
|
|
239
|
+
*
|
|
240
|
+
* @returns {DynamicObjectCollection} The DynamicObjectCollection being visualized.
|
|
241
|
+
*/
|
|
242
|
+
DynamicPathVisualizer.prototype.getDynamicObjectCollection = function() {
|
|
243
|
+
return this._dynamicObjectCollection;
|
|
244
|
+
};
|
|
245
|
+
|
|
246
|
+
/**
|
|
247
|
+
* Sets the DynamicObjectCollection to visualize.
|
|
248
|
+
*
|
|
249
|
+
* @param dynamicObjectCollection The DynamicObjectCollection to visualizer.
|
|
250
|
+
*/
|
|
251
|
+
DynamicPathVisualizer.prototype.setDynamicObjectCollection = function(dynamicObjectCollection) {
|
|
252
|
+
var oldCollection = this._dynamicObjectCollection;
|
|
253
|
+
if (oldCollection !== dynamicObjectCollection) {
|
|
254
|
+
if (typeof oldCollection !== 'undefined') {
|
|
255
|
+
oldCollection.objectsRemoved.removeEventListener(DynamicPathVisualizer.prototype._onObjectsRemoved);
|
|
256
|
+
this.removeAllPrimitives();
|
|
257
|
+
}
|
|
258
|
+
this._dynamicObjectCollection = dynamicObjectCollection;
|
|
259
|
+
if (typeof dynamicObjectCollection !== 'undefined') {
|
|
260
|
+
dynamicObjectCollection.objectsRemoved.addEventListener(DynamicPathVisualizer.prototype._onObjectsRemoved, this);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Updates all of the primitives created by this visualizer to match their
|
|
267
|
+
* DynamicObject counterpart at the given time.
|
|
268
|
+
*
|
|
269
|
+
* @param {JulianDate} time The time to update to.
|
|
270
|
+
*
|
|
271
|
+
* @exception {DeveloperError} time is required.
|
|
272
|
+
*/
|
|
273
|
+
DynamicPathVisualizer.prototype.update = function(time) {
|
|
274
|
+
if (typeof time === 'undefined') {
|
|
275
|
+
throw new DeveloperError('time is requied.');
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
if (typeof this._dynamicObjectCollection !== 'undefined') {
|
|
279
|
+
var updaters = this._updaters;
|
|
280
|
+
for ( var key in updaters) {
|
|
281
|
+
if (updaters.hasOwnProperty(key)) {
|
|
282
|
+
updaters[key].update(time);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
var dynamicObjects = this._dynamicObjectCollection.getObjects();
|
|
287
|
+
for ( var i = 0, len = dynamicObjects.length; i < len; i++) {
|
|
288
|
+
var dynamicObject = dynamicObjects[i];
|
|
289
|
+
|
|
290
|
+
if (typeof dynamicObject.path === 'undefined') {
|
|
291
|
+
continue;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
var positionProperty = dynamicObject.position;
|
|
295
|
+
if (typeof positionProperty === 'undefined') {
|
|
296
|
+
continue;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
var lastUpdater = dynamicObject._pathUpdater;
|
|
300
|
+
|
|
301
|
+
var frameToVisualize = ReferenceFrame.FIXED;
|
|
302
|
+
if (this._scene.mode === SceneMode.SCENE3D) {
|
|
303
|
+
frameToVisualize = positionProperty._getReferenceFrame();
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
var currentUpdater = this._updaters[frameToVisualize];
|
|
307
|
+
|
|
308
|
+
if ((lastUpdater === currentUpdater) && (typeof currentUpdater !== 'undefined')) {
|
|
309
|
+
currentUpdater.updateObject(time, dynamicObject);
|
|
310
|
+
continue;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
if (typeof lastUpdater !== 'undefined') {
|
|
314
|
+
lastUpdater.removeObject(dynamicObject);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
if (typeof currentUpdater === 'undefined') {
|
|
318
|
+
currentUpdater = new PolylineUpdater(this._scene, frameToVisualize);
|
|
319
|
+
this._updaters[frameToVisualize] = currentUpdater;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
dynamicObject._pathUpdater = currentUpdater;
|
|
323
|
+
if (typeof currentUpdater !== 'undefined') {
|
|
324
|
+
currentUpdater.updateObject(time, dynamicObject);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
};
|
|
329
|
+
|
|
330
|
+
/**
|
|
331
|
+
* Removes all primitives from the scene.
|
|
332
|
+
*/
|
|
333
|
+
DynamicPathVisualizer.prototype.removeAllPrimitives = function() {
|
|
334
|
+
var updaters = this._updaters;
|
|
335
|
+
for ( var key in updaters) {
|
|
336
|
+
if (updaters.hasOwnProperty(key)) {
|
|
337
|
+
updaters[key].destroy();
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
this._updaters = {};
|
|
341
|
+
|
|
342
|
+
if (typeof this._dynamicObjectCollection !== 'undefined') {
|
|
343
|
+
var dynamicObjects = this._dynamicObjectCollection.getObjects();
|
|
344
|
+
for ( var i = dynamicObjects.length - 1; i > -1; i--) {
|
|
345
|
+
dynamicObjects[i]._pathUpdater = undefined;
|
|
346
|
+
dynamicObjects[i]._pathVisualizerIndex = undefined;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
};
|
|
350
|
+
|
|
351
|
+
/**
|
|
352
|
+
* Returns true if this object was destroyed; otherwise, false.
|
|
353
|
+
* <br /><br />
|
|
354
|
+
* If this object was destroyed, it should not be used; calling any function other than
|
|
355
|
+
* <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
|
|
356
|
+
*
|
|
357
|
+
* @memberof DynamicPathVisualizer
|
|
358
|
+
*
|
|
359
|
+
* @return {Boolean} True if this object was destroyed; otherwise, false.
|
|
360
|
+
*
|
|
361
|
+
* @see DynamicPathVisualizer#destroy
|
|
362
|
+
*/
|
|
363
|
+
DynamicPathVisualizer.prototype.isDestroyed = function() {
|
|
364
|
+
return false;
|
|
365
|
+
};
|
|
366
|
+
|
|
367
|
+
/**
|
|
368
|
+
* Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
|
|
369
|
+
* release of WebGL resources, instead of relying on the garbage collector to destroy this object.
|
|
370
|
+
* <br /><br />
|
|
371
|
+
* Once an object is destroyed, it should not be used; calling any function other than
|
|
372
|
+
* <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
|
|
373
|
+
* assign the return value (<code>undefined</code>) to the object as done in the example.
|
|
374
|
+
*
|
|
375
|
+
* @memberof DynamicPathVisualizer
|
|
376
|
+
*
|
|
377
|
+
* @return {undefined}
|
|
378
|
+
*
|
|
379
|
+
* @exception {DeveloperError} This object was destroyed, i.e., destroy() was called.
|
|
380
|
+
*
|
|
381
|
+
* @see DynamicPathVisualizer#isDestroyed
|
|
382
|
+
*
|
|
383
|
+
* @example
|
|
384
|
+
* visualizer = visualizer && visualizer.destroy();
|
|
385
|
+
*/
|
|
386
|
+
DynamicPathVisualizer.prototype.destroy = function() {
|
|
387
|
+
this.removeAllPrimitives();
|
|
388
|
+
return destroyObject(this);
|
|
389
|
+
};
|
|
390
|
+
|
|
391
|
+
DynamicPathVisualizer.prototype._onObjectsRemoved = function(dynamicObjectCollection, dynamicObjects) {
|
|
392
|
+
for ( var i = dynamicObjects.length - 1; i > -1; i--) {
|
|
393
|
+
var dynamicObject = dynamicObjects[i];
|
|
394
|
+
var _pathUpdater = dynamicObject._pathUpdater;
|
|
395
|
+
if (typeof _pathUpdater !== 'undefined') {
|
|
396
|
+
_pathUpdater.removeObject(dynamicObject);
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
};
|
|
400
|
+
|
|
401
|
+
return DynamicPathVisualizer;
|
|
402
|
+
});
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'../Core/TimeInterval',
|
|
4
|
+
'../Core/defaultValue',
|
|
5
|
+
'./CzmlBoolean',
|
|
6
|
+
'./CzmlNumber',
|
|
7
|
+
'./CzmlColor',
|
|
8
|
+
'./DynamicProperty'
|
|
9
|
+
], function(
|
|
10
|
+
TimeInterval,
|
|
11
|
+
defaultValue,
|
|
12
|
+
CzmlBoolean,
|
|
13
|
+
CzmlNumber,
|
|
14
|
+
CzmlColor,
|
|
15
|
+
DynamicProperty) {
|
|
16
|
+
"use strict";
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Represents a time-dynamic point, typically used in conjunction with DynamicPointVisualizer and
|
|
20
|
+
* DynamicObjectCollection to visualize CZML.
|
|
21
|
+
*
|
|
22
|
+
* @alias DynamicPoint
|
|
23
|
+
* @constructor
|
|
24
|
+
*
|
|
25
|
+
* @see DynamicObject
|
|
26
|
+
* @see DynamicProperty
|
|
27
|
+
* @see DynamicObjectCollection
|
|
28
|
+
* @see DynamicPointVisualizer
|
|
29
|
+
* @see VisualizerCollection
|
|
30
|
+
* @see Billboard
|
|
31
|
+
* @see BillboardCollection
|
|
32
|
+
* @see CzmlDefaults
|
|
33
|
+
*/
|
|
34
|
+
var DynamicPoint = function() {
|
|
35
|
+
/**
|
|
36
|
+
* A DynamicProperty of type CzmlColor which determines the point's color.
|
|
37
|
+
* @type DynamicProperty
|
|
38
|
+
*/
|
|
39
|
+
this.color = undefined;
|
|
40
|
+
/**
|
|
41
|
+
* A DynamicProperty of type CzmlNumber which determines the point's pixel size.
|
|
42
|
+
* @type DynamicProperty
|
|
43
|
+
*/
|
|
44
|
+
this.pixelSize = undefined;
|
|
45
|
+
/**
|
|
46
|
+
* A DynamicProperty of type CzmlColor which determines the point's outline color.
|
|
47
|
+
* @type DynamicProperty
|
|
48
|
+
*/
|
|
49
|
+
this.outlineColor = undefined;
|
|
50
|
+
/**
|
|
51
|
+
* A DynamicProperty of type CzmlNumber which determines the point's outline width.
|
|
52
|
+
* @type DynamicProperty
|
|
53
|
+
*/
|
|
54
|
+
this.outlineWidth = undefined;
|
|
55
|
+
/**
|
|
56
|
+
* A DynamicProperty of type CzmlBoolean which determines the point's visibility.
|
|
57
|
+
* @type DynamicProperty
|
|
58
|
+
*/
|
|
59
|
+
this.show = undefined;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Processes a single CZML packet and merges its data into the provided DynamicObject's point.
|
|
64
|
+
* If the DynamicObject does not have a point, one is created. This method is not
|
|
65
|
+
* normally called directly, but is part of the array of CZML processing functions that is
|
|
66
|
+
* passed into the DynamicObjectCollection constructor.
|
|
67
|
+
*
|
|
68
|
+
* @param {DynamicObject} dynamicObject The DynamicObject which will contain the point data.
|
|
69
|
+
* @param {Object} packet The CZML packet to process.
|
|
70
|
+
* @returns {Boolean} true if any new properties were created while processing the packet, false otherwise.
|
|
71
|
+
*
|
|
72
|
+
* @see DynamicObject
|
|
73
|
+
* @see DynamicProperty
|
|
74
|
+
* @see DynamicObjectCollection
|
|
75
|
+
* @see CzmlDefaults#updaters
|
|
76
|
+
*/
|
|
77
|
+
DynamicPoint.processCzmlPacket = function(dynamicObject, packet) {
|
|
78
|
+
var pointData = packet.point;
|
|
79
|
+
if (typeof pointData === 'undefined') {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
var pointUpdated = false;
|
|
84
|
+
var point = dynamicObject.point;
|
|
85
|
+
pointUpdated = typeof point === 'undefined';
|
|
86
|
+
if (pointUpdated) {
|
|
87
|
+
dynamicObject.point = point = new DynamicPoint();
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
var interval = pointData.interval;
|
|
91
|
+
if (typeof interval !== 'undefined') {
|
|
92
|
+
interval = TimeInterval.fromIso8601(interval);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (typeof pointData.color !== 'undefined') {
|
|
96
|
+
var color = point.color;
|
|
97
|
+
if (typeof color === 'undefined') {
|
|
98
|
+
point.color = color = new DynamicProperty(CzmlColor);
|
|
99
|
+
pointUpdated = true;
|
|
100
|
+
}
|
|
101
|
+
color.processCzmlIntervals(pointData.color, interval);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
if (typeof pointData.pixelSize !== 'undefined') {
|
|
105
|
+
var pixelSize = point.pixelSize;
|
|
106
|
+
if (typeof pixelSize === 'undefined') {
|
|
107
|
+
point.pixelSize = pixelSize = new DynamicProperty(CzmlNumber);
|
|
108
|
+
pointUpdated = true;
|
|
109
|
+
}
|
|
110
|
+
pixelSize.processCzmlIntervals(pointData.pixelSize, interval);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
if (typeof pointData.outlineColor !== 'undefined') {
|
|
114
|
+
var outlineColor = point.outlineColor;
|
|
115
|
+
if (typeof outlineColor === 'undefined') {
|
|
116
|
+
point.outlineColor = outlineColor = new DynamicProperty(CzmlColor);
|
|
117
|
+
pointUpdated = true;
|
|
118
|
+
}
|
|
119
|
+
outlineColor.processCzmlIntervals(pointData.outlineColor, interval);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
if (typeof pointData.outlineWidth !== 'undefined') {
|
|
123
|
+
var outlineWidth = point.outlineWidth;
|
|
124
|
+
if (typeof outlineWidth === 'undefined') {
|
|
125
|
+
point.outlineWidth = outlineWidth = new DynamicProperty(CzmlNumber);
|
|
126
|
+
pointUpdated = true;
|
|
127
|
+
}
|
|
128
|
+
outlineWidth.processCzmlIntervals(pointData.outlineWidth, interval);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
if (typeof pointData.show !== 'undefined') {
|
|
132
|
+
var show = point.show;
|
|
133
|
+
if (typeof show === 'undefined') {
|
|
134
|
+
point.show = show = new DynamicProperty(CzmlBoolean);
|
|
135
|
+
pointUpdated = true;
|
|
136
|
+
}
|
|
137
|
+
show.processCzmlIntervals(pointData.show, interval);
|
|
138
|
+
}
|
|
139
|
+
return pointUpdated;
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Given two DynamicObjects, takes the point properties from the second
|
|
144
|
+
* and assigns them to the first, assuming such a property did not already exist.
|
|
145
|
+
* This method is not normally called directly, but is part of the array of CZML processing
|
|
146
|
+
* functions that is passed into the CompositeDynamicObjectCollection constructor.
|
|
147
|
+
*
|
|
148
|
+
* @param {DynamicObject} targetObject The DynamicObject which will have properties merged onto it.
|
|
149
|
+
* @param {DynamicObject} objectToMerge The DynamicObject containing properties to be merged.
|
|
150
|
+
*
|
|
151
|
+
* @see CzmlDefaults
|
|
152
|
+
*/
|
|
153
|
+
DynamicPoint.mergeProperties = function(targetObject, objectToMerge) {
|
|
154
|
+
var pointToMerge = objectToMerge.point;
|
|
155
|
+
if (typeof pointToMerge !== 'undefined') {
|
|
156
|
+
|
|
157
|
+
var targetPoint = targetObject.point;
|
|
158
|
+
if (typeof targetPoint === 'undefined') {
|
|
159
|
+
targetObject.point = targetPoint = new DynamicPoint();
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
targetPoint.color = defaultValue(targetPoint.color, pointToMerge.color);
|
|
163
|
+
targetPoint.pixelSize = defaultValue(targetPoint.pixelSize, pointToMerge.pixelSize);
|
|
164
|
+
targetPoint.outlineColor = defaultValue(targetPoint.outlineColor, pointToMerge.outlineColor);
|
|
165
|
+
targetPoint.outlineWidth = defaultValue(targetPoint.outlineWidth, pointToMerge.outlineWidth);
|
|
166
|
+
targetPoint.show = defaultValue(targetPoint.show, pointToMerge.show);
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Given a DynamicObject, undefines the point associated with it.
|
|
172
|
+
* This method is not normally called directly, but is part of the array of CZML processing
|
|
173
|
+
* functions that is passed into the CompositeDynamicObjectCollection constructor.
|
|
174
|
+
*
|
|
175
|
+
* @param {DynamicObject} dynamicObject The DynamicObject to remove the point from.
|
|
176
|
+
*
|
|
177
|
+
* @see CzmlDefaults
|
|
178
|
+
*/
|
|
179
|
+
DynamicPoint.undefineProperties = function(dynamicObject) {
|
|
180
|
+
dynamicObject.point = undefined;
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
return DynamicPoint;
|
|
184
|
+
});
|