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,323 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'../Core/Event',
|
|
4
|
+
'../Core/DeveloperError',
|
|
5
|
+
'../Core/destroyObject',
|
|
6
|
+
'../Core/Color',
|
|
7
|
+
'../Scene/BillboardCollection',
|
|
8
|
+
'../Renderer/TextureAtlasBuilder'
|
|
9
|
+
], function(
|
|
10
|
+
Event,
|
|
11
|
+
DeveloperError,
|
|
12
|
+
destroyObject,
|
|
13
|
+
Color,
|
|
14
|
+
BillboardCollection,
|
|
15
|
+
TextureAtlasBuilder) {
|
|
16
|
+
"use strict";
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* A DynamicObject visualizer which maps the DynamicPoint instance
|
|
20
|
+
* in DynamicObject.point to a Billboard primitive with a point texture.
|
|
21
|
+
* @alias DynamicPointVisualizer
|
|
22
|
+
* @constructor
|
|
23
|
+
*
|
|
24
|
+
* @param {Scene} scene The scene the primitives will be rendered in.
|
|
25
|
+
* @param {DynamicObjectCollection} [dynamicObjectCollection] The dynamicObjectCollection to visualize.
|
|
26
|
+
*
|
|
27
|
+
* @exception {DeveloperError} scene is required.
|
|
28
|
+
*
|
|
29
|
+
* @see DynamicPoint
|
|
30
|
+
* @see Scene
|
|
31
|
+
* @see DynamicObject
|
|
32
|
+
* @see DynamicObjectCollection
|
|
33
|
+
* @see CompositeDynamicObjectCollection
|
|
34
|
+
* @see VisualizerCollection
|
|
35
|
+
* @see DynamicBillboardVisualizer
|
|
36
|
+
* @see DynamicConeVisualizer
|
|
37
|
+
* @see DynamicConeVisualizerUsingCustomSensorr
|
|
38
|
+
* @see DynamicLabelVisualizer
|
|
39
|
+
* @see DynamicPolygonVisualizer
|
|
40
|
+
* @see DynamicPolylineVisualizer
|
|
41
|
+
* @see DynamicPyramidVisualizer
|
|
42
|
+
*
|
|
43
|
+
*/
|
|
44
|
+
var DynamicPointVisualizer = function(scene, dynamicObjectCollection) {
|
|
45
|
+
if (typeof scene === 'undefined') {
|
|
46
|
+
throw new DeveloperError('scene is required.');
|
|
47
|
+
}
|
|
48
|
+
this._scene = scene;
|
|
49
|
+
this._unusedIndexes = [];
|
|
50
|
+
this._dynamicObjectCollection = undefined;
|
|
51
|
+
var billboardCollection = this._billboardCollection = new BillboardCollection();
|
|
52
|
+
var atlas = this._textureAtlas = scene.getContext().createTextureAtlas();
|
|
53
|
+
this._textureAtlasBuilder = new TextureAtlasBuilder(atlas);
|
|
54
|
+
billboardCollection.setTextureAtlas(atlas);
|
|
55
|
+
scene.getPrimitives().add(billboardCollection);
|
|
56
|
+
this.setDynamicObjectCollection(dynamicObjectCollection);
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Returns the scene being used by this visualizer.
|
|
61
|
+
*
|
|
62
|
+
* @returns {Scene} The scene being used by this visualizer.
|
|
63
|
+
*/
|
|
64
|
+
DynamicPointVisualizer.prototype.getScene = function() {
|
|
65
|
+
return this._scene;
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Gets the DynamicObjectCollection being visualized.
|
|
70
|
+
*
|
|
71
|
+
* @returns {DynamicObjectCollection} The DynamicObjectCollection being visualized.
|
|
72
|
+
*/
|
|
73
|
+
DynamicPointVisualizer.prototype.getDynamicObjectCollection = function() {
|
|
74
|
+
return this._dynamicObjectCollection;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Sets the DynamicObjectCollection to visualize.
|
|
79
|
+
*
|
|
80
|
+
* @param dynamicObjectCollection The DynamicObjectCollection to visualizer.
|
|
81
|
+
*/
|
|
82
|
+
DynamicPointVisualizer.prototype.setDynamicObjectCollection = function(dynamicObjectCollection) {
|
|
83
|
+
var oldCollection = this._dynamicObjectCollection;
|
|
84
|
+
if (oldCollection !== dynamicObjectCollection) {
|
|
85
|
+
if (typeof oldCollection !== 'undefined') {
|
|
86
|
+
oldCollection.objectsRemoved.removeEventListener(DynamicPointVisualizer.prototype._onObjectsRemoved);
|
|
87
|
+
this.removeAllPrimitives();
|
|
88
|
+
}
|
|
89
|
+
this._dynamicObjectCollection = dynamicObjectCollection;
|
|
90
|
+
if (typeof dynamicObjectCollection !== 'undefined') {
|
|
91
|
+
dynamicObjectCollection.objectsRemoved.addEventListener(DynamicPointVisualizer.prototype._onObjectsRemoved, this);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Updates all of the primitives created by this visualizer to match their
|
|
98
|
+
* DynamicObject counterpart at the given time.
|
|
99
|
+
*
|
|
100
|
+
* @param {JulianDate} time The time to update to.
|
|
101
|
+
*
|
|
102
|
+
* @exception {DeveloperError} time is required.
|
|
103
|
+
*/
|
|
104
|
+
DynamicPointVisualizer.prototype.update = function(time) {
|
|
105
|
+
if (typeof time === 'undefined') {
|
|
106
|
+
throw new DeveloperError('time is requied.');
|
|
107
|
+
}
|
|
108
|
+
if (typeof this._dynamicObjectCollection !== 'undefined') {
|
|
109
|
+
var dynamicObjects = this._dynamicObjectCollection.getObjects();
|
|
110
|
+
for ( var i = 0, len = dynamicObjects.length; i < len; i++) {
|
|
111
|
+
this._updateObject(time, dynamicObjects[i]);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Removes all primitives from the scene.
|
|
118
|
+
*/
|
|
119
|
+
DynamicPointVisualizer.prototype.removeAllPrimitives = function() {
|
|
120
|
+
this._unusedIndexes = [];
|
|
121
|
+
this._billboardCollection.removeAll();
|
|
122
|
+
if (typeof this._dynamicObjectCollection !== 'undefined') {
|
|
123
|
+
var dynamicObjects = this._dynamicObjectCollection.getObjects();
|
|
124
|
+
for ( var i = dynamicObjects.length - 1; i > -1; i--) {
|
|
125
|
+
dynamicObjects[i]._pointVisualizerIndex = undefined;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Returns true if this object was destroyed; otherwise, false.
|
|
132
|
+
* <br /><br />
|
|
133
|
+
* If this object was destroyed, it should not be used; calling any function other than
|
|
134
|
+
* <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
|
|
135
|
+
*
|
|
136
|
+
* @memberof DynamicPointVisualizer
|
|
137
|
+
*
|
|
138
|
+
* @return {Boolean} True if this object was destroyed; otherwise, false.
|
|
139
|
+
*
|
|
140
|
+
* @see DynamicPointVisualizer#destroy
|
|
141
|
+
*/
|
|
142
|
+
DynamicPointVisualizer.prototype.isDestroyed = function() {
|
|
143
|
+
return false;
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
|
|
148
|
+
* release of WebGL resources, instead of relying on the garbage collector to destroy this object.
|
|
149
|
+
* <br /><br />
|
|
150
|
+
* Once an object is destroyed, it should not be used; calling any function other than
|
|
151
|
+
* <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
|
|
152
|
+
* assign the return value (<code>undefined</code>) to the object as done in the example.
|
|
153
|
+
*
|
|
154
|
+
* @memberof DynamicPointVisualizer
|
|
155
|
+
*
|
|
156
|
+
* @return {undefined}
|
|
157
|
+
*
|
|
158
|
+
* @exception {DeveloperError} This object was destroyed, i.e., destroy() was called.
|
|
159
|
+
*
|
|
160
|
+
* @see DynamicPointVisualizer#isDestroyed
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* visualizer = visualizer && visualizer.destroy();
|
|
164
|
+
*/
|
|
165
|
+
DynamicPointVisualizer.prototype.destroy = function() {
|
|
166
|
+
this.removeAllPrimitives();
|
|
167
|
+
this._scene.getPrimitives().remove(this._billboardCollection);
|
|
168
|
+
return destroyObject(this);
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
var color;
|
|
172
|
+
var position;
|
|
173
|
+
var outlineColor;
|
|
174
|
+
DynamicPointVisualizer.prototype._updateObject = function(time, dynamicObject) {
|
|
175
|
+
var dynamicPoint = dynamicObject.point;
|
|
176
|
+
if (typeof dynamicPoint === 'undefined') {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
var positionProperty = dynamicObject.position;
|
|
181
|
+
if (typeof positionProperty === 'undefined') {
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
var billboard;
|
|
186
|
+
var showProperty = dynamicPoint.show;
|
|
187
|
+
var pointVisualizerIndex = dynamicObject._pointVisualizerIndex;
|
|
188
|
+
var show = dynamicObject.isAvailable(time) && (typeof showProperty === 'undefined' || showProperty.getValue(time));
|
|
189
|
+
|
|
190
|
+
if (!show) {
|
|
191
|
+
//don't bother creating or updating anything else
|
|
192
|
+
if (typeof pointVisualizerIndex !== 'undefined') {
|
|
193
|
+
billboard = this._billboardCollection.get(pointVisualizerIndex);
|
|
194
|
+
billboard.setShow(false);
|
|
195
|
+
billboard.setImageIndex(-1);
|
|
196
|
+
dynamicObject._pointVisualizerIndex = undefined;
|
|
197
|
+
this._unusedIndexes.push(pointVisualizerIndex);
|
|
198
|
+
}
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
var needRedraw = false;
|
|
203
|
+
if (typeof pointVisualizerIndex === 'undefined') {
|
|
204
|
+
var unusedIndexes = this._unusedIndexes;
|
|
205
|
+
var length = unusedIndexes.length;
|
|
206
|
+
if (length > 0) {
|
|
207
|
+
pointVisualizerIndex = unusedIndexes.pop();
|
|
208
|
+
billboard = this._billboardCollection.get(pointVisualizerIndex);
|
|
209
|
+
} else {
|
|
210
|
+
pointVisualizerIndex = this._billboardCollection.getLength();
|
|
211
|
+
billboard = this._billboardCollection.add();
|
|
212
|
+
}
|
|
213
|
+
dynamicObject._pointVisualizerIndex = pointVisualizerIndex;
|
|
214
|
+
billboard.dynamicObject = dynamicObject;
|
|
215
|
+
|
|
216
|
+
// CZML_TODO Determine official defaults
|
|
217
|
+
billboard._visualizerColor = Color.WHITE.clone(billboard._visualizerColor);
|
|
218
|
+
billboard._visualizerOutlineColor = Color.BLACK.clone(billboard._visualizerOutlineColor);
|
|
219
|
+
billboard._visualizerOutlineWidth = 2;
|
|
220
|
+
billboard._visualizerPixelSize = 3;
|
|
221
|
+
needRedraw = true;
|
|
222
|
+
} else {
|
|
223
|
+
billboard = this._billboardCollection.get(pointVisualizerIndex);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
billboard.setShow(true);
|
|
227
|
+
|
|
228
|
+
position = positionProperty.getValueCartesian(time, position);
|
|
229
|
+
if (typeof position !== 'undefined') {
|
|
230
|
+
billboard.setPosition(position);
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
var property = dynamicPoint.color;
|
|
234
|
+
if (typeof property !== 'undefined') {
|
|
235
|
+
color = property.getValue(time, color);
|
|
236
|
+
if (billboard._visualizerColor !== color) {
|
|
237
|
+
billboard._visualizerColor = color;
|
|
238
|
+
needRedraw = true;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
property = dynamicPoint.outlineColor;
|
|
243
|
+
if (typeof property !== 'undefined') {
|
|
244
|
+
outlineColor = property.getValue(time, outlineColor);
|
|
245
|
+
if (billboard._visualizerOutlineColor !== outlineColor) {
|
|
246
|
+
billboard._visualizerOutlineColor = outlineColor;
|
|
247
|
+
needRedraw = true;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
property = dynamicPoint.outlineWidth;
|
|
252
|
+
if (typeof property !== 'undefined') {
|
|
253
|
+
var outlineWidth = property.getValue(time);
|
|
254
|
+
if (billboard._visualizerOutlineWidth !== outlineWidth) {
|
|
255
|
+
billboard._visualizerOutlineWidth = outlineWidth;
|
|
256
|
+
needRedraw = true;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
property = dynamicPoint.pixelSize;
|
|
261
|
+
if (typeof property !== 'undefined') {
|
|
262
|
+
var pixelSize = property.getValue(time);
|
|
263
|
+
if (billboard._visualizerPixelSize !== pixelSize) {
|
|
264
|
+
billboard._visualizerPixelSize = pixelSize;
|
|
265
|
+
needRedraw = true;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
if (needRedraw) {
|
|
270
|
+
var cssColor = typeof billboard._visualizerColor !== 'undefined' ? billboard._visualizerColor.toCssColorString() : '#FFFFFF';
|
|
271
|
+
var cssOutlineColor = typeof billboard._visualizerOutlineColor !== 'undefined' ? billboard._visualizerOutlineColor.toCssColorString() : '#000000';
|
|
272
|
+
var cssPixelSize = typeof billboard._visualizerPixelSize !== 'undefined' ? billboard._visualizerPixelSize : 3;
|
|
273
|
+
var cssOutlineWidth = typeof billboard._visualizerOutlineWidth !== 'undefined' ? billboard._visualizerOutlineWidth : 2;
|
|
274
|
+
var textureId = JSON.stringify([cssColor, cssPixelSize, cssOutlineColor, cssOutlineWidth]);
|
|
275
|
+
|
|
276
|
+
this._textureAtlasBuilder.addTextureFromFunction(textureId, function(id, loadedCallback) {
|
|
277
|
+
var canvas = document.createElement('canvas');
|
|
278
|
+
|
|
279
|
+
var length = cssPixelSize + (2 * cssOutlineWidth);
|
|
280
|
+
canvas.height = canvas.width = length;
|
|
281
|
+
|
|
282
|
+
var context2D = canvas.getContext('2d');
|
|
283
|
+
context2D.clearRect(0, 0, length, length);
|
|
284
|
+
|
|
285
|
+
if (cssOutlineWidth !== 0) {
|
|
286
|
+
context2D.beginPath();
|
|
287
|
+
context2D.arc(length / 2, length / 2, length / 2, 0, 2 * Math.PI, true);
|
|
288
|
+
context2D.closePath();
|
|
289
|
+
context2D.fillStyle = cssOutlineColor;
|
|
290
|
+
context2D.fill();
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
context2D.beginPath();
|
|
294
|
+
context2D.arc(length / 2, length / 2, cssPixelSize / 2, 0, 2 * Math.PI, true);
|
|
295
|
+
context2D.closePath();
|
|
296
|
+
context2D.fillStyle = cssColor;
|
|
297
|
+
context2D.fill();
|
|
298
|
+
|
|
299
|
+
loadedCallback(canvas);
|
|
300
|
+
}, function(imageIndex) {
|
|
301
|
+
billboard.setImageIndex(imageIndex);
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
};
|
|
305
|
+
|
|
306
|
+
DynamicPointVisualizer.prototype._onObjectsRemoved = function(dynamicObjectCollection, dynamicObjects) {
|
|
307
|
+
var thisBillboardCollection = this._billboardCollection;
|
|
308
|
+
var thisUnusedIndexes = this._unusedIndexes;
|
|
309
|
+
for ( var i = dynamicObjects.length - 1; i > -1; i--) {
|
|
310
|
+
var dynamicObject = dynamicObjects[i];
|
|
311
|
+
var pointVisualizerIndex = dynamicObject._pointVisualizerIndex;
|
|
312
|
+
if (typeof pointVisualizerIndex !== 'undefined') {
|
|
313
|
+
var billboard = thisBillboardCollection.get(pointVisualizerIndex);
|
|
314
|
+
billboard.setShow(false);
|
|
315
|
+
billboard.setImageIndex(-1);
|
|
316
|
+
dynamicObject._pointVisualizerIndex = undefined;
|
|
317
|
+
thisUnusedIndexes.push(pointVisualizerIndex);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
};
|
|
321
|
+
|
|
322
|
+
return DynamicPointVisualizer;
|
|
323
|
+
});
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'../Core/TimeInterval',
|
|
4
|
+
'../Core/defaultValue',
|
|
5
|
+
'./CzmlBoolean',
|
|
6
|
+
'./DynamicProperty',
|
|
7
|
+
'./DynamicMaterialProperty'
|
|
8
|
+
], function(
|
|
9
|
+
TimeInterval,
|
|
10
|
+
defaultValue,
|
|
11
|
+
CzmlBoolean,
|
|
12
|
+
DynamicProperty,
|
|
13
|
+
DynamicMaterialProperty) {
|
|
14
|
+
"use strict";
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Represents a time-dynamic polygon, typically used in conjunction with DynamicPolygonVisualizer and
|
|
18
|
+
* DynamicObjectCollection to visualize CZML.
|
|
19
|
+
*
|
|
20
|
+
* @alias DynamicPolygon
|
|
21
|
+
* @constructor
|
|
22
|
+
*
|
|
23
|
+
* @see DynamicObject
|
|
24
|
+
* @see DynamicProperty
|
|
25
|
+
* @see DynamicObjectCollection
|
|
26
|
+
* @see DynamicPolygonVisualizer
|
|
27
|
+
* @see VisualizerCollection
|
|
28
|
+
* @see Polygon
|
|
29
|
+
* @see CzmlDefaults
|
|
30
|
+
*/
|
|
31
|
+
var DynamicPolygon = function() {
|
|
32
|
+
/**
|
|
33
|
+
* A DynamicProperty of type CzmlBoolean which determines the polygon's visibility.
|
|
34
|
+
* @type DynamicProperty
|
|
35
|
+
*/
|
|
36
|
+
this.show = undefined;
|
|
37
|
+
/**
|
|
38
|
+
* A DynamicMaterialProperty which determines the polygon's material.
|
|
39
|
+
* @type DynamicMaterialProperty
|
|
40
|
+
*/
|
|
41
|
+
this.material = undefined;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Processes a single CZML packet and merges its data into the provided DynamicObject's polygon.
|
|
46
|
+
* If the DynamicObject does not have a polygon, one is created. This method is not
|
|
47
|
+
* normally called directly, but is part of the array of CZML processing functions that is
|
|
48
|
+
* passed into the DynamicObjectCollection constructor.
|
|
49
|
+
*
|
|
50
|
+
* @param {DynamicObject} dynamicObject The DynamicObject which will contain the polygon data.
|
|
51
|
+
* @param {Object} packet The CZML packet to process.
|
|
52
|
+
* @param {DynamicObjectCollection} [dynamicObjectCollection] The collection into which objects are being loaded.
|
|
53
|
+
* @param {String} [sourceUri] The originating url of the CZML being processed.
|
|
54
|
+
* @returns {Boolean} true if any new properties were created while processing the packet, false otherwise.
|
|
55
|
+
*
|
|
56
|
+
* @see DynamicObject
|
|
57
|
+
* @see DynamicProperty
|
|
58
|
+
* @see DynamicObjectCollection
|
|
59
|
+
* @see CzmlDefaults#updaters
|
|
60
|
+
*/
|
|
61
|
+
DynamicPolygon.processCzmlPacket = function(dynamicObject, packet, dynamicObjectCollection, sourceUri) {
|
|
62
|
+
var polygonData = packet.polygon;
|
|
63
|
+
if (typeof polygonData === 'undefined') {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
var polygonUpdated = false;
|
|
68
|
+
var polygon = dynamicObject.polygon;
|
|
69
|
+
polygonUpdated = typeof polygon === 'undefined';
|
|
70
|
+
if (polygonUpdated) {
|
|
71
|
+
dynamicObject.polygon = polygon = new DynamicPolygon();
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
var interval = polygonData.interval;
|
|
75
|
+
if (typeof interval !== 'undefined') {
|
|
76
|
+
interval = TimeInterval.fromIso8601(interval);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (typeof polygonData.show !== 'undefined') {
|
|
80
|
+
var show = polygon.show;
|
|
81
|
+
if (typeof show === 'undefined') {
|
|
82
|
+
polygon.show = show = new DynamicProperty(CzmlBoolean);
|
|
83
|
+
polygonUpdated = true;
|
|
84
|
+
}
|
|
85
|
+
show.processCzmlIntervals(polygonData.show, interval);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if (typeof polygonData.material !== 'undefined') {
|
|
89
|
+
var material = polygon.material;
|
|
90
|
+
if (typeof material === 'undefined') {
|
|
91
|
+
polygon.material = material = new DynamicMaterialProperty();
|
|
92
|
+
polygonUpdated = true;
|
|
93
|
+
}
|
|
94
|
+
material.processCzmlIntervals(polygonData.material, interval, sourceUri);
|
|
95
|
+
}
|
|
96
|
+
return polygonUpdated;
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Given two DynamicObjects, takes the polygon properties from the second
|
|
101
|
+
* and assigns them to the first, assuming such a property did not already exist.
|
|
102
|
+
* This method is not normally called directly, but is part of the array of CZML processing
|
|
103
|
+
* functions that is passed into the CompositeDynamicObjectCollection constructor.
|
|
104
|
+
*
|
|
105
|
+
* @param {DynamicObject} targetObject The DynamicObject which will have properties merged onto it.
|
|
106
|
+
* @param {DynamicObject} objectToMerge The DynamicObject containing properties to be merged.
|
|
107
|
+
*
|
|
108
|
+
* @see CzmlDefaults
|
|
109
|
+
*/
|
|
110
|
+
DynamicPolygon.mergeProperties = function(targetObject, objectToMerge) {
|
|
111
|
+
var polygonToMerge = objectToMerge.polygon;
|
|
112
|
+
if (typeof polygonToMerge !== 'undefined') {
|
|
113
|
+
|
|
114
|
+
var targetPolygon = targetObject.polygon;
|
|
115
|
+
if (typeof targetPolygon === 'undefined') {
|
|
116
|
+
targetObject.polygon = targetPolygon = new DynamicPolygon();
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
targetPolygon.show = defaultValue(targetPolygon.show, polygonToMerge.show);
|
|
120
|
+
targetPolygon.material = defaultValue(targetPolygon.material, polygonToMerge.material);
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Given a DynamicObject, undefines the polygon associated with it.
|
|
126
|
+
* This method is not normally called directly, but is part of the array of CZML processing
|
|
127
|
+
* functions that is passed into the CompositeDynamicObjectCollection constructor.
|
|
128
|
+
*
|
|
129
|
+
* @param {DynamicObject} dynamicObject The DynamicObject to remove the polygon from.
|
|
130
|
+
*
|
|
131
|
+
* @see CzmlDefaults
|
|
132
|
+
*/
|
|
133
|
+
DynamicPolygon.undefineProperties = function(dynamicObject) {
|
|
134
|
+
dynamicObject.polygon = undefined;
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
return DynamicPolygon;
|
|
138
|
+
});
|