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,302 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'../Core/defaultValue',
|
|
4
|
+
'../Core/DeveloperError',
|
|
5
|
+
'../Core/destroyObject',
|
|
6
|
+
'../Core/Color',
|
|
7
|
+
'../Core/Matrix3',
|
|
8
|
+
'../Core/Matrix4',
|
|
9
|
+
'../Scene/CustomSensorVolume',
|
|
10
|
+
'../Scene/Material'
|
|
11
|
+
], function(
|
|
12
|
+
defaultValue,
|
|
13
|
+
DeveloperError,
|
|
14
|
+
destroyObject,
|
|
15
|
+
Color,
|
|
16
|
+
Matrix3,
|
|
17
|
+
Matrix4,
|
|
18
|
+
CustomSensorVolume,
|
|
19
|
+
Material) {
|
|
20
|
+
"use strict";
|
|
21
|
+
|
|
22
|
+
var matrix3Scratch = new Matrix3();
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* A DynamicObject visualizer which maps the DynamicPyramid instance
|
|
26
|
+
* in DynamicObject.pyramid to a Pyramid primitive.
|
|
27
|
+
* @alias DynamicPyramidVisualizer
|
|
28
|
+
* @constructor
|
|
29
|
+
*
|
|
30
|
+
* @param {Scene} scene The scene the primitives will be rendered in.
|
|
31
|
+
* @param {DynamicObjectCollection} [dynamicObjectCollection] The dynamicObjectCollection to visualize.
|
|
32
|
+
*
|
|
33
|
+
* @exception {DeveloperError} scene is required.
|
|
34
|
+
*
|
|
35
|
+
* @see DynamicPyramid
|
|
36
|
+
* @see Scene
|
|
37
|
+
* @see DynamicObject
|
|
38
|
+
* @see DynamicObjectCollection
|
|
39
|
+
* @see CompositeDynamicObjectCollection
|
|
40
|
+
* @see VisualizerCollection
|
|
41
|
+
* @see DynamicBillboardVisualizer
|
|
42
|
+
* @see DynamicConeVisualizer
|
|
43
|
+
* @see DynamicConeVisualizerUsingCustomSensorr
|
|
44
|
+
* @see DynamicLabelVisualizer
|
|
45
|
+
* @see DynamicPointVisualizer
|
|
46
|
+
* @see DynamicPolygonVisualizer
|
|
47
|
+
* @see DynamicPolylineVisualizer
|
|
48
|
+
*
|
|
49
|
+
*/
|
|
50
|
+
var DynamicPyramidVisualizer = function(scene, dynamicObjectCollection) {
|
|
51
|
+
if (typeof scene === 'undefined') {
|
|
52
|
+
throw new DeveloperError('scene is required.');
|
|
53
|
+
}
|
|
54
|
+
this._scene = scene;
|
|
55
|
+
this._unusedIndexes = [];
|
|
56
|
+
this._primitives = scene.getPrimitives();
|
|
57
|
+
this._pyramidCollection = [];
|
|
58
|
+
this._dynamicObjectCollection = undefined;
|
|
59
|
+
this.setDynamicObjectCollection(dynamicObjectCollection);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Returns the scene being used by this visualizer.
|
|
64
|
+
*
|
|
65
|
+
* @returns {Scene} The scene being used by this visualizer.
|
|
66
|
+
*/
|
|
67
|
+
DynamicPyramidVisualizer.prototype.getScene = function() {
|
|
68
|
+
return this._scene;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Gets the DynamicObjectCollection being visualized.
|
|
73
|
+
*
|
|
74
|
+
* @returns {DynamicObjectCollection} The DynamicObjectCollection being visualized.
|
|
75
|
+
*/
|
|
76
|
+
DynamicPyramidVisualizer.prototype.getDynamicObjectCollection = function() {
|
|
77
|
+
return this._dynamicObjectCollection;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Sets the DynamicObjectCollection to visualize.
|
|
82
|
+
*
|
|
83
|
+
* @param dynamicObjectCollection The DynamicObjectCollection to visualizer.
|
|
84
|
+
*/
|
|
85
|
+
DynamicPyramidVisualizer.prototype.setDynamicObjectCollection = function(dynamicObjectCollection) {
|
|
86
|
+
var oldCollection = this._dynamicObjectCollection;
|
|
87
|
+
if (oldCollection !== dynamicObjectCollection) {
|
|
88
|
+
if (typeof oldCollection !== 'undefined') {
|
|
89
|
+
oldCollection.objectsRemoved.removeEventListener(DynamicPyramidVisualizer.prototype._onObjectsRemoved);
|
|
90
|
+
this.removeAllPrimitives();
|
|
91
|
+
}
|
|
92
|
+
this._dynamicObjectCollection = dynamicObjectCollection;
|
|
93
|
+
if (typeof dynamicObjectCollection !== 'undefined') {
|
|
94
|
+
dynamicObjectCollection.objectsRemoved.addEventListener(DynamicPyramidVisualizer.prototype._onObjectsRemoved, this);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Updates all of the primitives created by this visualizer to match their
|
|
101
|
+
* DynamicObject counterpart at the given time.
|
|
102
|
+
*
|
|
103
|
+
* @param {JulianDate} time The time to update to.
|
|
104
|
+
*
|
|
105
|
+
* @exception {DeveloperError} time is required.
|
|
106
|
+
*/
|
|
107
|
+
DynamicPyramidVisualizer.prototype.update = function(time) {
|
|
108
|
+
if (typeof time === 'undefined') {
|
|
109
|
+
throw new DeveloperError('time is requied.');
|
|
110
|
+
}
|
|
111
|
+
if (typeof this._dynamicObjectCollection !== 'undefined') {
|
|
112
|
+
var dynamicObjects = this._dynamicObjectCollection.getObjects();
|
|
113
|
+
for ( var i = 0, len = dynamicObjects.length; i < len; i++) {
|
|
114
|
+
this._updateObject(time, dynamicObjects[i]);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Removes all primitives from the scene.
|
|
121
|
+
*/
|
|
122
|
+
DynamicPyramidVisualizer.prototype.removeAllPrimitives = function() {
|
|
123
|
+
var i, len;
|
|
124
|
+
for (i = 0, len = this._pyramidCollection.length; i < len; i++) {
|
|
125
|
+
this._primitives.remove(this._pyramidCollection[i]);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
if (typeof this._dynamicObjectCollection !== 'undefined') {
|
|
129
|
+
var dynamicObjects = this._dynamicObjectCollection.getObjects();
|
|
130
|
+
for (i = dynamicObjects.length - 1; i > -1; i--) {
|
|
131
|
+
dynamicObjects[i]._pyramidVisualizerIndex = undefined;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
this._unusedIndexes = [];
|
|
136
|
+
this._pyramidCollection = [];
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Returns true if this object was destroyed; otherwise, false.
|
|
141
|
+
* <br /><br />
|
|
142
|
+
* If this object was destroyed, it should not be used; calling any function other than
|
|
143
|
+
* <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
|
|
144
|
+
*
|
|
145
|
+
* @memberof DynamicPyramidVisualizer
|
|
146
|
+
*
|
|
147
|
+
* @return {Boolean} True if this object was destroyed; otherwise, false.
|
|
148
|
+
*
|
|
149
|
+
* @see DynamicPyramidVisualizer#destroy
|
|
150
|
+
*/
|
|
151
|
+
DynamicPyramidVisualizer.prototype.isDestroyed = function() {
|
|
152
|
+
return false;
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
|
|
157
|
+
* release of WebGL resources, instead of relying on the garbage collector to destroy this object.
|
|
158
|
+
* <br /><br />
|
|
159
|
+
* Once an object is destroyed, it should not be used; calling any function other than
|
|
160
|
+
* <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
|
|
161
|
+
* assign the return value (<code>undefined</code>) to the object as done in the example.
|
|
162
|
+
*
|
|
163
|
+
* @memberof DynamicPyramidVisualizer
|
|
164
|
+
*
|
|
165
|
+
* @return {undefined}
|
|
166
|
+
*
|
|
167
|
+
* @exception {DeveloperError} This object was destroyed, i.e., destroy() was called.
|
|
168
|
+
*
|
|
169
|
+
* @see DynamicPyramidVisualizer#isDestroyed
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* visualizer = visualizer && visualizer.destroy();
|
|
173
|
+
*/
|
|
174
|
+
DynamicPyramidVisualizer.prototype.destroy = function() {
|
|
175
|
+
this.removeAllPrimitives();
|
|
176
|
+
return destroyObject(this);
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
var position;
|
|
180
|
+
var orientation;
|
|
181
|
+
DynamicPyramidVisualizer.prototype._updateObject = function(time, dynamicObject) {
|
|
182
|
+
var context = this._scene.getContext();
|
|
183
|
+
var dynamicPyramid = dynamicObject.pyramid;
|
|
184
|
+
if (typeof dynamicPyramid === 'undefined') {
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
var directionsProperty = dynamicPyramid.directions;
|
|
189
|
+
if (typeof directionsProperty === 'undefined') {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
var positionProperty = dynamicObject.position;
|
|
194
|
+
if (typeof positionProperty === 'undefined') {
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
var orientationProperty = dynamicObject.orientation;
|
|
199
|
+
if (typeof orientationProperty === 'undefined') {
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
var pyramid;
|
|
204
|
+
var showProperty = dynamicPyramid.show;
|
|
205
|
+
var pyramidVisualizerIndex = dynamicObject._pyramidVisualizerIndex;
|
|
206
|
+
var show = dynamicObject.isAvailable(time) && (typeof showProperty === 'undefined' || showProperty.getValue(time));
|
|
207
|
+
|
|
208
|
+
if (!show) {
|
|
209
|
+
//don't bother creating or updating anything else
|
|
210
|
+
if (typeof pyramidVisualizerIndex !== 'undefined') {
|
|
211
|
+
pyramid = this._pyramidCollection[pyramidVisualizerIndex];
|
|
212
|
+
pyramid.show = false;
|
|
213
|
+
dynamicObject._pyramidVisualizerIndex = undefined;
|
|
214
|
+
this._unusedIndexes.push(pyramidVisualizerIndex);
|
|
215
|
+
}
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
if (typeof pyramidVisualizerIndex === 'undefined') {
|
|
220
|
+
var unusedIndexes = this._unusedIndexes;
|
|
221
|
+
var length = unusedIndexes.length;
|
|
222
|
+
if (length > 0) {
|
|
223
|
+
pyramidVisualizerIndex = unusedIndexes.pop();
|
|
224
|
+
pyramid = this._pyramidCollection[pyramidVisualizerIndex];
|
|
225
|
+
} else {
|
|
226
|
+
pyramidVisualizerIndex = this._pyramidCollection.length;
|
|
227
|
+
pyramid = new CustomSensorVolume();
|
|
228
|
+
|
|
229
|
+
this._pyramidCollection.push(pyramid);
|
|
230
|
+
this._primitives.add(pyramid);
|
|
231
|
+
}
|
|
232
|
+
dynamicObject._pyramidVisualizerIndex = pyramidVisualizerIndex;
|
|
233
|
+
pyramid.dynamicObject = dynamicObject;
|
|
234
|
+
|
|
235
|
+
// CZML_TODO Determine official defaults
|
|
236
|
+
pyramid.radius = Number.POSITIVE_INFINITY;
|
|
237
|
+
pyramid.showIntersection = true;
|
|
238
|
+
pyramid.intersectionColor = Color.YELLOW;
|
|
239
|
+
pyramid.material = Material.fromType(context, Material.ColorType);
|
|
240
|
+
} else {
|
|
241
|
+
pyramid = this._pyramidCollection[pyramidVisualizerIndex];
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
pyramid.show = true;
|
|
245
|
+
|
|
246
|
+
var directions = directionsProperty.getValueSpherical(time);
|
|
247
|
+
if (typeof directions !== 'undefined' && pyramid._visualizerDirections !== directions) {
|
|
248
|
+
pyramid.setDirections(directions);
|
|
249
|
+
pyramid._visualizerDirections = directions;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
position = defaultValue(positionProperty.getValueCartesian(time, position), pyramid._visualizerPosition);
|
|
253
|
+
orientation = defaultValue(orientationProperty.getValue(time, orientation), pyramid._visualizerOrientation);
|
|
254
|
+
|
|
255
|
+
if (typeof position !== 'undefined' &&
|
|
256
|
+
typeof orientation !== 'undefined' &&
|
|
257
|
+
(!position.equals(pyramid._visualizerPosition) ||
|
|
258
|
+
!orientation.equals(pyramid._visualizerOrientation))) {
|
|
259
|
+
Matrix4.fromRotationTranslation(Matrix3.fromQuaternion(orientation, matrix3Scratch), position, pyramid.modelMatrix);
|
|
260
|
+
position.clone(pyramid._visualizerPosition);
|
|
261
|
+
orientation.clone(pyramid._visualizerOrientation);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
var material = dynamicPyramid.material;
|
|
265
|
+
if (typeof material !== 'undefined') {
|
|
266
|
+
pyramid.material = material.getValue(time, context, pyramid.material);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
var property = dynamicPyramid.intersectionColor;
|
|
270
|
+
if (typeof property !== 'undefined') {
|
|
271
|
+
var intersectionColor = property.getValue(time, intersectionColor);
|
|
272
|
+
if (typeof intersectionColor !== 'undefined') {
|
|
273
|
+
pyramid.intersectionColor = intersectionColor;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
property = dynamicPyramid.radius;
|
|
278
|
+
if (typeof property !== 'undefined') {
|
|
279
|
+
var radius = property.getValue(time, radius);
|
|
280
|
+
if (typeof radius !== 'undefined') {
|
|
281
|
+
pyramid.radius = radius;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
};
|
|
285
|
+
|
|
286
|
+
DynamicPyramidVisualizer.prototype._onObjectsRemoved = function(dynamicObjectCollection, dynamicObjects) {
|
|
287
|
+
var thisPyramidCollection = this._pyramidCollection;
|
|
288
|
+
var thisUnusedIndexes = this._unusedIndexes;
|
|
289
|
+
for ( var i = dynamicObjects.length - 1; i > -1; i--) {
|
|
290
|
+
var dynamicObject = dynamicObjects[i];
|
|
291
|
+
var pyramidVisualizerIndex = dynamicObject._pyramidVisualizerIndex;
|
|
292
|
+
if (typeof pyramidVisualizerIndex !== 'undefined') {
|
|
293
|
+
var pyramid = thisPyramidCollection[pyramidVisualizerIndex];
|
|
294
|
+
pyramid.show = false;
|
|
295
|
+
thisUnusedIndexes.push(pyramidVisualizerIndex);
|
|
296
|
+
dynamicObject._pyramidVisualizerIndex = undefined;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
return DynamicPyramidVisualizer;
|
|
302
|
+
});
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'../Core/JulianDate',
|
|
4
|
+
'../Core/TimeInterval',
|
|
5
|
+
'../Core/TimeIntervalCollection',
|
|
6
|
+
'../Core/Cartesian3',
|
|
7
|
+
'../Core/Cartographic',
|
|
8
|
+
'../Core/Iso8601',
|
|
9
|
+
'../Core/Ellipsoid',
|
|
10
|
+
'./ReferenceProperty',
|
|
11
|
+
'./DynamicPositionProperty'
|
|
12
|
+
], function(
|
|
13
|
+
JulianDate,
|
|
14
|
+
TimeInterval,
|
|
15
|
+
TimeIntervalCollection,
|
|
16
|
+
Cartesian3,
|
|
17
|
+
Cartographic,
|
|
18
|
+
Iso8601,
|
|
19
|
+
Ellipsoid,
|
|
20
|
+
ReferenceProperty,
|
|
21
|
+
DynamicPositionProperty) {
|
|
22
|
+
"use strict";
|
|
23
|
+
|
|
24
|
+
var wgs84 = Ellipsoid.WGS84;
|
|
25
|
+
|
|
26
|
+
function ValueHolder(czmlInterval) {
|
|
27
|
+
var i, len, values = [], tmp;
|
|
28
|
+
|
|
29
|
+
tmp = czmlInterval.cartesian;
|
|
30
|
+
if (typeof tmp !== 'undefined') {
|
|
31
|
+
for (i = 0, len = tmp.length; i < len; i += 3) {
|
|
32
|
+
values.push(new Cartesian3(tmp[i], tmp[i + 1], tmp[i + 2]));
|
|
33
|
+
}
|
|
34
|
+
this.cartesian = values;
|
|
35
|
+
} else {
|
|
36
|
+
tmp = czmlInterval.cartographicRadians;
|
|
37
|
+
if (typeof tmp !== 'undefined') {
|
|
38
|
+
for (i = 0, len = tmp.length; i < len; i += 3) {
|
|
39
|
+
values.push(new Cartographic(tmp[i], tmp[i + 1], tmp[i + 2]));
|
|
40
|
+
}
|
|
41
|
+
this.cartographic = values;
|
|
42
|
+
} else {
|
|
43
|
+
tmp = czmlInterval.cartographicDegrees;
|
|
44
|
+
if (typeof tmp !== 'undefined') {
|
|
45
|
+
for (i = 0, len = tmp.length; i < len; i += 3) {
|
|
46
|
+
values.push(Cartographic.fromDegrees(tmp[i], tmp[i + 1], tmp[i + 2]));
|
|
47
|
+
}
|
|
48
|
+
this.cartographic = values;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
ValueHolder.prototype.getValueCartographic = function() {
|
|
55
|
+
if (typeof this.cartographic === 'undefined') {
|
|
56
|
+
this.cartographic = wgs84.cartesianArrayToCartographicArray(this.cartesian);
|
|
57
|
+
}
|
|
58
|
+
return this.cartographic;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
ValueHolder.prototype.getValueCartesian = function() {
|
|
62
|
+
if (typeof this.cartesian === 'undefined') {
|
|
63
|
+
this.cartesian = wgs84.cartographicArrayToCartesianArray(this.cartographic);
|
|
64
|
+
}
|
|
65
|
+
return this.cartesian;
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* A dynamic property which maintains an array of positions that can change over time.
|
|
70
|
+
* The positions can be represented as both Cartesian and Cartographic coordinates.
|
|
71
|
+
* Rather than creating instances of this object directly, it's typically
|
|
72
|
+
* created and managed via loading CZML data into a DynamicObjectCollection.
|
|
73
|
+
* Instances of this type are exposed via DynamicObject and it's sub-objects
|
|
74
|
+
* and are responsible for interpreting and interpolating the data for visualization.
|
|
75
|
+
*
|
|
76
|
+
* @alias DynamicVertexPositionsProperty
|
|
77
|
+
* @internalconstructor
|
|
78
|
+
*
|
|
79
|
+
* @see DynamicObject
|
|
80
|
+
* @see DynamicProperty
|
|
81
|
+
* @see ReferenceProperty
|
|
82
|
+
* @see DynamicMaterialProperty
|
|
83
|
+
* @see DynamicPositionProperty
|
|
84
|
+
* @see DynamicDirectionsProperty
|
|
85
|
+
*/
|
|
86
|
+
var DynamicVertexPositionsProperty = function() {
|
|
87
|
+
this._propertyIntervals = new TimeIntervalCollection();
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Processes the provided CZML interval or intervals into this property.
|
|
92
|
+
*
|
|
93
|
+
* @memberof DynamicVertexPositionsProperty
|
|
94
|
+
*
|
|
95
|
+
* @param {Object} czmlIntervals The CZML data to process.
|
|
96
|
+
* @param {TimeInterval} [constrainedInterval] Constrains the processing so that any times outside of this interval are ignored.
|
|
97
|
+
* @param {DynamicObjectCollection} dynamicObjectCollection The DynamicObjectCollection to be used as a target for resolving links within this property.
|
|
98
|
+
*/
|
|
99
|
+
DynamicVertexPositionsProperty.prototype.processCzmlIntervals = function(czmlIntervals, constrainedInterval, dynamicObjectCollection) {
|
|
100
|
+
if (Array.isArray(czmlIntervals)) {
|
|
101
|
+
for ( var i = 0, len = czmlIntervals.length; i < len; i++) {
|
|
102
|
+
this._addCzmlInterval(czmlIntervals[i], constrainedInterval, dynamicObjectCollection);
|
|
103
|
+
}
|
|
104
|
+
} else {
|
|
105
|
+
this._addCzmlInterval(czmlIntervals, constrainedInterval, dynamicObjectCollection);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Retrieves the values at the supplied time as Cartographic coordinates.
|
|
111
|
+
* @memberof DynamicVertexPositionsProperty
|
|
112
|
+
*
|
|
113
|
+
* @param {JulianDate} time The time for which to retrieve the value.
|
|
114
|
+
* @returns An array of Cartographic coordinates for the provided time.
|
|
115
|
+
*/
|
|
116
|
+
DynamicVertexPositionsProperty.prototype.getValueCartographic = function(time) {
|
|
117
|
+
var interval = this._propertyIntervals.findIntervalContainingDate(time);
|
|
118
|
+
if (typeof interval === 'undefined') {
|
|
119
|
+
return undefined;
|
|
120
|
+
}
|
|
121
|
+
var interval_data = interval.data;
|
|
122
|
+
if (Array.isArray(interval_data)) {
|
|
123
|
+
var result = [];
|
|
124
|
+
for ( var i = 0, len = interval_data.length; i < len; i++) {
|
|
125
|
+
var value = interval_data[i].getValueCartographic(time);
|
|
126
|
+
if (typeof value !== 'undefined') {
|
|
127
|
+
result.push(value);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return result;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return interval_data.getValueCartographic();
|
|
134
|
+
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Retrieves the values at the supplied time as Cartesian coordinates.
|
|
139
|
+
* @memberof DynamicVertexPositionsProperty
|
|
140
|
+
*
|
|
141
|
+
* @param {JulianDate} time The time for which to retrieve the value.
|
|
142
|
+
* @returns An array of Cartesian coordinates for the provided time.
|
|
143
|
+
*/
|
|
144
|
+
DynamicVertexPositionsProperty.prototype.getValueCartesian = function(time) {
|
|
145
|
+
var interval = this._propertyIntervals.findIntervalContainingDate(time);
|
|
146
|
+
if (typeof interval === 'undefined') {
|
|
147
|
+
return undefined;
|
|
148
|
+
}
|
|
149
|
+
var interval_data = interval.data;
|
|
150
|
+
if (Array.isArray(interval_data)) {
|
|
151
|
+
var result = [];
|
|
152
|
+
for ( var i = 0, len = interval_data.length; i < len; i++) {
|
|
153
|
+
var value = interval_data[i].getValueCartesian(time);
|
|
154
|
+
if (typeof value !== 'undefined') {
|
|
155
|
+
result.push(value);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return result;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
return interval_data.getValueCartesian();
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
DynamicVertexPositionsProperty.prototype._addCzmlInterval = function(czmlInterval, constrainedInterval, dynamicObjectCollection) {
|
|
165
|
+
var iso8601Interval = czmlInterval.interval;
|
|
166
|
+
if (typeof iso8601Interval === 'undefined') {
|
|
167
|
+
iso8601Interval = Iso8601.MAXIMUM_INTERVAL.clone();
|
|
168
|
+
} else {
|
|
169
|
+
iso8601Interval = TimeInterval.fromIso8601(iso8601Interval);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
if (typeof constrainedInterval !== 'undefined') {
|
|
173
|
+
iso8601Interval = iso8601Interval.intersect(constrainedInterval);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
//See if we already have data at that interval.
|
|
177
|
+
var thisIntervals = this._propertyIntervals;
|
|
178
|
+
var existingInterval = thisIntervals.findInterval(iso8601Interval.start, iso8601Interval.stop);
|
|
179
|
+
|
|
180
|
+
//If not, create it.
|
|
181
|
+
if (typeof existingInterval === 'undefined') {
|
|
182
|
+
existingInterval = iso8601Interval;
|
|
183
|
+
thisIntervals.addInterval(existingInterval);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
var references = czmlInterval.references;
|
|
187
|
+
if (typeof references === 'undefined') {
|
|
188
|
+
existingInterval.data = new ValueHolder(czmlInterval);
|
|
189
|
+
} else {
|
|
190
|
+
var properties = [];
|
|
191
|
+
for ( var i = 0, len = references.length; i < len; i++) {
|
|
192
|
+
properties.push(ReferenceProperty.fromString(dynamicObjectCollection, references[i]));
|
|
193
|
+
}
|
|
194
|
+
existingInterval.data = properties;
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
return DynamicVertexPositionsProperty;
|
|
199
|
+
});
|