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,833 @@
|
|
1
|
+
/*global define*/
|
2
|
+
define([
|
3
|
+
'./Cartesian2',
|
4
|
+
'./defaultValue',
|
5
|
+
'./DeveloperError',
|
6
|
+
'./freezeObject'
|
7
|
+
], function(
|
8
|
+
Cartesian2,
|
9
|
+
defaultValue,
|
10
|
+
DeveloperError,
|
11
|
+
freezeObject) {
|
12
|
+
"use strict";
|
13
|
+
|
14
|
+
/**
|
15
|
+
* A 2x2 matrix, indexable as a column-major order array.
|
16
|
+
* Constructor parameters are in row-major order for code readability.
|
17
|
+
* @alias Matrix2
|
18
|
+
* @constructor
|
19
|
+
*
|
20
|
+
* @param {Number} [column0Row0=0.0] The value for column 0, row 0.
|
21
|
+
* @param {Number} [column1Row0=0.0] The value for column 1, row 0.
|
22
|
+
* @param {Number} [column0Row1=0.0] The value for column 0, row 1.
|
23
|
+
* @param {Number} [column1Row1=0.0] The value for column 1, row 1.
|
24
|
+
*
|
25
|
+
* @see Matrix2.fromColumnMajor
|
26
|
+
* @see Matrix2.fromRowMajorArray
|
27
|
+
* @see Matrix2.fromScale
|
28
|
+
* @see Matrix2.fromUniformScale
|
29
|
+
* @see Matrix3
|
30
|
+
* @see Matrix4
|
31
|
+
*/
|
32
|
+
var Matrix2 = function(column0Row0, column1Row0, column0Row1, column1Row1) {
|
33
|
+
this[0] = defaultValue(column0Row0, 0.0);
|
34
|
+
this[1] = defaultValue(column0Row1, 0.0);
|
35
|
+
this[2] = defaultValue(column1Row0, 0.0);
|
36
|
+
this[3] = defaultValue(column1Row1, 0.0);
|
37
|
+
};
|
38
|
+
|
39
|
+
/**
|
40
|
+
* Duplicates a Matrix2 instance.
|
41
|
+
* @memberof Matrix2
|
42
|
+
*
|
43
|
+
* @param {Matrix2} matrix The matrix to duplicate.
|
44
|
+
* @param {Matrix2} [result] The object onto which to store the result.
|
45
|
+
* @return {Matrix2} The modified result parameter or a new Matrix2 instance if one was not provided.
|
46
|
+
*
|
47
|
+
* @exception {DeveloperError} matrix is required.
|
48
|
+
*/
|
49
|
+
Matrix2.clone = function(values, result) {
|
50
|
+
if (typeof values === 'undefined') {
|
51
|
+
throw new DeveloperError('values is required');
|
52
|
+
}
|
53
|
+
if (typeof result === 'undefined') {
|
54
|
+
return new Matrix2(values[0], values[2],
|
55
|
+
values[1], values[3]);
|
56
|
+
}
|
57
|
+
result[0] = values[0];
|
58
|
+
result[1] = values[1];
|
59
|
+
result[2] = values[2];
|
60
|
+
result[3] = values[3];
|
61
|
+
return result;
|
62
|
+
};
|
63
|
+
|
64
|
+
/**
|
65
|
+
* Creates a Matrix2 instance from a column-major order array.
|
66
|
+
* @memberof Matrix2
|
67
|
+
* @function
|
68
|
+
*
|
69
|
+
* @param {Array} values The column-major order array.
|
70
|
+
* @param {Matrix2} [result] The object in which the result will be stored, if undefined a new instance will be created.
|
71
|
+
* @returns The modified result parameter, or a new Matrix2 instance if one was not provided.
|
72
|
+
*
|
73
|
+
* @exception {DeveloperError} values is required.
|
74
|
+
*/
|
75
|
+
Matrix2.fromColumnMajorArray = Matrix2.clone;
|
76
|
+
|
77
|
+
/**
|
78
|
+
* Creates a Matrix2 instance from a row-major order array.
|
79
|
+
* The resulting matrix will be in column-major order.
|
80
|
+
* @memberof Matrix2
|
81
|
+
*
|
82
|
+
* @param {Array} values The row-major order array.
|
83
|
+
* @param {Matrix2} [result] The object in which the result will be stored, if undefined a new instance will be created.
|
84
|
+
* @returns The modified result parameter, or a new Matrix2 instance if one was not provided.
|
85
|
+
*
|
86
|
+
* @exception {DeveloperError} values is required.
|
87
|
+
*/
|
88
|
+
Matrix2.fromRowMajorArray = function(values, result) {
|
89
|
+
if (typeof values === 'undefined') {
|
90
|
+
throw new DeveloperError('values is required.');
|
91
|
+
}
|
92
|
+
if (typeof result === 'undefined') {
|
93
|
+
return new Matrix2(values[0], values[1],
|
94
|
+
values[2], values[3]);
|
95
|
+
}
|
96
|
+
result[0] = values[0];
|
97
|
+
result[1] = values[2];
|
98
|
+
result[2] = values[1];
|
99
|
+
result[3] = values[3];
|
100
|
+
return result;
|
101
|
+
};
|
102
|
+
|
103
|
+
/**
|
104
|
+
* Computes a Matrix2 instance representing a non-uniform scale.
|
105
|
+
* @memberof Matrix2
|
106
|
+
*
|
107
|
+
* @param {Cartesian2} scale The x and y scale factors.
|
108
|
+
* @param {Matrix2} [result] The object in which the result will be stored, if undefined a new instance will be created.
|
109
|
+
* @returns The modified result parameter, or a new Matrix2 instance if one was not provided.
|
110
|
+
*
|
111
|
+
* @exception {DeveloperError} scale is required.
|
112
|
+
*
|
113
|
+
* @example
|
114
|
+
* // Creates
|
115
|
+
* // [7.0, 0.0]
|
116
|
+
* // [0.0, 8.0]
|
117
|
+
* var m = Matrix2.fromScale(new Cartesian2(7.0, 8.0));
|
118
|
+
*/
|
119
|
+
Matrix2.fromScale = function(scale, result) {
|
120
|
+
if (typeof scale === 'undefined') {
|
121
|
+
throw new DeveloperError('scale is required.');
|
122
|
+
}
|
123
|
+
if (typeof result === 'undefined') {
|
124
|
+
return new Matrix2(
|
125
|
+
scale.x, 0.0,
|
126
|
+
0.0, scale.y);
|
127
|
+
}
|
128
|
+
|
129
|
+
result[0] = scale.x;
|
130
|
+
result[1] = 0.0;
|
131
|
+
result[2] = 0.0;
|
132
|
+
result[3] = scale.y;
|
133
|
+
return result;
|
134
|
+
};
|
135
|
+
|
136
|
+
/**
|
137
|
+
* Computes a Matrix2 instance representing a uniform scale.
|
138
|
+
* @memberof Matrix2
|
139
|
+
*
|
140
|
+
* @param {Number} scale The uniform scale factor.
|
141
|
+
* @param {Matrix2} [result] The object in which the result will be stored, if undefined a new instance will be created.
|
142
|
+
* @returns The modified result parameter, or a new Matrix2 instance if one was not provided.
|
143
|
+
*
|
144
|
+
* @exception {DeveloperError} scale is required.
|
145
|
+
*
|
146
|
+
* @example
|
147
|
+
* // Creates
|
148
|
+
* // [2.0, 0.0]
|
149
|
+
* // [0.0, 2.0]
|
150
|
+
* var m = Matrix2.fromUniformScale(2.0);
|
151
|
+
*/
|
152
|
+
Matrix2.fromUniformScale = function(scale, result) {
|
153
|
+
if (typeof scale !== 'number') {
|
154
|
+
throw new DeveloperError('scale is required.');
|
155
|
+
}
|
156
|
+
if (typeof result === 'undefined') {
|
157
|
+
return new Matrix2(
|
158
|
+
scale, 0.0,
|
159
|
+
0.0, scale);
|
160
|
+
}
|
161
|
+
|
162
|
+
result[0] = scale;
|
163
|
+
result[1] = 0.0;
|
164
|
+
result[2] = 0.0;
|
165
|
+
result[3] = scale;
|
166
|
+
return result;
|
167
|
+
};
|
168
|
+
|
169
|
+
/**
|
170
|
+
* Creates a rotation matrix.
|
171
|
+
*
|
172
|
+
* @param {Number} angle The angle, in radians, of the rotation. Positive angles are counterclockwise.
|
173
|
+
* @param {Matrix2} [result] The object in which the result will be stored, if undefined a new instance will be created.
|
174
|
+
*
|
175
|
+
* @returns The modified result parameter, or a new Matrix2 instance if one was not provided.
|
176
|
+
*
|
177
|
+
* @exception {DeveloperError} angle is required.
|
178
|
+
*
|
179
|
+
* @example
|
180
|
+
* // Rotate a point 45 degrees counterclockwise.
|
181
|
+
* var p = new Cartesian2(5, 6);
|
182
|
+
* var m = Matrix2.fromRotation(CesiumMath.toRadians(45.0));
|
183
|
+
* var rotated = m.multiplyByVector(p);
|
184
|
+
*/
|
185
|
+
Matrix2.fromRotation = function(angle, result) {
|
186
|
+
if (typeof angle === 'undefined') {
|
187
|
+
throw new DeveloperError('angle is required.');
|
188
|
+
}
|
189
|
+
|
190
|
+
var cosAngle = Math.cos(angle);
|
191
|
+
var sinAngle = Math.sin(angle);
|
192
|
+
|
193
|
+
if (typeof result === 'undefined') {
|
194
|
+
return new Matrix2(
|
195
|
+
cosAngle, -sinAngle,
|
196
|
+
sinAngle, cosAngle);
|
197
|
+
}
|
198
|
+
result[0] = cosAngle;
|
199
|
+
result[1] = sinAngle;
|
200
|
+
result[2] = -sinAngle;
|
201
|
+
result[3] = cosAngle;
|
202
|
+
return result;
|
203
|
+
};
|
204
|
+
|
205
|
+
/**
|
206
|
+
* Creates an Array from the provided Matrix2 instance.
|
207
|
+
* The array will be in column-major order.
|
208
|
+
* @memberof Matrix2
|
209
|
+
*
|
210
|
+
* @param {Matrix2} matrix The matrix to use..
|
211
|
+
* @param {Array} [result] The Array onto which to store the result.
|
212
|
+
* @return {Array} The modified Array parameter or a new Array instance if one was not provided.
|
213
|
+
*
|
214
|
+
* @exception {DeveloperError} matrix is required.
|
215
|
+
*/
|
216
|
+
Matrix2.toArray = function(matrix, result) {
|
217
|
+
if (typeof matrix === 'undefined') {
|
218
|
+
throw new DeveloperError('matrix is required');
|
219
|
+
}
|
220
|
+
if (typeof result === 'undefined') {
|
221
|
+
return [matrix[0], matrix[1], matrix[2], matrix[3]];
|
222
|
+
}
|
223
|
+
result[0] = matrix[0];
|
224
|
+
result[1] = matrix[1];
|
225
|
+
result[2] = matrix[2];
|
226
|
+
result[3] = matrix[3];
|
227
|
+
return result;
|
228
|
+
};
|
229
|
+
|
230
|
+
/**
|
231
|
+
* Computes the array index of the element at the provided row and column.
|
232
|
+
* @memberof Matrix2
|
233
|
+
*
|
234
|
+
* @param {Number} row The zero-based index of the row.
|
235
|
+
* @param {Number} column The zero-based index of the column.
|
236
|
+
* @return {Number} The index of the element at the provided row and column.
|
237
|
+
*
|
238
|
+
* @exception {DeveloperError} row is required and must be 0 or 1.
|
239
|
+
* @exception {DeveloperError} column is required and must be 0 or 1.
|
240
|
+
*
|
241
|
+
* @example
|
242
|
+
* var myMatrix = new Matrix2();
|
243
|
+
* var column1Row0Index = Matrix2.getElementIndex(1, 0);
|
244
|
+
* var column1Row0 = myMatrix[column1Row0Index]
|
245
|
+
* myMatrix[column1Row0Index] = 10.0;
|
246
|
+
*/
|
247
|
+
Matrix2.getElementIndex = function(column, row) {
|
248
|
+
if (typeof row !== 'number' || row < 0 || row > 1) {
|
249
|
+
throw new DeveloperError('row is required and must be 0 or 1.');
|
250
|
+
}
|
251
|
+
if (typeof column !== 'number' || column < 0 || column > 1) {
|
252
|
+
throw new DeveloperError('column is required and must be 0 or 1.');
|
253
|
+
}
|
254
|
+
return column * 2 + row;
|
255
|
+
};
|
256
|
+
|
257
|
+
/**
|
258
|
+
* Retrieves a copy of the matrix column at the provided index as a Cartesian2 instance.
|
259
|
+
* @memberof Matrix2
|
260
|
+
*
|
261
|
+
* @param {Matrix2} matrix The matrix to use.
|
262
|
+
* @param {Number} index The zero-based index of the column to retrieve.
|
263
|
+
* @param {Cartesian2} [result] The object onto which to store the result.
|
264
|
+
* @return {Cartesian2} The modified result parameter or a new Cartesian2 instance if one was not provided.
|
265
|
+
*
|
266
|
+
* @exception {DeveloperError} matrix is required.
|
267
|
+
* @exception {DeveloperError} index is required and must be 0 or 1.
|
268
|
+
*
|
269
|
+
* @see Cartesian2
|
270
|
+
*/
|
271
|
+
Matrix2.getColumn = function(matrix, index, result) {
|
272
|
+
if (typeof matrix === 'undefined') {
|
273
|
+
throw new DeveloperError('matrix is required.');
|
274
|
+
}
|
275
|
+
|
276
|
+
if (typeof index !== 'number' || index < 0 || index > 1) {
|
277
|
+
throw new DeveloperError('index is required and must be 0 or 1.');
|
278
|
+
}
|
279
|
+
|
280
|
+
var startIndex = index * 2;
|
281
|
+
var x = matrix[startIndex];
|
282
|
+
var y = matrix[startIndex + 1];
|
283
|
+
|
284
|
+
if (typeof result === 'undefined') {
|
285
|
+
return new Cartesian2(x, y);
|
286
|
+
}
|
287
|
+
result.x = x;
|
288
|
+
result.y = y;
|
289
|
+
return result;
|
290
|
+
};
|
291
|
+
|
292
|
+
/**
|
293
|
+
* Computes a new matrix that replaces the specified column in the provided matrix with the provided Cartesian2 instance.
|
294
|
+
* @memberof Matrix2
|
295
|
+
*
|
296
|
+
* @param {Matrix2} matrix The matrix to use.
|
297
|
+
* @param {Number} index The zero-based index of the column to set.
|
298
|
+
* @param {Cartesian2} cartesian The Cartesian whose values will be assigned to the specified column.
|
299
|
+
* @param {Cartesian2} [result] The object onto which to store the result.
|
300
|
+
* @return {Matrix2} The modified result parameter or a new Matrix2 instance if one was not provided.
|
301
|
+
*
|
302
|
+
* @exception {DeveloperError} matrix is required.
|
303
|
+
* @exception {DeveloperError} cartesian is required.
|
304
|
+
* @exception {DeveloperError} index is required and must be 0 or 1.
|
305
|
+
*
|
306
|
+
* @see Cartesian2
|
307
|
+
*/
|
308
|
+
Matrix2.setColumn = function(matrix, index, cartesian, result) {
|
309
|
+
if (typeof matrix === 'undefined') {
|
310
|
+
throw new DeveloperError('matrix is required');
|
311
|
+
}
|
312
|
+
if (typeof cartesian === 'undefined') {
|
313
|
+
throw new DeveloperError('cartesian is required');
|
314
|
+
}
|
315
|
+
if (typeof index !== 'number' || index < 0 || index > 1) {
|
316
|
+
throw new DeveloperError('index is required and must be 0 or 1.');
|
317
|
+
}
|
318
|
+
result = Matrix2.clone(matrix, result);
|
319
|
+
var startIndex = index * 2;
|
320
|
+
result[startIndex] = cartesian.x;
|
321
|
+
result[startIndex + 1] = cartesian.y;
|
322
|
+
return result;
|
323
|
+
};
|
324
|
+
|
325
|
+
/**
|
326
|
+
* Retrieves a copy of the matrix row at the provided index as a Cartesian2 instance.
|
327
|
+
* @memberof Matrix2
|
328
|
+
*
|
329
|
+
* @param {Matrix2} matrix The matrix to use.
|
330
|
+
* @param {Number} index The zero-based index of the row to retrieve.
|
331
|
+
* @param {Cartesian2} [result] The object onto which to store the result.
|
332
|
+
* @return {Cartesian2} The modified result parameter or a new Cartesian2 instance if one was not provided.
|
333
|
+
*
|
334
|
+
* @exception {DeveloperError} matrix is required.
|
335
|
+
* @exception {DeveloperError} index is required and must be 0 or 1.
|
336
|
+
*
|
337
|
+
* @see Cartesian2
|
338
|
+
*/
|
339
|
+
Matrix2.getRow = function(matrix, index, result) {
|
340
|
+
if (typeof matrix === 'undefined') {
|
341
|
+
throw new DeveloperError('matrix is required.');
|
342
|
+
}
|
343
|
+
|
344
|
+
if (typeof index !== 'number' || index < 0 || index > 1) {
|
345
|
+
throw new DeveloperError('index is required and must be 0 or 1.');
|
346
|
+
}
|
347
|
+
|
348
|
+
var x = matrix[index];
|
349
|
+
var y = matrix[index + 2];
|
350
|
+
|
351
|
+
if (typeof result === 'undefined') {
|
352
|
+
return new Cartesian2(x, y);
|
353
|
+
}
|
354
|
+
result.x = x;
|
355
|
+
result.y = y;
|
356
|
+
return result;
|
357
|
+
};
|
358
|
+
|
359
|
+
/**
|
360
|
+
* Computes a new matrix that replaces the specified row in the provided matrix with the provided Cartesian2 instance.
|
361
|
+
* @memberof Matrix2
|
362
|
+
*
|
363
|
+
* @param {Matrix2} matrix The matrix to use.
|
364
|
+
* @param {Number} index The zero-based index of the row to set.
|
365
|
+
* @param {Cartesian2} cartesian The Cartesian whose values will be assigned to the specified row.
|
366
|
+
* @param {Cartesian2} [result] The object onto which to store the result.
|
367
|
+
* @return {Matrix2} The modified result parameter or a new Matrix2 instance if one was not provided.
|
368
|
+
*
|
369
|
+
* @exception {DeveloperError} matrix is required.
|
370
|
+
* @exception {DeveloperError} cartesian is required.
|
371
|
+
* @exception {DeveloperError} index is required and must be 0 or 1.
|
372
|
+
*
|
373
|
+
* @see Cartesian2
|
374
|
+
*/
|
375
|
+
Matrix2.setRow = function(matrix, index, cartesian, result) {
|
376
|
+
if (typeof matrix === 'undefined') {
|
377
|
+
throw new DeveloperError('matrix is required');
|
378
|
+
}
|
379
|
+
if (typeof cartesian === 'undefined') {
|
380
|
+
throw new DeveloperError('cartesian is required');
|
381
|
+
}
|
382
|
+
if (typeof index !== 'number' || index < 0 || index > 1) {
|
383
|
+
throw new DeveloperError('index is required and must be 0 or 1.');
|
384
|
+
}
|
385
|
+
|
386
|
+
result = Matrix2.clone(matrix, result);
|
387
|
+
result[index] = cartesian.x;
|
388
|
+
result[index + 2] = cartesian.y;
|
389
|
+
return result;
|
390
|
+
};
|
391
|
+
|
392
|
+
/**
|
393
|
+
* Computes the product of two matrices.
|
394
|
+
* @memberof Matrix2
|
395
|
+
*
|
396
|
+
* @param {Matrix2} left The first matrix.
|
397
|
+
* @param {Matrix2} right The second matrix.
|
398
|
+
* @param {Matrix2} [result] The object onto which to store the result.
|
399
|
+
* @return {Matrix2} The modified result parameter or a new Matrix2 instance if one was not provided.
|
400
|
+
*
|
401
|
+
* @exception {DeveloperError} left is required.
|
402
|
+
* @exception {DeveloperError} right is required.
|
403
|
+
*/
|
404
|
+
Matrix2.multiply = function(left, right, result) {
|
405
|
+
if (typeof left === 'undefined') {
|
406
|
+
throw new DeveloperError('left is required');
|
407
|
+
}
|
408
|
+
if (typeof right === 'undefined') {
|
409
|
+
throw new DeveloperError('right is required');
|
410
|
+
}
|
411
|
+
|
412
|
+
var column0Row0 = left[0] * right[0] + left[2] * right[1];
|
413
|
+
var column1Row0 = left[0] * right[2] + left[2] * right[3];
|
414
|
+
var column0Row1 = left[1] * right[0] + left[3] * right[1];
|
415
|
+
var column1Row1 = left[1] * right[2] + left[3] * right[3];
|
416
|
+
|
417
|
+
if (typeof result === 'undefined') {
|
418
|
+
return new Matrix2(column0Row0, column1Row0,
|
419
|
+
column0Row1, column1Row1);
|
420
|
+
}
|
421
|
+
result[0] = column0Row0;
|
422
|
+
result[1] = column0Row1;
|
423
|
+
result[2] = column1Row0;
|
424
|
+
result[3] = column1Row1;
|
425
|
+
return result;
|
426
|
+
};
|
427
|
+
|
428
|
+
/**
|
429
|
+
* Computes the product of a matrix and a column vector.
|
430
|
+
* @memberof Matrix2
|
431
|
+
*
|
432
|
+
* @param {Matrix2} matrix The matrix.
|
433
|
+
* @param {Cartesian2} cartesian The column.
|
434
|
+
* @param {Cartesian2} [result] The object onto which to store the result.
|
435
|
+
* @return {Cartesian2} The modified result parameter or a new Cartesian2 instance if one was not provided.
|
436
|
+
*
|
437
|
+
* @exception {DeveloperError} matrix is required.
|
438
|
+
* @exception {DeveloperError} cartesian is required.
|
439
|
+
*/
|
440
|
+
Matrix2.multiplyByVector = function(matrix, cartesian, result) {
|
441
|
+
if (typeof matrix === 'undefined') {
|
442
|
+
throw new DeveloperError('matrix is required');
|
443
|
+
}
|
444
|
+
if (typeof cartesian === 'undefined') {
|
445
|
+
throw new DeveloperError('cartesian is required');
|
446
|
+
}
|
447
|
+
|
448
|
+
var x = matrix[0] * cartesian.x + matrix[2] * cartesian.y;
|
449
|
+
var y = matrix[1] * cartesian.x + matrix[3] * cartesian.y;
|
450
|
+
|
451
|
+
if (typeof result === 'undefined') {
|
452
|
+
return new Cartesian2(x, y);
|
453
|
+
}
|
454
|
+
result.x = x;
|
455
|
+
result.y = y;
|
456
|
+
return result;
|
457
|
+
};
|
458
|
+
|
459
|
+
/**
|
460
|
+
* Computes the product of a matrix and a scalar.
|
461
|
+
* @memberof Matrix2
|
462
|
+
*
|
463
|
+
* @param {Matrix2} matrix The matrix.
|
464
|
+
* @param {Number} scalar The number to multiply by.
|
465
|
+
* @param {Matrix2} [result] The object onto which to store the result.
|
466
|
+
* @return {Matrix2} The modified result parameter or a new Cartesian2 instance if one was not provided.
|
467
|
+
*
|
468
|
+
* @exception {DeveloperError} matrix is required.
|
469
|
+
* @exception {DeveloperError} scalar is required and must be a number.
|
470
|
+
*/
|
471
|
+
Matrix2.multiplyByScalar = function(matrix, scalar, result) {
|
472
|
+
if (typeof matrix === 'undefined') {
|
473
|
+
throw new DeveloperError('matrix is required');
|
474
|
+
}
|
475
|
+
if (typeof scalar !== 'number') {
|
476
|
+
throw new DeveloperError('scalar is required and must be a number');
|
477
|
+
}
|
478
|
+
|
479
|
+
if (typeof result === 'undefined') {
|
480
|
+
return new Matrix2(matrix[0] * scalar, matrix[2] * scalar,
|
481
|
+
matrix[1] * scalar, matrix[3] * scalar);
|
482
|
+
}
|
483
|
+
result[0] = matrix[0] * scalar;
|
484
|
+
result[1] = matrix[1] * scalar;
|
485
|
+
result[2] = matrix[2] * scalar;
|
486
|
+
result[3] = matrix[3] * scalar;
|
487
|
+
return result;
|
488
|
+
};
|
489
|
+
|
490
|
+
/**
|
491
|
+
* Creates a negated copy of the provided matrix.
|
492
|
+
* @memberof Matrix2
|
493
|
+
*
|
494
|
+
* @param {Matrix2} matrix The matrix to negate.
|
495
|
+
* @param {Matrix2} [result] The object onto which to store the result.
|
496
|
+
* @return {Matrix2} The modified result parameter or a new Matrix2 instance if one was not provided.
|
497
|
+
*
|
498
|
+
* @exception {DeveloperError} matrix is required.
|
499
|
+
*/
|
500
|
+
Matrix2.negate = function(matrix, result) {
|
501
|
+
if (typeof matrix === 'undefined') {
|
502
|
+
throw new DeveloperError('matrix is required');
|
503
|
+
}
|
504
|
+
|
505
|
+
if (typeof result === 'undefined') {
|
506
|
+
return new Matrix2(-matrix[0], -matrix[2],
|
507
|
+
-matrix[1], -matrix[3]);
|
508
|
+
}
|
509
|
+
result[0] = -matrix[0];
|
510
|
+
result[1] = -matrix[1];
|
511
|
+
result[2] = -matrix[2];
|
512
|
+
result[3] = -matrix[3];
|
513
|
+
return result;
|
514
|
+
};
|
515
|
+
|
516
|
+
/**
|
517
|
+
* Computes the transpose of the provided matrix.
|
518
|
+
* @memberof Matrix2
|
519
|
+
*
|
520
|
+
* @param {Matrix2} matrix The matrix to transpose.
|
521
|
+
* @param {Matrix2} [result] The object onto which to store the result.
|
522
|
+
* @return {Matrix2} The modified result parameter or a new Matrix2 instance if one was not provided.
|
523
|
+
*
|
524
|
+
* @exception {DeveloperError} matrix is required.
|
525
|
+
*/
|
526
|
+
Matrix2.transpose = function(matrix, result) {
|
527
|
+
if (typeof matrix === 'undefined') {
|
528
|
+
throw new DeveloperError('matrix is required');
|
529
|
+
}
|
530
|
+
|
531
|
+
var column0Row0 = matrix[0];
|
532
|
+
var column0Row1 = matrix[2];
|
533
|
+
var column1Row0 = matrix[1];
|
534
|
+
var column1Row1 = matrix[3];
|
535
|
+
|
536
|
+
if (typeof result === 'undefined') {
|
537
|
+
return new Matrix2(column0Row0, column1Row0,
|
538
|
+
column0Row1, column1Row1);
|
539
|
+
}
|
540
|
+
result[0] = column0Row0;
|
541
|
+
result[1] = column0Row1;
|
542
|
+
result[2] = column1Row0;
|
543
|
+
result[3] = column1Row1;
|
544
|
+
return result;
|
545
|
+
};
|
546
|
+
|
547
|
+
/**
|
548
|
+
* Compares the provided matrices componentwise and returns
|
549
|
+
* <code>true</code> if they are equal, <code>false</code> otherwise.
|
550
|
+
* @memberof Matrix2
|
551
|
+
*
|
552
|
+
* @param {Matrix2} [left] The first matrix.
|
553
|
+
* @param {Matrix2} [right] The second matrix.
|
554
|
+
* @return {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
|
555
|
+
*/
|
556
|
+
Matrix2.equals = function(left, right) {
|
557
|
+
return (left === right) ||
|
558
|
+
(typeof left !== 'undefined' &&
|
559
|
+
typeof right !== 'undefined' &&
|
560
|
+
left[0] === right[0] &&
|
561
|
+
left[1] === right[1] &&
|
562
|
+
left[2] === right[2] &&
|
563
|
+
left[3] === right[3]);
|
564
|
+
};
|
565
|
+
|
566
|
+
/**
|
567
|
+
* Compares the provided matrices componentwise and returns
|
568
|
+
* <code>true</code> if they are within the provided epsilon,
|
569
|
+
* <code>false</code> otherwise.
|
570
|
+
* @memberof Matrix2
|
571
|
+
*
|
572
|
+
* @param {Matrix2} [left] The first matrix.
|
573
|
+
* @param {Matrix2} [right] The second matrix.
|
574
|
+
* @param {Number} epsilon The epsilon to use for equality testing.
|
575
|
+
* @return {Boolean} <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
|
576
|
+
*
|
577
|
+
* @exception {DeveloperError} epsilon is required and must be a number.
|
578
|
+
*/
|
579
|
+
Matrix2.equalsEpsilon = function(left, right, epsilon) {
|
580
|
+
if (typeof epsilon !== 'number') {
|
581
|
+
throw new DeveloperError('epsilon is required and must be a number');
|
582
|
+
}
|
583
|
+
|
584
|
+
return (left === right) ||
|
585
|
+
(typeof left !== 'undefined' &&
|
586
|
+
typeof right !== 'undefined' &&
|
587
|
+
Math.abs(left[0] - right[0]) <= epsilon &&
|
588
|
+
Math.abs(left[1] - right[1]) <= epsilon &&
|
589
|
+
Math.abs(left[2] - right[2]) <= epsilon &&
|
590
|
+
Math.abs(left[3] - right[3]) <= epsilon);
|
591
|
+
};
|
592
|
+
|
593
|
+
/**
|
594
|
+
* An immutable Matrix2 instance initialized to the identity matrix.
|
595
|
+
* @memberof Matrix2
|
596
|
+
*/
|
597
|
+
Matrix2.IDENTITY = freezeObject(new Matrix2(1.0, 0.0,
|
598
|
+
0.0, 1.0));
|
599
|
+
|
600
|
+
/**
|
601
|
+
* The index into Matrix2 for column 0, row 0.
|
602
|
+
* @memberof Matrix2
|
603
|
+
*
|
604
|
+
* @example
|
605
|
+
* var matrix = new Matrix2();
|
606
|
+
* matrix[Matrix2.COLUMN0ROW0] = 5.0; //set column 0, row 0 to 5.0
|
607
|
+
*/
|
608
|
+
Matrix2.COLUMN0ROW0 = 0;
|
609
|
+
|
610
|
+
/**
|
611
|
+
* The index into Matrix2 for column 0, row 1.
|
612
|
+
* @memberof Matrix2
|
613
|
+
*
|
614
|
+
* @example
|
615
|
+
* var matrix = new Matrix2();
|
616
|
+
* matrix[Matrix2.COLUMN0ROW1] = 5.0; //set column 0, row 1 to 5.0
|
617
|
+
*/
|
618
|
+
Matrix2.COLUMN0ROW1 = 1;
|
619
|
+
|
620
|
+
/**
|
621
|
+
* The index into Matrix2 for column 1, row 0.
|
622
|
+
* @memberof Matrix2
|
623
|
+
*
|
624
|
+
* @example
|
625
|
+
* var matrix = new Matrix2();
|
626
|
+
* matrix[Matrix2.COLUMN1ROW0] = 5.0; //set column 1, row 0 to 5.0
|
627
|
+
*/
|
628
|
+
Matrix2.COLUMN1ROW0 = 2;
|
629
|
+
|
630
|
+
/**
|
631
|
+
* The index into Matrix2 for column 1, row 1.
|
632
|
+
* @memberof Matrix2
|
633
|
+
*
|
634
|
+
* @example
|
635
|
+
* var matrix = new Matrix2();
|
636
|
+
* matrix[Matrix2.COLUMN1ROW1] = 5.0; //set column 1, row 1 to 5.0
|
637
|
+
*/
|
638
|
+
Matrix2.COLUMN1ROW1 = 3;
|
639
|
+
|
640
|
+
/**
|
641
|
+
* Duplicates the provided Matrix2 instance.
|
642
|
+
* @memberof Matrix2
|
643
|
+
*
|
644
|
+
* @param {Matrix2} [result] The object onto which to store the result.
|
645
|
+
* @return {Matrix2} The modified result parameter or a new Matrix2 instance if one was not provided.
|
646
|
+
*/
|
647
|
+
Matrix2.prototype.clone = function(result) {
|
648
|
+
return Matrix2.clone(this, result);
|
649
|
+
};
|
650
|
+
|
651
|
+
/**
|
652
|
+
* Creates an Array from this Matrix2 instance.
|
653
|
+
* @memberof Matrix2
|
654
|
+
*
|
655
|
+
* @param {Array} [result] The Array onto which to store the result.
|
656
|
+
* @return {Array} The modified Array parameter or a new Array instance if one was not provided.
|
657
|
+
*/
|
658
|
+
Matrix2.prototype.toArray = function(result) {
|
659
|
+
return Matrix2.toArray(this, result);
|
660
|
+
};
|
661
|
+
|
662
|
+
/**
|
663
|
+
* Retrieves a copy of the matrix column at the provided index as a Cartesian2 instance.
|
664
|
+
* @memberof Matrix2
|
665
|
+
*
|
666
|
+
* @param {Number} index The zero-based index of the column to retrieve.
|
667
|
+
* @param {Cartesian2} [result] The object onto which to store the result.
|
668
|
+
* @return {Cartesian2} The modified result parameter or a new Cartesian2 instance if one was not provided.
|
669
|
+
*
|
670
|
+
* @exception {DeveloperError} index is required and must be 0 or 1.
|
671
|
+
*
|
672
|
+
* @see Cartesian2
|
673
|
+
*/
|
674
|
+
Matrix2.prototype.getColumn = function(index, result) {
|
675
|
+
return Matrix2.getColumn(this, index, result);
|
676
|
+
};
|
677
|
+
|
678
|
+
/**
|
679
|
+
* Computes a new matrix that replaces the specified column in this matrix with the provided Cartesian2 instance.
|
680
|
+
* @memberof Matrix2
|
681
|
+
*
|
682
|
+
* @param {Number} index The zero-based index of the column to set.
|
683
|
+
* @param {Cartesian2} cartesian The Cartesian whose values will be assigned to the specified column.
|
684
|
+
*
|
685
|
+
* @exception {DeveloperError} cartesian is required.
|
686
|
+
* @exception {DeveloperError} index is required and must be 0 or 1.
|
687
|
+
*
|
688
|
+
* @see Cartesian2
|
689
|
+
*/
|
690
|
+
Matrix2.prototype.setColumn = function(index, cartesian, result) {
|
691
|
+
return Matrix2.setColumn(this, index, cartesian, result);
|
692
|
+
};
|
693
|
+
|
694
|
+
/**
|
695
|
+
* Retrieves a copy of the matrix row at the provided index as a Cartesian2 instance.
|
696
|
+
* @memberof Matrix2
|
697
|
+
*
|
698
|
+
* @param {Number} index The zero-based index of the row to retrieve.
|
699
|
+
* @param {Cartesian2} [result] The object onto which to store the result.
|
700
|
+
* @return {Cartesian2} The modified result parameter or a new Cartesian2 instance if one was not provided.
|
701
|
+
*
|
702
|
+
* @exception {DeveloperError} index is required and must be 0 or 1.
|
703
|
+
*
|
704
|
+
* @see Cartesian2
|
705
|
+
*/
|
706
|
+
Matrix2.prototype.getRow = function(index, result) {
|
707
|
+
return Matrix2.getRow(this, index, result);
|
708
|
+
};
|
709
|
+
|
710
|
+
/**
|
711
|
+
* Computes a new matrix that replaces the specified row in this matrix with the provided Cartesian2 instance.
|
712
|
+
* @memberof Matrix2
|
713
|
+
*
|
714
|
+
* @param {Number} index The zero-based index of the row to set.
|
715
|
+
* @param {Cartesian2} cartesian The Cartesian whose values will be assigned to the specified row.
|
716
|
+
*
|
717
|
+
* @exception {DeveloperError} cartesian is required.
|
718
|
+
* @exception {DeveloperError} index is required and must be 0 or 1.
|
719
|
+
*
|
720
|
+
* @see Cartesian2
|
721
|
+
*/
|
722
|
+
Matrix2.prototype.setRow = function(index, cartesian, result) {
|
723
|
+
return Matrix2.setRow(this, index, cartesian, result);
|
724
|
+
};
|
725
|
+
|
726
|
+
/**
|
727
|
+
* Computes the product of this matrix and the provided matrix.
|
728
|
+
* @memberof Matrix2
|
729
|
+
*
|
730
|
+
* @param {Matrix2} right The right hand side matrix.
|
731
|
+
* @param {Matrix2} [result] The object onto which to store the result.
|
732
|
+
* @return {Matrix2} The modified result parameter or a new Matrix2 instance if one was not provided.
|
733
|
+
*
|
734
|
+
* @exception {DeveloperError} right is required.
|
735
|
+
*/
|
736
|
+
Matrix2.prototype.multiply = function(right, result) {
|
737
|
+
return Matrix2.multiply(this, right, result);
|
738
|
+
};
|
739
|
+
|
740
|
+
/**
|
741
|
+
* Computes the product of this matrix and a column vector.
|
742
|
+
* @memberof Matrix2
|
743
|
+
*
|
744
|
+
* @param {Cartesian2} cartesian The column.
|
745
|
+
* @param {Cartesian2} [result] The object onto which to store the result.
|
746
|
+
* @return {Cartesian2} The modified result parameter or a new Cartesian2 instance if one was not provided.
|
747
|
+
*
|
748
|
+
* @exception {DeveloperError} cartesian is required.
|
749
|
+
*/
|
750
|
+
Matrix2.prototype.multiplyByVector = function(cartesian, result) {
|
751
|
+
return Matrix2.multiplyByVector(this, cartesian, result);
|
752
|
+
};
|
753
|
+
|
754
|
+
/**
|
755
|
+
* Computes the product of this matrix and a scalar.
|
756
|
+
* @memberof Matrix2
|
757
|
+
*
|
758
|
+
* @param {Number} scalar The number to multiply by.
|
759
|
+
* @param {Matrix2} [result] The object onto which to store the result.
|
760
|
+
* @return {Matrix2} The modified result parameter or a new Cartesian2 instance if one was not provided.
|
761
|
+
*
|
762
|
+
* @exception {DeveloperError} scalar is required and must be a number.
|
763
|
+
*/
|
764
|
+
Matrix2.prototype.multiplyByScalar = function(scalar, result) {
|
765
|
+
return Matrix2.multiplyByScalar(this, scalar, result);
|
766
|
+
};
|
767
|
+
/**
|
768
|
+
* Creates a negated copy of this matrix.
|
769
|
+
* @memberof Matrix2
|
770
|
+
*
|
771
|
+
* @param {Matrix2} matrix The matrix to negate.
|
772
|
+
* @param {Matrix2} [result] The object onto which to store the result.
|
773
|
+
* @return {Matrix2} The modified result parameter or a new Matrix2 instance if one was not provided.
|
774
|
+
*
|
775
|
+
* @exception {DeveloperError} matrix is required.
|
776
|
+
*/
|
777
|
+
Matrix2.prototype.negate = function(result) {
|
778
|
+
return Matrix2.negate(this, result);
|
779
|
+
};
|
780
|
+
|
781
|
+
/**
|
782
|
+
* Computes the transpose of this matrix.
|
783
|
+
* @memberof Matrix2
|
784
|
+
*
|
785
|
+
* @param {Matrix2} [result] The object onto which to store the result.
|
786
|
+
* @return {Matrix2} The modified result parameter or a new Matrix2 instance if one was not provided.
|
787
|
+
*/
|
788
|
+
Matrix2.prototype.transpose = function(result) {
|
789
|
+
return Matrix2.transpose(this, result);
|
790
|
+
};
|
791
|
+
|
792
|
+
/**
|
793
|
+
* Compares this matrix to the provided matrix componentwise and returns
|
794
|
+
* <code>true</code> if they are equal, <code>false</code> otherwise.
|
795
|
+
* @memberof Matrix2
|
796
|
+
*
|
797
|
+
* @param {Matrix2} [right] The right hand side matrix.
|
798
|
+
* @return {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
|
799
|
+
*/
|
800
|
+
Matrix2.prototype.equals = function(right) {
|
801
|
+
return Matrix2.equals(this, right);
|
802
|
+
};
|
803
|
+
|
804
|
+
/**
|
805
|
+
* Compares this matrix to the provided matrix componentwise and returns
|
806
|
+
* <code>true</code> if they are within the provided epsilon,
|
807
|
+
* <code>false</code> otherwise.
|
808
|
+
* @memberof Matrix2
|
809
|
+
*
|
810
|
+
* @param {Matrix2} [right] The right hand side matrix.
|
811
|
+
* @param {Number} epsilon The epsilon to use for equality testing.
|
812
|
+
* @return {Boolean} <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
|
813
|
+
*
|
814
|
+
* @exception {DeveloperError} epsilon is required and must be a number.
|
815
|
+
*/
|
816
|
+
Matrix2.prototype.equalsEpsilon = function(right, epsilon) {
|
817
|
+
return Matrix2.equalsEpsilon(this, right, epsilon);
|
818
|
+
};
|
819
|
+
|
820
|
+
/**
|
821
|
+
* Creates a string representing this Matrix with each row being
|
822
|
+
* on a separate line and in the format '(column0, column1)'.
|
823
|
+
* @memberof Matrix2
|
824
|
+
*
|
825
|
+
* @return {String} A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1)'.
|
826
|
+
*/
|
827
|
+
Matrix2.prototype.toString = function() {
|
828
|
+
return '(' + this[0] + ', ' + this[2] + ')\n' +
|
829
|
+
'(' + this[1] + ', ' + this[3] + ')';
|
830
|
+
};
|
831
|
+
|
832
|
+
return Matrix2;
|
833
|
+
});
|