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,139 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'./ImageryState',
|
|
4
|
+
'./TileState'
|
|
5
|
+
], function(
|
|
6
|
+
ImageryState,
|
|
7
|
+
TileState) {
|
|
8
|
+
"use strict";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* A priority queue of tiles to be replaced, if necessary, to make room for new tiles. The queue
|
|
12
|
+
* is implemented as a linked list.
|
|
13
|
+
*
|
|
14
|
+
* @alias TileReplacementQueue
|
|
15
|
+
* @private
|
|
16
|
+
*/
|
|
17
|
+
var TileReplacementQueue = function TileReplacementQueue() {
|
|
18
|
+
this.head = undefined;
|
|
19
|
+
this.tail = undefined;
|
|
20
|
+
this.count = 0;
|
|
21
|
+
this._lastBeforeStartOfFrame = undefined;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Marks the start of the render frame. Tiles before (closer to the head) this tile in the
|
|
26
|
+
* list were used last frame and must not be unloaded.
|
|
27
|
+
*/
|
|
28
|
+
TileReplacementQueue.prototype.markStartOfRenderFrame = function() {
|
|
29
|
+
this._lastBeforeStartOfFrame = this.head;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Reduces the size of the queue to a specified size by unloading the least-recently used
|
|
34
|
+
* tiles. Tiles that were used last frame will not be unloaded, even if that puts the number
|
|
35
|
+
* of tiles above the specified maximum.
|
|
36
|
+
*
|
|
37
|
+
* @memberof TileReplacementQueue
|
|
38
|
+
*
|
|
39
|
+
* @param {Number} maximumTiles The maximum number of tiles in the queue.
|
|
40
|
+
*/
|
|
41
|
+
TileReplacementQueue.prototype.trimTiles = function(maximumTiles) {
|
|
42
|
+
var tileToTrim = this.tail;
|
|
43
|
+
var keepTrimming = true;
|
|
44
|
+
while (keepTrimming &&
|
|
45
|
+
typeof this._lastBeforeStartOfFrame !== 'undefined' &&
|
|
46
|
+
this.count > maximumTiles &&
|
|
47
|
+
typeof tileToTrim !== 'undefined') {
|
|
48
|
+
// Stop trimming after we process the last tile not used in the
|
|
49
|
+
// current frame.
|
|
50
|
+
keepTrimming = tileToTrim !== this._lastBeforeStartOfFrame;
|
|
51
|
+
|
|
52
|
+
var previous = tileToTrim.replacementPrevious;
|
|
53
|
+
|
|
54
|
+
// Do not remove tiles that are transitioning or that have
|
|
55
|
+
// imagery that is transitioning.
|
|
56
|
+
var shouldRemoveTile = tileToTrim.state !== TileState.TRANSITIONING;
|
|
57
|
+
var imagery = tileToTrim.imagery;
|
|
58
|
+
for (var i = 0, len = imagery.length; shouldRemoveTile && i < len; ++i) {
|
|
59
|
+
var tileImagery = imagery[i];
|
|
60
|
+
shouldRemoveTile = tileImagery.imagery.state !== ImageryState.TRANSITIONING;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (shouldRemoveTile) {
|
|
64
|
+
tileToTrim.freeResources();
|
|
65
|
+
this._remove(tileToTrim);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
tileToTrim = previous;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
TileReplacementQueue.prototype._remove = function(item) {
|
|
73
|
+
var previous = item.replacementPrevious;
|
|
74
|
+
var next = item.replacementNext;
|
|
75
|
+
|
|
76
|
+
if (item === this._lastBeforeStartOfFrame) {
|
|
77
|
+
this._lastBeforeStartOfFrame = next;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
if (item === this.head) {
|
|
81
|
+
this.head = next;
|
|
82
|
+
} else {
|
|
83
|
+
previous.replacementNext = next;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (item === this.tail) {
|
|
87
|
+
this.tail = previous;
|
|
88
|
+
} else {
|
|
89
|
+
next.replacementPrevious = previous;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
item.replacementPrevious = undefined;
|
|
93
|
+
item.replacementNext = undefined;
|
|
94
|
+
|
|
95
|
+
--this.count;
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Marks a tile as rendered this frame and moves it before the first tile that was not rendered
|
|
100
|
+
* this frame.
|
|
101
|
+
*
|
|
102
|
+
* @memberof TileReplacementQueue
|
|
103
|
+
*
|
|
104
|
+
* @param {TileReplacementQueue} item The tile that was rendered.
|
|
105
|
+
*/
|
|
106
|
+
TileReplacementQueue.prototype.markTileRendered = function(item) {
|
|
107
|
+
var head = this.head;
|
|
108
|
+
if (head === item) {
|
|
109
|
+
if (item === this._lastBeforeStartOfFrame) {
|
|
110
|
+
this._lastBeforeStartOfFrame = item.replacementNext;
|
|
111
|
+
}
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
++this.count;
|
|
116
|
+
|
|
117
|
+
if (typeof head === 'undefined') {
|
|
118
|
+
// no other tiles in the list
|
|
119
|
+
item.replacementPrevious = undefined;
|
|
120
|
+
item.replacementNext = undefined;
|
|
121
|
+
this.head = item;
|
|
122
|
+
this.tail = item;
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if (typeof item.replacementPrevious !== 'undefined' || typeof item.replacementNext !== 'undefined') {
|
|
127
|
+
// tile already in the list, remove from its current location
|
|
128
|
+
this._remove(item);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
item.replacementPrevious = undefined;
|
|
132
|
+
item.replacementNext = head;
|
|
133
|
+
head.replacementPrevious = item;
|
|
134
|
+
|
|
135
|
+
this.head = item;
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
return TileReplacementQueue;
|
|
139
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define(['../Core/Enumeration'], function(Enumeration) {
|
|
3
|
+
"use strict";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @private
|
|
7
|
+
*/
|
|
8
|
+
var TileState = {
|
|
9
|
+
UNLOADED : new Enumeration(0, 'UNLOADED'),
|
|
10
|
+
TRANSITIONING : new Enumeration(1, 'TRANSITIONING'),
|
|
11
|
+
RECEIVED : new Enumeration(2, 'RECEIVED'),
|
|
12
|
+
TRANSFORMED : new Enumeration(3, 'TRANSFORMED'),
|
|
13
|
+
READY : new Enumeration(4, 'READY'),
|
|
14
|
+
FAILED : new Enumeration(5, 'FAILED'),
|
|
15
|
+
INVALID : new Enumeration(6, 'INVALID')
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
return TileState;
|
|
19
|
+
});
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'../Core/DeveloperError',
|
|
4
|
+
'./Tile'
|
|
5
|
+
], function(
|
|
6
|
+
DeveloperError,
|
|
7
|
+
Tile) {
|
|
8
|
+
"use strict";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* A tiling scheme for geometry or imagery on the surface of an ellipsoid. At level-of-detail zero,
|
|
12
|
+
* the coarsest, least-detailed level, the number of tiles is configurable.
|
|
13
|
+
* At level of detail one, each of the level zero tiles has four children, two in each direction.
|
|
14
|
+
* At level of detail two, each of the level one tiles has four children, two in each direction.
|
|
15
|
+
* This continues for as many levels as are present in the geometry or imagery source.
|
|
16
|
+
*
|
|
17
|
+
* @alias TilingScheme
|
|
18
|
+
* @constructor
|
|
19
|
+
*
|
|
20
|
+
* @see WebMercatorTilingScheme
|
|
21
|
+
* @see GeographicTilingScheme
|
|
22
|
+
*/
|
|
23
|
+
var TilingScheme = function TilingScheme(description) {
|
|
24
|
+
throw new DeveloperError('This type should not be instantiated directly. Instead, use WebMercatorTilingScheme or GeographicTilingScheme.');
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Gets the ellipsoid that is tiled by this tiling scheme.
|
|
29
|
+
*
|
|
30
|
+
* @memberof TilingScheme
|
|
31
|
+
*
|
|
32
|
+
* @returns {Ellipsoid} The ellipsoid.
|
|
33
|
+
*/
|
|
34
|
+
TilingScheme.prototype.getEllipsoid = function() {
|
|
35
|
+
throw new DeveloperError('This type should not be instantiated directly.');
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Gets the extent, in radians, covered by this tiling scheme.
|
|
40
|
+
*
|
|
41
|
+
* @memberof TilingScheme
|
|
42
|
+
*
|
|
43
|
+
* @returns {Extent} The extent.
|
|
44
|
+
*/
|
|
45
|
+
TilingScheme.prototype.getExtent = function() {
|
|
46
|
+
throw new DeveloperError('This type should not be instantiated directly.');
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Gets the map projection used by this tiling scheme.
|
|
51
|
+
*
|
|
52
|
+
* @memberof TilingScheme
|
|
53
|
+
*
|
|
54
|
+
* @returns {Projection} The map projection.
|
|
55
|
+
*/
|
|
56
|
+
TilingScheme.prototype.getProjection = function() {
|
|
57
|
+
throw new DeveloperError('This type should not be instantiated directly.');
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Gets the total number of tiles in the X direction at a specified level-of-detail.
|
|
62
|
+
*
|
|
63
|
+
* @memberof TilingScheme
|
|
64
|
+
*
|
|
65
|
+
* @param {Number} level The level-of-detail.
|
|
66
|
+
* @returns {Number} The number of tiles in the X direction at the given level.
|
|
67
|
+
*/
|
|
68
|
+
TilingScheme.prototype.getNumberOfXTilesAtLevel = function(level) {
|
|
69
|
+
throw new DeveloperError('This type should not be instantiated directly.');
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Gets the total number of tiles in the Y direction at a specified level-of-detail.
|
|
74
|
+
*
|
|
75
|
+
* @memberof TilingScheme
|
|
76
|
+
*
|
|
77
|
+
* @param {Number} level The level-of-detail.
|
|
78
|
+
* @returns {Number} The number of tiles in the Y direction at the given level.
|
|
79
|
+
*/
|
|
80
|
+
TilingScheme.prototype.getNumberOfYTilesAtLevel = function(level) {
|
|
81
|
+
throw new DeveloperError('This type should not be instantiated directly.');
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Creates the tile or tiles at level of detail zero, the coarsest, least detailed level.
|
|
86
|
+
*
|
|
87
|
+
* @memberof TilingScheme
|
|
88
|
+
*
|
|
89
|
+
* @returns {Array} An array containing the tiles at level of detail zero, starting with the
|
|
90
|
+
* tile in the northwest corner and followed by the tile (if any) to its east.
|
|
91
|
+
*/
|
|
92
|
+
TilingScheme.prototype.createLevelZeroTiles = function() {
|
|
93
|
+
throw new DeveloperError('This type should not be instantiated directly.');
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Transforms an extent specified in geodetic radians to the native coordinate system
|
|
98
|
+
* of this tiling scheme.
|
|
99
|
+
*
|
|
100
|
+
* @memberof TilingScheme
|
|
101
|
+
*
|
|
102
|
+
* @param {Extent} extent The extent to transform.
|
|
103
|
+
* @param {Extent} [result] The instance to which to copy the result, or undefined if a new instance
|
|
104
|
+
* should be created.
|
|
105
|
+
* @returns {Extent} The specified 'result', or a new object containing the native extent if 'result'
|
|
106
|
+
* is undefined.
|
|
107
|
+
*/
|
|
108
|
+
TilingScheme.prototype.extentToNativeExtent = function(extent, result) {
|
|
109
|
+
throw new DeveloperError('This type should not be instantiated directly.');
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Converts tile x, y coordinates and level to an extent expressed in the native coordinates
|
|
114
|
+
* of the tiling scheme.
|
|
115
|
+
*
|
|
116
|
+
* @memberof TilingScheme
|
|
117
|
+
*
|
|
118
|
+
* @param {Number} x The integer x coordinate of the tile.
|
|
119
|
+
* @param {Number} y The integer y coordinate of the tile.
|
|
120
|
+
* @param {Number} level The tile level-of-detail. Zero is the least detailed.
|
|
121
|
+
* @param {Object} [result] The instance to which to copy the result, or undefined if a new instance
|
|
122
|
+
* should be created.
|
|
123
|
+
*
|
|
124
|
+
* @returns {Extent} The specified 'result', or a new object containing the extent
|
|
125
|
+
* if 'result' is undefined.
|
|
126
|
+
*/
|
|
127
|
+
TilingScheme.prototype.tileXYToNativeExtent = function(x, y, level, result) {
|
|
128
|
+
throw new DeveloperError('This type should not be instantiated directly.');
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Converts tile x, y coordinates and level to a cartographic extent in radians.
|
|
133
|
+
*
|
|
134
|
+
* @memberof TilingScheme
|
|
135
|
+
*
|
|
136
|
+
* @param {Number} x The integer x coordinate of the tile.
|
|
137
|
+
* @param {Number} y The integer y coordinate of the tile.
|
|
138
|
+
* @param {Number} level The tile level-of-detail. Zero is the least detailed.
|
|
139
|
+
* @param {Object} [result] The instance to which to copy the result, or undefined if a new instance
|
|
140
|
+
* should be created.
|
|
141
|
+
*
|
|
142
|
+
* @returns {Extent} The specified 'result', or a new object containing the extent
|
|
143
|
+
* if 'result' is undefined.
|
|
144
|
+
*/
|
|
145
|
+
TilingScheme.prototype.tileXYToExtent = function(x, y, level, result) {
|
|
146
|
+
throw new DeveloperError('This type should not be instantiated directly.');
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Calculates the tile x, y coordinates of the tile containing
|
|
151
|
+
* a given cartographic position.
|
|
152
|
+
*
|
|
153
|
+
* @memberof TilingScheme
|
|
154
|
+
*
|
|
155
|
+
* @param {Cartographic} position The position.
|
|
156
|
+
* @param {Number} level The tile level-of-detail. Zero is the least detailed.
|
|
157
|
+
* @param {Cartesian} [result] The instance to which to copy the result, or undefined if a new instance
|
|
158
|
+
* should be created.
|
|
159
|
+
*
|
|
160
|
+
* @returns {Cartesian2} The specified 'result', or a new object containing the tile x, y coordinates
|
|
161
|
+
* if 'result' is undefined.
|
|
162
|
+
*/
|
|
163
|
+
TilingScheme.prototype.positionToTileXY = function(position, level, result) {
|
|
164
|
+
throw new DeveloperError('This type should not be instantiated directly.');
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Creates a rectangular set of tiles for level of detail zero, the coarsest, least detailed level.
|
|
169
|
+
*
|
|
170
|
+
* @memberof TilingScheme
|
|
171
|
+
*
|
|
172
|
+
* @param {TilingScheme} tilingScheme The tiling scheme for which the tiles are to be created.
|
|
173
|
+
* @param {Number} numberOfLevelZeroTilesX The number of tiles in the X direction at level zero of
|
|
174
|
+
* the tile tree.
|
|
175
|
+
* @param {Number} numberOfLevelZeroTilesY The number of tiles in the Y direction at level zero of
|
|
176
|
+
* the tile tree.
|
|
177
|
+
* @returns {Array} An array containing the tiles at level of detail zero, starting with the
|
|
178
|
+
* tile in the northwest corner and followed by the tile (if any) to its east.
|
|
179
|
+
*
|
|
180
|
+
* @exception {DeveloperError} <code>tilingScheme</code> is required.
|
|
181
|
+
* @exception {DeveloperError} <code>numberOfLevelZeroTilesX</code> is required.
|
|
182
|
+
* @exception {DeveloperError} <code>numberOfLevelZeroTilesY</code> is required.
|
|
183
|
+
*/
|
|
184
|
+
TilingScheme.createRectangleOfLevelZeroTiles = function(tilingScheme, numberOfLevelZeroTilesX, numberOfLevelZeroTilesY) {
|
|
185
|
+
if (typeof tilingScheme === 'undefined') {
|
|
186
|
+
throw new DeveloperError('tilingScheme is required.');
|
|
187
|
+
}
|
|
188
|
+
if (typeof numberOfLevelZeroTilesX === 'undefined') {
|
|
189
|
+
throw new DeveloperError('numberOfLevelZeroTilesX is required.');
|
|
190
|
+
}
|
|
191
|
+
if (typeof numberOfLevelZeroTilesY === 'undefined') {
|
|
192
|
+
throw new DeveloperError('numberOfLevelZeroTilesY is required.');
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
var result = new Array(numberOfLevelZeroTilesX * numberOfLevelZeroTilesY);
|
|
196
|
+
|
|
197
|
+
var index = 0;
|
|
198
|
+
for (var y = 0; y < numberOfLevelZeroTilesY; ++y) {
|
|
199
|
+
for (var x = 0; x < numberOfLevelZeroTilesX; ++x) {
|
|
200
|
+
result[index++] = new Tile({
|
|
201
|
+
tilingScheme : tilingScheme,
|
|
202
|
+
x : x,
|
|
203
|
+
y : y,
|
|
204
|
+
level : 0
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
return result;
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
return TilingScheme;
|
|
213
|
+
});
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define(['../Core/Enumeration'], function(Enumeration) {
|
|
3
|
+
"use strict";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The vertical location of an origin relative to an object, e.g., a {@link Billboard}.
|
|
7
|
+
* For example, the vertical origin is used to display a billboard above or below (in
|
|
8
|
+
* screen space) of the actual position.
|
|
9
|
+
*
|
|
10
|
+
* @exports VerticalOrigin
|
|
11
|
+
*
|
|
12
|
+
* @see Billboard#setVerticalOrigin
|
|
13
|
+
*/
|
|
14
|
+
var VerticalOrigin = {
|
|
15
|
+
/**
|
|
16
|
+
* The origin is at the vertical center of the object.
|
|
17
|
+
*
|
|
18
|
+
* @constant
|
|
19
|
+
* @type {Enumeration}
|
|
20
|
+
*/
|
|
21
|
+
CENTER : new Enumeration(0, 'CENTER'),
|
|
22
|
+
/**
|
|
23
|
+
* The origin is at the bottom of the object.
|
|
24
|
+
*
|
|
25
|
+
* @constant
|
|
26
|
+
* @type {Enumeration}
|
|
27
|
+
*/
|
|
28
|
+
BOTTOM : new Enumeration(1, 'BOTTOM'),
|
|
29
|
+
/**
|
|
30
|
+
* The origin is at the top of the object.
|
|
31
|
+
*
|
|
32
|
+
* @constant
|
|
33
|
+
* @type {Enumeration}
|
|
34
|
+
*/
|
|
35
|
+
TOP : new Enumeration(-1, 'TOP')
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
return VerticalOrigin;
|
|
39
|
+
});
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'../Core/Color',
|
|
4
|
+
'../Core/combine',
|
|
5
|
+
'../Core/destroyObject',
|
|
6
|
+
'../Core/defaultValue',
|
|
7
|
+
'../Core/DeveloperError',
|
|
8
|
+
'../Core/BoundingRectangle',
|
|
9
|
+
'../Core/ComponentDatatype',
|
|
10
|
+
'../Core/PrimitiveType',
|
|
11
|
+
'./Material',
|
|
12
|
+
'../Renderer/BufferUsage',
|
|
13
|
+
'../Renderer/BlendingState',
|
|
14
|
+
'../Renderer/CommandLists',
|
|
15
|
+
'../Renderer/DrawCommand',
|
|
16
|
+
'../Shaders/Noise',
|
|
17
|
+
'../Shaders/ViewportQuadVS',
|
|
18
|
+
'../Shaders/ViewportQuadFS'
|
|
19
|
+
], function(
|
|
20
|
+
Color,
|
|
21
|
+
combine,
|
|
22
|
+
destroyObject,
|
|
23
|
+
defaultValue,
|
|
24
|
+
DeveloperError,
|
|
25
|
+
BoundingRectangle,
|
|
26
|
+
ComponentDatatype,
|
|
27
|
+
PrimitiveType,
|
|
28
|
+
Material,
|
|
29
|
+
BufferUsage,
|
|
30
|
+
BlendingState,
|
|
31
|
+
CommandLists,
|
|
32
|
+
DrawCommand,
|
|
33
|
+
Noise,
|
|
34
|
+
ViewportQuadVS,
|
|
35
|
+
ViewportQuadFS) {
|
|
36
|
+
"use strict";
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* A viewport aligned quad.
|
|
40
|
+
*
|
|
41
|
+
* @alias ViewportQuad
|
|
42
|
+
* @constructor
|
|
43
|
+
*
|
|
44
|
+
* @param {BoundingRectangle} rectangle The BoundingRectangle defining the quad's position within the viewport.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* var viewportQuad = new ViewportQuad();
|
|
48
|
+
* var viewportQuad = new BoundingRectangle(0, 0, 80, 40);
|
|
49
|
+
* viewportQuad.material.uniforms.color = new Color(1.0, 0.0, 0.0, 1.0);
|
|
50
|
+
*/
|
|
51
|
+
var ViewportQuad = function(rectangle) {
|
|
52
|
+
|
|
53
|
+
this._va = undefined;
|
|
54
|
+
this._overlayCommand = new DrawCommand();
|
|
55
|
+
this._overlayCommand.primitiveType = PrimitiveType.TRIANGLE_FAN;
|
|
56
|
+
this._commandLists = new CommandLists();
|
|
57
|
+
this._commandLists.overlayList.push(this._overlayCommand);
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* The BoundingRectangle defining the quad's position within the viewport.
|
|
62
|
+
*
|
|
63
|
+
* @type BoundingRectangle
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* viewportQuad.rectangle = new BoundingRectangle(0, 0, 80, 40);
|
|
67
|
+
*/
|
|
68
|
+
this.rectangle = new BoundingRectangle(0, 0, 10, 10);
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* The surface appearance of the viewport quad. This can be one of several built-in {@link Material} objects or a custom material, scripted with
|
|
73
|
+
* <a href='https://github.com/AnalyticalGraphicsInc/cesium/wiki/Fabric'>Fabric</a>.
|
|
74
|
+
* <p>
|
|
75
|
+
* The default material is <code>Material.ColorType</code>.
|
|
76
|
+
* </p>
|
|
77
|
+
*
|
|
78
|
+
* @type Material
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* // 1. Change the color of the default material to yellow
|
|
82
|
+
* viewportQuad.material.uniforms.color = new Color(1.0, 1.0, 0.0, 1.0);
|
|
83
|
+
*
|
|
84
|
+
* // 2. Change material to horizontal stripes
|
|
85
|
+
* viewportQuad.material = Material.fromType(scene.getContext(), Material.StripeType);
|
|
86
|
+
*
|
|
87
|
+
* @see <a href='https://github.com/AnalyticalGraphicsInc/cesium/wiki/Fabric'>Fabric</a>
|
|
88
|
+
*/
|
|
89
|
+
this.material = Material.fromType(undefined, Material.ColorType);
|
|
90
|
+
this.material.uniforms.color = new Color(1.0, 1.0, 1.0, 1.0);
|
|
91
|
+
this._material = undefined;
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
var attributeIndices = {
|
|
95
|
+
position : 0,
|
|
96
|
+
textureCoordinates : 1
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
var vertexArrayCache = {};
|
|
100
|
+
|
|
101
|
+
function getVertexArray(context) {
|
|
102
|
+
// Per-context cache for viewport quads
|
|
103
|
+
var c = vertexArrayCache[context.getId()];
|
|
104
|
+
|
|
105
|
+
if (typeof c !== 'undefined' &&
|
|
106
|
+
typeof c.vertexArray !== 'undefined') {
|
|
107
|
+
|
|
108
|
+
++c.referenceCount;
|
|
109
|
+
return c;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
var mesh = {
|
|
113
|
+
attributes : {
|
|
114
|
+
position : {
|
|
115
|
+
componentDatatype : ComponentDatatype.FLOAT,
|
|
116
|
+
componentsPerAttribute : 2,
|
|
117
|
+
values : [
|
|
118
|
+
-1.0, -1.0,
|
|
119
|
+
1.0, -1.0,
|
|
120
|
+
1.0, 1.0,
|
|
121
|
+
-1.0, 1.0
|
|
122
|
+
]
|
|
123
|
+
},
|
|
124
|
+
|
|
125
|
+
textureCoordinates : {
|
|
126
|
+
componentDatatype : ComponentDatatype.FLOAT,
|
|
127
|
+
componentsPerAttribute : 2,
|
|
128
|
+
values : [
|
|
129
|
+
0.0, 0.0,
|
|
130
|
+
1.0, 0.0,
|
|
131
|
+
1.0, 1.0,
|
|
132
|
+
0.0, 1.0
|
|
133
|
+
]
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
var va = context.createVertexArrayFromMesh({
|
|
139
|
+
mesh : mesh,
|
|
140
|
+
attributeIndices : attributeIndices,
|
|
141
|
+
bufferUsage : BufferUsage.STATIC_DRAW
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
var cachedVA = {
|
|
145
|
+
vertexArray : va,
|
|
146
|
+
referenceCount : 1,
|
|
147
|
+
|
|
148
|
+
release : function() {
|
|
149
|
+
if (typeof this.vertexArray !== 'undefined' &&
|
|
150
|
+
--this.referenceCount === 0) {
|
|
151
|
+
|
|
152
|
+
// TODO: Schedule this for a few hundred frames later so we don't thrash the cache
|
|
153
|
+
this.vertexArray = this.vertexArray.destroy();
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
return undefined;
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
vertexArrayCache[context.getId()] = cachedVA;
|
|
161
|
+
return cachedVA;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Commits changes to properties before rendering by updating the object's WebGL resources.
|
|
166
|
+
*
|
|
167
|
+
* @memberof ViewportQuad
|
|
168
|
+
*
|
|
169
|
+
* @exception {DeveloperError} this.material must be defined.
|
|
170
|
+
* @exception {DeveloperError} this.rectangle must be defined.
|
|
171
|
+
*/
|
|
172
|
+
ViewportQuad.prototype.update = function(context, frameState, commandList) {
|
|
173
|
+
if (typeof this.material === 'undefined') {
|
|
174
|
+
throw new DeveloperError('this.material must be defined.');
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
if (typeof this.rectangle === 'undefined') {
|
|
178
|
+
throw new DeveloperError('this.rectangle must be defined.');
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
if (typeof this._va === 'undefined') {
|
|
182
|
+
this._va = getVertexArray(context);
|
|
183
|
+
this._overlayCommand.vertexArray = this._va.vertexArray;
|
|
184
|
+
this._overlayCommand.renderState = context.createRenderState({
|
|
185
|
+
blending : BlendingState.ALPHA_BLEND
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
var pass = frameState.passes;
|
|
190
|
+
if (pass.overlay) {
|
|
191
|
+
if (this._material !== this.material) {
|
|
192
|
+
// Recompile shader when material changes
|
|
193
|
+
this._material = this.material;
|
|
194
|
+
|
|
195
|
+
var fsSource =
|
|
196
|
+
'#line 0\n' +
|
|
197
|
+
Noise +
|
|
198
|
+
'#line 0\n' +
|
|
199
|
+
this._material.shaderSource +
|
|
200
|
+
'#line 0\n' +
|
|
201
|
+
ViewportQuadFS;
|
|
202
|
+
|
|
203
|
+
this._overlayCommand.shaderProgram = this._overlayCommand.shaderProgram && this._overlayCommand.shaderProgram.release();
|
|
204
|
+
this._overlayCommand.shaderProgram = context.getShaderCache().getShaderProgram(ViewportQuadVS, fsSource, attributeIndices);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
this._overlayCommand.renderState.viewport = this.rectangle;
|
|
208
|
+
this._overlayCommand.uniformMap = this._material._uniforms;
|
|
209
|
+
commandList.push(this._commandLists);
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* Returns true if this object was destroyed; otherwise, false.
|
|
215
|
+
* <br /><br />
|
|
216
|
+
* If this object was destroyed, it should not be used; calling any function other than
|
|
217
|
+
* <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
|
|
218
|
+
*
|
|
219
|
+
* @memberof ViewportQuad
|
|
220
|
+
*
|
|
221
|
+
* @return {Boolean} True if this object was destroyed; otherwise, false.
|
|
222
|
+
*
|
|
223
|
+
* @see ViewportQuad#destroy
|
|
224
|
+
*/
|
|
225
|
+
ViewportQuad.prototype.isDestroyed = function() {
|
|
226
|
+
return false;
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
|
|
231
|
+
* release of WebGL resources, instead of relying on the garbage collector to destroy this object.
|
|
232
|
+
* <br /><br />
|
|
233
|
+
* Once an object is destroyed, it should not be used; calling any function other than
|
|
234
|
+
* <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
|
|
235
|
+
* assign the return value (<code>undefined</code>) to the object as done in the example.
|
|
236
|
+
*
|
|
237
|
+
* @memberof ViewportQuad
|
|
238
|
+
*
|
|
239
|
+
* @return {undefined}
|
|
240
|
+
*
|
|
241
|
+
* @exception {DeveloperError} This object was destroyed, i.e., destroy() was called.
|
|
242
|
+
*
|
|
243
|
+
* @see ViewportQuad#isDestroyed
|
|
244
|
+
*
|
|
245
|
+
* @example
|
|
246
|
+
* quad = quad && quad.destroy();
|
|
247
|
+
*/
|
|
248
|
+
ViewportQuad.prototype.destroy = function() {
|
|
249
|
+
this._va = this._va && this._va.release();
|
|
250
|
+
this._overlayCommand.shaderProgram = this._overlayCommand.shaderProgram && this._overlayCommand.shaderProgram.release();
|
|
251
|
+
|
|
252
|
+
return destroyObject(this);
|
|
253
|
+
};
|
|
254
|
+
|
|
255
|
+
return ViewportQuad;
|
|
256
|
+
});
|