cesium 0.22.0 → 0.23.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/Cesium.js +5 -2
  3. data/app/assets/javascripts/Core/Cartesian2.js +58 -0
  4. data/app/assets/javascripts/Core/Cartesian3.js +67 -7
  5. data/app/assets/javascripts/Core/Cartesian4.js +63 -0
  6. data/app/assets/javascripts/Core/CatmullRomSpline.js +183 -163
  7. data/app/assets/javascripts/Core/CorridorGeometry.js +2 -2
  8. data/app/assets/javascripts/Core/Ellipsoid.js +16 -0
  9. data/app/assets/javascripts/Core/ExtentGeometry.js +9 -2
  10. data/app/assets/javascripts/Core/ExtentOutlineGeometry.js +2 -2
  11. data/app/assets/javascripts/Core/GeometryPipeline.js +23 -23
  12. data/app/assets/javascripts/Core/HermiteSpline.js +260 -155
  13. data/app/assets/javascripts/Core/IndexDatatype.js +43 -34
  14. data/app/assets/javascripts/Core/LinearSpline.js +118 -0
  15. data/app/assets/javascripts/Core/Math.js +34 -3
  16. data/app/assets/javascripts/Core/Matrix2.js +26 -0
  17. data/app/assets/javascripts/Core/Matrix3.js +98 -0
  18. data/app/assets/javascripts/Core/Matrix4.js +42 -0
  19. data/app/assets/javascripts/Core/ObjectOrientedBoundingBox.js +396 -0
  20. data/app/assets/javascripts/Core/PolygonGeometry.js +87 -47
  21. data/app/assets/javascripts/Core/PolygonGeometryLibrary.js +20 -17
  22. data/app/assets/javascripts/Core/PolygonOutlineGeometry.js +68 -40
  23. data/app/assets/javascripts/Core/PolygonPipeline.js +19 -9
  24. data/app/assets/javascripts/Core/PrimitiveType.js +33 -36
  25. data/app/assets/javascripts/Core/Quaternion.js +147 -1
  26. data/app/assets/javascripts/Core/QuaternionSpline.js +160 -0
  27. data/app/assets/javascripts/Core/Spline.js +121 -0
  28. data/app/assets/javascripts/Core/Transforms.js +0 -2
  29. data/app/assets/javascripts/Core/loadArrayBuffer.js +5 -1
  30. data/app/assets/javascripts/Core/loadBlob.js +5 -1
  31. data/app/assets/javascripts/Core/loadText.js +4 -1
  32. data/app/assets/javascripts/Core/loadWithXhr.js +30 -14
  33. data/app/assets/javascripts/DynamicScene/PolylineOutlineMaterialProperty.js +2 -2
  34. data/app/assets/javascripts/Renderer/AutomaticUniforms.js +41 -41
  35. data/app/assets/javascripts/Renderer/Context.js +171 -201
  36. data/app/assets/javascripts/Renderer/CubeMapFace.js +2 -2
  37. data/app/assets/javascripts/Renderer/DrawCommand.js +2 -2
  38. data/app/assets/javascripts/Renderer/PixelFormat.js +22 -28
  39. data/app/assets/javascripts/Renderer/ShaderProgram.js +65 -46
  40. data/app/assets/javascripts/Renderer/Texture.js +1 -1
  41. data/app/assets/javascripts/Renderer/TextureMagnificationFilter.js +7 -9
  42. data/app/assets/javascripts/Renderer/TextureMinificationFilter.js +19 -25
  43. data/app/assets/javascripts/Renderer/TextureWrap.js +11 -13
  44. data/app/assets/javascripts/Renderer/UniformDatatype.js +29 -29
  45. data/app/assets/javascripts/Renderer/VertexArray.js +43 -35
  46. data/app/assets/javascripts/Scene/ArcGisMapServerImageryProvider.js +1 -2
  47. data/app/assets/javascripts/Scene/BillboardCollection.js +10 -1
  48. data/app/assets/javascripts/Scene/CameraFlightPath.js +58 -101
  49. data/app/assets/javascripts/Scene/CentralBody.js +1 -4
  50. data/app/assets/javascripts/Scene/CentralBodySurface.js +1 -2
  51. data/app/assets/javascripts/Scene/CesiumTerrainProvider.js +1 -2
  52. data/app/assets/javascripts/Scene/CustomSensorVolume.js +17 -3
  53. data/app/assets/javascripts/Scene/EllipsoidPrimitive.js +20 -5
  54. data/app/assets/javascripts/Scene/EllipsoidSurfaceAppearance.js +1 -2
  55. data/app/assets/javascripts/Scene/FrameState.js +1 -3
  56. data/app/assets/javascripts/Scene/GoogleEarthImageryProvider.js +2 -5
  57. data/app/assets/javascripts/Scene/OpenStreetMapImageryProvider.js +1 -2
  58. data/app/assets/javascripts/Scene/OrthographicFrustum.js +1 -2
  59. data/app/assets/javascripts/Scene/PerspectiveOffCenterFrustum.js +1 -2
  60. data/app/assets/javascripts/Scene/Polygon.js +1 -3
  61. data/app/assets/javascripts/Scene/Polyline.js +5 -2
  62. data/app/assets/javascripts/Scene/PolylineCollection.js +4 -6
  63. data/app/assets/javascripts/Scene/Primitive.js +19 -13
  64. data/app/assets/javascripts/Scene/PrimitivePipeline.js +1 -1
  65. data/app/assets/javascripts/Scene/Scene.js +7 -10
  66. data/app/assets/javascripts/Scene/SceneTransforms.js +1 -3
  67. data/app/assets/javascripts/Scene/SceneTransitioner.js +11 -11
  68. data/app/assets/javascripts/Scene/SingleTileImageryProvider.js +1 -2
  69. data/app/assets/javascripts/Scene/TexturePool.js +1 -1
  70. data/app/assets/javascripts/Scene/TileMapServiceImageryProvider.js +1 -2
  71. data/app/assets/javascripts/Scene/VRTheWorldTerrainProvider.js +1 -2
  72. data/app/assets/javascripts/Scene/ViewportQuad.js +1 -3
  73. data/app/assets/javascripts/Scene/WebMapServiceImageryProvider.js +1 -2
  74. data/app/assets/javascripts/ThirdParty/knockout-3.0.0.js +6 -3
  75. data/app/assets/javascripts/Widgets/CesiumWidget/CesiumWidget.js +4 -3
  76. data/app/assets/javascripts/Widgets/SceneModePicker/SceneModePickerViewModel.js +1 -1
  77. data/app/assets/javascripts/Widgets/Viewer/Viewer.js +5 -5
  78. data/app/assets/javascripts/Widgets/Viewer/viewerDragDropMixin.js +13 -13
  79. data/app/assets/javascripts/Widgets/Viewer/viewerDynamicObjectMixin.js +6 -6
  80. data/app/assets/javascripts/Widgets/widgets.css +1 -1
  81. data/lib/cesium/version.rb +1 -1
  82. metadata +6 -3
  83. data/app/assets/javascripts/Core/OrientationInterpolator.js +0 -106
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c00eb42f44b47ef2dd6001e0624a6d02cf832cb0
4
- data.tar.gz: 789135efcc81dd331e9e24087560d7c8e4abc8c4
3
+ metadata.gz: ee66e6f2108b81acbca3a195d008fed66f99f989
4
+ data.tar.gz: 9195788af06fe450f01f45e55344a14ad238f650
5
5
  SHA512:
6
- metadata.gz: 08f267133595cec746e757be25d531ec18149f744aa43062cb196ef031657e3224c31e757df5241d386c85208db37ce20f46cb6eef433bd899ad24a0860fe924
7
- data.tar.gz: e8c6c6ab14f9a4f8e1133c2a66848361c361a39453ed227018f77cf6d302d4da7d0df799581996a0531a22c6c35369a6db01f582d213c99bd647d2e31f30fee3
6
+ metadata.gz: 9da65dcd1aa7cde09ff13d0fdac061f8d2925a60d7218e49821c8b0649e196425667e702e934328322b259911ae0031505208f7e7c8f6eddb3e9dce5e1d48d50
7
+ data.tar.gz: e449eae86c35f9946e5a6ccca4ea6aee2e7974cd987e662fc6dc6a1f2606f7f6bc0f56c4e97bef33a913d1e666875bb7f8d32d263d8e7e3b0f3e249d5f0d4830
@@ -1,5 +1,5 @@
1
1
  /*global define*/
2
- define(['Core/AxisAlignedBoundingBox', 'Core/BingMapsApi', 'Core/BoundingRectangle', 'Core/BoundingSphere', 'Core/BoxGeometry', 'Core/BoxOutlineGeometry', 'Core/Cartesian2', 'Core/Cartesian3', 'Core/Cartesian4', 'Core/Cartographic', 'Core/CatmullRomSpline', 'Core/CircleGeometry', 'Core/CircleOutlineGeometry', 'Core/Clock', 'Core/ClockRange', 'Core/ClockStep', 'Core/Color', 'Core/ColorGeometryInstanceAttribute', 'Core/ComponentDatatype', 'Core/CornerType', 'Core/CorridorGeometry', 'Core/CorridorGeometryLibrary', 'Core/CorridorOutlineGeometry', 'Core/CubicRealPolynomial', 'Core/CylinderGeometry', 'Core/CylinderGeometryLibrary', 'Core/CylinderOutlineGeometry', 'Core/DefaultProxy', 'Core/DeveloperError', 'Core/EarthOrientationParameters', 'Core/EarthOrientationParametersSample', 'Core/EllipseGeometry', 'Core/EllipseGeometryLibrary', 'Core/EllipseOutlineGeometry', 'Core/Ellipsoid', 'Core/EllipsoidGeodesic', 'Core/EllipsoidGeometry', 'Core/EllipsoidOutlineGeometry', 'Core/EllipsoidTangentPlane', 'Core/EllipsoidalOccluder', 'Core/EncodedCartesian3', 'Core/Enumeration', 'Core/Event', 'Core/EventHelper', 'Core/Extent', 'Core/ExtentGeometry', 'Core/ExtentOutlineGeometry', 'Core/FAR', 'Core/FeatureDetection', 'Core/Fullscreen', 'Core/GeographicProjection', 'Core/Geometry', 'Core/GeometryAttribute', 'Core/GeometryAttributes', 'Core/GeometryInstance', 'Core/GeometryInstanceAttribute', 'Core/GeometryPipeline', 'Core/HeightmapTessellator', 'Core/HermitePolynomialApproximation', 'Core/HermiteSpline', 'Core/Iau2000Orientation', 'Core/Iau2006XysData', 'Core/Iau2006XysSample', 'Core/IauOrientationAxes', 'Core/IauOrientationParameters', 'Core/IndexDatatype', 'Core/InterpolationAlgorithm', 'Core/Intersect', 'Core/IntersectionTests', 'Core/Interval', 'Core/Iso8601', 'Core/JulianDate', 'Core/KeyboardEventModifier', 'Core/LagrangePolynomialApproximation', 'Core/LeapSecond', 'Core/LinearApproximation', 'Core/Math', 'Core/Matrix2', 'Core/Matrix3', 'Core/Matrix4', 'Core/NearFarScalar', 'Core/Occluder', 'Core/OrientationInterpolator', 'Core/Packable', 'Core/PackableForInterpolation', 'Core/Plane', 'Core/PolygonGeometry', 'Core/PolygonGeometryLibrary', 'Core/PolygonOutlineGeometry', 'Core/PolygonPipeline', 'Core/PolylineGeometry', 'Core/PolylinePipeline', 'Core/PolylineVolumeGeometry', 'Core/PolylineVolumeGeometryLibrary', 'Core/PolylineVolumeOutlineGeometry', 'Core/PrimitiveType', 'Core/QuadraticRealPolynomial', 'Core/QuarticRealPolynomial', 'Core/Quaternion', 'Core/Queue', 'Core/Ray', 'Core/ReferenceFrame', 'Core/RequestErrorEvent', 'Core/RuntimeError', 'Core/ScreenSpaceEventHandler', 'Core/ScreenSpaceEventType', 'Core/Shapes', 'Core/ShowGeometryInstanceAttribute', 'Core/Simon1994PlanetaryPositions', 'Core/SimplePolylineGeometry', 'Core/SphereGeometry', 'Core/SphereOutlineGeometry', 'Core/Spherical', 'Core/TaskProcessor', 'Core/TimeConstants', 'Core/TimeInterval', 'Core/TimeIntervalCollection', 'Core/TimeStandard', 'Core/Tipsify', 'Core/Transforms', 'Core/TridiagonalSystemSolver', 'Core/VertexFormat', 'Core/Visibility', 'Core/WallGeometry', 'Core/WallGeometryLibrary', 'Core/WallOutlineGeometry', 'Core/WebMercatorProjection', 'Core/WindingOrder', 'Core/barycentricCoordinates', 'Core/binarySearch', 'Core/buildModuleUrl', 'Core/cancelAnimationFrame', 'Core/clone', 'Core/combine', 'Core/createGuid', 'Core/defaultValue', 'Core/defineProperties', 'Core/defined', 'Core/destroyObject', 'Core/freezeObject', 'Core/getFilenameFromUri', 'Core/getImagePixels', 'Core/isCrossOriginUrl', 'Core/isLeapYear', 'Core/jsonp', 'Core/loadArrayBuffer', 'Core/loadBlob', 'Core/loadImage', 'Core/loadImageViaBlob', 'Core/loadJson', 'Core/loadText', 'Core/loadWithXhr', 'Core/loadXML', 'Core/pointInsideTriangle', 'Core/requestAnimationFrame', 'Core/throttleRequestByServer', 'Core/wrapFunction', 'Core/writeTextToCanvas', 'DynamicScene/ColorMaterialProperty', 'DynamicScene/CompositeDynamicObjectCollection', 'DynamicScene/CompositeMaterialProperty', 'DynamicScene/CompositePositionProperty', 'DynamicScene/CompositeProperty', 'DynamicScene/ConstantPositionProperty', 'DynamicScene/ConstantProperty', 'DynamicScene/CzmlDataSource', 'DynamicScene/DataSource', 'DynamicScene/DataSourceCollection', 'DynamicScene/DataSourceDisplay', 'DynamicScene/DynamicBillboard', 'DynamicScene/DynamicBillboardVisualizer', 'DynamicScene/DynamicClock', 'DynamicScene/DynamicCone', 'DynamicScene/DynamicConeVisualizerUsingCustomSensor', 'DynamicScene/DynamicDirectionsProperty', 'DynamicScene/DynamicEllipse', 'DynamicScene/DynamicEllipsoid', 'DynamicScene/DynamicEllipsoidVisualizer', 'DynamicScene/DynamicLabel', 'DynamicScene/DynamicLabelVisualizer', 'DynamicScene/DynamicObject', 'DynamicScene/DynamicObjectCollection', 'DynamicScene/DynamicObjectView', 'DynamicScene/DynamicPath', 'DynamicScene/DynamicPathVisualizer', 'DynamicScene/DynamicPoint', 'DynamicScene/DynamicPointVisualizer', 'DynamicScene/DynamicPolygon', 'DynamicScene/DynamicPolygonVisualizer', 'DynamicScene/DynamicPolyline', 'DynamicScene/DynamicPolylineVisualizer', 'DynamicScene/DynamicPyramid', 'DynamicScene/DynamicPyramidVisualizer', 'DynamicScene/DynamicVector', 'DynamicScene/DynamicVectorVisualizer', 'DynamicScene/DynamicVertexPositionsProperty', 'DynamicScene/GeoJsonDataSource', 'DynamicScene/GridMaterialProperty', 'DynamicScene/ImageMaterialProperty', 'DynamicScene/MaterialProperty', 'DynamicScene/PolylineOutlineMaterialProperty', 'DynamicScene/PositionProperty', 'DynamicScene/Property', 'DynamicScene/ReferenceProperty', 'DynamicScene/SampledPositionProperty', 'DynamicScene/SampledProperty', 'DynamicScene/TimeIntervalCollectionPositionProperty', 'DynamicScene/TimeIntervalCollectionProperty', 'DynamicScene/VisualizerCollection', 'DynamicScene/createDynamicPropertyDescriptor', 'Renderer/AutomaticUniforms', 'Renderer/BlendEquation', 'Renderer/BlendFunction', 'Renderer/BlendingState', 'Renderer/Buffer', 'Renderer/BufferUsage', 'Renderer/ClearCommand', 'Renderer/CommandLists', 'Renderer/Context', 'Renderer/CubeMap', 'Renderer/CubeMapFace', 'Renderer/CullFace', 'Renderer/DepthFunction', 'Renderer/DrawCommand', 'Renderer/Framebuffer', 'Renderer/MipmapHint', 'Renderer/PassState', 'Renderer/PickFramebuffer', 'Renderer/PixelDatatype', 'Renderer/PixelFormat', 'Renderer/RenderState', 'Renderer/Renderbuffer', 'Renderer/RenderbufferFormat', 'Renderer/ShaderCache', 'Renderer/ShaderProgram', 'Renderer/StencilFunction', 'Renderer/StencilOperation', 'Renderer/Texture', 'Renderer/TextureAtlas', 'Renderer/TextureAtlasBuilder', 'Renderer/TextureMagnificationFilter', 'Renderer/TextureMinificationFilter', 'Renderer/TextureWrap', 'Renderer/UniformDatatype', 'Renderer/UniformState', 'Renderer/VertexArray', 'Renderer/VertexArrayFacade', 'Renderer/VertexLayout', 'Renderer/createShaderSource', 'Renderer/loadCubeMap', 'Scene/AnimationCollection', 'Scene/Appearance', 'Scene/ArcGisImageServerTerrainProvider', 'Scene/ArcGisMapServerImageryProvider', 'Scene/Billboard', 'Scene/BillboardCollection', 'Scene/BingMapsImageryProvider', 'Scene/BingMapsStyle', 'Scene/Camera', 'Scene/CameraColumbusViewMode', 'Scene/CameraController', 'Scene/CameraEventAggregator', 'Scene/CameraEventType', 'Scene/CameraFlightPath', 'Scene/CentralBody', 'Scene/CentralBodySurface', 'Scene/CentralBodySurfaceShaderSet', 'Scene/CesiumTerrainProvider', 'Scene/CompositePrimitive', 'Scene/Credit', 'Scene/CreditDisplay', 'Scene/CullingVolume', 'Scene/CustomSensorVolume', 'Scene/DebugAppearance', 'Scene/DebugModelMatrixPrimitive', 'Scene/DiscardMissingTileImagePolicy', 'Scene/EllipsoidPrimitive', 'Scene/EllipsoidSurfaceAppearance', 'Scene/EllipsoidTerrainProvider', 'Scene/ExtentPrimitive', 'Scene/FrameState', 'Scene/FrustumCommands', 'Scene/GeographicTilingScheme', 'Scene/GoogleEarthImageryProvider', 'Scene/GridImageryProvider', 'Scene/HeightmapTerrainData', 'Scene/HorizontalOrigin', 'Scene/Imagery', 'Scene/ImageryLayer', 'Scene/ImageryLayerCollection', 'Scene/ImageryProvider', 'Scene/ImageryState', 'Scene/Label', 'Scene/LabelCollection', 'Scene/LabelStyle', 'Scene/Material', 'Scene/MaterialAppearance', 'Scene/Moon', 'Scene/NeverTileDiscardPolicy', 'Scene/OpenStreetMapImageryProvider', 'Scene/OrthographicFrustum', 'Scene/PerInstanceColorAppearance', 'Scene/PerformanceDisplay', 'Scene/PerspectiveFrustum', 'Scene/PerspectiveOffCenterFrustum', 'Scene/Polygon', 'Scene/Polyline', 'Scene/PolylineCollection', 'Scene/PolylineColorAppearance', 'Scene/PolylineMaterialAppearance', 'Scene/Primitive', 'Scene/PrimitivePipeline', 'Scene/PrimitiveState', 'Scene/RectangularPyramidSensorVolume', 'Scene/Scene', 'Scene/SceneMode', 'Scene/SceneTransforms', 'Scene/SceneTransitioner', 'Scene/ScreenSpaceCameraController', 'Scene/SensorVolumeCollection', 'Scene/SingleTileImageryProvider', 'Scene/SkyAtmosphere', 'Scene/SkyBox', 'Scene/Sun', 'Scene/SunPostProcess', 'Scene/TerrainData', 'Scene/TerrainMesh', 'Scene/TerrainProvider', 'Scene/TerrainState', 'Scene/TexturePool', 'Scene/Tile', 'Scene/TileCoordinatesImageryProvider', 'Scene/TileDiscardPolicy', 'Scene/TileImagery', 'Scene/TileMapServiceImageryProvider', 'Scene/TileProviderError', 'Scene/TileReplacementQueue', 'Scene/TileState', 'Scene/TileTerrain', 'Scene/TilingScheme', 'Scene/VRTheWorldTerrainProvider', 'Scene/VerticalOrigin', 'Scene/ViewportQuad', 'Scene/WebMapServiceImageryProvider', 'Scene/WebMercatorTilingScheme', 'Scene/createTangentSpaceDebugPrimitive', 'Scene/sampleTerrain', 'Shaders/Appearances/AllMaterialAppearanceFS', 'Shaders/Appearances/AllMaterialAppearanceVS', 'Shaders/Appearances/BasicMaterialAppearanceFS', 'Shaders/Appearances/BasicMaterialAppearanceVS', 'Shaders/Appearances/EllipsoidSurfaceAppearanceFS', 'Shaders/Appearances/EllipsoidSurfaceAppearanceVS', 'Shaders/Appearances/PerInstanceColorAppearanceFS', 'Shaders/Appearances/PerInstanceColorAppearanceVS', 'Shaders/Appearances/PerInstanceFlatColorAppearanceFS', 'Shaders/Appearances/PerInstanceFlatColorAppearanceVS', 'Shaders/Appearances/PolylineColorAppearanceVS', 'Shaders/Appearances/PolylineMaterialAppearanceVS', 'Shaders/Appearances/TexturedMaterialAppearanceFS', 'Shaders/Appearances/TexturedMaterialAppearanceVS', 'Shaders/BillboardCollectionFS', 'Shaders/BillboardCollectionVS', 'Shaders/Builtin/Constants/degreesPerRadian', 'Shaders/Builtin/Constants/epsilon1', 'Shaders/Builtin/Constants/epsilon2', 'Shaders/Builtin/Constants/epsilon3', 'Shaders/Builtin/Constants/epsilon4', 'Shaders/Builtin/Constants/epsilon5', 'Shaders/Builtin/Constants/epsilon6', 'Shaders/Builtin/Constants/epsilon7', 'Shaders/Builtin/Constants/infinity', 'Shaders/Builtin/Constants/oneOverPi', 'Shaders/Builtin/Constants/oneOverTwoPi', 'Shaders/Builtin/Constants/pi', 'Shaders/Builtin/Constants/piOverFour', 'Shaders/Builtin/Constants/piOverSix', 'Shaders/Builtin/Constants/piOverThree', 'Shaders/Builtin/Constants/piOverTwo', 'Shaders/Builtin/Constants/radiansPerDegree', 'Shaders/Builtin/Constants/sceneMode2D', 'Shaders/Builtin/Constants/sceneMode3D', 'Shaders/Builtin/Constants/sceneModeColumbusView', 'Shaders/Builtin/Constants/sceneModeMorphing', 'Shaders/Builtin/Constants/solarRadius', 'Shaders/Builtin/Constants/threePiOver2', 'Shaders/Builtin/Constants/twoPi', 'Shaders/Builtin/Constants/webMercatorMaxLatitude', 'Shaders/Builtin/CzmBuiltins', 'Shaders/Builtin/Functions/RGBToXYZ', 'Shaders/Builtin/Functions/XYZToRGB', 'Shaders/Builtin/Functions/antialias', 'Shaders/Builtin/Functions/cellular', 'Shaders/Builtin/Functions/columbusViewMorph', 'Shaders/Builtin/Functions/computePosition', 'Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates', 'Shaders/Builtin/Functions/ellipsoidContainsPoint', 'Shaders/Builtin/Functions/ellipsoidNew', 'Shaders/Builtin/Functions/ellipsoidWgs84TextureCoordinates', 'Shaders/Builtin/Functions/equalsEpsilon', 'Shaders/Builtin/Functions/eyeOffset', 'Shaders/Builtin/Functions/eyeToWindowCoordinates', 'Shaders/Builtin/Functions/geodeticSurfaceNormal', 'Shaders/Builtin/Functions/getDefaultMaterial', 'Shaders/Builtin/Functions/getLambertDiffuse', 'Shaders/Builtin/Functions/getSpecular', 'Shaders/Builtin/Functions/getWaterNoise', 'Shaders/Builtin/Functions/getWgs84EllipsoidEC', 'Shaders/Builtin/Functions/hue', 'Shaders/Builtin/Functions/isEmpty', 'Shaders/Builtin/Functions/isFull', 'Shaders/Builtin/Functions/latitudeToWebMercatorFraction', 'Shaders/Builtin/Functions/luminance', 'Shaders/Builtin/Functions/modelToWindowCoordinates', 'Shaders/Builtin/Functions/multiplyWithColorBalance', 'Shaders/Builtin/Functions/phong', 'Shaders/Builtin/Functions/pointAlongRay', 'Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval', 'Shaders/Builtin/Functions/saturation', 'Shaders/Builtin/Functions/snoise', 'Shaders/Builtin/Functions/tangentToEyeSpaceMatrix', 'Shaders/Builtin/Functions/translateRelativeToEye', 'Shaders/Builtin/Functions/transpose', 'Shaders/Builtin/Functions/windowToEyeCoordinates', 'Shaders/Builtin/Structs/ellipsoid', 'Shaders/Builtin/Structs/material', 'Shaders/Builtin/Structs/materialInput', 'Shaders/Builtin/Structs/ray', 'Shaders/Builtin/Structs/raySegment', 'Shaders/CentralBodyFS', 'Shaders/CentralBodyFSDepth', 'Shaders/CentralBodyFSPole', 'Shaders/CentralBodyVS', 'Shaders/CentralBodyVSDepth', 'Shaders/CentralBodyVSPole', 'Shaders/CustomSensorVolumeFS', 'Shaders/CustomSensorVolumeVS', 'Shaders/EllipsoidFS', 'Shaders/EllipsoidVS', 'Shaders/Materials/AsphaltMaterial', 'Shaders/Materials/BlobMaterial', 'Shaders/Materials/BrickMaterial', 'Shaders/Materials/BumpMapMaterial', 'Shaders/Materials/CementMaterial', 'Shaders/Materials/CheckerboardMaterial', 'Shaders/Materials/DotMaterial', 'Shaders/Materials/ErosionMaterial', 'Shaders/Materials/FacetMaterial', 'Shaders/Materials/FadeMaterial', 'Shaders/Materials/FresnelMaterial', 'Shaders/Materials/GrassMaterial', 'Shaders/Materials/GridMaterial', 'Shaders/Materials/NormalMapMaterial', 'Shaders/Materials/PolylineArrowMaterial', 'Shaders/Materials/PolylineGlowMaterial', 'Shaders/Materials/PolylineOutlineMaterial', 'Shaders/Materials/ReflectionMaterial', 'Shaders/Materials/RefractionMaterial', 'Shaders/Materials/RimLightingMaterial', 'Shaders/Materials/StripeMaterial', 'Shaders/Materials/TieDyeMaterial', 'Shaders/Materials/Water', 'Shaders/Materials/WoodMaterial', 'Shaders/PolylineCommon', 'Shaders/PolylineFS', 'Shaders/PolylineVS', 'Shaders/PostProcessFilters/AdditiveBlend', 'Shaders/PostProcessFilters/BrightPass', 'Shaders/PostProcessFilters/GaussianBlur1D', 'Shaders/PostProcessFilters/PassThrough', 'Shaders/ReprojectWebMercatorFS', 'Shaders/ReprojectWebMercatorVS', 'Shaders/SensorVolume', 'Shaders/SkyAtmosphereFS', 'Shaders/SkyAtmosphereVS', 'Shaders/SkyBoxFS', 'Shaders/SkyBoxVS', 'Shaders/SunFS', 'Shaders/SunTextureFS', 'Shaders/SunVS', 'Shaders/ViewportQuadFS', 'Shaders/ViewportQuadVS', 'ThirdParty/Tween', 'ThirdParty/Uri', 'ThirdParty/knockout-3.0.0', 'ThirdParty/knockout-es5', 'ThirdParty/knockout', 'ThirdParty/measureText', 'ThirdParty/mersenne-twister', 'ThirdParty/sprintf', 'ThirdParty/topojson', 'ThirdParty/weakmap', 'ThirdParty/when', 'Widgets/Animation/Animation', 'Widgets/Animation/AnimationViewModel', 'Widgets/BaseLayerPicker/BaseLayerPicker', 'Widgets/BaseLayerPicker/BaseLayerPickerViewModel', 'Widgets/BaseLayerPicker/ImageryProviderViewModel', 'Widgets/BaseLayerPicker/createDefaultBaseLayers', 'Widgets/CesiumWidget/CesiumWidget', 'Widgets/ClockViewModel', 'Widgets/Command', 'Widgets/FullscreenButton/FullscreenButton', 'Widgets/FullscreenButton/FullscreenButtonViewModel', 'Widgets/Geocoder/Geocoder', 'Widgets/Geocoder/GeocoderViewModel', 'Widgets/HomeButton/HomeButton', 'Widgets/HomeButton/HomeButtonViewModel', 'Widgets/Observable', 'Widgets/SceneModePicker/SceneModePicker', 'Widgets/SceneModePicker/SceneModePickerViewModel', 'Widgets/SvgPath/SvgPath', 'Widgets/Timeline/Timeline', 'Widgets/Timeline/TimelineHighlightRange', 'Widgets/Timeline/TimelineTrack', 'Widgets/ToggleButtonViewModel', 'Widgets/Viewer/Viewer', 'Widgets/Viewer/viewerDragDropMixin', 'Widgets/Viewer/viewerDynamicObjectMixin', 'Widgets/checkForChromeFrame', 'Widgets/createCommand', 'Widgets/getElement', 'Widgets/subscribeAndEvaluate'], function(Core_AxisAlignedBoundingBox, Core_BingMapsApi, Core_BoundingRectangle, Core_BoundingSphere, Core_BoxGeometry, Core_BoxOutlineGeometry, Core_Cartesian2, Core_Cartesian3, Core_Cartesian4, Core_Cartographic, Core_CatmullRomSpline, Core_CircleGeometry, Core_CircleOutlineGeometry, Core_Clock, Core_ClockRange, Core_ClockStep, Core_Color, Core_ColorGeometryInstanceAttribute, Core_ComponentDatatype, Core_CornerType, Core_CorridorGeometry, Core_CorridorGeometryLibrary, Core_CorridorOutlineGeometry, Core_CubicRealPolynomial, Core_CylinderGeometry, Core_CylinderGeometryLibrary, Core_CylinderOutlineGeometry, Core_DefaultProxy, Core_DeveloperError, Core_EarthOrientationParameters, Core_EarthOrientationParametersSample, Core_EllipseGeometry, Core_EllipseGeometryLibrary, Core_EllipseOutlineGeometry, Core_Ellipsoid, Core_EllipsoidGeodesic, Core_EllipsoidGeometry, Core_EllipsoidOutlineGeometry, Core_EllipsoidTangentPlane, Core_EllipsoidalOccluder, Core_EncodedCartesian3, Core_Enumeration, Core_Event, Core_EventHelper, Core_Extent, Core_ExtentGeometry, Core_ExtentOutlineGeometry, Core_FAR, Core_FeatureDetection, Core_Fullscreen, Core_GeographicProjection, Core_Geometry, Core_GeometryAttribute, Core_GeometryAttributes, Core_GeometryInstance, Core_GeometryInstanceAttribute, Core_GeometryPipeline, Core_HeightmapTessellator, Core_HermitePolynomialApproximation, Core_HermiteSpline, Core_Iau2000Orientation, Core_Iau2006XysData, Core_Iau2006XysSample, Core_IauOrientationAxes, Core_IauOrientationParameters, Core_IndexDatatype, Core_InterpolationAlgorithm, Core_Intersect, Core_IntersectionTests, Core_Interval, Core_Iso8601, Core_JulianDate, Core_KeyboardEventModifier, Core_LagrangePolynomialApproximation, Core_LeapSecond, Core_LinearApproximation, Core_Math, Core_Matrix2, Core_Matrix3, Core_Matrix4, Core_NearFarScalar, Core_Occluder, Core_OrientationInterpolator, Core_Packable, Core_PackableForInterpolation, Core_Plane, Core_PolygonGeometry, Core_PolygonGeometryLibrary, Core_PolygonOutlineGeometry, Core_PolygonPipeline, Core_PolylineGeometry, Core_PolylinePipeline, Core_PolylineVolumeGeometry, Core_PolylineVolumeGeometryLibrary, Core_PolylineVolumeOutlineGeometry, Core_PrimitiveType, Core_QuadraticRealPolynomial, Core_QuarticRealPolynomial, Core_Quaternion, Core_Queue, Core_Ray, Core_ReferenceFrame, Core_RequestErrorEvent, Core_RuntimeError, Core_ScreenSpaceEventHandler, Core_ScreenSpaceEventType, Core_Shapes, Core_ShowGeometryInstanceAttribute, Core_Simon1994PlanetaryPositions, Core_SimplePolylineGeometry, Core_SphereGeometry, Core_SphereOutlineGeometry, Core_Spherical, Core_TaskProcessor, Core_TimeConstants, Core_TimeInterval, Core_TimeIntervalCollection, Core_TimeStandard, Core_Tipsify, Core_Transforms, Core_TridiagonalSystemSolver, Core_VertexFormat, Core_Visibility, Core_WallGeometry, Core_WallGeometryLibrary, Core_WallOutlineGeometry, Core_WebMercatorProjection, Core_WindingOrder, Core_barycentricCoordinates, Core_binarySearch, Core_buildModuleUrl, Core_cancelAnimationFrame, Core_clone, Core_combine, Core_createGuid, Core_defaultValue, Core_defineProperties, Core_defined, Core_destroyObject, Core_freezeObject, Core_getFilenameFromUri, Core_getImagePixels, Core_isCrossOriginUrl, Core_isLeapYear, Core_jsonp, Core_loadArrayBuffer, Core_loadBlob, Core_loadImage, Core_loadImageViaBlob, Core_loadJson, Core_loadText, Core_loadWithXhr, Core_loadXML, Core_pointInsideTriangle, Core_requestAnimationFrame, Core_throttleRequestByServer, Core_wrapFunction, Core_writeTextToCanvas, DynamicScene_ColorMaterialProperty, DynamicScene_CompositeDynamicObjectCollection, DynamicScene_CompositeMaterialProperty, DynamicScene_CompositePositionProperty, DynamicScene_CompositeProperty, DynamicScene_ConstantPositionProperty, DynamicScene_ConstantProperty, DynamicScene_CzmlDataSource, DynamicScene_DataSource, DynamicScene_DataSourceCollection, DynamicScene_DataSourceDisplay, DynamicScene_DynamicBillboard, DynamicScene_DynamicBillboardVisualizer, DynamicScene_DynamicClock, DynamicScene_DynamicCone, DynamicScene_DynamicConeVisualizerUsingCustomSensor, DynamicScene_DynamicDirectionsProperty, DynamicScene_DynamicEllipse, DynamicScene_DynamicEllipsoid, DynamicScene_DynamicEllipsoidVisualizer, DynamicScene_DynamicLabel, DynamicScene_DynamicLabelVisualizer, DynamicScene_DynamicObject, DynamicScene_DynamicObjectCollection, DynamicScene_DynamicObjectView, DynamicScene_DynamicPath, DynamicScene_DynamicPathVisualizer, DynamicScene_DynamicPoint, DynamicScene_DynamicPointVisualizer, DynamicScene_DynamicPolygon, DynamicScene_DynamicPolygonVisualizer, DynamicScene_DynamicPolyline, DynamicScene_DynamicPolylineVisualizer, DynamicScene_DynamicPyramid, DynamicScene_DynamicPyramidVisualizer, DynamicScene_DynamicVector, DynamicScene_DynamicVectorVisualizer, DynamicScene_DynamicVertexPositionsProperty, DynamicScene_GeoJsonDataSource, DynamicScene_GridMaterialProperty, DynamicScene_ImageMaterialProperty, DynamicScene_MaterialProperty, DynamicScene_PolylineOutlineMaterialProperty, DynamicScene_PositionProperty, DynamicScene_Property, DynamicScene_ReferenceProperty, DynamicScene_SampledPositionProperty, DynamicScene_SampledProperty, DynamicScene_TimeIntervalCollectionPositionProperty, DynamicScene_TimeIntervalCollectionProperty, DynamicScene_VisualizerCollection, DynamicScene_createDynamicPropertyDescriptor, Renderer_AutomaticUniforms, Renderer_BlendEquation, Renderer_BlendFunction, Renderer_BlendingState, Renderer_Buffer, Renderer_BufferUsage, Renderer_ClearCommand, Renderer_CommandLists, Renderer_Context, Renderer_CubeMap, Renderer_CubeMapFace, Renderer_CullFace, Renderer_DepthFunction, Renderer_DrawCommand, Renderer_Framebuffer, Renderer_MipmapHint, Renderer_PassState, Renderer_PickFramebuffer, Renderer_PixelDatatype, Renderer_PixelFormat, Renderer_RenderState, Renderer_Renderbuffer, Renderer_RenderbufferFormat, Renderer_ShaderCache, Renderer_ShaderProgram, Renderer_StencilFunction, Renderer_StencilOperation, Renderer_Texture, Renderer_TextureAtlas, Renderer_TextureAtlasBuilder, Renderer_TextureMagnificationFilter, Renderer_TextureMinificationFilter, Renderer_TextureWrap, Renderer_UniformDatatype, Renderer_UniformState, Renderer_VertexArray, Renderer_VertexArrayFacade, Renderer_VertexLayout, Renderer_createShaderSource, Renderer_loadCubeMap, Scene_AnimationCollection, Scene_Appearance, Scene_ArcGisImageServerTerrainProvider, Scene_ArcGisMapServerImageryProvider, Scene_Billboard, Scene_BillboardCollection, Scene_BingMapsImageryProvider, Scene_BingMapsStyle, Scene_Camera, Scene_CameraColumbusViewMode, Scene_CameraController, Scene_CameraEventAggregator, Scene_CameraEventType, Scene_CameraFlightPath, Scene_CentralBody, Scene_CentralBodySurface, Scene_CentralBodySurfaceShaderSet, Scene_CesiumTerrainProvider, Scene_CompositePrimitive, Scene_Credit, Scene_CreditDisplay, Scene_CullingVolume, Scene_CustomSensorVolume, Scene_DebugAppearance, Scene_DebugModelMatrixPrimitive, Scene_DiscardMissingTileImagePolicy, Scene_EllipsoidPrimitive, Scene_EllipsoidSurfaceAppearance, Scene_EllipsoidTerrainProvider, Scene_ExtentPrimitive, Scene_FrameState, Scene_FrustumCommands, Scene_GeographicTilingScheme, Scene_GoogleEarthImageryProvider, Scene_GridImageryProvider, Scene_HeightmapTerrainData, Scene_HorizontalOrigin, Scene_Imagery, Scene_ImageryLayer, Scene_ImageryLayerCollection, Scene_ImageryProvider, Scene_ImageryState, Scene_Label, Scene_LabelCollection, Scene_LabelStyle, Scene_Material, Scene_MaterialAppearance, Scene_Moon, Scene_NeverTileDiscardPolicy, Scene_OpenStreetMapImageryProvider, Scene_OrthographicFrustum, Scene_PerInstanceColorAppearance, Scene_PerformanceDisplay, Scene_PerspectiveFrustum, Scene_PerspectiveOffCenterFrustum, Scene_Polygon, Scene_Polyline, Scene_PolylineCollection, Scene_PolylineColorAppearance, Scene_PolylineMaterialAppearance, Scene_Primitive, Scene_PrimitivePipeline, Scene_PrimitiveState, Scene_RectangularPyramidSensorVolume, Scene_Scene, Scene_SceneMode, Scene_SceneTransforms, Scene_SceneTransitioner, Scene_ScreenSpaceCameraController, Scene_SensorVolumeCollection, Scene_SingleTileImageryProvider, Scene_SkyAtmosphere, Scene_SkyBox, Scene_Sun, Scene_SunPostProcess, Scene_TerrainData, Scene_TerrainMesh, Scene_TerrainProvider, Scene_TerrainState, Scene_TexturePool, Scene_Tile, Scene_TileCoordinatesImageryProvider, Scene_TileDiscardPolicy, Scene_TileImagery, Scene_TileMapServiceImageryProvider, Scene_TileProviderError, Scene_TileReplacementQueue, Scene_TileState, Scene_TileTerrain, Scene_TilingScheme, Scene_VRTheWorldTerrainProvider, Scene_VerticalOrigin, Scene_ViewportQuad, Scene_WebMapServiceImageryProvider, Scene_WebMercatorTilingScheme, Scene_createTangentSpaceDebugPrimitive, Scene_sampleTerrain, Shaders_Appearances_AllMaterialAppearanceFS, Shaders_Appearances_AllMaterialAppearanceVS, Shaders_Appearances_BasicMaterialAppearanceFS, Shaders_Appearances_BasicMaterialAppearanceVS, Shaders_Appearances_EllipsoidSurfaceAppearanceFS, Shaders_Appearances_EllipsoidSurfaceAppearanceVS, Shaders_Appearances_PerInstanceColorAppearanceFS, Shaders_Appearances_PerInstanceColorAppearanceVS, Shaders_Appearances_PerInstanceFlatColorAppearanceFS, Shaders_Appearances_PerInstanceFlatColorAppearanceVS, Shaders_Appearances_PolylineColorAppearanceVS, Shaders_Appearances_PolylineMaterialAppearanceVS, Shaders_Appearances_TexturedMaterialAppearanceFS, Shaders_Appearances_TexturedMaterialAppearanceVS, Shaders_BillboardCollectionFS, Shaders_BillboardCollectionVS, Shaders_Builtin_Constants_degreesPerRadian, Shaders_Builtin_Constants_epsilon1, Shaders_Builtin_Constants_epsilon2, Shaders_Builtin_Constants_epsilon3, Shaders_Builtin_Constants_epsilon4, Shaders_Builtin_Constants_epsilon5, Shaders_Builtin_Constants_epsilon6, Shaders_Builtin_Constants_epsilon7, Shaders_Builtin_Constants_infinity, Shaders_Builtin_Constants_oneOverPi, Shaders_Builtin_Constants_oneOverTwoPi, Shaders_Builtin_Constants_pi, Shaders_Builtin_Constants_piOverFour, Shaders_Builtin_Constants_piOverSix, Shaders_Builtin_Constants_piOverThree, Shaders_Builtin_Constants_piOverTwo, Shaders_Builtin_Constants_radiansPerDegree, Shaders_Builtin_Constants_sceneMode2D, Shaders_Builtin_Constants_sceneMode3D, Shaders_Builtin_Constants_sceneModeColumbusView, Shaders_Builtin_Constants_sceneModeMorphing, Shaders_Builtin_Constants_solarRadius, Shaders_Builtin_Constants_threePiOver2, Shaders_Builtin_Constants_twoPi, Shaders_Builtin_Constants_webMercatorMaxLatitude, Shaders_Builtin_CzmBuiltins, Shaders_Builtin_Functions_RGBToXYZ, Shaders_Builtin_Functions_XYZToRGB, Shaders_Builtin_Functions_antialias, Shaders_Builtin_Functions_cellular, Shaders_Builtin_Functions_columbusViewMorph, Shaders_Builtin_Functions_computePosition, Shaders_Builtin_Functions_eastNorthUpToEyeCoordinates, Shaders_Builtin_Functions_ellipsoidContainsPoint, Shaders_Builtin_Functions_ellipsoidNew, Shaders_Builtin_Functions_ellipsoidWgs84TextureCoordinates, Shaders_Builtin_Functions_equalsEpsilon, Shaders_Builtin_Functions_eyeOffset, Shaders_Builtin_Functions_eyeToWindowCoordinates, Shaders_Builtin_Functions_geodeticSurfaceNormal, Shaders_Builtin_Functions_getDefaultMaterial, Shaders_Builtin_Functions_getLambertDiffuse, Shaders_Builtin_Functions_getSpecular, Shaders_Builtin_Functions_getWaterNoise, Shaders_Builtin_Functions_getWgs84EllipsoidEC, Shaders_Builtin_Functions_hue, Shaders_Builtin_Functions_isEmpty, Shaders_Builtin_Functions_isFull, Shaders_Builtin_Functions_latitudeToWebMercatorFraction, Shaders_Builtin_Functions_luminance, Shaders_Builtin_Functions_modelToWindowCoordinates, Shaders_Builtin_Functions_multiplyWithColorBalance, Shaders_Builtin_Functions_phong, Shaders_Builtin_Functions_pointAlongRay, Shaders_Builtin_Functions_rayEllipsoidIntersectionInterval, Shaders_Builtin_Functions_saturation, Shaders_Builtin_Functions_snoise, Shaders_Builtin_Functions_tangentToEyeSpaceMatrix, Shaders_Builtin_Functions_translateRelativeToEye, Shaders_Builtin_Functions_transpose, Shaders_Builtin_Functions_windowToEyeCoordinates, Shaders_Builtin_Structs_ellipsoid, Shaders_Builtin_Structs_material, Shaders_Builtin_Structs_materialInput, Shaders_Builtin_Structs_ray, Shaders_Builtin_Structs_raySegment, Shaders_CentralBodyFS, Shaders_CentralBodyFSDepth, Shaders_CentralBodyFSPole, Shaders_CentralBodyVS, Shaders_CentralBodyVSDepth, Shaders_CentralBodyVSPole, Shaders_CustomSensorVolumeFS, Shaders_CustomSensorVolumeVS, Shaders_EllipsoidFS, Shaders_EllipsoidVS, Shaders_Materials_AsphaltMaterial, Shaders_Materials_BlobMaterial, Shaders_Materials_BrickMaterial, Shaders_Materials_BumpMapMaterial, Shaders_Materials_CementMaterial, Shaders_Materials_CheckerboardMaterial, Shaders_Materials_DotMaterial, Shaders_Materials_ErosionMaterial, Shaders_Materials_FacetMaterial, Shaders_Materials_FadeMaterial, Shaders_Materials_FresnelMaterial, Shaders_Materials_GrassMaterial, Shaders_Materials_GridMaterial, Shaders_Materials_NormalMapMaterial, Shaders_Materials_PolylineArrowMaterial, Shaders_Materials_PolylineGlowMaterial, Shaders_Materials_PolylineOutlineMaterial, Shaders_Materials_ReflectionMaterial, Shaders_Materials_RefractionMaterial, Shaders_Materials_RimLightingMaterial, Shaders_Materials_StripeMaterial, Shaders_Materials_TieDyeMaterial, Shaders_Materials_Water, Shaders_Materials_WoodMaterial, Shaders_PolylineCommon, Shaders_PolylineFS, Shaders_PolylineVS, Shaders_PostProcessFilters_AdditiveBlend, Shaders_PostProcessFilters_BrightPass, Shaders_PostProcessFilters_GaussianBlur1D, Shaders_PostProcessFilters_PassThrough, Shaders_ReprojectWebMercatorFS, Shaders_ReprojectWebMercatorVS, Shaders_SensorVolume, Shaders_SkyAtmosphereFS, Shaders_SkyAtmosphereVS, Shaders_SkyBoxFS, Shaders_SkyBoxVS, Shaders_SunFS, Shaders_SunTextureFS, Shaders_SunVS, Shaders_ViewportQuadFS, Shaders_ViewportQuadVS, ThirdParty_Tween, ThirdParty_Uri, ThirdParty_knockout_3_0_0, ThirdParty_knockout_es5, ThirdParty_knockout, ThirdParty_measureText, ThirdParty_mersenne_twister, ThirdParty_sprintf, ThirdParty_topojson, ThirdParty_weakmap, ThirdParty_when, Widgets_Animation_Animation, Widgets_Animation_AnimationViewModel, Widgets_BaseLayerPicker_BaseLayerPicker, Widgets_BaseLayerPicker_BaseLayerPickerViewModel, Widgets_BaseLayerPicker_ImageryProviderViewModel, Widgets_BaseLayerPicker_createDefaultBaseLayers, Widgets_CesiumWidget_CesiumWidget, Widgets_ClockViewModel, Widgets_Command, Widgets_FullscreenButton_FullscreenButton, Widgets_FullscreenButton_FullscreenButtonViewModel, Widgets_Geocoder_Geocoder, Widgets_Geocoder_GeocoderViewModel, Widgets_HomeButton_HomeButton, Widgets_HomeButton_HomeButtonViewModel, Widgets_Observable, Widgets_SceneModePicker_SceneModePicker, Widgets_SceneModePicker_SceneModePickerViewModel, Widgets_SvgPath_SvgPath, Widgets_Timeline_Timeline, Widgets_Timeline_TimelineHighlightRange, Widgets_Timeline_TimelineTrack, Widgets_ToggleButtonViewModel, Widgets_Viewer_Viewer, Widgets_Viewer_viewerDragDropMixin, Widgets_Viewer_viewerDynamicObjectMixin, Widgets_checkForChromeFrame, Widgets_createCommand, Widgets_getElement, Widgets_subscribeAndEvaluate) {
2
+ define(['Core/AxisAlignedBoundingBox', 'Core/BingMapsApi', 'Core/BoundingRectangle', 'Core/BoundingSphere', 'Core/BoxGeometry', 'Core/BoxOutlineGeometry', 'Core/Cartesian2', 'Core/Cartesian3', 'Core/Cartesian4', 'Core/Cartographic', 'Core/CatmullRomSpline', 'Core/CircleGeometry', 'Core/CircleOutlineGeometry', 'Core/Clock', 'Core/ClockRange', 'Core/ClockStep', 'Core/Color', 'Core/ColorGeometryInstanceAttribute', 'Core/ComponentDatatype', 'Core/CornerType', 'Core/CorridorGeometry', 'Core/CorridorGeometryLibrary', 'Core/CorridorOutlineGeometry', 'Core/CubicRealPolynomial', 'Core/CylinderGeometry', 'Core/CylinderGeometryLibrary', 'Core/CylinderOutlineGeometry', 'Core/DefaultProxy', 'Core/DeveloperError', 'Core/EarthOrientationParameters', 'Core/EarthOrientationParametersSample', 'Core/EllipseGeometry', 'Core/EllipseGeometryLibrary', 'Core/EllipseOutlineGeometry', 'Core/Ellipsoid', 'Core/EllipsoidGeodesic', 'Core/EllipsoidGeometry', 'Core/EllipsoidOutlineGeometry', 'Core/EllipsoidTangentPlane', 'Core/EllipsoidalOccluder', 'Core/EncodedCartesian3', 'Core/Enumeration', 'Core/Event', 'Core/EventHelper', 'Core/Extent', 'Core/ExtentGeometry', 'Core/ExtentOutlineGeometry', 'Core/FAR', 'Core/FeatureDetection', 'Core/Fullscreen', 'Core/GeographicProjection', 'Core/Geometry', 'Core/GeometryAttribute', 'Core/GeometryAttributes', 'Core/GeometryInstance', 'Core/GeometryInstanceAttribute', 'Core/GeometryPipeline', 'Core/HeightmapTessellator', 'Core/HermitePolynomialApproximation', 'Core/HermiteSpline', 'Core/Iau2000Orientation', 'Core/Iau2006XysData', 'Core/Iau2006XysSample', 'Core/IauOrientationAxes', 'Core/IauOrientationParameters', 'Core/IndexDatatype', 'Core/InterpolationAlgorithm', 'Core/Intersect', 'Core/IntersectionTests', 'Core/Interval', 'Core/Iso8601', 'Core/JulianDate', 'Core/KeyboardEventModifier', 'Core/LagrangePolynomialApproximation', 'Core/LeapSecond', 'Core/LinearApproximation', 'Core/LinearSpline', 'Core/Math', 'Core/Matrix2', 'Core/Matrix3', 'Core/Matrix4', 'Core/NearFarScalar', 'Core/ObjectOrientedBoundingBox', 'Core/Occluder', 'Core/Packable', 'Core/PackableForInterpolation', 'Core/Plane', 'Core/PolygonGeometry', 'Core/PolygonGeometryLibrary', 'Core/PolygonOutlineGeometry', 'Core/PolygonPipeline', 'Core/PolylineGeometry', 'Core/PolylinePipeline', 'Core/PolylineVolumeGeometry', 'Core/PolylineVolumeGeometryLibrary', 'Core/PolylineVolumeOutlineGeometry', 'Core/PrimitiveType', 'Core/QuadraticRealPolynomial', 'Core/QuarticRealPolynomial', 'Core/Quaternion', 'Core/QuaternionSpline', 'Core/Queue', 'Core/Ray', 'Core/ReferenceFrame', 'Core/RequestErrorEvent', 'Core/RuntimeError', 'Core/ScreenSpaceEventHandler', 'Core/ScreenSpaceEventType', 'Core/Shapes', 'Core/ShowGeometryInstanceAttribute', 'Core/Simon1994PlanetaryPositions', 'Core/SimplePolylineGeometry', 'Core/SphereGeometry', 'Core/SphereOutlineGeometry', 'Core/Spherical', 'Core/Spline', 'Core/TaskProcessor', 'Core/TimeConstants', 'Core/TimeInterval', 'Core/TimeIntervalCollection', 'Core/TimeStandard', 'Core/Tipsify', 'Core/Transforms', 'Core/TridiagonalSystemSolver', 'Core/VertexFormat', 'Core/Visibility', 'Core/WallGeometry', 'Core/WallGeometryLibrary', 'Core/WallOutlineGeometry', 'Core/WebMercatorProjection', 'Core/WindingOrder', 'Core/barycentricCoordinates', 'Core/binarySearch', 'Core/buildModuleUrl', 'Core/cancelAnimationFrame', 'Core/clone', 'Core/combine', 'Core/createGuid', 'Core/defaultValue', 'Core/defineProperties', 'Core/defined', 'Core/destroyObject', 'Core/freezeObject', 'Core/getFilenameFromUri', 'Core/getImagePixels', 'Core/isCrossOriginUrl', 'Core/isLeapYear', 'Core/jsonp', 'Core/loadArrayBuffer', 'Core/loadBlob', 'Core/loadImage', 'Core/loadImageViaBlob', 'Core/loadJson', 'Core/loadText', 'Core/loadWithXhr', 'Core/loadXML', 'Core/pointInsideTriangle', 'Core/requestAnimationFrame', 'Core/throttleRequestByServer', 'Core/wrapFunction', 'Core/writeTextToCanvas', 'DynamicScene/ColorMaterialProperty', 'DynamicScene/CompositeDynamicObjectCollection', 'DynamicScene/CompositeMaterialProperty', 'DynamicScene/CompositePositionProperty', 'DynamicScene/CompositeProperty', 'DynamicScene/ConstantPositionProperty', 'DynamicScene/ConstantProperty', 'DynamicScene/CzmlDataSource', 'DynamicScene/DataSource', 'DynamicScene/DataSourceCollection', 'DynamicScene/DataSourceDisplay', 'DynamicScene/DynamicBillboard', 'DynamicScene/DynamicBillboardVisualizer', 'DynamicScene/DynamicClock', 'DynamicScene/DynamicCone', 'DynamicScene/DynamicConeVisualizerUsingCustomSensor', 'DynamicScene/DynamicDirectionsProperty', 'DynamicScene/DynamicEllipse', 'DynamicScene/DynamicEllipsoid', 'DynamicScene/DynamicEllipsoidVisualizer', 'DynamicScene/DynamicLabel', 'DynamicScene/DynamicLabelVisualizer', 'DynamicScene/DynamicObject', 'DynamicScene/DynamicObjectCollection', 'DynamicScene/DynamicObjectView', 'DynamicScene/DynamicPath', 'DynamicScene/DynamicPathVisualizer', 'DynamicScene/DynamicPoint', 'DynamicScene/DynamicPointVisualizer', 'DynamicScene/DynamicPolygon', 'DynamicScene/DynamicPolygonVisualizer', 'DynamicScene/DynamicPolyline', 'DynamicScene/DynamicPolylineVisualizer', 'DynamicScene/DynamicPyramid', 'DynamicScene/DynamicPyramidVisualizer', 'DynamicScene/DynamicVector', 'DynamicScene/DynamicVectorVisualizer', 'DynamicScene/DynamicVertexPositionsProperty', 'DynamicScene/GeoJsonDataSource', 'DynamicScene/GridMaterialProperty', 'DynamicScene/ImageMaterialProperty', 'DynamicScene/MaterialProperty', 'DynamicScene/PolylineOutlineMaterialProperty', 'DynamicScene/PositionProperty', 'DynamicScene/Property', 'DynamicScene/ReferenceProperty', 'DynamicScene/SampledPositionProperty', 'DynamicScene/SampledProperty', 'DynamicScene/TimeIntervalCollectionPositionProperty', 'DynamicScene/TimeIntervalCollectionProperty', 'DynamicScene/VisualizerCollection', 'DynamicScene/createDynamicPropertyDescriptor', 'Renderer/AutomaticUniforms', 'Renderer/BlendEquation', 'Renderer/BlendFunction', 'Renderer/BlendingState', 'Renderer/Buffer', 'Renderer/BufferUsage', 'Renderer/ClearCommand', 'Renderer/CommandLists', 'Renderer/Context', 'Renderer/CubeMap', 'Renderer/CubeMapFace', 'Renderer/CullFace', 'Renderer/DepthFunction', 'Renderer/DrawCommand', 'Renderer/Framebuffer', 'Renderer/MipmapHint', 'Renderer/PassState', 'Renderer/PickFramebuffer', 'Renderer/PixelDatatype', 'Renderer/PixelFormat', 'Renderer/RenderState', 'Renderer/Renderbuffer', 'Renderer/RenderbufferFormat', 'Renderer/ShaderCache', 'Renderer/ShaderProgram', 'Renderer/StencilFunction', 'Renderer/StencilOperation', 'Renderer/Texture', 'Renderer/TextureAtlas', 'Renderer/TextureAtlasBuilder', 'Renderer/TextureMagnificationFilter', 'Renderer/TextureMinificationFilter', 'Renderer/TextureWrap', 'Renderer/UniformDatatype', 'Renderer/UniformState', 'Renderer/VertexArray', 'Renderer/VertexArrayFacade', 'Renderer/VertexLayout', 'Renderer/createShaderSource', 'Renderer/loadCubeMap', 'Scene/AnimationCollection', 'Scene/Appearance', 'Scene/ArcGisImageServerTerrainProvider', 'Scene/ArcGisMapServerImageryProvider', 'Scene/Billboard', 'Scene/BillboardCollection', 'Scene/BingMapsImageryProvider', 'Scene/BingMapsStyle', 'Scene/Camera', 'Scene/CameraColumbusViewMode', 'Scene/CameraController', 'Scene/CameraEventAggregator', 'Scene/CameraEventType', 'Scene/CameraFlightPath', 'Scene/CentralBody', 'Scene/CentralBodySurface', 'Scene/CentralBodySurfaceShaderSet', 'Scene/CesiumTerrainProvider', 'Scene/CompositePrimitive', 'Scene/Credit', 'Scene/CreditDisplay', 'Scene/CullingVolume', 'Scene/CustomSensorVolume', 'Scene/DebugAppearance', 'Scene/DebugModelMatrixPrimitive', 'Scene/DiscardMissingTileImagePolicy', 'Scene/EllipsoidPrimitive', 'Scene/EllipsoidSurfaceAppearance', 'Scene/EllipsoidTerrainProvider', 'Scene/ExtentPrimitive', 'Scene/FrameState', 'Scene/FrustumCommands', 'Scene/GeographicTilingScheme', 'Scene/GoogleEarthImageryProvider', 'Scene/GridImageryProvider', 'Scene/HeightmapTerrainData', 'Scene/HorizontalOrigin', 'Scene/Imagery', 'Scene/ImageryLayer', 'Scene/ImageryLayerCollection', 'Scene/ImageryProvider', 'Scene/ImageryState', 'Scene/Label', 'Scene/LabelCollection', 'Scene/LabelStyle', 'Scene/Material', 'Scene/MaterialAppearance', 'Scene/Moon', 'Scene/NeverTileDiscardPolicy', 'Scene/OpenStreetMapImageryProvider', 'Scene/OrthographicFrustum', 'Scene/PerInstanceColorAppearance', 'Scene/PerformanceDisplay', 'Scene/PerspectiveFrustum', 'Scene/PerspectiveOffCenterFrustum', 'Scene/Polygon', 'Scene/Polyline', 'Scene/PolylineCollection', 'Scene/PolylineColorAppearance', 'Scene/PolylineMaterialAppearance', 'Scene/Primitive', 'Scene/PrimitivePipeline', 'Scene/PrimitiveState', 'Scene/RectangularPyramidSensorVolume', 'Scene/Scene', 'Scene/SceneMode', 'Scene/SceneTransforms', 'Scene/SceneTransitioner', 'Scene/ScreenSpaceCameraController', 'Scene/SensorVolumeCollection', 'Scene/SingleTileImageryProvider', 'Scene/SkyAtmosphere', 'Scene/SkyBox', 'Scene/Sun', 'Scene/SunPostProcess', 'Scene/TerrainData', 'Scene/TerrainMesh', 'Scene/TerrainProvider', 'Scene/TerrainState', 'Scene/TexturePool', 'Scene/Tile', 'Scene/TileCoordinatesImageryProvider', 'Scene/TileDiscardPolicy', 'Scene/TileImagery', 'Scene/TileMapServiceImageryProvider', 'Scene/TileProviderError', 'Scene/TileReplacementQueue', 'Scene/TileState', 'Scene/TileTerrain', 'Scene/TilingScheme', 'Scene/VRTheWorldTerrainProvider', 'Scene/VerticalOrigin', 'Scene/ViewportQuad', 'Scene/WebMapServiceImageryProvider', 'Scene/WebMercatorTilingScheme', 'Scene/createTangentSpaceDebugPrimitive', 'Scene/sampleTerrain', 'Shaders/Appearances/AllMaterialAppearanceFS', 'Shaders/Appearances/AllMaterialAppearanceVS', 'Shaders/Appearances/BasicMaterialAppearanceFS', 'Shaders/Appearances/BasicMaterialAppearanceVS', 'Shaders/Appearances/EllipsoidSurfaceAppearanceFS', 'Shaders/Appearances/EllipsoidSurfaceAppearanceVS', 'Shaders/Appearances/PerInstanceColorAppearanceFS', 'Shaders/Appearances/PerInstanceColorAppearanceVS', 'Shaders/Appearances/PerInstanceFlatColorAppearanceFS', 'Shaders/Appearances/PerInstanceFlatColorAppearanceVS', 'Shaders/Appearances/PolylineColorAppearanceVS', 'Shaders/Appearances/PolylineMaterialAppearanceVS', 'Shaders/Appearances/TexturedMaterialAppearanceFS', 'Shaders/Appearances/TexturedMaterialAppearanceVS', 'Shaders/BillboardCollectionFS', 'Shaders/BillboardCollectionVS', 'Shaders/Builtin/Constants/degreesPerRadian', 'Shaders/Builtin/Constants/epsilon1', 'Shaders/Builtin/Constants/epsilon2', 'Shaders/Builtin/Constants/epsilon3', 'Shaders/Builtin/Constants/epsilon4', 'Shaders/Builtin/Constants/epsilon5', 'Shaders/Builtin/Constants/epsilon6', 'Shaders/Builtin/Constants/epsilon7', 'Shaders/Builtin/Constants/infinity', 'Shaders/Builtin/Constants/oneOverPi', 'Shaders/Builtin/Constants/oneOverTwoPi', 'Shaders/Builtin/Constants/pi', 'Shaders/Builtin/Constants/piOverFour', 'Shaders/Builtin/Constants/piOverSix', 'Shaders/Builtin/Constants/piOverThree', 'Shaders/Builtin/Constants/piOverTwo', 'Shaders/Builtin/Constants/radiansPerDegree', 'Shaders/Builtin/Constants/sceneMode2D', 'Shaders/Builtin/Constants/sceneMode3D', 'Shaders/Builtin/Constants/sceneModeColumbusView', 'Shaders/Builtin/Constants/sceneModeMorphing', 'Shaders/Builtin/Constants/solarRadius', 'Shaders/Builtin/Constants/threePiOver2', 'Shaders/Builtin/Constants/twoPi', 'Shaders/Builtin/Constants/webMercatorMaxLatitude', 'Shaders/Builtin/CzmBuiltins', 'Shaders/Builtin/Functions/RGBToXYZ', 'Shaders/Builtin/Functions/XYZToRGB', 'Shaders/Builtin/Functions/antialias', 'Shaders/Builtin/Functions/cellular', 'Shaders/Builtin/Functions/columbusViewMorph', 'Shaders/Builtin/Functions/computePosition', 'Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates', 'Shaders/Builtin/Functions/ellipsoidContainsPoint', 'Shaders/Builtin/Functions/ellipsoidNew', 'Shaders/Builtin/Functions/ellipsoidWgs84TextureCoordinates', 'Shaders/Builtin/Functions/equalsEpsilon', 'Shaders/Builtin/Functions/eyeOffset', 'Shaders/Builtin/Functions/eyeToWindowCoordinates', 'Shaders/Builtin/Functions/geodeticSurfaceNormal', 'Shaders/Builtin/Functions/getDefaultMaterial', 'Shaders/Builtin/Functions/getLambertDiffuse', 'Shaders/Builtin/Functions/getSpecular', 'Shaders/Builtin/Functions/getWaterNoise', 'Shaders/Builtin/Functions/getWgs84EllipsoidEC', 'Shaders/Builtin/Functions/hue', 'Shaders/Builtin/Functions/isEmpty', 'Shaders/Builtin/Functions/isFull', 'Shaders/Builtin/Functions/latitudeToWebMercatorFraction', 'Shaders/Builtin/Functions/luminance', 'Shaders/Builtin/Functions/modelToWindowCoordinates', 'Shaders/Builtin/Functions/multiplyWithColorBalance', 'Shaders/Builtin/Functions/phong', 'Shaders/Builtin/Functions/pointAlongRay', 'Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval', 'Shaders/Builtin/Functions/saturation', 'Shaders/Builtin/Functions/snoise', 'Shaders/Builtin/Functions/tangentToEyeSpaceMatrix', 'Shaders/Builtin/Functions/translateRelativeToEye', 'Shaders/Builtin/Functions/transpose', 'Shaders/Builtin/Functions/windowToEyeCoordinates', 'Shaders/Builtin/Structs/ellipsoid', 'Shaders/Builtin/Structs/material', 'Shaders/Builtin/Structs/materialInput', 'Shaders/Builtin/Structs/ray', 'Shaders/Builtin/Structs/raySegment', 'Shaders/CentralBodyFS', 'Shaders/CentralBodyFSDepth', 'Shaders/CentralBodyFSPole', 'Shaders/CentralBodyVS', 'Shaders/CentralBodyVSDepth', 'Shaders/CentralBodyVSPole', 'Shaders/CustomSensorVolumeFS', 'Shaders/CustomSensorVolumeVS', 'Shaders/EllipsoidFS', 'Shaders/EllipsoidVS', 'Shaders/Materials/AsphaltMaterial', 'Shaders/Materials/BlobMaterial', 'Shaders/Materials/BrickMaterial', 'Shaders/Materials/BumpMapMaterial', 'Shaders/Materials/CementMaterial', 'Shaders/Materials/CheckerboardMaterial', 'Shaders/Materials/DotMaterial', 'Shaders/Materials/ErosionMaterial', 'Shaders/Materials/FacetMaterial', 'Shaders/Materials/FadeMaterial', 'Shaders/Materials/FresnelMaterial', 'Shaders/Materials/GrassMaterial', 'Shaders/Materials/GridMaterial', 'Shaders/Materials/NormalMapMaterial', 'Shaders/Materials/PolylineArrowMaterial', 'Shaders/Materials/PolylineGlowMaterial', 'Shaders/Materials/PolylineOutlineMaterial', 'Shaders/Materials/ReflectionMaterial', 'Shaders/Materials/RefractionMaterial', 'Shaders/Materials/RimLightingMaterial', 'Shaders/Materials/StripeMaterial', 'Shaders/Materials/TieDyeMaterial', 'Shaders/Materials/Water', 'Shaders/Materials/WoodMaterial', 'Shaders/PolylineCommon', 'Shaders/PolylineFS', 'Shaders/PolylineVS', 'Shaders/PostProcessFilters/AdditiveBlend', 'Shaders/PostProcessFilters/BrightPass', 'Shaders/PostProcessFilters/GaussianBlur1D', 'Shaders/PostProcessFilters/PassThrough', 'Shaders/ReprojectWebMercatorFS', 'Shaders/ReprojectWebMercatorVS', 'Shaders/SensorVolume', 'Shaders/SkyAtmosphereFS', 'Shaders/SkyAtmosphereVS', 'Shaders/SkyBoxFS', 'Shaders/SkyBoxVS', 'Shaders/SunFS', 'Shaders/SunTextureFS', 'Shaders/SunVS', 'Shaders/ViewportQuadFS', 'Shaders/ViewportQuadVS', 'ThirdParty/Tween', 'ThirdParty/Uri', 'ThirdParty/knockout-3.0.0', 'ThirdParty/knockout-es5', 'ThirdParty/knockout', 'ThirdParty/measureText', 'ThirdParty/mersenne-twister', 'ThirdParty/sprintf', 'ThirdParty/topojson', 'ThirdParty/weakmap', 'ThirdParty/when', 'Widgets/Animation/Animation', 'Widgets/Animation/AnimationViewModel', 'Widgets/BaseLayerPicker/BaseLayerPicker', 'Widgets/BaseLayerPicker/BaseLayerPickerViewModel', 'Widgets/BaseLayerPicker/ImageryProviderViewModel', 'Widgets/BaseLayerPicker/createDefaultBaseLayers', 'Widgets/CesiumWidget/CesiumWidget', 'Widgets/ClockViewModel', 'Widgets/Command', 'Widgets/FullscreenButton/FullscreenButton', 'Widgets/FullscreenButton/FullscreenButtonViewModel', 'Widgets/Geocoder/Geocoder', 'Widgets/Geocoder/GeocoderViewModel', 'Widgets/HomeButton/HomeButton', 'Widgets/HomeButton/HomeButtonViewModel', 'Widgets/Observable', 'Widgets/SceneModePicker/SceneModePicker', 'Widgets/SceneModePicker/SceneModePickerViewModel', 'Widgets/SvgPath/SvgPath', 'Widgets/Timeline/Timeline', 'Widgets/Timeline/TimelineHighlightRange', 'Widgets/Timeline/TimelineTrack', 'Widgets/ToggleButtonViewModel', 'Widgets/Viewer/Viewer', 'Widgets/Viewer/viewerDragDropMixin', 'Widgets/Viewer/viewerDynamicObjectMixin', 'Widgets/checkForChromeFrame', 'Widgets/createCommand', 'Widgets/getElement', 'Widgets/subscribeAndEvaluate'], function(Core_AxisAlignedBoundingBox, Core_BingMapsApi, Core_BoundingRectangle, Core_BoundingSphere, Core_BoxGeometry, Core_BoxOutlineGeometry, Core_Cartesian2, Core_Cartesian3, Core_Cartesian4, Core_Cartographic, Core_CatmullRomSpline, Core_CircleGeometry, Core_CircleOutlineGeometry, Core_Clock, Core_ClockRange, Core_ClockStep, Core_Color, Core_ColorGeometryInstanceAttribute, Core_ComponentDatatype, Core_CornerType, Core_CorridorGeometry, Core_CorridorGeometryLibrary, Core_CorridorOutlineGeometry, Core_CubicRealPolynomial, Core_CylinderGeometry, Core_CylinderGeometryLibrary, Core_CylinderOutlineGeometry, Core_DefaultProxy, Core_DeveloperError, Core_EarthOrientationParameters, Core_EarthOrientationParametersSample, Core_EllipseGeometry, Core_EllipseGeometryLibrary, Core_EllipseOutlineGeometry, Core_Ellipsoid, Core_EllipsoidGeodesic, Core_EllipsoidGeometry, Core_EllipsoidOutlineGeometry, Core_EllipsoidTangentPlane, Core_EllipsoidalOccluder, Core_EncodedCartesian3, Core_Enumeration, Core_Event, Core_EventHelper, Core_Extent, Core_ExtentGeometry, Core_ExtentOutlineGeometry, Core_FAR, Core_FeatureDetection, Core_Fullscreen, Core_GeographicProjection, Core_Geometry, Core_GeometryAttribute, Core_GeometryAttributes, Core_GeometryInstance, Core_GeometryInstanceAttribute, Core_GeometryPipeline, Core_HeightmapTessellator, Core_HermitePolynomialApproximation, Core_HermiteSpline, Core_Iau2000Orientation, Core_Iau2006XysData, Core_Iau2006XysSample, Core_IauOrientationAxes, Core_IauOrientationParameters, Core_IndexDatatype, Core_InterpolationAlgorithm, Core_Intersect, Core_IntersectionTests, Core_Interval, Core_Iso8601, Core_JulianDate, Core_KeyboardEventModifier, Core_LagrangePolynomialApproximation, Core_LeapSecond, Core_LinearApproximation, Core_LinearSpline, Core_Math, Core_Matrix2, Core_Matrix3, Core_Matrix4, Core_NearFarScalar, Core_ObjectOrientedBoundingBox, Core_Occluder, Core_Packable, Core_PackableForInterpolation, Core_Plane, Core_PolygonGeometry, Core_PolygonGeometryLibrary, Core_PolygonOutlineGeometry, Core_PolygonPipeline, Core_PolylineGeometry, Core_PolylinePipeline, Core_PolylineVolumeGeometry, Core_PolylineVolumeGeometryLibrary, Core_PolylineVolumeOutlineGeometry, Core_PrimitiveType, Core_QuadraticRealPolynomial, Core_QuarticRealPolynomial, Core_Quaternion, Core_QuaternionSpline, Core_Queue, Core_Ray, Core_ReferenceFrame, Core_RequestErrorEvent, Core_RuntimeError, Core_ScreenSpaceEventHandler, Core_ScreenSpaceEventType, Core_Shapes, Core_ShowGeometryInstanceAttribute, Core_Simon1994PlanetaryPositions, Core_SimplePolylineGeometry, Core_SphereGeometry, Core_SphereOutlineGeometry, Core_Spherical, Core_Spline, Core_TaskProcessor, Core_TimeConstants, Core_TimeInterval, Core_TimeIntervalCollection, Core_TimeStandard, Core_Tipsify, Core_Transforms, Core_TridiagonalSystemSolver, Core_VertexFormat, Core_Visibility, Core_WallGeometry, Core_WallGeometryLibrary, Core_WallOutlineGeometry, Core_WebMercatorProjection, Core_WindingOrder, Core_barycentricCoordinates, Core_binarySearch, Core_buildModuleUrl, Core_cancelAnimationFrame, Core_clone, Core_combine, Core_createGuid, Core_defaultValue, Core_defineProperties, Core_defined, Core_destroyObject, Core_freezeObject, Core_getFilenameFromUri, Core_getImagePixels, Core_isCrossOriginUrl, Core_isLeapYear, Core_jsonp, Core_loadArrayBuffer, Core_loadBlob, Core_loadImage, Core_loadImageViaBlob, Core_loadJson, Core_loadText, Core_loadWithXhr, Core_loadXML, Core_pointInsideTriangle, Core_requestAnimationFrame, Core_throttleRequestByServer, Core_wrapFunction, Core_writeTextToCanvas, DynamicScene_ColorMaterialProperty, DynamicScene_CompositeDynamicObjectCollection, DynamicScene_CompositeMaterialProperty, DynamicScene_CompositePositionProperty, DynamicScene_CompositeProperty, DynamicScene_ConstantPositionProperty, DynamicScene_ConstantProperty, DynamicScene_CzmlDataSource, DynamicScene_DataSource, DynamicScene_DataSourceCollection, DynamicScene_DataSourceDisplay, DynamicScene_DynamicBillboard, DynamicScene_DynamicBillboardVisualizer, DynamicScene_DynamicClock, DynamicScene_DynamicCone, DynamicScene_DynamicConeVisualizerUsingCustomSensor, DynamicScene_DynamicDirectionsProperty, DynamicScene_DynamicEllipse, DynamicScene_DynamicEllipsoid, DynamicScene_DynamicEllipsoidVisualizer, DynamicScene_DynamicLabel, DynamicScene_DynamicLabelVisualizer, DynamicScene_DynamicObject, DynamicScene_DynamicObjectCollection, DynamicScene_DynamicObjectView, DynamicScene_DynamicPath, DynamicScene_DynamicPathVisualizer, DynamicScene_DynamicPoint, DynamicScene_DynamicPointVisualizer, DynamicScene_DynamicPolygon, DynamicScene_DynamicPolygonVisualizer, DynamicScene_DynamicPolyline, DynamicScene_DynamicPolylineVisualizer, DynamicScene_DynamicPyramid, DynamicScene_DynamicPyramidVisualizer, DynamicScene_DynamicVector, DynamicScene_DynamicVectorVisualizer, DynamicScene_DynamicVertexPositionsProperty, DynamicScene_GeoJsonDataSource, DynamicScene_GridMaterialProperty, DynamicScene_ImageMaterialProperty, DynamicScene_MaterialProperty, DynamicScene_PolylineOutlineMaterialProperty, DynamicScene_PositionProperty, DynamicScene_Property, DynamicScene_ReferenceProperty, DynamicScene_SampledPositionProperty, DynamicScene_SampledProperty, DynamicScene_TimeIntervalCollectionPositionProperty, DynamicScene_TimeIntervalCollectionProperty, DynamicScene_VisualizerCollection, DynamicScene_createDynamicPropertyDescriptor, Renderer_AutomaticUniforms, Renderer_BlendEquation, Renderer_BlendFunction, Renderer_BlendingState, Renderer_Buffer, Renderer_BufferUsage, Renderer_ClearCommand, Renderer_CommandLists, Renderer_Context, Renderer_CubeMap, Renderer_CubeMapFace, Renderer_CullFace, Renderer_DepthFunction, Renderer_DrawCommand, Renderer_Framebuffer, Renderer_MipmapHint, Renderer_PassState, Renderer_PickFramebuffer, Renderer_PixelDatatype, Renderer_PixelFormat, Renderer_RenderState, Renderer_Renderbuffer, Renderer_RenderbufferFormat, Renderer_ShaderCache, Renderer_ShaderProgram, Renderer_StencilFunction, Renderer_StencilOperation, Renderer_Texture, Renderer_TextureAtlas, Renderer_TextureAtlasBuilder, Renderer_TextureMagnificationFilter, Renderer_TextureMinificationFilter, Renderer_TextureWrap, Renderer_UniformDatatype, Renderer_UniformState, Renderer_VertexArray, Renderer_VertexArrayFacade, Renderer_VertexLayout, Renderer_createShaderSource, Renderer_loadCubeMap, Scene_AnimationCollection, Scene_Appearance, Scene_ArcGisImageServerTerrainProvider, Scene_ArcGisMapServerImageryProvider, Scene_Billboard, Scene_BillboardCollection, Scene_BingMapsImageryProvider, Scene_BingMapsStyle, Scene_Camera, Scene_CameraColumbusViewMode, Scene_CameraController, Scene_CameraEventAggregator, Scene_CameraEventType, Scene_CameraFlightPath, Scene_CentralBody, Scene_CentralBodySurface, Scene_CentralBodySurfaceShaderSet, Scene_CesiumTerrainProvider, Scene_CompositePrimitive, Scene_Credit, Scene_CreditDisplay, Scene_CullingVolume, Scene_CustomSensorVolume, Scene_DebugAppearance, Scene_DebugModelMatrixPrimitive, Scene_DiscardMissingTileImagePolicy, Scene_EllipsoidPrimitive, Scene_EllipsoidSurfaceAppearance, Scene_EllipsoidTerrainProvider, Scene_ExtentPrimitive, Scene_FrameState, Scene_FrustumCommands, Scene_GeographicTilingScheme, Scene_GoogleEarthImageryProvider, Scene_GridImageryProvider, Scene_HeightmapTerrainData, Scene_HorizontalOrigin, Scene_Imagery, Scene_ImageryLayer, Scene_ImageryLayerCollection, Scene_ImageryProvider, Scene_ImageryState, Scene_Label, Scene_LabelCollection, Scene_LabelStyle, Scene_Material, Scene_MaterialAppearance, Scene_Moon, Scene_NeverTileDiscardPolicy, Scene_OpenStreetMapImageryProvider, Scene_OrthographicFrustum, Scene_PerInstanceColorAppearance, Scene_PerformanceDisplay, Scene_PerspectiveFrustum, Scene_PerspectiveOffCenterFrustum, Scene_Polygon, Scene_Polyline, Scene_PolylineCollection, Scene_PolylineColorAppearance, Scene_PolylineMaterialAppearance, Scene_Primitive, Scene_PrimitivePipeline, Scene_PrimitiveState, Scene_RectangularPyramidSensorVolume, Scene_Scene, Scene_SceneMode, Scene_SceneTransforms, Scene_SceneTransitioner, Scene_ScreenSpaceCameraController, Scene_SensorVolumeCollection, Scene_SingleTileImageryProvider, Scene_SkyAtmosphere, Scene_SkyBox, Scene_Sun, Scene_SunPostProcess, Scene_TerrainData, Scene_TerrainMesh, Scene_TerrainProvider, Scene_TerrainState, Scene_TexturePool, Scene_Tile, Scene_TileCoordinatesImageryProvider, Scene_TileDiscardPolicy, Scene_TileImagery, Scene_TileMapServiceImageryProvider, Scene_TileProviderError, Scene_TileReplacementQueue, Scene_TileState, Scene_TileTerrain, Scene_TilingScheme, Scene_VRTheWorldTerrainProvider, Scene_VerticalOrigin, Scene_ViewportQuad, Scene_WebMapServiceImageryProvider, Scene_WebMercatorTilingScheme, Scene_createTangentSpaceDebugPrimitive, Scene_sampleTerrain, Shaders_Appearances_AllMaterialAppearanceFS, Shaders_Appearances_AllMaterialAppearanceVS, Shaders_Appearances_BasicMaterialAppearanceFS, Shaders_Appearances_BasicMaterialAppearanceVS, Shaders_Appearances_EllipsoidSurfaceAppearanceFS, Shaders_Appearances_EllipsoidSurfaceAppearanceVS, Shaders_Appearances_PerInstanceColorAppearanceFS, Shaders_Appearances_PerInstanceColorAppearanceVS, Shaders_Appearances_PerInstanceFlatColorAppearanceFS, Shaders_Appearances_PerInstanceFlatColorAppearanceVS, Shaders_Appearances_PolylineColorAppearanceVS, Shaders_Appearances_PolylineMaterialAppearanceVS, Shaders_Appearances_TexturedMaterialAppearanceFS, Shaders_Appearances_TexturedMaterialAppearanceVS, Shaders_BillboardCollectionFS, Shaders_BillboardCollectionVS, Shaders_Builtin_Constants_degreesPerRadian, Shaders_Builtin_Constants_epsilon1, Shaders_Builtin_Constants_epsilon2, Shaders_Builtin_Constants_epsilon3, Shaders_Builtin_Constants_epsilon4, Shaders_Builtin_Constants_epsilon5, Shaders_Builtin_Constants_epsilon6, Shaders_Builtin_Constants_epsilon7, Shaders_Builtin_Constants_infinity, Shaders_Builtin_Constants_oneOverPi, Shaders_Builtin_Constants_oneOverTwoPi, Shaders_Builtin_Constants_pi, Shaders_Builtin_Constants_piOverFour, Shaders_Builtin_Constants_piOverSix, Shaders_Builtin_Constants_piOverThree, Shaders_Builtin_Constants_piOverTwo, Shaders_Builtin_Constants_radiansPerDegree, Shaders_Builtin_Constants_sceneMode2D, Shaders_Builtin_Constants_sceneMode3D, Shaders_Builtin_Constants_sceneModeColumbusView, Shaders_Builtin_Constants_sceneModeMorphing, Shaders_Builtin_Constants_solarRadius, Shaders_Builtin_Constants_threePiOver2, Shaders_Builtin_Constants_twoPi, Shaders_Builtin_Constants_webMercatorMaxLatitude, Shaders_Builtin_CzmBuiltins, Shaders_Builtin_Functions_RGBToXYZ, Shaders_Builtin_Functions_XYZToRGB, Shaders_Builtin_Functions_antialias, Shaders_Builtin_Functions_cellular, Shaders_Builtin_Functions_columbusViewMorph, Shaders_Builtin_Functions_computePosition, Shaders_Builtin_Functions_eastNorthUpToEyeCoordinates, Shaders_Builtin_Functions_ellipsoidContainsPoint, Shaders_Builtin_Functions_ellipsoidNew, Shaders_Builtin_Functions_ellipsoidWgs84TextureCoordinates, Shaders_Builtin_Functions_equalsEpsilon, Shaders_Builtin_Functions_eyeOffset, Shaders_Builtin_Functions_eyeToWindowCoordinates, Shaders_Builtin_Functions_geodeticSurfaceNormal, Shaders_Builtin_Functions_getDefaultMaterial, Shaders_Builtin_Functions_getLambertDiffuse, Shaders_Builtin_Functions_getSpecular, Shaders_Builtin_Functions_getWaterNoise, Shaders_Builtin_Functions_getWgs84EllipsoidEC, Shaders_Builtin_Functions_hue, Shaders_Builtin_Functions_isEmpty, Shaders_Builtin_Functions_isFull, Shaders_Builtin_Functions_latitudeToWebMercatorFraction, Shaders_Builtin_Functions_luminance, Shaders_Builtin_Functions_modelToWindowCoordinates, Shaders_Builtin_Functions_multiplyWithColorBalance, Shaders_Builtin_Functions_phong, Shaders_Builtin_Functions_pointAlongRay, Shaders_Builtin_Functions_rayEllipsoidIntersectionInterval, Shaders_Builtin_Functions_saturation, Shaders_Builtin_Functions_snoise, Shaders_Builtin_Functions_tangentToEyeSpaceMatrix, Shaders_Builtin_Functions_translateRelativeToEye, Shaders_Builtin_Functions_transpose, Shaders_Builtin_Functions_windowToEyeCoordinates, Shaders_Builtin_Structs_ellipsoid, Shaders_Builtin_Structs_material, Shaders_Builtin_Structs_materialInput, Shaders_Builtin_Structs_ray, Shaders_Builtin_Structs_raySegment, Shaders_CentralBodyFS, Shaders_CentralBodyFSDepth, Shaders_CentralBodyFSPole, Shaders_CentralBodyVS, Shaders_CentralBodyVSDepth, Shaders_CentralBodyVSPole, Shaders_CustomSensorVolumeFS, Shaders_CustomSensorVolumeVS, Shaders_EllipsoidFS, Shaders_EllipsoidVS, Shaders_Materials_AsphaltMaterial, Shaders_Materials_BlobMaterial, Shaders_Materials_BrickMaterial, Shaders_Materials_BumpMapMaterial, Shaders_Materials_CementMaterial, Shaders_Materials_CheckerboardMaterial, Shaders_Materials_DotMaterial, Shaders_Materials_ErosionMaterial, Shaders_Materials_FacetMaterial, Shaders_Materials_FadeMaterial, Shaders_Materials_FresnelMaterial, Shaders_Materials_GrassMaterial, Shaders_Materials_GridMaterial, Shaders_Materials_NormalMapMaterial, Shaders_Materials_PolylineArrowMaterial, Shaders_Materials_PolylineGlowMaterial, Shaders_Materials_PolylineOutlineMaterial, Shaders_Materials_ReflectionMaterial, Shaders_Materials_RefractionMaterial, Shaders_Materials_RimLightingMaterial, Shaders_Materials_StripeMaterial, Shaders_Materials_TieDyeMaterial, Shaders_Materials_Water, Shaders_Materials_WoodMaterial, Shaders_PolylineCommon, Shaders_PolylineFS, Shaders_PolylineVS, Shaders_PostProcessFilters_AdditiveBlend, Shaders_PostProcessFilters_BrightPass, Shaders_PostProcessFilters_GaussianBlur1D, Shaders_PostProcessFilters_PassThrough, Shaders_ReprojectWebMercatorFS, Shaders_ReprojectWebMercatorVS, Shaders_SensorVolume, Shaders_SkyAtmosphereFS, Shaders_SkyAtmosphereVS, Shaders_SkyBoxFS, Shaders_SkyBoxVS, Shaders_SunFS, Shaders_SunTextureFS, Shaders_SunVS, Shaders_ViewportQuadFS, Shaders_ViewportQuadVS, ThirdParty_Tween, ThirdParty_Uri, ThirdParty_knockout_3_0_0, ThirdParty_knockout_es5, ThirdParty_knockout, ThirdParty_measureText, ThirdParty_mersenne_twister, ThirdParty_sprintf, ThirdParty_topojson, ThirdParty_weakmap, ThirdParty_when, Widgets_Animation_Animation, Widgets_Animation_AnimationViewModel, Widgets_BaseLayerPicker_BaseLayerPicker, Widgets_BaseLayerPicker_BaseLayerPickerViewModel, Widgets_BaseLayerPicker_ImageryProviderViewModel, Widgets_BaseLayerPicker_createDefaultBaseLayers, Widgets_CesiumWidget_CesiumWidget, Widgets_ClockViewModel, Widgets_Command, Widgets_FullscreenButton_FullscreenButton, Widgets_FullscreenButton_FullscreenButtonViewModel, Widgets_Geocoder_Geocoder, Widgets_Geocoder_GeocoderViewModel, Widgets_HomeButton_HomeButton, Widgets_HomeButton_HomeButtonViewModel, Widgets_Observable, Widgets_SceneModePicker_SceneModePicker, Widgets_SceneModePicker_SceneModePickerViewModel, Widgets_SvgPath_SvgPath, Widgets_Timeline_Timeline, Widgets_Timeline_TimelineHighlightRange, Widgets_Timeline_TimelineTrack, Widgets_ToggleButtonViewModel, Widgets_Viewer_Viewer, Widgets_Viewer_viewerDragDropMixin, Widgets_Viewer_viewerDynamicObjectMixin, Widgets_checkForChromeFrame, Widgets_createCommand, Widgets_getElement, Widgets_subscribeAndEvaluate) {
3
3
  "use strict";
4
4
  var Cesium = {
5
5
  _shaders : {}
@@ -80,13 +80,14 @@ define(['Core/AxisAlignedBoundingBox', 'Core/BingMapsApi', 'Core/BoundingRectang
80
80
  Cesium.LagrangePolynomialApproximation = Core_LagrangePolynomialApproximation;
81
81
  Cesium.LeapSecond = Core_LeapSecond;
82
82
  Cesium.LinearApproximation = Core_LinearApproximation;
83
+ Cesium.LinearSpline = Core_LinearSpline;
83
84
  Cesium.Math = Core_Math;
84
85
  Cesium.Matrix2 = Core_Matrix2;
85
86
  Cesium.Matrix3 = Core_Matrix3;
86
87
  Cesium.Matrix4 = Core_Matrix4;
87
88
  Cesium.NearFarScalar = Core_NearFarScalar;
89
+ Cesium.ObjectOrientedBoundingBox = Core_ObjectOrientedBoundingBox;
88
90
  Cesium.Occluder = Core_Occluder;
89
- Cesium.OrientationInterpolator = Core_OrientationInterpolator;
90
91
  Cesium.Packable = Core_Packable;
91
92
  Cesium.PackableForInterpolation = Core_PackableForInterpolation;
92
93
  Cesium.Plane = Core_Plane;
@@ -103,6 +104,7 @@ define(['Core/AxisAlignedBoundingBox', 'Core/BingMapsApi', 'Core/BoundingRectang
103
104
  Cesium.QuadraticRealPolynomial = Core_QuadraticRealPolynomial;
104
105
  Cesium.QuarticRealPolynomial = Core_QuarticRealPolynomial;
105
106
  Cesium.Quaternion = Core_Quaternion;
107
+ Cesium.QuaternionSpline = Core_QuaternionSpline;
106
108
  Cesium.Queue = Core_Queue;
107
109
  Cesium.Ray = Core_Ray;
108
110
  Cesium.ReferenceFrame = Core_ReferenceFrame;
@@ -117,6 +119,7 @@ define(['Core/AxisAlignedBoundingBox', 'Core/BingMapsApi', 'Core/BoundingRectang
117
119
  Cesium.SphereGeometry = Core_SphereGeometry;
118
120
  Cesium.SphereOutlineGeometry = Core_SphereOutlineGeometry;
119
121
  Cesium.Spherical = Core_Spherical;
122
+ Cesium.Spline = Core_Spline;
120
123
  Cesium.TaskProcessor = Core_TaskProcessor;
121
124
  Cesium.TimeConstants = Core_TimeConstants;
122
125
  Cesium.TimeInterval = Core_TimeInterval;
@@ -214,6 +214,64 @@ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/freeze
214
214
  return Math.min(cartesian.x, cartesian.y);
215
215
  };
216
216
 
217
+ /**
218
+ * Compares two Cartesians and computes a Cartesian which contains the minimum components of the supplied Cartesians.
219
+ * @memberof Cartesian2
220
+ *
221
+ * @param {Cartesian2} first A cartesian to compare.
222
+ * @param {Cartesian2} second A cartesian to compare.
223
+ * @param {Cartesian2} [result] The object into which to store the result.
224
+ * @returns {Cartesian2} A cartesian with the minimum components.
225
+ *
226
+ * @exception {DeveloperError} first cartesian is missing.
227
+ * @exception {DeveloperError} second cartesian is missing.
228
+ */
229
+ Cartesian2.getMinimumByComponent = function(first, second, result) {
230
+ if (!defined(first)) {
231
+ throw new DeveloperError('first cartesian is missing');
232
+ }
233
+ if (!defined(second)) {
234
+ throw new DeveloperError('second cartesian is missing');
235
+ }
236
+ if (!defined(result)) {
237
+ result = new Cartesian2();
238
+ }
239
+
240
+ result.x = Math.min(first.x, second.x);
241
+ result.y = Math.min(first.y, second.y);
242
+
243
+ return result;
244
+ };
245
+
246
+ /**
247
+ * Compares two Cartesians and computes a Cartesian which contains the maximum components of the supplied Cartesians.
248
+ * @memberof Cartesian2
249
+ *
250
+ * @param {Cartesian2} first A cartesian to compare.
251
+ * @param {Cartesian2} second A cartesian to compare.
252
+ * @param {Cartesian2} [result] The object into which to store the result.
253
+ * @returns {Cartesian2} A cartesian with the maximum components.
254
+ *
255
+ * @exception {DeveloperError} first cartesian is missing.
256
+ * @exception {DeveloperError} second cartesian is missing.
257
+ */
258
+ Cartesian2.getMaximumByComponent = function(first, second, result) {
259
+ if (!defined(first)) {
260
+ throw new DeveloperError('first cartesian is missing');
261
+ }
262
+ if (!defined(second)) {
263
+ throw new DeveloperError('second cartesian is missing');
264
+ }
265
+
266
+ if (!defined(result)) {
267
+ result = new Cartesian2();
268
+ }
269
+
270
+ result.x = Math.max(first.x, second.x);
271
+ result.y = Math.max(first.y, second.y);
272
+ return result;
273
+ };
274
+
217
275
  /**
218
276
  * Computes the provided Cartesian's squared magnitude.
219
277
  * @memberof Cartesian2
@@ -240,6 +240,66 @@ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/freeze
240
240
  return Math.min(cartesian.x, cartesian.y, cartesian.z);
241
241
  };
242
242
 
243
+ /**
244
+ * Compares two Cartesians and computes a Cartesian which contains the minimum components of the supplied Cartesians.
245
+ * @memberof Cartesian3
246
+ *
247
+ * @param {Cartesian3} first A cartesian to compare.
248
+ * @param {Cartesian3} second A cartesian to compare.
249
+ * @param {Cartesian3} [result] The object into which to store the result.
250
+ * @returns {Cartesian3} A cartesian with the minimum components.
251
+ *
252
+ * @exception {DeveloperError} first cartesian is missing.
253
+ * @exception {DeveloperError} second cartesian is missing.
254
+ */
255
+ Cartesian3.getMinimumByComponent = function(first, second, result) {
256
+ if (!defined(first)) {
257
+ throw new DeveloperError('first cartesian is missing');
258
+ }
259
+ if (!defined(second)) {
260
+ throw new DeveloperError('second cartesian is missing');
261
+ }
262
+ if (!defined(result)) {
263
+ result = new Cartesian3();
264
+ }
265
+
266
+ result.x = Math.min(first.x, second.x);
267
+ result.y = Math.min(first.y, second.y);
268
+ result.z = Math.min(first.z, second.z);
269
+
270
+ return result;
271
+ };
272
+
273
+ /**
274
+ * Compares two Cartesians and computes a Cartesian which contains the maximum components of the supplied Cartesians.
275
+ * @memberof Cartesian3
276
+ *
277
+ * @param {Cartesian3} first A cartesian to compare.
278
+ * @param {Cartesian3} second A cartesian to compare.
279
+ * @param {Cartesian3} [result] The object into which to store the result.
280
+ * @returns {Cartesian3} A cartesian with the maximum components.
281
+ *
282
+ * @exception {DeveloperError} first cartesian is missing.
283
+ * @exception {DeveloperError} second cartesian is missing.
284
+ */
285
+ Cartesian3.getMaximumByComponent = function(first, second, result) {
286
+ if (!defined(first)) {
287
+ throw new DeveloperError('first cartesian is missing');
288
+ }
289
+ if (!defined(second)) {
290
+ throw new DeveloperError('second cartesian is missing');
291
+ }
292
+
293
+ if (!defined(result)) {
294
+ result = new Cartesian3();
295
+ }
296
+
297
+ result.x = Math.max(first.x, second.x);
298
+ result.y = Math.max(first.y, second.y);
299
+ result.z = Math.max(first.z, second.z);
300
+ return result;
301
+ };
302
+
243
303
  /**
244
304
  * Computes the provided Cartesian's squared magnitude.
245
305
  * @memberof Cartesian3
@@ -444,7 +504,7 @@ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/freeze
444
504
  throw new DeveloperError('scalar is required and must be a number.');
445
505
  }
446
506
  if (!defined(result)) {
447
- return new Cartesian3(cartesian.x * scalar, cartesian.y * scalar, cartesian.z * scalar);
507
+ return new Cartesian3(cartesian.x * scalar, cartesian.y * scalar, cartesian.z * scalar);
448
508
  }
449
509
  result.x = cartesian.x * scalar;
450
510
  result.y = cartesian.y * scalar;
@@ -629,12 +689,12 @@ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/freeze
629
689
  * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
630
690
  */
631
691
  Cartesian3.equals = function(left, right) {
632
- return (left === right) ||
633
- ((defined(left)) &&
634
- (defined(right)) &&
635
- (left.x === right.x) &&
636
- (left.y === right.y) &&
637
- (left.z === right.z));
692
+ return (left === right) ||
693
+ ((defined(left)) &&
694
+ (defined(right)) &&
695
+ (left.x === right.x) &&
696
+ (left.y === right.y) &&
697
+ (left.z === right.z));
638
698
  };
639
699
 
640
700
  /**
@@ -216,6 +216,69 @@ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/freeze
216
216
  return Math.min(cartesian.x, cartesian.y, cartesian.z, cartesian.w);
217
217
  };
218
218
 
219
+ /**
220
+ * Compares two Cartesians and computes a Cartesian which contains the minimum components of the supplied Cartesians.
221
+ * @memberof Cartesian4
222
+ *
223
+ * @param {Cartesian4} first A cartesian to compare.
224
+ * @param {Cartesian4} second A cartesian to compare.
225
+ * @param {Cartesian4} [result] The object into which to store the result.
226
+ * @returns {Cartesian4} A cartesian with the minimum components.
227
+ *
228
+ * @exception {DeveloperError} first cartesian is missing.
229
+ * @exception {DeveloperError} second cartesian is missing.
230
+ */
231
+ Cartesian4.getMinimumByComponent = function(first, second, result) {
232
+ if (!defined(first)) {
233
+ throw new DeveloperError('first cartesian is missing');
234
+ }
235
+ if (!defined(second)) {
236
+ throw new DeveloperError('second cartesian is missing');
237
+ }
238
+ if (!defined(result)) {
239
+ result = new Cartesian4();
240
+ }
241
+
242
+ result.x = Math.min(first.x, second.x);
243
+ result.y = Math.min(first.y, second.y);
244
+ result.z = Math.min(first.z, second.z);
245
+ result.w = Math.min(first.w, second.w);
246
+
247
+ return result;
248
+ };
249
+
250
+ /**
251
+ * Compares two Cartesians and computes a Cartesian which contains the maximum components of the supplied Cartesians.
252
+ * @memberof Cartesian4
253
+ *
254
+ * @param {Cartesian4} first A cartesian to compare.
255
+ * @param {Cartesian4} second A cartesian to compare.
256
+ * @param {Cartesian4} [result] The object into which to store the result.
257
+ * @returns {Cartesian4} A cartesian with the maximum components.
258
+ *
259
+ * @exception {DeveloperError} first cartesian is missing.
260
+ * @exception {DeveloperError} second cartesian is missing.
261
+ */
262
+ Cartesian4.getMaximumByComponent = function(first, second, result) {
263
+ if (!defined(first)) {
264
+ throw new DeveloperError('first cartesian is missing');
265
+ }
266
+ if (!defined(second)) {
267
+ throw new DeveloperError('second cartesian is missing');
268
+ }
269
+
270
+ if (!defined(result)) {
271
+ result = new Cartesian4();
272
+ }
273
+
274
+ result.x = Math.max(first.x, second.x);
275
+ result.y = Math.max(first.y, second.y);
276
+ result.z = Math.max(first.z, second.z);
277
+ result.w = Math.max(first.w, second.w);
278
+
279
+ return result;
280
+ };
281
+
219
282
  /**
220
283
  * Computes the provided Cartesian's squared magnitude.
221
284
  * @memberof Cartesian4
@@ -1,13 +1,84 @@
1
1
  /*global define*/
2
- define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/Matrix4', 'Core/Cartesian3', 'Core/HermiteSpline'], function(
2
+ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/Matrix4', 'Core/Cartesian3', 'Core/Cartesian4', 'Core/Spline', 'Core/HermiteSpline'], function(
3
3
  defaultValue,
4
4
  defined,
5
5
  DeveloperError,
6
6
  Matrix4,
7
7
  Cartesian3,
8
+ Cartesian4,
9
+ Spline,
8
10
  HermiteSpline) {
9
11
  "use strict";
10
12
 
13
+ var scratchTimeVec = new Cartesian4();
14
+ var scratchTemp0 = new Cartesian3();
15
+ var scratchTemp1 = new Cartesian3();
16
+
17
+ function createEvaluateFunction(spline) {
18
+ var points = spline.points;
19
+ var times = spline.times;
20
+
21
+ if (points.length < 3) {
22
+ var t0 = times[0];
23
+ var invSpan = 1.0 / (times[1] - t0);
24
+
25
+ var p0 = points[0];
26
+ var p1 = points[1];
27
+
28
+ return function(time, result) {
29
+ var u = (time - t0) * invSpan;
30
+ return Cartesian3.lerp(p0, p1, u, result);
31
+ };
32
+ }
33
+
34
+ return function(time, result) {
35
+ var i = spline._lastTimeIndex = spline.findTimeInterval(time, spline._lastTimeIndex);
36
+ var u = (time - times[i]) / (times[i + 1] - times[i]);
37
+
38
+ var timeVec = scratchTimeVec;
39
+ timeVec.z = u;
40
+ timeVec.y = u * u;
41
+ timeVec.x = timeVec.y * u;
42
+
43
+ var p0, p1, p2, p3, coefs;
44
+ if (i === 0) {
45
+ p0 = points[0];
46
+ p1 = points[1];
47
+ p2 = spline.firstTangent;
48
+
49
+ p3 = Cartesian3.subtract(points[2], p0, scratchTemp0);
50
+ Cartesian3.multiplyByScalar(p3, 0.5, p3);
51
+
52
+ coefs = Matrix4.multiplyByPoint(HermiteSpline.hermiteCoefficientMatrix, timeVec, timeVec);
53
+ } else if (i === points.length - 2) {
54
+ p0 = points[i];
55
+ p1 = points[i + 1];
56
+ p3 = spline.lastTangent;
57
+
58
+ p2 = Cartesian3.subtract(p1, points[i - 1], scratchTemp0);
59
+ Cartesian3.multiplyByScalar(p2, 0.5, p2);
60
+
61
+ coefs = Matrix4.multiplyByPoint(HermiteSpline.hermiteCoefficientMatrix, timeVec, timeVec);
62
+ } else {
63
+ p0 = points[i - 1];
64
+ p1 = points[i];
65
+ p2 = points[i + 1];
66
+ p3 = points[i + 2];
67
+ coefs = Matrix4.multiplyByPoint(CatmullRomSpline.catmullRomCoefficientMatrix, timeVec, timeVec);
68
+ }
69
+
70
+ result = Cartesian3.multiplyByScalar(p0, coefs.x, result);
71
+ Cartesian3.multiplyByScalar(p1, coefs.y, scratchTemp1);
72
+ Cartesian3.add(result, scratchTemp1, result);
73
+ Cartesian3.multiplyByScalar(p2, coefs.z, scratchTemp1);
74
+ Cartesian3.add(result, scratchTemp1, result);
75
+ Cartesian3.multiplyByScalar(p3, coefs.w, scratchTemp1);
76
+ return Cartesian3.add(result, scratchTemp1, result);
77
+ };
78
+ }
79
+ var firstTangentScratch = new Cartesian3();
80
+ var lastTangentScratch = new Cartesian3();
81
+
11
82
  /**
12
83
  * A Catmull-Rom spline is a cubic spline where the tangent at control points,
13
84
  * except the first and last, are computed using the previous and next control points.
@@ -16,65 +87,106 @@ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/Matrix
16
87
  * @alias CatmullRomSpline
17
88
  * @constructor
18
89
  *
19
- * @param {Array} controlPoints The array of control points. Each element of the array should be an object with <code>point</code> and <code>time</code> properties.
20
- * @param {Cartesian3} firstTangent The tangent of the curve at the first control point.
21
- * If the tangent is not given, it will be estimated.
22
- * @param {Cartesian3} lastTangent The tangent of the curve at the last control point.
23
- * If the tangent is not given, it will be estimated.
90
+ * @param {Array} options.times The array of control point times.
91
+ * @param {Array} options.points The array of control points.
92
+ * @param {Cartesian3} [options.firstTangent] The tangent of the curve at the first control point.
93
+ * If the tangent is not given, it will be estimated.
94
+ * @param {Cartesian3} [options.lastTangent] The tangent of the curve at the last control point.
95
+ * If the tangent is not given, it will be estimated.
24
96
  *
25
- * @exception {DeveloperError} controlPoints is required.
26
- * @exception {DeveloperError} controlPoints must be an array of at least length 3.
97
+ * @exception {DeveloperError} points is required.
98
+ * @exception {DeveloperError} points.length must be greater than or equal to 2.
99
+ * @exception {DeveloperError} times is required.
100
+ * @exception {DeveloperError} times.length must be equal to points.length.
27
101
  *
28
102
  * @see HermiteSpline
29
103
  *
30
104
  * @example
31
105
  * // spline above the earth from Philadelphia to Los Angeles
32
- * var controlPoints = [
33
- * {point: new Cartesian3(1235398.0, -4810983.0, 4146266.0), time: 0.0},
34
- * {point: new Cartesian3(1372574.0, -5345182.0, 4606657.0), time: 1.5},
35
- * {point: new Cartesian3(-757983.0, -5542796.0, 4514323.0), time: 3.0},
36
- * {point: new Cartesian3(-2821260.0, -5248423.0, 4021290.0), time: 4.5},
37
- * {point: new Cartesian3(-2539788.0, -4724797.0, 3620093.0), time: 6.0}
38
- * ];
39
- * var spline = new CatmullRomSpline(controlPoints);
106
+ * var spline = new CatmullRomSpline({
107
+ * times : [ 0.0, 1.5, 3.0, 4.5, 6.0 ],
108
+ * points : [
109
+ * new Cartesian3(1235398.0, -4810983.0, 4146266.0),
110
+ * new Cartesian3(1372574.0, -5345182.0, 4606657.0),
111
+ * new Cartesian3(-757983.0, -5542796.0, 4514323.0),
112
+ * new Cartesian3(-2821260.0, -5248423.0, 4021290.0),
113
+ * new Cartesian3(-2539788.0, -4724797.0, 3620093.0)
114
+ * ]
115
+ * });
40
116
  */
41
- var CatmullRomSpline = function(controlPoints, firstTangent, lastTangent) {
42
- if (!defined(controlPoints) || !(controlPoints instanceof Array) || controlPoints.length < 3) {
43
- throw new DeveloperError('controlPoints is required and must be an array of objects with point and time properties, with a length of at least 3.');
117
+ var CatmullRomSpline = function(options) {
118
+ options = defaultValue(options, defaultValue.EMPTY_OBJECT);
119
+
120
+ var points = options.points;
121
+ var times = options.times;
122
+ var firstTangent = options.firstTangent;
123
+ var lastTangent = options.lastTangent;
124
+
125
+ if (!defined(points)) {
126
+ throw new DeveloperError('points is required.');
44
127
  }
45
128
 
46
- this._points = controlPoints;
47
- this._lastTimeIndex = 0;
129
+ if (points.length < 2) {
130
+ throw new DeveloperError('points.length must be greater than or equal to 2.');
131
+ }
48
132
 
49
- if (defined(firstTangent)) {
50
- this._ti = Cartesian3.clone(firstTangent);
51
- } else {
52
- var controlPoint0 = Cartesian3.clone(controlPoints[0].point);
53
- var controlPoint1 = Cartesian3.clone(controlPoints[1].point);
54
- var controlPoint2 = Cartesian3.clone(controlPoints[2].point);
55
-
56
- var ti = this._ti = new Cartesian3();
57
- Cartesian3.multiplyByScalar(controlPoint1, 2.0, ti);
58
- Cartesian3.subtract(ti, controlPoint2, ti);
59
- Cartesian3.subtract(ti, controlPoint0, ti);
60
- Cartesian3.multiplyByScalar(ti, 0.5, ti);
133
+ if (!defined(times)) {
134
+ throw new DeveloperError('times is required.');
61
135
  }
62
136
 
63
- if (defined(lastTangent)) {
64
- this._to = Cartesian3.clone(lastTangent);
65
- } else {
66
- var n = controlPoints.length - 1;
137
+ if (times.length !== points.length) {
138
+ throw new DeveloperError('times.length must be equal to points.length.');
139
+ }
67
140
 
68
- var controlPointn0 = Cartesian3.clone(controlPoints[n].point);
69
- var controlPointn1 = Cartesian3.clone(controlPoints[n - 1].point);
70
- var controlPointn2 = Cartesian3.clone(controlPoints[n - 2].point);
141
+ if (points.length > 2) {
142
+ if (!defined(firstTangent)) {
143
+ firstTangent = firstTangentScratch;
144
+ Cartesian3.multiplyByScalar(points[1], 2.0, firstTangent);
145
+ Cartesian3.subtract(firstTangent, points[2], firstTangent);
146
+ Cartesian3.subtract(firstTangent, points[0], firstTangent);
147
+ Cartesian3.multiplyByScalar(firstTangent, 0.5, firstTangent);
148
+ }
71
149
 
72
- var to = this._to = new Cartesian3();
73
- Cartesian3.multiplyByScalar(controlPointn1, 2.0, to);
74
- Cartesian3.subtract(controlPointn0, to, to);
75
- Cartesian3.add(to, controlPointn2, to);
76
- Cartesian3.multiplyByScalar(to, 0.5, to);
150
+ if (!defined(lastTangent)) {
151
+ var n = points.length - 1;
152
+ lastTangent = lastTangentScratch;
153
+ Cartesian3.multiplyByScalar(points[n - 1], 2.0, lastTangent);
154
+ Cartesian3.subtract(points[n], lastTangent, lastTangent);
155
+ Cartesian3.add(lastTangent, points[n - 2], lastTangent);
156
+ Cartesian3.multiplyByScalar(lastTangent, 0.5, lastTangent);
157
+ }
77
158
  }
159
+
160
+ /**
161
+ * An array of times for the control points.
162
+ * @type {Array}
163
+ * @readonly
164
+ */
165
+ this.times = times;
166
+
167
+ /**
168
+ * An array of {@link Cartesian3} control points.
169
+ * @type {Array}
170
+ * @readonly
171
+ */
172
+ this.points = points;
173
+
174
+ /**
175
+ * The tangent at the first control point.
176
+ * @type {Cartesian3}
177
+ * @readonly
178
+ */
179
+ this.firstTangent = Cartesian3.clone(firstTangent);
180
+
181
+ /**
182
+ * The tangent at the last control point.
183
+ * @type {Cartesian3}
184
+ * @readonly
185
+ */
186
+ this.lastTangent = Cartesian3.clone(lastTangent);
187
+
188
+ this._evaluateFunction = createEvaluateFunction(this);
189
+ this._lastTimeIndex = 0;
78
190
  };
79
191
 
80
192
  CatmullRomSpline.catmullRomCoefficientMatrix = new Matrix4(
@@ -84,143 +196,51 @@ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/Matrix
84
196
  0.5, -0.5, 0.0, 0.0);
85
197
 
86
198
  /**
87
- * Returns the array of control points.
88
- *
89
- * @memberof CatmullRomSpline
90
- * @returns {Array} The array of control points.
91
- */
92
- CatmullRomSpline.prototype.getControlPoints = function() {
93
- return this._points;
94
- };
95
-
96
- /**
97
- * Returns the tangent of the first control point.
98
- *
99
- * @memberof CatmullRomSpline
100
- *
101
- * @returns {Cartesian3} The tangent of the first control point.
102
- *
103
- * @see CatmullRomSpline#getEndTangent
104
- */
105
- CatmullRomSpline.prototype.getStartTangent = function() {
106
- return this._ti;
107
- };
108
-
109
- /**
110
- * Returns the tangent of the last control point.
111
- *
199
+ * Finds an index <code>i</code> in <code>times</code> such that the parameter
200
+ * <code>time</code> is in the interval <code>[times[i], times[i + 1]]</code>.
112
201
  * @memberof CatmullRomSpline
113
202
  *
114
- * @returns {Cartesian3} The tangent of the last control point.
203
+ * @param {Number} time The time.
204
+ * @returns {Number} The index for the element at the start of the interval.
115
205
  *
116
- * @see CatmullRomSpline#getStartTangent
206
+ * @exception {DeveloperError} time is required.
207
+ * @exception {DeveloperError} time must be in the range <code>[t<sub>0</sub>, t<sub>n</sub>]</code>, where <code>t<sub>0</sub></code>
208
+ * is the first element in the array <code>times</code> and <code>t<sub>n</sub></code> is the last element
209
+ * in the array <code>times</code>.
117
210
  */
118
- CatmullRomSpline.prototype.getEndTangent = function() {
119
- return this._to;
120
- };
121
-
122
- function findIndex(catmullRomSpline, time) {
123
- // Take advantage of temporal coherence by checking current, next and previous intervals
124
- // for containment of time.
125
- var i = defaultValue(catmullRomSpline._lastTimeIndex, 0);
126
- if (time >= catmullRomSpline._points[i].time) {
127
- if (i + 1 < catmullRomSpline._points.length && time < catmullRomSpline._points[i + 1].time) {
128
- return i;
129
- } else if (i + 2 < catmullRomSpline._points.length && time < catmullRomSpline._points[i + 2].time) {
130
- catmullRomSpline._lastTimeIndex = i + 1;
131
- return catmullRomSpline._lastTimeIndex;
132
- }
133
- } else if (i - 1 >= 0 && time >= catmullRomSpline._points[i - 1].time) {
134
- catmullRomSpline._lastTimeIndex = i - 1;
135
- return catmullRomSpline._lastTimeIndex;
136
- }
137
-
138
- // The above failed so do a linear search. For the use cases so far, the
139
- // length of the list is less than 10. In the future, if there is a bottle neck,
140
- // it might be here.
141
- for (i = 0; i < catmullRomSpline._points.length - 1; ++i) {
142
- if (time >= catmullRomSpline._points[i].time && time < catmullRomSpline._points[i + 1].time) {
143
- break;
144
- }
145
- }
146
-
147
- if (i === catmullRomSpline._points.length - 1) {
148
- i = catmullRomSpline._points.length - 2;
149
- }
150
-
151
- catmullRomSpline._lastTimeIndex = i;
152
- return catmullRomSpline._lastTimeIndex;
153
- }
211
+ CatmullRomSpline.prototype.findTimeInterval = Spline.prototype.findTimeInterval;
154
212
 
155
213
  /**
156
214
  * Evaluates the curve at a given time.
157
- *
158
215
  * @memberof CatmullRomSpline
159
216
  *
160
217
  * @param {Number} time The time at which to evaluate the curve.
218
+ * @param {Cartesian3} [result] The object onto which to store the result.
219
+ * @returns {Cartesian3} The modified result parameter or a new instance of the point on the curve at the given time.
161
220
  *
162
221
  * @exception {DeveloperError} time is required.
163
- * @exception {DeveloperError} time must be in the range <code>[a<sub>0</sub>, a<sub>n</sub>]</code>,
164
- * where <code>a<sub>0</sub></code> and <code>a<sub>n</sub></code> are the time properties of first and
165
- * last elements in the array given during construction, respectively.
166
- *
167
- * @returns {Cartesian3} The point on the curve at the given <code>time</code>.
222
+ * @exception {DeveloperError} time must be in the range <code>[t<sub>0</sub>, t<sub>n</sub>]</code>, where <code>t<sub>0</sub></code>
223
+ * is the first element in the array <code>times</code> and <code>t<sub>n</sub></code> is the last element
224
+ * in the array <code>times</code>.
168
225
  *
169
226
  * @example
170
227
  * // spline above the earth from Philadelphia to Los Angeles
171
- * var controlPoints = [
172
- * {point: new Cartesian3(1235398.0, -4810983.0, 4146266.0), time: 0.0},
173
- * {point: new Cartesian3(1372574.0, -5345182.0, 4606657.0), time: 1.5},
174
- * {point: new Cartesian3(-757983.0, -5542796.0, 4514323.0), time: 3.0},
175
- * {point: new Cartesian3(-2821260.0, -5248423.0, 4021290.0), time: 4.5},
176
- * {point: new Cartesian3(-2539788.0, -4724797.0, 3620093.0), time: 6.0}
177
- * ];
178
- * var spline = new CatmullRomSpline(controlPoints);
228
+ * var spline = new CatmullRomSpline({
229
+ * times : [ 0.0, 1.5, 3.0, 4.5, 6.0 ],
230
+ * points : [
231
+ * new Cartesian3(1235398.0, -4810983.0, 4146266.0),
232
+ * new Cartesian3(1372574.0, -5345182.0, 4606657.0),
233
+ * new Cartesian3(-757983.0, -5542796.0, 4514323.0),
234
+ * new Cartesian3(-2821260.0, -5248423.0, 4021290.0),
235
+ * new Cartesian3(-2539788.0, -4724797.0, 3620093.0)
236
+ * ]
237
+ * });
179
238
  *
180
239
  * // some position above Los Angeles
181
240
  * var position = spline.evaluate(5.0);
182
241
  */
183
- CatmullRomSpline.prototype.evaluate = function(time) {
184
- if (!defined(time)) {
185
- throw new DeveloperError('time is required.');
186
- }
187
-
188
- if (time < this._points[0].time || time > this._points[this._points.length - 1].time) {
189
- throw new DeveloperError('time is out of range.');
190
- }
191
-
192
- var i = findIndex(this, time);
193
- var u = (time - this._points[i].time) / (this._points[i + 1].time - this._points[i].time);
194
-
195
- var timeVec = new Cartesian3(0.0, u * u, u);
196
- timeVec.x = timeVec.y * u;
197
-
198
- var p0, p1, p2, p3, coefs;
199
- if (i === 0) {
200
- p0 = this._points[0].point;
201
- p1 = this._points[1].point;
202
- p2 = this._ti;
203
- p3 = Cartesian3.multiplyByScalar(Cartesian3.subtract(this._points[2].point, p0), 0.5);
204
- coefs = Matrix4.multiplyByPoint(HermiteSpline.hermiteCoefficientMatrix, timeVec);
205
- } else if (i === this._points.length - 2) {
206
- p0 = this._points[i].point;
207
- p1 = this._points[i + 1].point;
208
- p2 = Cartesian3.multiplyByScalar(Cartesian3.subtract(p1, this._points[i - 1].point), 0.5);
209
- p3 = this._to;
210
- coefs = Matrix4.multiplyByPoint(HermiteSpline.hermiteCoefficientMatrix, timeVec);
211
- } else {
212
- p0 = this._points[i - 1].point;
213
- p1 = this._points[i].point;
214
- p2 = this._points[i + 1].point;
215
- p3 = this._points[i + 2].point;
216
- coefs = Matrix4.multiplyByPoint(CatmullRomSpline.catmullRomCoefficientMatrix, timeVec);
217
- }
218
- p0 = Cartesian3.multiplyByScalar(p0, coefs.x);
219
- p1 = Cartesian3.multiplyByScalar(p1, coefs.y);
220
- p2 = Cartesian3.multiplyByScalar(p2, coefs.z);
221
- p3 = Cartesian3.multiplyByScalar(p3, coefs.w);
222
-
223
- return Cartesian3.add(Cartesian3.add(Cartesian3.add(p0, p1), p2), p3);
242
+ CatmullRomSpline.prototype.evaluate = function(time, result) {
243
+ return this._evaluateFunction(time, result);
224
244
  };
225
245
 
226
246
  return CatmullRomSpline;