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,163 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'../Core/JulianDate',
|
|
4
|
+
'../Core/TimeInterval',
|
|
5
|
+
'../Core/TimeIntervalCollection',
|
|
6
|
+
'../Core/Cartesian3',
|
|
7
|
+
'../Core/Spherical',
|
|
8
|
+
'../Core/Iso8601'
|
|
9
|
+
], function(
|
|
10
|
+
JulianDate,
|
|
11
|
+
TimeInterval,
|
|
12
|
+
TimeIntervalCollection,
|
|
13
|
+
Cartesian3,
|
|
14
|
+
Spherical,
|
|
15
|
+
Iso8601) {
|
|
16
|
+
"use strict";
|
|
17
|
+
|
|
18
|
+
function ValueHolder(czmlInterval) {
|
|
19
|
+
var i;
|
|
20
|
+
var len;
|
|
21
|
+
var values = [];
|
|
22
|
+
var tmp = czmlInterval.unitSpherical;
|
|
23
|
+
if (typeof tmp !== 'undefined') {
|
|
24
|
+
for (i = 0, len = tmp.length; i < len; i += 2) {
|
|
25
|
+
values.push(new Spherical(tmp[i], tmp[i + 1]));
|
|
26
|
+
}
|
|
27
|
+
this.spherical = values;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
tmp = czmlInterval.unitCartesian;
|
|
31
|
+
if (typeof tmp !== 'undefined') {
|
|
32
|
+
for (i = 0, len = tmp.length; i < len; i += 3) {
|
|
33
|
+
values.push(new Cartesian3(tmp[i], tmp[i + 1], tmp[i + 2], true));
|
|
34
|
+
}
|
|
35
|
+
this.cartesian = values;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
ValueHolder.prototype.getValueSpherical = function() {
|
|
40
|
+
var sphericals = this.spherical;
|
|
41
|
+
if (typeof sphericals === 'undefined') {
|
|
42
|
+
sphericals = [];
|
|
43
|
+
this.spherical = sphericals;
|
|
44
|
+
var cartesians = this.cartesian;
|
|
45
|
+
for ( var i = 0, len = cartesians.length; i < len; i++) {
|
|
46
|
+
sphericals.push(Spherical.fromCartesian3(cartesians[i]));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return sphericals;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
ValueHolder.prototype.getValueCartesian = function() {
|
|
53
|
+
var cartesians = this.cartesian;
|
|
54
|
+
if (typeof cartesians === 'undefined') {
|
|
55
|
+
cartesians = [];
|
|
56
|
+
this.cartesian = cartesians;
|
|
57
|
+
var sphericals = this.spherical;
|
|
58
|
+
for ( var i = 0, len = sphericals.length; i < len; i++) {
|
|
59
|
+
cartesians.push(Cartesian3.fromSpherical(sphericals[i]));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return cartesians;
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* A dynamic property which maintains an array of directions that can change over time.
|
|
67
|
+
* The directions can be represented as both Cartesian and Spherical coordinates.
|
|
68
|
+
* Rather than creating instances of this object directly, it's typically
|
|
69
|
+
* created and managed via loading CZML data into a DynamicObjectCollection.
|
|
70
|
+
* Instances of this type are exposed via DynamicObject and it's sub-objects
|
|
71
|
+
* and are responsible for interpreting and interpolating the data for visualization.
|
|
72
|
+
* </p>
|
|
73
|
+
*
|
|
74
|
+
* @alias DynamicDirectionsProperty
|
|
75
|
+
* @constructor
|
|
76
|
+
*
|
|
77
|
+
* @see DynamicObject
|
|
78
|
+
* @see DynamicProperty
|
|
79
|
+
* @see ReferenceProperty
|
|
80
|
+
* @see DynamicMaterialProperty
|
|
81
|
+
* @see DynamicPositionProperty
|
|
82
|
+
* @see DynamicVertexPositionsProperty
|
|
83
|
+
*/
|
|
84
|
+
var DynamicDirectionsProperty = function() {
|
|
85
|
+
this._propertyIntervals = new TimeIntervalCollection();
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Processes the provided CZML interval or intervals into this property.
|
|
90
|
+
*
|
|
91
|
+
* @memberof DynamicDirectionsProperty
|
|
92
|
+
*
|
|
93
|
+
* @param {Object} czmlIntervals The CZML data to process.
|
|
94
|
+
* @param {TimeInterval} [constrainedInterval] Constrains the processing so that any times outside of this interval are ignored.
|
|
95
|
+
* @param {DynamicObjectCollection} dynamicObjectCollection The DynamicObjectCollection to be used as a target for resolving links within this property.
|
|
96
|
+
*/
|
|
97
|
+
DynamicDirectionsProperty.prototype.processCzmlIntervals = function(czmlIntervals, constrainedInterval, dynamicObjectCollection) {
|
|
98
|
+
if (Array.isArray(czmlIntervals)) {
|
|
99
|
+
for ( var i = 0, len = czmlIntervals.length; i < len; i++) {
|
|
100
|
+
this._addCzmlInterval(czmlIntervals[i], constrainedInterval, dynamicObjectCollection);
|
|
101
|
+
}
|
|
102
|
+
} else {
|
|
103
|
+
this._addCzmlInterval(czmlIntervals, constrainedInterval, dynamicObjectCollection);
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Retrieves the values at the supplied time as Spherical coordinates.
|
|
109
|
+
* @memberof DynamicDirectionsProperty
|
|
110
|
+
*
|
|
111
|
+
* @param {JulianDate} time The time for which to retrieve the value.
|
|
112
|
+
* @returns An array of spherical coordinates for the provided time.
|
|
113
|
+
*/
|
|
114
|
+
DynamicDirectionsProperty.prototype.getValueSpherical = function(time) {
|
|
115
|
+
var interval = this._propertyIntervals.findIntervalContainingDate(time);
|
|
116
|
+
if (typeof interval === 'undefined') {
|
|
117
|
+
return undefined;
|
|
118
|
+
}
|
|
119
|
+
return interval.data.getValueSpherical();
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Retrieves the values at the supplied time as unit cartesian coordinates.
|
|
124
|
+
* @memberof DynamicDirectionsProperty
|
|
125
|
+
*
|
|
126
|
+
* @param {JulianDate} time The time for which to retrieve the value.
|
|
127
|
+
* @returns An array of unit cartesian coordinates for the provided time.
|
|
128
|
+
*/
|
|
129
|
+
DynamicDirectionsProperty.prototype.getValueCartesian = function(time) {
|
|
130
|
+
var interval = this._propertyIntervals.findIntervalContainingDate(time);
|
|
131
|
+
if (typeof interval === 'undefined') {
|
|
132
|
+
return undefined;
|
|
133
|
+
}
|
|
134
|
+
return interval.data.getValueCartesian();
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
DynamicDirectionsProperty.prototype._addCzmlInterval = function(czmlInterval, constrainedInterval, dynamicObjectCollection) {
|
|
138
|
+
var iso8601Interval = czmlInterval.interval;
|
|
139
|
+
if (typeof iso8601Interval === 'undefined') {
|
|
140
|
+
iso8601Interval = Iso8601.MAXIMUM_INTERVAL.clone();
|
|
141
|
+
} else {
|
|
142
|
+
iso8601Interval = TimeInterval.fromIso8601(iso8601Interval);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
if (typeof constrainedInterval !== 'undefined') {
|
|
146
|
+
iso8601Interval = iso8601Interval.intersect(constrainedInterval);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
//See if we already have data at that interval.
|
|
150
|
+
var thisIntervals = this._propertyIntervals;
|
|
151
|
+
var existingInterval = thisIntervals.findInterval(iso8601Interval.start, iso8601Interval.stop);
|
|
152
|
+
|
|
153
|
+
//If not, create it.
|
|
154
|
+
if (typeof existingInterval === 'undefined') {
|
|
155
|
+
existingInterval = iso8601Interval;
|
|
156
|
+
thisIntervals.addInterval(existingInterval);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
existingInterval.data = new ValueHolder(czmlInterval);
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
return DynamicDirectionsProperty;
|
|
163
|
+
});
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'../Core/TimeInterval',
|
|
4
|
+
'../Core/defaultValue',
|
|
5
|
+
'./CzmlBoolean',
|
|
6
|
+
'./CzmlCartesian3',
|
|
7
|
+
'./CzmlColor',
|
|
8
|
+
'./DynamicProperty',
|
|
9
|
+
'./DynamicMaterialProperty'
|
|
10
|
+
], function(
|
|
11
|
+
TimeInterval,
|
|
12
|
+
defaultValue,
|
|
13
|
+
CzmlBoolean,
|
|
14
|
+
CzmlCartesian3,
|
|
15
|
+
CzmlColor,
|
|
16
|
+
DynamicProperty,
|
|
17
|
+
DynamicMaterialProperty) {
|
|
18
|
+
"use strict";
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Represents a time-dynamic ellipsoid, typically used in conjunction with DynamicEllipsoidVisualizer and
|
|
22
|
+
* DynamicObjectCollection to visualize CZML.
|
|
23
|
+
*
|
|
24
|
+
* @alias DynamicEllipsoid
|
|
25
|
+
* @constructor
|
|
26
|
+
*
|
|
27
|
+
* @see DynamicObject
|
|
28
|
+
* @see DynamicProperty
|
|
29
|
+
* @see DynamicObjectCollection
|
|
30
|
+
* @see DynamicEllipsoidVisualizer
|
|
31
|
+
* @see VisualizerCollection
|
|
32
|
+
* @see CustomSensor
|
|
33
|
+
* @see CzmlDefaults
|
|
34
|
+
*/
|
|
35
|
+
var DynamicEllipsoid = function() {
|
|
36
|
+
/**
|
|
37
|
+
* A DynamicProperty of type CzmlBoolean which determines the ellipsoid's visibility.
|
|
38
|
+
* @type DynamicProperty
|
|
39
|
+
*/
|
|
40
|
+
this.show = undefined;
|
|
41
|
+
/**
|
|
42
|
+
* A DynamicProperty of type CzmlCartesian3 which determines the ellipsoid's radii.
|
|
43
|
+
* @type DynamicProperty
|
|
44
|
+
*/
|
|
45
|
+
this.radii = undefined;
|
|
46
|
+
/**
|
|
47
|
+
* A DynamicMaterialProperty which determines the material.
|
|
48
|
+
* @type DynamicMaterialProperty
|
|
49
|
+
*/
|
|
50
|
+
this.material = undefined;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Processes a single CZML packet and merges its data into the provided DynamicObject's ellipsoid.
|
|
55
|
+
* If the DynamicObject does not have a ellipsoid, one is created. This method is not
|
|
56
|
+
* normally called directly, but is part of the array of CZML processing functions that is
|
|
57
|
+
* passed into the DynamicObjectCollection constructor.
|
|
58
|
+
*
|
|
59
|
+
* @param {DynamicObject} dynamicObject The DynamicObject which will contain the ellipsoid data.
|
|
60
|
+
* @param {Object} packet The CZML packet to process.
|
|
61
|
+
* @param {DynamicObject} dynamicObjectCollection The DynamicObjectCollection to which the DynamicObject belongs.
|
|
62
|
+
*
|
|
63
|
+
* @returns {Boolean} true if any new properties were created while processing the packet, false otherwise.
|
|
64
|
+
*
|
|
65
|
+
* @see DynamicObject
|
|
66
|
+
* @see DynamicProperty
|
|
67
|
+
* @see DynamicObjectCollection
|
|
68
|
+
* @see CzmlDefaults#updaters
|
|
69
|
+
*/
|
|
70
|
+
DynamicEllipsoid.processCzmlPacket = function(dynamicObject, packet, dynamicObjectCollection) {
|
|
71
|
+
var ellipsoidData = packet.ellipsoid;
|
|
72
|
+
if (typeof ellipsoidData === 'undefined') {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
var ellipsoidUpdated = false;
|
|
77
|
+
var ellipsoid = dynamicObject.ellipsoid;
|
|
78
|
+
ellipsoidUpdated = typeof ellipsoid === 'undefined';
|
|
79
|
+
if (ellipsoidUpdated) {
|
|
80
|
+
dynamicObject.ellipsoid = ellipsoid = new DynamicEllipsoid();
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
var interval = ellipsoidData.interval;
|
|
84
|
+
if (typeof interval !== 'undefined') {
|
|
85
|
+
interval = TimeInterval.fromIso8601(interval);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if (typeof ellipsoidData.show !== 'undefined') {
|
|
89
|
+
var show = ellipsoid.show;
|
|
90
|
+
if (typeof show === 'undefined') {
|
|
91
|
+
ellipsoid.show = show = new DynamicProperty(CzmlBoolean);
|
|
92
|
+
ellipsoidUpdated = true;
|
|
93
|
+
}
|
|
94
|
+
show.processCzmlIntervals(ellipsoidData.show, interval);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
if (typeof ellipsoidData.radii !== 'undefined') {
|
|
98
|
+
var radii = ellipsoid.radii;
|
|
99
|
+
if (typeof radii === 'undefined') {
|
|
100
|
+
ellipsoid.radii = radii = new DynamicProperty(CzmlCartesian3);
|
|
101
|
+
ellipsoidUpdated = true;
|
|
102
|
+
}
|
|
103
|
+
radii.processCzmlIntervals(ellipsoidData.radii, interval);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
if (typeof ellipsoidData.material !== 'undefined') {
|
|
107
|
+
var material = ellipsoid.material;
|
|
108
|
+
if (typeof material === 'undefined') {
|
|
109
|
+
ellipsoid.material = material = new DynamicMaterialProperty();
|
|
110
|
+
ellipsoidUpdated = true;
|
|
111
|
+
}
|
|
112
|
+
material.processCzmlIntervals(ellipsoidData.material, interval);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return ellipsoidUpdated;
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Given two DynamicObjects, takes the ellipsoid properties from the second
|
|
120
|
+
* and assigns them to the first, assuming such a property did not already exist.
|
|
121
|
+
* This method is not normally called directly, but is part of the array of CZML processing
|
|
122
|
+
* functions that is passed into the CompositeDynamicObjectCollection constructor.
|
|
123
|
+
*
|
|
124
|
+
* @param {DynamicObject} targetObject The DynamicObject which will have properties merged onto it.
|
|
125
|
+
* @param {DynamicObject} objectToMerge The DynamicObject containing properties to be merged.
|
|
126
|
+
*
|
|
127
|
+
* @see CzmlDefaults
|
|
128
|
+
*/
|
|
129
|
+
DynamicEllipsoid.mergeProperties = function(targetObject, objectToMerge) {
|
|
130
|
+
var ellipsoidToMerge = objectToMerge.ellipsoid;
|
|
131
|
+
if (typeof ellipsoidToMerge !== 'undefined') {
|
|
132
|
+
|
|
133
|
+
var targetEllipsoid = targetObject.ellipsoid;
|
|
134
|
+
if (typeof targetEllipsoid === 'undefined') {
|
|
135
|
+
targetObject.ellipsoid = targetEllipsoid = new DynamicEllipsoid();
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
targetEllipsoid.show = defaultValue(targetEllipsoid.show, ellipsoidToMerge.show);
|
|
139
|
+
targetEllipsoid.radii = defaultValue(targetEllipsoid.radii, ellipsoidToMerge.radii);
|
|
140
|
+
targetEllipsoid.material = defaultValue(targetEllipsoid.material, ellipsoidToMerge.material);
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Given a DynamicObject, undefines the ellipsoid associated with it.
|
|
146
|
+
* This method is not normally called directly, but is part of the array of CZML processing
|
|
147
|
+
* functions that is passed into the CompositeDynamicObjectCollection constructor.
|
|
148
|
+
*
|
|
149
|
+
* @param {DynamicObject} dynamicObject The DynamicObject to remove the ellipsoid from.
|
|
150
|
+
*
|
|
151
|
+
* @see CzmlDefaults
|
|
152
|
+
*/
|
|
153
|
+
DynamicEllipsoid.undefineProperties = function(dynamicObject) {
|
|
154
|
+
dynamicObject.ellipsoid = undefined;
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
return DynamicEllipsoid;
|
|
158
|
+
});
|
|
@@ -0,0 +1,277 @@
|
|
|
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/EllipsoidPrimitive',
|
|
10
|
+
'../Scene/Material'
|
|
11
|
+
], function(
|
|
12
|
+
defaultValue,
|
|
13
|
+
DeveloperError,
|
|
14
|
+
destroyObject,
|
|
15
|
+
Color,
|
|
16
|
+
Matrix3,
|
|
17
|
+
Matrix4,
|
|
18
|
+
EllipsoidPrimitive,
|
|
19
|
+
Material) {
|
|
20
|
+
"use strict";
|
|
21
|
+
|
|
22
|
+
var matrix3Scratch = new Matrix3();
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* A DynamicObject visualizer which maps the DynamicEllipsoid instance
|
|
26
|
+
* in DynamicObject.ellipsoid to a Ellipsoid primitive.
|
|
27
|
+
* @alias DynamicEllipsoidVisualizer
|
|
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 DynamicEllipsoid
|
|
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
|
+
var DynamicEllipsoidVisualizer = function(scene, dynamicObjectCollection) {
|
|
50
|
+
if (typeof scene === 'undefined') {
|
|
51
|
+
throw new DeveloperError('scene is required.');
|
|
52
|
+
}
|
|
53
|
+
this._scene = scene;
|
|
54
|
+
this._unusedIndexes = [];
|
|
55
|
+
this._primitives = scene.getPrimitives();
|
|
56
|
+
this._ellipsoidCollection = [];
|
|
57
|
+
this._dynamicObjectCollection = undefined;
|
|
58
|
+
this.setDynamicObjectCollection(dynamicObjectCollection);
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Returns the scene being used by this visualizer.
|
|
63
|
+
*
|
|
64
|
+
* @returns {Scene} The scene being used by this visualizer.
|
|
65
|
+
*/
|
|
66
|
+
DynamicEllipsoidVisualizer.prototype.getScene = function() {
|
|
67
|
+
return this._scene;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Gets the DynamicObjectCollection being visualized.
|
|
72
|
+
*
|
|
73
|
+
* @returns {DynamicObjectCollection} The DynamicObjectCollection being visualized.
|
|
74
|
+
*/
|
|
75
|
+
DynamicEllipsoidVisualizer.prototype.getDynamicObjectCollection = function() {
|
|
76
|
+
return this._dynamicObjectCollection;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Sets the DynamicObjectCollection to visualize.
|
|
81
|
+
*
|
|
82
|
+
* @param dynamicObjectCollection The DynamicObjectCollection to visualizer.
|
|
83
|
+
*/
|
|
84
|
+
DynamicEllipsoidVisualizer.prototype.setDynamicObjectCollection = function(dynamicObjectCollection) {
|
|
85
|
+
var oldCollection = this._dynamicObjectCollection;
|
|
86
|
+
if (oldCollection !== dynamicObjectCollection) {
|
|
87
|
+
if (typeof oldCollection !== 'undefined') {
|
|
88
|
+
oldCollection.objectsRemoved.removeEventListener(DynamicEllipsoidVisualizer.prototype._onObjectsRemoved);
|
|
89
|
+
this.removeAllPrimitives();
|
|
90
|
+
}
|
|
91
|
+
this._dynamicObjectCollection = dynamicObjectCollection;
|
|
92
|
+
if (typeof dynamicObjectCollection !== 'undefined') {
|
|
93
|
+
dynamicObjectCollection.objectsRemoved.addEventListener(DynamicEllipsoidVisualizer.prototype._onObjectsRemoved, this);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Updates all of the primitives created by this visualizer to match their
|
|
100
|
+
* DynamicObject counterpart at the given time.
|
|
101
|
+
*
|
|
102
|
+
* @param {JulianDate} time The time to update to.
|
|
103
|
+
*
|
|
104
|
+
* @exception {DeveloperError} time is required.
|
|
105
|
+
*/
|
|
106
|
+
DynamicEllipsoidVisualizer.prototype.update = function(time) {
|
|
107
|
+
if (typeof time === 'undefined') {
|
|
108
|
+
throw new DeveloperError('time is requied.');
|
|
109
|
+
}
|
|
110
|
+
if (typeof this._dynamicObjectCollection !== 'undefined') {
|
|
111
|
+
var dynamicObjects = this._dynamicObjectCollection.getObjects();
|
|
112
|
+
for ( var i = 0, len = dynamicObjects.length; i < len; i++) {
|
|
113
|
+
this._updateObject(time, dynamicObjects[i]);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Removes all primitives from the scene.
|
|
120
|
+
*/
|
|
121
|
+
DynamicEllipsoidVisualizer.prototype.removeAllPrimitives = function() {
|
|
122
|
+
var i, len;
|
|
123
|
+
for (i = 0, len = this._ellipsoidCollection.length; i < len; i++) {
|
|
124
|
+
this._primitives.remove(this._ellipsoidCollection[i]);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
if (typeof this._dynamicObjectCollection !== 'undefined') {
|
|
128
|
+
var dynamicObjects = this._dynamicObjectCollection.getObjects();
|
|
129
|
+
for (i = dynamicObjects.length - 1; i > -1; i--) {
|
|
130
|
+
dynamicObjects[i]._ellipsoidVisualizerIndex = undefined;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
this._unusedIndexes = [];
|
|
135
|
+
this._ellipsoidCollection = [];
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Returns true if this object was destroyed; otherwise, false.
|
|
140
|
+
* <br /><br />
|
|
141
|
+
* If this object was destroyed, it should not be used; calling any function other than
|
|
142
|
+
* <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
|
|
143
|
+
*
|
|
144
|
+
* @memberof DynamicEllipsoidVisualizer
|
|
145
|
+
*
|
|
146
|
+
* @return {Boolean} True if this object was destroyed; otherwise, false.
|
|
147
|
+
*
|
|
148
|
+
* @see DynamicEllipsoidVisualizer#destroy
|
|
149
|
+
*/
|
|
150
|
+
DynamicEllipsoidVisualizer.prototype.isDestroyed = function() {
|
|
151
|
+
return false;
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
|
|
156
|
+
* release of WebGL resources, instead of relying on the garbage collector to destroy this object.
|
|
157
|
+
* <br /><br />
|
|
158
|
+
* Once an object is destroyed, it should not be used; calling any function other than
|
|
159
|
+
* <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
|
|
160
|
+
* assign the return value (<code>undefined</code>) to the object as done in the example.
|
|
161
|
+
*
|
|
162
|
+
* @memberof DynamicEllipsoidVisualizer
|
|
163
|
+
*
|
|
164
|
+
* @return {undefined}
|
|
165
|
+
*
|
|
166
|
+
* @exception {DeveloperError} This object was destroyed, i.e., destroy() was called.
|
|
167
|
+
*
|
|
168
|
+
* @see DynamicEllipsoidVisualizer#isDestroyed
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* visualizer = visualizer && visualizer.destroy();
|
|
172
|
+
*/
|
|
173
|
+
DynamicEllipsoidVisualizer.prototype.destroy = function() {
|
|
174
|
+
this.removeAllPrimitives();
|
|
175
|
+
return destroyObject(this);
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
var position;
|
|
179
|
+
var orientation;
|
|
180
|
+
DynamicEllipsoidVisualizer.prototype._updateObject = function(time, dynamicObject) {
|
|
181
|
+
var context = this._scene.getContext();
|
|
182
|
+
var dynamicEllipsoid = dynamicObject.ellipsoid;
|
|
183
|
+
if (typeof dynamicEllipsoid === 'undefined') {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
var radiiProperty = dynamicEllipsoid.radii;
|
|
188
|
+
if (typeof radiiProperty === 'undefined') {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
var positionProperty = dynamicObject.position;
|
|
193
|
+
if (typeof positionProperty === 'undefined') {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
var orientationProperty = dynamicObject.orientation;
|
|
198
|
+
if (typeof orientationProperty === 'undefined') {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
var ellipsoid;
|
|
203
|
+
var showProperty = dynamicEllipsoid.show;
|
|
204
|
+
var ellipsoidVisualizerIndex = dynamicObject._ellipsoidVisualizerIndex;
|
|
205
|
+
var show = dynamicObject.isAvailable(time) && (typeof showProperty === 'undefined' || showProperty.getValue(time));
|
|
206
|
+
|
|
207
|
+
if (!show) {
|
|
208
|
+
//don't bother creating or updating anything else
|
|
209
|
+
if (typeof ellipsoidVisualizerIndex !== 'undefined') {
|
|
210
|
+
ellipsoid = this._ellipsoidCollection[ellipsoidVisualizerIndex];
|
|
211
|
+
ellipsoid.show = false;
|
|
212
|
+
dynamicObject._ellipsoidVisualizerIndex = undefined;
|
|
213
|
+
this._unusedIndexes.push(ellipsoidVisualizerIndex);
|
|
214
|
+
}
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
if (typeof ellipsoidVisualizerIndex === 'undefined') {
|
|
219
|
+
var unusedIndexes = this._unusedIndexes;
|
|
220
|
+
var length = unusedIndexes.length;
|
|
221
|
+
if (length > 0) {
|
|
222
|
+
ellipsoidVisualizerIndex = unusedIndexes.pop();
|
|
223
|
+
ellipsoid = this._ellipsoidCollection[ellipsoidVisualizerIndex];
|
|
224
|
+
} else {
|
|
225
|
+
ellipsoidVisualizerIndex = this._ellipsoidCollection.length;
|
|
226
|
+
ellipsoid = new EllipsoidPrimitive();
|
|
227
|
+
|
|
228
|
+
this._ellipsoidCollection.push(ellipsoid);
|
|
229
|
+
this._primitives.add(ellipsoid);
|
|
230
|
+
}
|
|
231
|
+
dynamicObject._ellipsoidVisualizerIndex = ellipsoidVisualizerIndex;
|
|
232
|
+
ellipsoid.dynamicObject = dynamicObject;
|
|
233
|
+
|
|
234
|
+
ellipsoid.material = Material.fromType(context, Material.ColorType);
|
|
235
|
+
} else {
|
|
236
|
+
ellipsoid = this._ellipsoidCollection[ellipsoidVisualizerIndex];
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
ellipsoid.show = true;
|
|
240
|
+
|
|
241
|
+
ellipsoid.radii = radiiProperty.getValue(time, ellipsoid.radii);
|
|
242
|
+
|
|
243
|
+
position = defaultValue(positionProperty.getValueCartesian(time, position), ellipsoid._visualizerPosition);
|
|
244
|
+
orientation = defaultValue(orientationProperty.getValue(time, orientation), ellipsoid._visualizerOrientation);
|
|
245
|
+
|
|
246
|
+
if (typeof position !== 'undefined' &&
|
|
247
|
+
typeof orientation !== 'undefined' &&
|
|
248
|
+
(!position.equals(ellipsoid._visualizerPosition) ||
|
|
249
|
+
!orientation.equals(ellipsoid._visualizerOrientation))) {
|
|
250
|
+
Matrix4.fromRotationTranslation(Matrix3.fromQuaternion(orientation, matrix3Scratch), position, ellipsoid.modelMatrix);
|
|
251
|
+
ellipsoid._visualizerPosition = position.clone(ellipsoid._visualizerPosition);
|
|
252
|
+
ellipsoid._visualizerOrientation = orientation.clone(ellipsoid._visualizerOrientation);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
var material = dynamicEllipsoid.material;
|
|
256
|
+
if (typeof material !== 'undefined') {
|
|
257
|
+
ellipsoid.material = material.getValue(time, context, ellipsoid.material);
|
|
258
|
+
}
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
DynamicEllipsoidVisualizer.prototype._onObjectsRemoved = function(dynamicObjectCollection, dynamicObjects) {
|
|
262
|
+
var thisEllipsoidCollection = this._ellipsoidCollection;
|
|
263
|
+
var thisUnusedIndexes = this._unusedIndexes;
|
|
264
|
+
for ( var i = dynamicObjects.length - 1; i > -1; i--) {
|
|
265
|
+
var dynamicObject = dynamicObjects[i];
|
|
266
|
+
var ellipsoidVisualizerIndex = dynamicObject._ellipsoidVisualizerIndex;
|
|
267
|
+
if (typeof ellipsoidVisualizerIndex !== 'undefined') {
|
|
268
|
+
var ellipsoid = thisEllipsoidCollection[ellipsoidVisualizerIndex];
|
|
269
|
+
ellipsoid.show = false;
|
|
270
|
+
thisUnusedIndexes.push(ellipsoidVisualizerIndex);
|
|
271
|
+
dynamicObject._ellipsoidVisualizerIndex = undefined;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
};
|
|
275
|
+
|
|
276
|
+
return DynamicEllipsoidVisualizer;
|
|
277
|
+
});
|