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,95 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define(['../Core/Enumeration'], function(Enumeration) {
|
|
3
|
+
"use strict";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* DOC_TBA
|
|
7
|
+
*
|
|
8
|
+
* @exports StencilFunction
|
|
9
|
+
*/
|
|
10
|
+
var StencilFunction = {
|
|
11
|
+
/**
|
|
12
|
+
* DOC_TBA
|
|
13
|
+
*
|
|
14
|
+
* @constant
|
|
15
|
+
* @type {Enumeration}
|
|
16
|
+
*/
|
|
17
|
+
NEVER : new Enumeration(0x0200, 'NEVER'),
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* DOC_TBA
|
|
21
|
+
*
|
|
22
|
+
* @constant
|
|
23
|
+
* @type {Enumeration}
|
|
24
|
+
*/
|
|
25
|
+
LESS : new Enumeration(0x0201, 'LESS'),
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* DOC_TBA
|
|
29
|
+
*
|
|
30
|
+
* @constant
|
|
31
|
+
* @type {Enumeration}
|
|
32
|
+
*/
|
|
33
|
+
EQUAL : new Enumeration(0x0202, 'EQUAL'),
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* DOC_TBA
|
|
37
|
+
*
|
|
38
|
+
* @constant
|
|
39
|
+
* @type {Enumeration}
|
|
40
|
+
*/
|
|
41
|
+
LESS_OR_EQUAL : new Enumeration(0x0203, 'LESS_OR_EQUAL'), // WebGL: LEQUAL
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* DOC_TBA
|
|
45
|
+
*
|
|
46
|
+
* @constant
|
|
47
|
+
* @type {Enumeration}
|
|
48
|
+
*/
|
|
49
|
+
GREATER : new Enumeration(0x0204, 'GREATER'),
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* DOC_TBA
|
|
53
|
+
*
|
|
54
|
+
* @constant
|
|
55
|
+
* @type {Enumeration}
|
|
56
|
+
*/
|
|
57
|
+
NOT_EQUAL : new Enumeration(0x0205, 'NOT_EQUAL'), // WebGL: NOTEQUAL
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* DOC_TBA
|
|
61
|
+
*
|
|
62
|
+
* @constant
|
|
63
|
+
* @type {Enumeration}
|
|
64
|
+
*/
|
|
65
|
+
GREATER_OR_EQUAL : new Enumeration(0x0206, 'GREATER_OR_EQUAL'), // WebGL: GEQUAL
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* DOC_TBA
|
|
69
|
+
*
|
|
70
|
+
* @constant
|
|
71
|
+
* @type {Enumeration}
|
|
72
|
+
*/
|
|
73
|
+
ALWAYS : new Enumeration(0x0207, 'ALWAYS'),
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* DOC_TBA
|
|
77
|
+
*
|
|
78
|
+
* @param stencilFunction
|
|
79
|
+
*
|
|
80
|
+
* @returns {Boolean}
|
|
81
|
+
*/
|
|
82
|
+
validate : function(stencilFunction) {
|
|
83
|
+
return ((stencilFunction === StencilFunction.NEVER) ||
|
|
84
|
+
(stencilFunction === StencilFunction.LESS) ||
|
|
85
|
+
(stencilFunction === StencilFunction.EQUAL) ||
|
|
86
|
+
(stencilFunction === StencilFunction.LESS_OR_EQUAL) ||
|
|
87
|
+
(stencilFunction === StencilFunction.GREATER) ||
|
|
88
|
+
(stencilFunction === StencilFunction.NOT_EQUAL) ||
|
|
89
|
+
(stencilFunction === StencilFunction.GREATER_OR_EQUAL) ||
|
|
90
|
+
(stencilFunction === StencilFunction.ALWAYS));
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
return StencilFunction;
|
|
95
|
+
});
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define(['../Core/Enumeration'], function(Enumeration) {
|
|
3
|
+
"use strict";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* DOC_TBA
|
|
7
|
+
*
|
|
8
|
+
* @exports StencilOperation
|
|
9
|
+
*/
|
|
10
|
+
var StencilOperation = {
|
|
11
|
+
/**
|
|
12
|
+
* DOC_TBA
|
|
13
|
+
*
|
|
14
|
+
* @constant
|
|
15
|
+
* @type {Enumeration}
|
|
16
|
+
*/
|
|
17
|
+
ZERO : new Enumeration(0, 'ZERO'),
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* DOC_TBA
|
|
21
|
+
*
|
|
22
|
+
* @constant
|
|
23
|
+
* @type {Enumeration}
|
|
24
|
+
*/
|
|
25
|
+
KEEP : new Enumeration(0x1E00, 'KEEP'),
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* DOC_TBA
|
|
29
|
+
*
|
|
30
|
+
* @constant
|
|
31
|
+
* @type {Enumeration}
|
|
32
|
+
*/
|
|
33
|
+
REPLACE : new Enumeration(0x1E01, 'REPLACE'),
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* DOC_TBA
|
|
37
|
+
*
|
|
38
|
+
* @constant
|
|
39
|
+
* @type {Enumeration}
|
|
40
|
+
*/
|
|
41
|
+
INCREMENT : new Enumeration(0x1E02, 'INCREMENT'), // WebGL: INCR
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* DOC_TBA
|
|
45
|
+
*
|
|
46
|
+
* @constant
|
|
47
|
+
* @type {Enumeration}
|
|
48
|
+
*/
|
|
49
|
+
DECREMENT : new Enumeration(0x1E03, 'DECREMENT'), // WebGL: DECR
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* DOC_TBA
|
|
53
|
+
*
|
|
54
|
+
* @constant
|
|
55
|
+
* @type {Enumeration}
|
|
56
|
+
*/
|
|
57
|
+
INVERT : new Enumeration(0x150A, 'INVERT'),
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* DOC_TBA
|
|
61
|
+
*
|
|
62
|
+
* @constant
|
|
63
|
+
* @type {Enumeration}
|
|
64
|
+
*/
|
|
65
|
+
INCREMENT_WRAP : new Enumeration(0x8507, 'INCREMENT_WRAP'), // WebGL: INCR_WRAP
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* DOC_TBA
|
|
69
|
+
*
|
|
70
|
+
* @constant
|
|
71
|
+
* @type {Enumeration}
|
|
72
|
+
*/
|
|
73
|
+
DECREMENT_WRAP : new Enumeration(0x8508, 'DECREMENT_WRAP'), // WebGL: DECR_WRAP
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* DOC_TBA
|
|
77
|
+
*
|
|
78
|
+
* @param stencilOperation
|
|
79
|
+
*
|
|
80
|
+
* @returns {Boolean}
|
|
81
|
+
*/
|
|
82
|
+
validate : function(stencilOperation) {
|
|
83
|
+
return ((stencilOperation === StencilOperation.ZERO) ||
|
|
84
|
+
(stencilOperation === StencilOperation.KEEP) ||
|
|
85
|
+
(stencilOperation === StencilOperation.REPLACE) ||
|
|
86
|
+
(stencilOperation === StencilOperation.INCREMENT) ||
|
|
87
|
+
(stencilOperation === StencilOperation.DECREMENT) ||
|
|
88
|
+
(stencilOperation === StencilOperation.INVERT) ||
|
|
89
|
+
(stencilOperation === StencilOperation.INCREMENT_WRAP) ||
|
|
90
|
+
(stencilOperation === StencilOperation.DECREMENT_WRAP));
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
return StencilOperation;
|
|
95
|
+
});
|
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
/*global define*/
|
|
2
|
+
define([
|
|
3
|
+
'../Core/DeveloperError',
|
|
4
|
+
'../Core/destroyObject',
|
|
5
|
+
'../Core/Cartesian2',
|
|
6
|
+
'../Core/Math',
|
|
7
|
+
'./PixelFormat',
|
|
8
|
+
'./MipmapHint',
|
|
9
|
+
'./TextureMagnificationFilter',
|
|
10
|
+
'./TextureMinificationFilter',
|
|
11
|
+
'./TextureWrap'
|
|
12
|
+
], function(
|
|
13
|
+
DeveloperError,
|
|
14
|
+
destroyObject,
|
|
15
|
+
Cartesian2,
|
|
16
|
+
CesiumMath,
|
|
17
|
+
PixelFormat,
|
|
18
|
+
MipmapHint,
|
|
19
|
+
TextureMagnificationFilter,
|
|
20
|
+
TextureMinificationFilter,
|
|
21
|
+
TextureWrap) {
|
|
22
|
+
"use strict";
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* DOC_TBA
|
|
26
|
+
*
|
|
27
|
+
* @alias Texture
|
|
28
|
+
* @internalConstructor
|
|
29
|
+
*
|
|
30
|
+
* @see Context#createTexture2D
|
|
31
|
+
* @see Context#createTexture2DFromFramebuffer
|
|
32
|
+
*/
|
|
33
|
+
var Texture = function(gl, textureFilterAnisotropic, textureTarget, texture, pixelFormat, pixelDatatype, width, height, preMultiplyAlpha, flipY) {
|
|
34
|
+
this._gl = gl;
|
|
35
|
+
this._textureFilterAnisotropic = textureFilterAnisotropic;
|
|
36
|
+
this._textureTarget = textureTarget;
|
|
37
|
+
this._texture = texture;
|
|
38
|
+
this._pixelFormat = pixelFormat;
|
|
39
|
+
this._pixelDatatype = pixelDatatype;
|
|
40
|
+
this._width = width;
|
|
41
|
+
this._height = height;
|
|
42
|
+
this._dimensions = new Cartesian2(width, height);
|
|
43
|
+
this._preMultiplyAlpha = preMultiplyAlpha;
|
|
44
|
+
this._flipY = flipY;
|
|
45
|
+
this._sampler = undefined;
|
|
46
|
+
|
|
47
|
+
this.setSampler();
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* DOC_TBA
|
|
52
|
+
*
|
|
53
|
+
* @memberof Texture
|
|
54
|
+
*
|
|
55
|
+
* @param {Object} source The source {ImageData}, {HTMLImageElement}, {HTMLCanvasElement}, or {HTMLVideoElement}.
|
|
56
|
+
* @param {Number} xOffset optional
|
|
57
|
+
* @param {Number} yOffset optional
|
|
58
|
+
*
|
|
59
|
+
* @exception {DeveloperError} Cannot call copyFrom when the texture pixel format is DEPTH_COMPONENT or DEPTH_STENCIL.
|
|
60
|
+
* @exception {DeveloperError} source is required.
|
|
61
|
+
* @exception {DeveloperError} xOffset must be greater than or equal to zero.
|
|
62
|
+
* @exception {DeveloperError} yOffset must be greater than or equal to zero.
|
|
63
|
+
* @exception {DeveloperError} xOffset + source.width must be less than or equal to getWidth().
|
|
64
|
+
* @exception {DeveloperError} yOffset + source.height must be less than or equal to getHeight().
|
|
65
|
+
* @exception {DeveloperError} This texture was destroyed, i.e., destroy() was called.
|
|
66
|
+
*/
|
|
67
|
+
Texture.prototype.copyFrom = function(source, xOffset, yOffset) {
|
|
68
|
+
if (!source) {
|
|
69
|
+
throw new DeveloperError('source is required.');
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
xOffset = xOffset || 0;
|
|
73
|
+
yOffset = yOffset || 0;
|
|
74
|
+
|
|
75
|
+
var width = source.width;
|
|
76
|
+
var height = source.height;
|
|
77
|
+
|
|
78
|
+
if (PixelFormat.isDepthFormat(this._pixelFormat)) {
|
|
79
|
+
throw new DeveloperError('Cannot call copyFrom when the texture pixel format is DEPTH_COMPONENT or DEPTH_STENCIL.');
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (xOffset < 0) {
|
|
83
|
+
throw new DeveloperError('xOffset must be greater than or equal to zero.');
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (yOffset < 0) {
|
|
87
|
+
throw new DeveloperError('yOffset must be greater than or equal to zero.');
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
if (xOffset + width > this._width) {
|
|
91
|
+
throw new DeveloperError('xOffset + source.width must be less than or equal to getWidth().');
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
if (yOffset + height > this._height) {
|
|
95
|
+
throw new DeveloperError('yOffset + source.height must be less than or equal to getHeight().');
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
var gl = this._gl;
|
|
99
|
+
var target = this._textureTarget;
|
|
100
|
+
|
|
101
|
+
// TODO: gl.pixelStorei(gl._UNPACK_ALIGNMENT, 4);
|
|
102
|
+
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, this._preMultiplyAlpha);
|
|
103
|
+
gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, this._flipY);
|
|
104
|
+
gl.activeTexture(gl.TEXTURE0);
|
|
105
|
+
gl.bindTexture(target, this._texture);
|
|
106
|
+
|
|
107
|
+
//Firefox bug: texSubImage2D has overloads and can't resolve our enums, so we use + to explicitly convert to a number.
|
|
108
|
+
if (source.arrayBufferView) {
|
|
109
|
+
gl.texSubImage2D(target, 0, xOffset, yOffset, width, height, +this._pixelFormat, +this._pixelDatatype, source.arrayBufferView);
|
|
110
|
+
} else {
|
|
111
|
+
gl.texSubImage2D(target, 0, xOffset, yOffset, this._pixelFormat, this._pixelDatatype, source);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
gl.bindTexture(target, null);
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* DOC_TBA
|
|
119
|
+
*
|
|
120
|
+
* @memberof Texture
|
|
121
|
+
*
|
|
122
|
+
* @param {Number} xOffset optional
|
|
123
|
+
* @param {Number} yOffset optional
|
|
124
|
+
* @param {Number} framebufferXOffset optional
|
|
125
|
+
* @param {Number} framebufferYOffset optional
|
|
126
|
+
* @param {Number} width optional
|
|
127
|
+
* @param {Number} height optional
|
|
128
|
+
*
|
|
129
|
+
* @exception {DeveloperError} Cannot call copyFromFramebuffer when the texture pixel format is DEPTH_COMPONENT or DEPTH_STENCIL.
|
|
130
|
+
* @exception {DeveloperError} This texture was destroyed, i.e., destroy() was called.
|
|
131
|
+
* @exception {DeveloperError} xOffset must be greater than or equal to zero.
|
|
132
|
+
* @exception {DeveloperError} yOffset must be greater than or equal to zero.
|
|
133
|
+
* @exception {DeveloperError} framebufferXOffset must be greater than or equal to zero.
|
|
134
|
+
* @exception {DeveloperError} framebufferYOffset must be greater than or equal to zero.
|
|
135
|
+
* @exception {DeveloperError} xOffset + source.width must be less than or equal to getWidth().
|
|
136
|
+
* @exception {DeveloperError} yOffset + source.height must be less than or equal to getHeight().
|
|
137
|
+
*/
|
|
138
|
+
Texture.prototype.copyFromFramebuffer = function(xOffset, yOffset, framebufferXOffset, framebufferYOffset, width, height) {
|
|
139
|
+
xOffset = xOffset || 0;
|
|
140
|
+
yOffset = yOffset || 0;
|
|
141
|
+
framebufferXOffset = framebufferXOffset || 0;
|
|
142
|
+
framebufferYOffset = framebufferYOffset || 0;
|
|
143
|
+
width = width || this._width;
|
|
144
|
+
height = height || this._height;
|
|
145
|
+
|
|
146
|
+
if (PixelFormat.isDepthFormat(this._pixelFormat)) {
|
|
147
|
+
throw new DeveloperError('Cannot call copyFromFramebuffer when the texture pixel format is DEPTH_COMPONENT or DEPTH_STENCIL.');
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
if (xOffset < 0) {
|
|
151
|
+
throw new DeveloperError('xOffset must be greater than or equal to zero.');
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
if (yOffset < 0) {
|
|
155
|
+
throw new DeveloperError('yOffset must be greater than or equal to zero.');
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
if (framebufferXOffset < 0) {
|
|
159
|
+
throw new DeveloperError('framebufferXOffset must be greater than or equal to zero.');
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
if (framebufferYOffset < 0) {
|
|
163
|
+
throw new DeveloperError('framebufferYOffset must be greater than or equal to zero.');
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
if (xOffset + width > this._width) {
|
|
167
|
+
throw new DeveloperError('xOffset + source.width must be less than or equal to getWidth().');
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
if (yOffset + height > this._height) {
|
|
171
|
+
throw new DeveloperError('yOffset + source.height must be less than or equal to getHeight().');
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
var gl = this._gl;
|
|
175
|
+
var target = this._textureTarget;
|
|
176
|
+
|
|
177
|
+
gl.activeTexture(gl.TEXTURE0);
|
|
178
|
+
gl.bindTexture(target, this._texture);
|
|
179
|
+
gl.copyTexSubImage2D(target, 0, xOffset, yOffset, framebufferXOffset, framebufferYOffset, width, height);
|
|
180
|
+
gl.bindTexture(target, null);
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* DOC_TBA
|
|
185
|
+
*
|
|
186
|
+
* @memberof Texture
|
|
187
|
+
*
|
|
188
|
+
* @param {MipmapHint} hint optional.
|
|
189
|
+
*
|
|
190
|
+
* @exception {DeveloperError} Cannot call generateMipmap when the texture pixel format is DEPTH_COMPONENT or DEPTH_STENCIL.
|
|
191
|
+
* @exception {DeveloperError} hint is invalid.
|
|
192
|
+
* @exception {DeveloperError} This texture's width must be a power of two to call generateMipmap().
|
|
193
|
+
* @exception {DeveloperError} This texture's height must be a power of two to call generateMipmap().
|
|
194
|
+
* @exception {DeveloperError} This texture was destroyed, i.e., destroy() was called.
|
|
195
|
+
*/
|
|
196
|
+
Texture.prototype.generateMipmap = function(hint) {
|
|
197
|
+
if (PixelFormat.isDepthFormat(this._pixelFormat)) {
|
|
198
|
+
throw new DeveloperError('Cannot call generateMipmap when the texture pixel format is DEPTH_COMPONENT or DEPTH_STENCIL.');
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
if ((this._width > 1) && !CesiumMath.isPowerOfTwo(this._width)) {
|
|
202
|
+
throw new DeveloperError('width must be a power of two to call generateMipmap().');
|
|
203
|
+
} else if ((this._height > 1) && !CesiumMath.isPowerOfTwo(this._height)) {
|
|
204
|
+
throw new DeveloperError('height must be a power of two to call generateMipmap().');
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
hint = hint || MipmapHint.DONT_CARE;
|
|
208
|
+
if (!MipmapHint.validate(hint)) {
|
|
209
|
+
throw new DeveloperError('hint is invalid.');
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
var gl = this._gl;
|
|
213
|
+
var target = this._textureTarget;
|
|
214
|
+
|
|
215
|
+
gl.hint(gl.GENERATE_MIPMAP_HINT, hint);
|
|
216
|
+
gl.activeTexture(gl.TEXTURE0);
|
|
217
|
+
gl.bindTexture(target, this._texture);
|
|
218
|
+
gl.generateMipmap(target);
|
|
219
|
+
gl.bindTexture(target, null);
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* Sets the sampler to use when sampling this texture.
|
|
224
|
+
*
|
|
225
|
+
* @memberof Texture
|
|
226
|
+
*
|
|
227
|
+
* @param [sampler] The sampler to use. Create a sampler by calling {@link Context#createSampler}. If this
|
|
228
|
+
* parameter is not specified, a default sampler is used. The default sampler clamps texture
|
|
229
|
+
* coordinates in both directions, uses linear filtering for both magnification and minifcation,
|
|
230
|
+
* and uses a maximum anisotropy of 1.0.
|
|
231
|
+
*
|
|
232
|
+
* @exception {DeveloperError} This texture was destroyed, i.e., destroy() was called.
|
|
233
|
+
*
|
|
234
|
+
* @see Context#createSampler
|
|
235
|
+
*/
|
|
236
|
+
Texture.prototype.setSampler = function(sampler) {
|
|
237
|
+
var s = sampler || {
|
|
238
|
+
wrapS : TextureWrap.CLAMP,
|
|
239
|
+
wrapT : TextureWrap.CLAMP,
|
|
240
|
+
minificationFilter : TextureMinificationFilter.LINEAR,
|
|
241
|
+
magnificationFilter : TextureMagnificationFilter.LINEAR,
|
|
242
|
+
maximumAnisotropy : 1.0
|
|
243
|
+
};
|
|
244
|
+
|
|
245
|
+
var gl = this._gl;
|
|
246
|
+
var target = this._textureTarget;
|
|
247
|
+
|
|
248
|
+
gl.activeTexture(gl.TEXTURE0);
|
|
249
|
+
gl.bindTexture(target, this._texture);
|
|
250
|
+
gl.texParameteri(target, gl.TEXTURE_MIN_FILTER, s.minificationFilter);
|
|
251
|
+
gl.texParameteri(target, gl.TEXTURE_MAG_FILTER, s.magnificationFilter);
|
|
252
|
+
gl.texParameteri(target, gl.TEXTURE_WRAP_S, s.wrapS);
|
|
253
|
+
gl.texParameteri(target, gl.TEXTURE_WRAP_T, s.wrapT);
|
|
254
|
+
if (this._textureFilterAnisotropic) {
|
|
255
|
+
gl.texParameteri(target, this._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT, s.maximumAnisotropy);
|
|
256
|
+
}
|
|
257
|
+
gl.bindTexture(target, null);
|
|
258
|
+
|
|
259
|
+
this._sampler = {
|
|
260
|
+
wrapS : s.wrapS,
|
|
261
|
+
wrapT : s.wrapT,
|
|
262
|
+
minificationFilter : s.minificationFilter,
|
|
263
|
+
magnificationFilter : s.magnificationFilter,
|
|
264
|
+
maximumAnisotropy : s.maximumAnisotropy
|
|
265
|
+
};
|
|
266
|
+
};
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* DOC_TBA
|
|
270
|
+
* @memberof Texture
|
|
271
|
+
* @exception {DeveloperError} This texture was destroyed, i.e., destroy() was called.
|
|
272
|
+
*/
|
|
273
|
+
Texture.prototype.getSampler = function() {
|
|
274
|
+
return this._sampler;
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* DOC_TBA
|
|
279
|
+
* @memberof Texture
|
|
280
|
+
* @exception {DeveloperError} This texture was destroyed, i.e., destroy() was called.
|
|
281
|
+
*/
|
|
282
|
+
Texture.prototype.getPixelFormat = function() {
|
|
283
|
+
return this._pixelFormat;
|
|
284
|
+
};
|
|
285
|
+
|
|
286
|
+
/**
|
|
287
|
+
* DOC_TBA
|
|
288
|
+
* @memberof Texture
|
|
289
|
+
* @exception {DeveloperError} This texture was destroyed, i.e., destroy() was called.
|
|
290
|
+
*/
|
|
291
|
+
Texture.prototype.getPixelDatatype = function() {
|
|
292
|
+
return this._pixelDatatype;
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* DOC_TBA
|
|
297
|
+
* @memberof Texture
|
|
298
|
+
* @exception {DeveloperError} This texture was destroyed, i.e., destroy() was called.
|
|
299
|
+
*/
|
|
300
|
+
Texture.prototype.getWidth = function() {
|
|
301
|
+
return this._width;
|
|
302
|
+
};
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* DOC_TBA
|
|
306
|
+
* @memberof Texture
|
|
307
|
+
* @exception {DeveloperError} This texture was destroyed, i.e., destroy() was called.
|
|
308
|
+
*/
|
|
309
|
+
Texture.prototype.getDimensions = function() {
|
|
310
|
+
return this._dimensions;
|
|
311
|
+
};
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* DOC_TBA
|
|
315
|
+
* @memberof Texture
|
|
316
|
+
* @exception {DeveloperError} This texture was destroyed, i.e., destroy() was called.
|
|
317
|
+
*/
|
|
318
|
+
Texture.prototype.getPreMultiplyAlpha = function() {
|
|
319
|
+
return this._preMultiplyAlpha;
|
|
320
|
+
};
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* Returns true if the source pixels are flipped vertically when the texture is created or updated, i.e.,
|
|
324
|
+
* <code>UNPACK_FLIP_Y_WEBGL</code> is used.
|
|
325
|
+
*
|
|
326
|
+
* @memberof Texture
|
|
327
|
+
*
|
|
328
|
+
* @return {Boolean} True if the source pixels are flipped vertically; otherwise, false.
|
|
329
|
+
*
|
|
330
|
+
* @exception {DeveloperError} This texture was destroyed, i.e., destroy() was called.
|
|
331
|
+
*/
|
|
332
|
+
Texture.prototype.getFlipY = function() {
|
|
333
|
+
return this._flipY;
|
|
334
|
+
};
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* DOC_TBA
|
|
338
|
+
* @memberof Texture
|
|
339
|
+
* @exception {DeveloperError} This texture was destroyed, i.e., destroy() was called.
|
|
340
|
+
*/
|
|
341
|
+
Texture.prototype.getHeight = function() {
|
|
342
|
+
return this._height;
|
|
343
|
+
};
|
|
344
|
+
|
|
345
|
+
Texture.prototype._getTexture = function() {
|
|
346
|
+
return this._texture;
|
|
347
|
+
};
|
|
348
|
+
|
|
349
|
+
Texture.prototype._getTarget = function() {
|
|
350
|
+
return this._textureTarget;
|
|
351
|
+
};
|
|
352
|
+
|
|
353
|
+
/**
|
|
354
|
+
* Returns true if this object was destroyed; otherwise, false.
|
|
355
|
+
* <br /><br />
|
|
356
|
+
* If this object was destroyed, it should not be used; calling any function other than
|
|
357
|
+
* <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
|
|
358
|
+
*
|
|
359
|
+
* @memberof Texture
|
|
360
|
+
*
|
|
361
|
+
* @return {Boolean} True if this object was destroyed; otherwise, false.
|
|
362
|
+
*
|
|
363
|
+
* @see Texture#destroy
|
|
364
|
+
*/
|
|
365
|
+
Texture.prototype.isDestroyed = function() {
|
|
366
|
+
return false;
|
|
367
|
+
};
|
|
368
|
+
|
|
369
|
+
/**
|
|
370
|
+
* Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
|
|
371
|
+
* release of WebGL resources, instead of relying on the garbage collector to destroy this object.
|
|
372
|
+
* <br /><br />
|
|
373
|
+
* Once an object is destroyed, it should not be used; calling any function other than
|
|
374
|
+
* <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
|
|
375
|
+
* assign the return value (<code>undefined</code>) to the object as done in the example.
|
|
376
|
+
*
|
|
377
|
+
* @memberof Texture
|
|
378
|
+
*
|
|
379
|
+
* @return {undefined}
|
|
380
|
+
*
|
|
381
|
+
* @exception {DeveloperError} This texture was destroyed, i.e., destroy() was called.
|
|
382
|
+
*
|
|
383
|
+
* @see Texture#isDestroyed
|
|
384
|
+
* @see <a href='http://www.khronos.org/opengles/sdk/2.0/docs/man/glDeleteTextures.xml'>glDeleteTextures</a>
|
|
385
|
+
*
|
|
386
|
+
* @example
|
|
387
|
+
* texture = texture && texture.destroy();
|
|
388
|
+
*/
|
|
389
|
+
Texture.prototype.destroy = function() {
|
|
390
|
+
this._gl.deleteTexture(this._texture);
|
|
391
|
+
return destroyObject(this);
|
|
392
|
+
};
|
|
393
|
+
|
|
394
|
+
return Texture;
|
|
395
|
+
});
|