@cesium/engine 15.0.0 → 17.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Build/Workers/{chunk-XED3RXKO.js → chunk-236N6BJN.js} +4 -4
- package/Build/Workers/{chunk-TU6ZXHVU.js → chunk-2BJXFXD7.js} +46 -42
- package/Build/Workers/{chunk-3LHBH4TC.js → chunk-37PA7GZW.js} +7 -7
- package/Build/Workers/{chunk-FMZ5CX6V.js → chunk-4BGKMM7J.js} +1 -1
- package/Build/Workers/{chunk-L5SO4Y5V.js → chunk-4TIR5UPL.js} +1 -1
- package/Build/Workers/{chunk-NAGMYRDW.js → chunk-5PC577K7.js} +17 -20
- package/Build/Workers/{chunk-XDHM4G3P.js → chunk-5RPUEFSA.js} +129 -146
- package/Build/Workers/{chunk-ZVDLC3T4.js → chunk-5YEFZMMM.js} +25 -30
- package/Build/Workers/{chunk-VMVPONIV.js → chunk-77MDEA47.js} +5 -5
- package/Build/Workers/{chunk-QTEX3Y4V.js → chunk-7IIMO7ZZ.js} +33 -41
- package/Build/Workers/{chunk-Q5BHMNKU.js → chunk-7PHT4JHA.js} +27 -29
- package/Build/Workers/{chunk-25TOENEE.js → chunk-C5DCX2YQ.js} +9 -12
- package/Build/Workers/{chunk-B2Y4ZS6X.js → chunk-CAKU6ZPR.js} +9 -12
- package/Build/Workers/{chunk-RRN6LRDX.js → chunk-CBFJVM6I.js} +26 -28
- package/Build/Workers/{chunk-GGV2XJHE.js → chunk-CC2WKHIW.js} +13 -16
- package/Build/Workers/{chunk-K5G2WELR.js → chunk-CQMXZF4A.js} +12 -17
- package/Build/Workers/{chunk-67ONR44K.js → chunk-DRMXU674.js} +7 -10
- package/Build/Workers/{chunk-3LZF23RY.js → chunk-E7SMO47Q.js} +7 -10
- package/Build/Workers/{chunk-PUTA3AE2.js → chunk-G6JUXZUO.js} +4 -4
- package/Build/Workers/{chunk-CHX2K5AC.js → chunk-GO3RZX2R.js} +14 -17
- package/Build/Workers/{chunk-7ITUZTFH.js → chunk-HBNWBMAM.js} +1 -1
- package/Build/Workers/{chunk-3JZGPJMZ.js → chunk-HGEGZ67N.js} +6 -6
- package/Build/Workers/{chunk-GK4QU6QI.js → chunk-IFIS4CVK.js} +2 -2
- package/Build/Workers/{chunk-DYJHEP3B.js → chunk-IKDQX7DY.js} +6 -12
- package/Build/Workers/{chunk-FRAWHNSR.js → chunk-J2HTPGC7.js} +2 -2
- package/Build/Workers/{chunk-YNYCGTQH.js → chunk-K5JTWJPE.js} +5 -8
- package/Build/Workers/{chunk-6EDBC234.js → chunk-KE45DUDH.js} +18 -20
- package/Build/Workers/{chunk-TFCOEX3W.js → chunk-LPGOAMYH.js} +2 -2
- package/Build/Workers/{chunk-WPXU45PH.js → chunk-LVGYWPEX.js} +4 -4
- package/Build/Workers/{chunk-B2UQN3DH.js → chunk-MAIKDIBS.js} +6 -6
- package/Build/Workers/{chunk-MWJW37I7.js → chunk-MS5NWDHH.js} +2 -2
- package/Build/Workers/{chunk-2AVIUB5H.js → chunk-NZSBSY5K.js} +2 -2
- package/Build/Workers/{chunk-OYO6TKMU.js → chunk-OBHLT34A.js} +7 -7
- package/Build/Workers/{chunk-RO2Z3LCR.js → chunk-P2N5IDWU.js} +21 -23
- package/Build/Workers/{chunk-BD2TPFGC.js → chunk-P57PR3WM.js} +9 -11
- package/Build/Workers/{chunk-HYPB7FAV.js → chunk-PM4Q36WX.js} +15 -24
- package/Build/Workers/{chunk-CJGVEABL.js → chunk-PS3OKVOQ.js} +16 -19
- package/Build/Workers/{chunk-SLIA3GQP.js → chunk-QJTIOB2Z.js} +19 -22
- package/Build/Workers/{chunk-EZNAJPP5.js → chunk-QUFN3GEO.js} +18 -21
- package/Build/Workers/{chunk-ARVZCY6X.js → chunk-RX65FA7X.js} +7 -7
- package/Build/Workers/{chunk-E3H7AVMK.js → chunk-SQKTLDSD.js} +39 -41
- package/Build/Workers/{chunk-Z4SI54EB.js → chunk-SSLK4U3V.js} +14 -14
- package/Build/Workers/{chunk-IGINOLDX.js → chunk-UC7KH56Y.js} +6 -9
- package/Build/Workers/{chunk-VJ2PDF64.js → chunk-UFV3YUIN.js} +6 -9
- package/Build/Workers/{chunk-LCMJQVIF.js → chunk-UX5JWAC7.js} +17 -26
- package/Build/Workers/{chunk-ISQSYLZY.js → chunk-UZ6KXWCA.js} +4 -4
- package/Build/Workers/{chunk-JZAMRL5I.js → chunk-VXAKU6EV.js} +34 -36
- package/Build/Workers/{chunk-6EV4VOET.js → chunk-WP3IJYLC.js} +16 -19
- package/Build/Workers/{chunk-5S2B46UQ.js → chunk-XYGBWBD5.js} +1 -1
- package/Build/Workers/{chunk-F7ZI463G.js → chunk-YE6MDFDA.js} +21 -23
- package/Build/Workers/{chunk-I4HO2ED2.js → chunk-ZTBZMRQT.js} +9 -12
- package/Build/Workers/combineGeometry.js +21 -22
- package/Build/Workers/createBoxGeometry.js +15 -16
- package/Build/Workers/createBoxOutlineGeometry.js +20 -25
- package/Build/Workers/createCircleGeometry.js +26 -28
- package/Build/Workers/createCircleOutlineGeometry.js +19 -21
- package/Build/Workers/createCoplanarPolygonGeometry.js +38 -42
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +34 -36
- package/Build/Workers/createCorridorGeometry.js +42 -49
- package/Build/Workers/createCorridorOutlineGeometry.js +36 -43
- package/Build/Workers/createCylinderGeometry.js +17 -18
- package/Build/Workers/createCylinderOutlineGeometry.js +23 -25
- package/Build/Workers/createEllipseGeometry.js +23 -24
- package/Build/Workers/createEllipseOutlineGeometry.js +16 -17
- package/Build/Workers/createEllipsoidGeometry.js +16 -17
- package/Build/Workers/createEllipsoidOutlineGeometry.js +15 -16
- package/Build/Workers/createFrustumGeometry.js +15 -16
- package/Build/Workers/createFrustumOutlineGeometry.js +18 -21
- package/Build/Workers/createGeometry.js +22 -25
- package/Build/Workers/createGroundPolylineGeometry.js +34 -42
- package/Build/Workers/createPlaneGeometry.js +19 -21
- package/Build/Workers/createPlaneOutlineGeometry.js +12 -13
- package/Build/Workers/createPolygonGeometry.js +45 -50
- package/Build/Workers/createPolygonOutlineGeometry.js +39 -44
- package/Build/Workers/createPolylineGeometry.js +33 -40
- package/Build/Workers/createPolylineVolumeGeometry.js +37 -44
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +32 -39
- package/Build/Workers/createRectangleGeometry.js +41 -51
- package/Build/Workers/createRectangleOutlineGeometry.js +28 -33
- package/Build/Workers/createSimplePolylineGeometry.js +29 -34
- package/Build/Workers/createSphereGeometry.js +17 -20
- package/Build/Workers/createSphereOutlineGeometry.js +16 -19
- package/Build/Workers/createTaskProcessorWorker.js +3 -3
- package/Build/Workers/createVectorTileClampedPolylines.js +12 -13
- package/Build/Workers/createVectorTileGeometries.js +21 -22
- package/Build/Workers/createVectorTilePoints.js +11 -12
- package/Build/Workers/createVectorTilePolygons.js +19 -20
- package/Build/Workers/createVectorTilePolylines.js +12 -13
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +20 -23
- package/Build/Workers/createVerticesFromHeightmap.js +31 -58
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +17 -18
- package/Build/Workers/createWallGeometry.js +30 -35
- package/Build/Workers/createWallOutlineGeometry.js +28 -33
- package/Build/Workers/decodeDraco.js +10 -11
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
- package/Build/Workers/decodeI3S.js +10 -16
- package/Build/Workers/transcodeKTX2.js +7 -10
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +19 -20
- package/Source/Core/ApproximateTerrainHeights.js +2 -3
- package/Source/Core/ArcGISTiledElevationTerrainProvider.js +6 -6
- package/Source/Core/AxisAlignedBoundingBox.js +2 -3
- package/Source/Core/BingMapsGeocoderService.js +2 -2
- package/Source/Core/BoundingRectangle.js +7 -8
- package/Source/Core/BoundingSphere.js +10 -11
- package/Source/Core/BoxGeometry.js +7 -7
- package/Source/Core/BoxOutlineGeometry.js +7 -9
- package/Source/Core/Cartesian2.js +4 -5
- package/Source/Core/Cartesian3.js +7 -8
- package/Source/Core/Cartesian4.js +6 -7
- package/Source/Core/Cartographic.js +5 -6
- package/Source/Core/CatmullRomSpline.js +2 -2
- package/Source/Core/CesiumTerrainProvider.js +11 -14
- package/Source/Core/Check.d.ts +4 -1
- package/Source/Core/CircleGeometry.js +2 -2
- package/Source/Core/CircleOutlineGeometry.js +2 -2
- package/Source/Core/Clock.js +7 -10
- package/Source/Core/Color.js +28 -28
- package/Source/Core/ColorGeometryInstanceAttribute.js +4 -5
- package/Source/Core/ComponentDatatype.js +4 -6
- package/Source/Core/CoplanarPolygonGeometry.js +8 -10
- package/Source/Core/CoplanarPolygonOutlineGeometry.js +5 -5
- package/Source/Core/CorridorGeometry.js +15 -20
- package/Source/Core/CorridorOutlineGeometry.js +10 -15
- package/Source/Core/Credit.js +1 -2
- package/Source/Core/CullingVolume.js +1 -2
- package/Source/Core/CustomHeightmapTerrainProvider.js +3 -3
- package/Source/Core/CylinderGeometry.js +7 -7
- package/Source/Core/CylinderOutlineGeometry.js +7 -7
- package/Source/Core/DistanceDisplayCondition.js +4 -5
- package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +2 -3
- package/Source/Core/EarthOrientationParameters.js +4 -4
- package/Source/Core/EllipseGeometry.js +17 -23
- package/Source/Core/EllipseOutlineGeometry.js +12 -15
- package/Source/Core/Ellipsoid.js +7 -8
- package/Source/Core/EllipsoidGeodesic.js +1 -2
- package/Source/Core/EllipsoidGeometry.js +15 -15
- package/Source/Core/EllipsoidOutlineGeometry.js +15 -15
- package/Source/Core/EllipsoidRhumbLine.js +2 -3
- package/Source/Core/EllipsoidTangentPlane.js +1 -2
- package/Source/Core/EllipsoidTerrainProvider.js +4 -4
- package/Source/Core/EllipsoidalOccluder.js +2 -3
- package/Source/Core/FeatureDetection.js +1 -2
- package/Source/Core/Frozen.js +24 -0
- package/Source/Core/FrustumGeometry.js +7 -8
- package/Source/Core/FrustumOutlineGeometry.js +3 -4
- package/Source/Core/GeographicProjection.js +1 -2
- package/Source/Core/GeographicTilingScheme.js +6 -12
- package/Source/Core/Geometry.js +4 -7
- package/Source/Core/GeometryAttribute.js +3 -3
- package/Source/Core/GeometryAttributes.js +2 -2
- package/Source/Core/GeometryInstance.js +4 -6
- package/Source/Core/GeometryInstanceAttribute.js +3 -3
- package/Source/Core/GeometryPipeline.js +3 -4
- package/Source/Core/GoogleEarthEnterpriseMetadata.js +13 -24
- package/Source/Core/GoogleEarthEnterpriseTerrainData.js +9 -12
- package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +3 -3
- package/Source/Core/GoogleGeocoderService.js +2 -2
- package/Source/Core/GregorianDate.js +8 -9
- package/Source/Core/GroundPolylineGeometry.js +8 -8
- package/Source/Core/HeadingPitchRange.js +3 -4
- package/Source/Core/HeadingPitchRoll.js +3 -4
- package/Source/Core/Heap.js +3 -4
- package/Source/Core/HeightmapTerrainData.js +22 -38
- package/Source/Core/HeightmapTessellator.js +21 -37
- package/Source/Core/HermitePolynomialApproximation.js +1 -2
- package/Source/Core/HermiteSpline.js +5 -5
- package/Source/Core/ITwinPlatform.js +72 -15
- package/Source/Core/Iau2006XysData.js +8 -10
- package/Source/Core/IntersectionTests.js +1 -2
- package/Source/Core/Interval.js +2 -4
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/IonGeocoderService.js +6 -10
- package/Source/Core/IonResource.js +6 -6
- package/Source/Core/JulianDate.js +11 -12
- package/Source/Core/LinearSpline.js +2 -2
- package/Source/Core/ManagedArray.js +2 -3
- package/Source/Core/Math.js +36 -27
- package/Source/Core/Matrix2.js +7 -8
- package/Source/Core/Matrix3.js +12 -13
- package/Source/Core/Matrix4.js +28 -28
- package/Source/Core/MorphWeightSpline.js +2 -2
- package/Source/Core/NearFarScalar.js +6 -7
- package/Source/Core/Occluder.js +1 -2
- package/Source/Core/OffsetGeometryInstanceAttribute.js +3 -4
- package/Source/Core/OpenCageGeocoderService.js +1 -2
- package/Source/Core/OrientedBoundingBox.js +7 -8
- package/Source/Core/OrthographicFrustum.js +6 -6
- package/Source/Core/OrthographicOffCenterFrustum.js +4 -4
- package/Source/Core/PerspectiveFrustum.js +8 -8
- package/Source/Core/PerspectiveOffCenterFrustum.js +4 -4
- package/Source/Core/PlaneGeometry.js +5 -5
- package/Source/Core/PolygonGeometry.js +17 -19
- package/Source/Core/PolygonGeometryLibrary.js +1 -2
- package/Source/Core/PolygonOutlineGeometry.js +11 -14
- package/Source/Core/PolygonPipeline.js +5 -6
- package/Source/Core/PolylineGeometry.js +10 -15
- package/Source/Core/PolylinePipeline.js +7 -14
- package/Source/Core/PolylineVolumeGeometry.js +8 -13
- package/Source/Core/PolylineVolumeOutlineGeometry.js +7 -12
- package/Source/Core/QuantizedMeshTerrainData.js +12 -16
- package/Source/Core/Quaternion.js +7 -8
- package/Source/Core/QuaternionSpline.js +2 -2
- package/Source/Core/Ray.js +2 -3
- package/Source/Core/Rectangle.js +18 -19
- package/Source/Core/RectangleGeometry.js +17 -25
- package/Source/Core/RectangleGeometryLibrary.js +1 -1
- package/Source/Core/RectangleOutlineGeometry.js +11 -14
- package/Source/Core/Request.js +6 -6
- package/Source/Core/RequestScheduler.js +4 -6
- package/Source/Core/Resource.js +13 -16
- package/Source/Core/S2Cell.js +2 -3
- package/Source/Core/ScreenSpaceEventHandler.js +1 -2
- package/Source/Core/ShowGeometryInstanceAttribute.js +1 -2
- package/Source/Core/Simon1994PlanetaryPositions.js +9 -9
- package/Source/Core/SimplePolylineGeometry.js +8 -11
- package/Source/Core/SphereGeometry.js +1 -2
- package/Source/Core/SphereOutlineGeometry.js +1 -2
- package/Source/Core/Spherical.js +4 -5
- package/Source/Core/Spline.js +1 -2
- package/Source/Core/SteppedSpline.js +2 -2
- package/Source/Core/TaskProcessor.js +2 -9
- package/Source/Core/TerrainData.js +1 -1
- package/Source/Core/TerrainEncoding.js +4 -11
- package/Source/Core/TerrainMesh.js +1 -3
- package/Source/Core/TerrainProvider.js +1 -1
- package/Source/Core/TileProviderError.js +1 -2
- package/Source/Core/TimeInterval.js +7 -7
- package/Source/Core/TimeIntervalCollection.js +7 -7
- package/Source/Core/Tipsify.js +5 -5
- package/Source/Core/Transforms.js +10 -15
- package/Source/Core/TranslationRotationScale.js +3 -6
- package/Source/Core/VRTheWorldTerrainProvider.js +5 -5
- package/Source/Core/VertexFormat.js +10 -10
- package/Source/Core/VerticalExaggeration.js +1 -1
- package/Source/Core/VideoSynchronizer.js +6 -6
- package/Source/Core/WallGeometry.js +8 -11
- package/Source/Core/WallOutlineGeometry.js +7 -10
- package/Source/Core/WebMercatorProjection.js +1 -2
- package/Source/Core/WebMercatorTilingScheme.js +5 -11
- package/Source/Core/arrayRemoveDuplicates.js +1 -2
- package/Source/Core/clone.js +1 -3
- package/Source/Core/combine.js +1 -2
- package/Source/Core/createWorldBathymetryAsync.js +3 -3
- package/Source/Core/createWorldTerrainAsync.js +4 -4
- package/Source/Core/defaultValue.js +20 -1
- package/Source/Core/destroyObject.js +1 -5
- package/Source/Core/getAbsoluteUri.js +1 -2
- package/Source/Core/getMagic.js +1 -2
- package/Source/Core/getStringFromTypedArray.js +2 -3
- package/Source/Core/loadImageFromTypedArray.js +2 -6
- package/Source/Core/oneTimeWarning.js +1 -2
- package/Source/Core/writeTextToCanvas.js +10 -13
- package/Source/DataSources/BillboardGraphics.js +27 -53
- package/Source/DataSources/BoxGraphics.js +13 -18
- package/Source/DataSources/CallbackPositionProperty.js +1 -2
- package/Source/DataSources/Cesium3DTilesetGraphics.js +6 -8
- package/Source/DataSources/CheckerboardMaterialProperty.js +2 -2
- package/Source/DataSources/CompositePositionProperty.js +1 -2
- package/Source/DataSources/ConstantPositionProperty.js +1 -2
- package/Source/DataSources/CorridorGraphics.js +23 -35
- package/Source/DataSources/CylinderGraphics.js +18 -25
- package/Source/DataSources/CzmlDataSource.js +34 -60
- package/Source/DataSources/DataSourceClock.js +12 -13
- package/Source/DataSources/DataSourceCollection.js +2 -3
- package/Source/DataSources/DataSourceDisplay.js +2 -5
- package/Source/DataSources/EllipseGraphics.js +26 -40
- package/Source/DataSources/EllipsoidGeometryUpdater.js +1 -2
- package/Source/DataSources/EllipsoidGraphics.js +21 -32
- package/Source/DataSources/Entity.js +7 -9
- package/Source/DataSources/EntityCluster.js +9 -9
- package/Source/DataSources/EntityView.js +1 -2
- package/Source/DataSources/GeoJsonDataSource.js +12 -12
- package/Source/DataSources/GeometryUpdater.js +12 -17
- package/Source/DataSources/GeometryVisualizer.js +2 -3
- package/Source/DataSources/GpxDataSource.js +4 -7
- package/Source/DataSources/GridMaterialProperty.js +2 -2
- package/Source/DataSources/GroundGeometryUpdater.js +1 -2
- package/Source/DataSources/ImageMaterialProperty.js +2 -2
- package/Source/DataSources/KmlDataSource.js +84 -158
- package/Source/DataSources/LabelGraphics.js +27 -56
- package/Source/DataSources/LabelVisualizer.js +1 -2
- package/Source/DataSources/ModelGraphics.js +29 -63
- package/Source/DataSources/ModelVisualizer.js +1 -2
- package/Source/DataSources/NodeTransformationProperty.js +2 -2
- package/Source/DataSources/PathGraphics.js +10 -12
- package/Source/DataSources/PlaneGraphics.js +13 -15
- package/Source/DataSources/PointGraphics.js +17 -32
- package/Source/DataSources/PolygonGraphics.js +28 -45
- package/Source/DataSources/PolylineDashMaterialProperty.js +2 -2
- package/Source/DataSources/PolylineGeometryUpdater.js +9 -14
- package/Source/DataSources/PolylineGlowMaterialProperty.js +2 -2
- package/Source/DataSources/PolylineGraphics.js +16 -23
- package/Source/DataSources/PolylineOutlineMaterialProperty.js +2 -2
- package/Source/DataSources/PolylineVisualizer.js +2 -3
- package/Source/DataSources/PolylineVolumeGraphics.js +15 -17
- package/Source/DataSources/PositionPropertyArray.js +1 -2
- package/Source/DataSources/Property.js +1 -2
- package/Source/DataSources/PropertyBag.js +1 -2
- package/Source/DataSources/RectangleGraphics.js +23 -35
- package/Source/DataSources/Rotation.js +4 -5
- package/Source/DataSources/SampledPositionProperty.js +2 -3
- package/Source/DataSources/SampledProperty.js +6 -11
- package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +1 -2
- package/Source/DataSources/StripeMaterialProperty.js +2 -2
- package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +1 -2
- package/Source/DataSources/VelocityOrientationProperty.js +1 -2
- package/Source/DataSources/VelocityVectorProperty.js +1 -2
- package/Source/DataSources/WallGraphics.js +15 -23
- package/Source/DataSources/createPropertyDescriptor.js +2 -3
- package/Source/DataSources/exportKml.js +11 -14
- package/Source/Renderer/Buffer.js +5 -5
- package/Source/Renderer/ClearCommand.js +2 -2
- package/Source/Renderer/ComputeCommand.js +3 -3
- package/Source/Renderer/Context.js +22 -33
- package/Source/Renderer/CubeMap.js +6 -6
- package/Source/Renderer/CubeMapFace.js +11 -12
- package/Source/Renderer/DrawCommand.js +14 -25
- package/Source/Renderer/Framebuffer.js +3 -3
- package/Source/Renderer/FramebufferManager.js +25 -39
- package/Source/Renderer/MultisampleFramebuffer.js +2 -2
- package/Source/Renderer/RenderState.js +63 -92
- package/Source/Renderer/Renderbuffer.js +4 -4
- package/Source/Renderer/Sampler.js +2 -2
- package/Source/Renderer/ShaderBuilder.js +2 -3
- package/Source/Renderer/ShaderProgram.js +3 -3
- package/Source/Renderer/ShaderSource.js +3 -3
- package/Source/Renderer/Texture.js +10 -10
- package/Source/Renderer/TextureAtlas.js +4 -4
- package/Source/Renderer/UniformState.js +6 -11
- package/Source/Renderer/VertexArray.js +14 -23
- package/Source/Renderer/VertexArrayFacade.js +7 -11
- package/Source/Scene/Appearance.js +4 -4
- package/Source/Scene/ArcGisMapServerImageryProvider.js +23 -37
- package/Source/Scene/ArcGisMapService.js +1 -1
- package/Source/Scene/B3dmParser.js +2 -3
- package/Source/Scene/BatchTableHierarchy.js +6 -13
- package/Source/Scene/Billboard.js +22 -44
- package/Source/Scene/BillboardCollection.js +8 -22
- package/Source/Scene/BingMapsImageryProvider.js +6 -6
- package/Source/Scene/BoxEmitter.js +1 -2
- package/Source/Scene/BufferLoader.js +2 -2
- package/Source/Scene/Camera.js +43 -62
- package/Source/Scene/CameraFlightPath.js +6 -6
- package/Source/Scene/Cesium3DContentGroup.js +2 -2
- package/Source/Scene/Cesium3DTile.js +3 -4
- package/Source/Scene/Cesium3DTileBatchTable.js +6 -49
- package/Source/Scene/Cesium3DTileFeatureTable.js +2 -3
- package/Source/Scene/Cesium3DTilePointFeature.js +10 -18
- package/Source/Scene/Cesium3DTileStyle.js +4 -7
- package/Source/Scene/Cesium3DTilesVoxelProvider.js +57 -34
- package/Source/Scene/Cesium3DTileset.js +77 -143
- package/Source/Scene/Cesium3DTilesetMetadata.js +3 -3
- package/Source/Scene/CircleEmitter.js +2 -3
- package/Source/Scene/ClassificationPrimitive.js +15 -26
- package/Source/Scene/ClippingPlaneCollection.js +7 -12
- package/Source/Scene/ClippingPolygon.js +1 -2
- package/Source/Scene/ClippingPolygonCollection.js +4 -4
- package/Source/Scene/CloudCollection.js +9 -11
- package/Source/Scene/Composite3DTileContent.js +1 -2
- package/Source/Scene/ConeEmitter.js +1 -2
- package/Source/Scene/ContentMetadata.js +2 -2
- package/Source/Scene/CreditDisplay.js +5 -9
- package/Source/Scene/CumulusCloud.js +9 -15
- package/Source/Scene/DebugAppearance.js +7 -7
- package/Source/Scene/DebugCameraPrimitive.js +5 -5
- package/Source/Scene/DebugModelMatrixPrimitive.js +6 -8
- package/Source/Scene/DepthPlane.js +1 -2
- package/Source/Scene/DirectionalLight.js +2 -3
- package/Source/Scene/DiscardMissingTileImagePolicy.js +2 -2
- package/Source/Scene/DynamicEnvironmentMapManager.js +15 -24
- package/Source/Scene/EllipsoidPrimitive.js +11 -19
- package/Source/Scene/EllipsoidSurfaceAppearance.js +11 -15
- package/Source/Scene/FrameRateMonitor.js +12 -21
- package/Source/Scene/FrustumCommands.js +2 -3
- package/Source/Scene/Geometry3DTileContent.js +9 -16
- package/Source/Scene/Globe.js +3 -4
- package/Source/Scene/GlobeSurfaceTileProvider.js +9 -18
- package/Source/Scene/GlobeTranslucencyState.js +12 -25
- package/Source/Scene/GltfBufferViewLoader.js +4 -4
- package/Source/Scene/GltfDracoLoader.js +2 -2
- package/Source/Scene/GltfImageLoader.js +2 -2
- package/Source/Scene/GltfIndexBufferLoader.js +5 -5
- package/Source/Scene/GltfJsonLoader.js +2 -2
- package/Source/Scene/GltfLoader.js +17 -30
- package/Source/Scene/GltfLoaderUtil.js +11 -11
- package/Source/Scene/GltfPipeline/addDefaults.js +37 -64
- package/Source/Scene/GltfPipeline/addToArray.js +1 -3
- package/Source/Scene/GltfPipeline/moveTechniqueRenderStates.js +2 -5
- package/Source/Scene/GltfPipeline/parseGlb.js +1 -5
- package/Source/Scene/GltfPipeline/removeUnusedElements.js +1 -2
- package/Source/Scene/GltfPipeline/updateVersion.js +28 -49
- package/Source/Scene/GltfStructuralMetadataLoader.js +5 -6
- package/Source/Scene/GltfTextureLoader.js +3 -3
- package/Source/Scene/GltfVertexBufferLoader.js +5 -5
- package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +2 -2
- package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +3 -4
- package/Source/Scene/GridImageryProvider.js +10 -13
- package/Source/Scene/GroundPolylinePrimitive.js +11 -22
- package/Source/Scene/GroundPrimitive.js +13 -24
- package/Source/Scene/GroupMetadata.js +2 -2
- package/Source/Scene/I3SDataProvider.js +10 -15
- package/Source/Scene/I3SNode.js +1 -6
- package/Source/Scene/I3SSublayer.js +1 -2
- package/Source/Scene/I3SSymbology.js +2 -3
- package/Source/Scene/I3dmParser.js +1 -2
- package/Source/Scene/ITwinData.js +11 -6
- package/Source/Scene/ImageBasedLighting.js +2 -2
- package/Source/Scene/ImageryLayer.js +44 -73
- package/Source/Scene/ImageryLayerCollection.js +2 -3
- package/Source/Scene/Implicit3DTileContent.js +3 -4
- package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -5
- package/Source/Scene/ImplicitMetadataView.js +2 -2
- package/Source/Scene/ImplicitSubtree.js +8 -15
- package/Source/Scene/ImplicitSubtreeCache.js +3 -3
- package/Source/Scene/ImplicitSubtreeMetadata.js +2 -2
- package/Source/Scene/InstanceAttributeSemantic.js +1 -1
- package/Source/Scene/IonImageryProvider.js +3 -3
- package/Source/Scene/Label.js +19 -36
- package/Source/Scene/LabelCollection.js +6 -14
- package/Source/Scene/MapboxImageryProvider.js +4 -4
- package/Source/Scene/MapboxStyleImageryProvider.js +5 -5
- package/Source/Scene/Material.js +14 -20
- package/Source/Scene/MaterialAppearance.js +12 -18
- package/Source/Scene/Megatexture.js +1 -2
- package/Source/Scene/MetadataClass.js +4 -4
- package/Source/Scene/MetadataClassProperty.js +11 -14
- package/Source/Scene/MetadataEnum.js +4 -7
- package/Source/Scene/MetadataEnumValue.js +2 -2
- package/Source/Scene/MetadataSchema.js +4 -4
- package/Source/Scene/MetadataSchemaLoader.js +2 -2
- package/Source/Scene/MetadataTable.js +2 -2
- package/Source/Scene/MetadataTableProperty.js +17 -31
- package/Source/Scene/Model/AlphaPipelineStage.js +1 -2
- package/Source/Scene/Model/B3dmLoader.js +15 -26
- package/Source/Scene/Model/BatchTexturePipelineStage.js +1 -2
- package/Source/Scene/Model/ClassificationModelDrawCommand.js +2 -2
- package/Source/Scene/Model/CustomShader.js +10 -12
- package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +3 -3
- package/Source/Scene/Model/FeatureIdPipelineStage.js +1 -5
- package/Source/Scene/Model/GeoJsonLoader.js +5 -8
- package/Source/Scene/Model/I3dmLoader.js +13 -21
- package/Source/Scene/Model/MaterialPipelineStage.js +1 -2
- package/Source/Scene/Model/Model.js +40 -62
- package/Source/Scene/Model/ModelAnimation.js +5 -6
- package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
- package/Source/Scene/Model/ModelAnimationCollection.js +4 -4
- package/Source/Scene/Model/ModelArticulation.js +2 -2
- package/Source/Scene/Model/ModelArticulationStage.js +2 -2
- package/Source/Scene/Model/ModelDrawCommand.js +3 -3
- package/Source/Scene/Model/ModelFeatureTable.js +3 -9
- package/Source/Scene/Model/ModelLightingOptions.js +3 -3
- package/Source/Scene/Model/ModelNode.js +1 -1
- package/Source/Scene/Model/ModelRuntimeNode.js +2 -2
- package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -2
- package/Source/Scene/Model/ModelSceneGraph.js +2 -2
- package/Source/Scene/Model/ModelSkin.js +2 -2
- package/Source/Scene/Model/PickingPipelineStage.js +1 -2
- package/Source/Scene/Model/PntsLoader.js +6 -6
- package/Source/Scene/Model/PointCloudStylingPipelineStage.js +1 -5
- package/Source/Scene/Model/PrimitiveOutlineGenerator.js +2 -2
- package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +2 -3
- package/Source/Scene/Model/TextureUniform.js +5 -8
- package/Source/Scene/Model/VaryingType.js +2 -2
- package/Source/Scene/Model/pickModel.js +4 -5
- package/Source/Scene/Moon.js +5 -5
- package/Source/Scene/OpenStreetMapImageryProvider.js +7 -7
- package/Source/Scene/OrderedGroundPrimitiveCollection.js +1 -2
- package/Source/Scene/Particle.js +11 -17
- package/Source/Scene/ParticleBurst.js +5 -5
- package/Source/Scene/ParticleSystem.js +24 -54
- package/Source/Scene/PerInstanceColorAppearance.js +8 -8
- package/Source/Scene/PerformanceDisplay.js +3 -3
- package/Source/Scene/PickFramebuffer.js +4 -5
- package/Source/Scene/Picking.js +3 -4
- package/Source/Scene/PntsParser.js +1 -2
- package/Source/Scene/PointCloud.js +6 -12
- package/Source/Scene/PointCloudShading.js +9 -18
- package/Source/Scene/PointPrimitive.js +11 -21
- package/Source/Scene/PointPrimitiveCollection.js +6 -14
- package/Source/Scene/Polyline.js +5 -5
- package/Source/Scene/PolylineCollection.js +5 -10
- package/Source/Scene/PolylineColorAppearance.js +7 -11
- package/Source/Scene/PolylineMaterialAppearance.js +7 -11
- package/Source/Scene/PostProcessStage.js +2 -2
- package/Source/Scene/PostProcessStageComposite.js +3 -6
- package/Source/Scene/Primitive.js +21 -42
- package/Source/Scene/PrimitiveCollection.js +4 -4
- package/Source/Scene/PrimitivePipeline.js +1 -2
- package/Source/Scene/PropertyAttribute.js +2 -2
- package/Source/Scene/PropertyAttributeProperty.js +4 -4
- package/Source/Scene/PropertyTable.js +2 -2
- package/Source/Scene/PropertyTexture.js +2 -2
- package/Source/Scene/PropertyTextureProperty.js +4 -4
- package/Source/Scene/QuadtreePrimitive.js +89 -67
- package/Source/Scene/QuadtreeTile.js +170 -0
- package/Source/Scene/ResourceCache.js +11 -11
- package/Source/Scene/ResourceCacheKey.js +11 -11
- package/Source/Scene/Scene.js +27 -25
- package/Source/Scene/ScreenSpaceCameraController.js +10 -12
- package/Source/Scene/ShadowMap.js +15 -15
- package/Source/Scene/ShadowVolumeAppearance.js +1 -2
- package/Source/Scene/SingleTileImageryProvider.js +4 -4
- package/Source/Scene/SkyAtmosphere.js +1 -2
- package/Source/Scene/SkyBox.js +1 -2
- package/Source/Scene/SphereEmitter.js +2 -3
- package/Source/Scene/StructuralMetadata.js +2 -2
- package/Source/Scene/SunLight.js +4 -4
- package/Source/Scene/SupportedImageFormats.js +4 -4
- package/Source/Scene/TileBoundingRegion.js +4 -5
- package/Source/Scene/TileBoundingS2Cell.js +3 -4
- package/Source/Scene/TileCoordinatesImageryProvider.js +5 -5
- package/Source/Scene/TileMapServiceImageryProvider.js +18 -27
- package/Source/Scene/TileMetadata.js +2 -2
- package/Source/Scene/TilesetMetadata.js +2 -2
- package/Source/Scene/TimeDynamicImagery.js +2 -2
- package/Source/Scene/TimeDynamicPointCloud.js +8 -10
- package/Source/Scene/TweenCollection.js +13 -16
- package/Source/Scene/UrlTemplateImageryProvider.js +11 -15
- package/Source/Scene/Vector3DTileClampedPolylines.js +1 -2
- package/Source/Scene/Vector3DTileContent.js +16 -20
- package/Source/Scene/Vector3DTileGeometry.js +1 -2
- package/Source/Scene/Vector3DTilePolygons.js +2 -3
- package/Source/Scene/Vector3DTilePolylines.js +1 -2
- package/Source/Scene/Vector3DTilePrimitive.js +9 -13
- package/Source/Scene/VoxelBoxShape.js +38 -82
- package/Source/Scene/VoxelCylinderShape.js +130 -271
- package/Source/Scene/VoxelEllipsoidShape.js +2 -3
- package/Source/Scene/VoxelMetadataOrder.js +14 -2
- package/Source/Scene/VoxelPrimitive.js +17 -30
- package/Source/Scene/VoxelProvider.js +0 -12
- package/Source/Scene/VoxelRenderResources.js +17 -21
- package/Source/Scene/VoxelTraversal.js +2 -6
- package/Source/Scene/WebMapServiceImageryProvider.js +17 -24
- package/Source/Scene/WebMapTileServiceImageryProvider.js +7 -10
- package/Source/Scene/createElevationBandMaterial.js +4 -4
- package/Source/Scene/createGooglePhotorealistic3DTileset.js +8 -16
- package/Source/Scene/createOsmBuildingsAsync.js +3 -6
- package/Source/Scene/createTangentSpaceDebugPrimitive.js +4 -6
- package/Source/Scene/createWorldImageryAsync.js +3 -3
- package/Source/Scene/findContentMetadata.js +2 -5
- package/Source/Scene/findTileMetadata.js +2 -5
- package/Source/Scene/parseBatchTable.js +1 -5
- package/Source/Scene/parseFeatureMetadataLegacy.js +2 -2
- package/Source/Scene/parseStructuralMetadata.js +2 -2
- package/Source/Shaders/PolylineCommon.glsl +1 -1
- package/Source/Shaders/PolylineCommon.js +1 -1
- package/Source/Shaders/Voxels/Octree.glsl +1 -1
- package/Source/Shaders/Voxels/Octree.js +1 -1
- package/Source/Widget/CesiumWidget.js +17 -25
- package/Source/Workers/createGeometry.js +1 -2
- package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -2
- package/Source/Workers/decodeI3S.js +1 -5
- package/Source/Workers/transcodeKTX2.js +1 -2
- package/index.d.ts +83 -37
- package/index.js +179 -178
- package/package.json +2 -2
- package/Build/Workers/chunk-QZKN2RXM.js +0 -39
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import defaultValue from "../Core/defaultValue.js";
|
|
2
1
|
import BoundingSphere from "../Core/BoundingSphere.js";
|
|
3
2
|
import Cartesian2 from "../Core/Cartesian2.js";
|
|
4
3
|
import Cartesian3 from "../Core/Cartesian3.js";
|
|
5
|
-
import
|
|
4
|
+
import Cartesian4 from "../Core/Cartesian4.js";
|
|
6
5
|
import CesiumMath from "../Core/Math.js";
|
|
6
|
+
import Check from "../Core/Check.js";
|
|
7
7
|
import Matrix3 from "../Core/Matrix3.js";
|
|
8
8
|
import Matrix4 from "../Core/Matrix4.js";
|
|
9
9
|
import OrientedBoundingBox from "../Core/OrientedBoundingBox.js";
|
|
10
|
-
import Cartesian4 from "../Core/Cartesian4.js";
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* A cylinder {@link VoxelShape}.
|
|
@@ -60,40 +59,18 @@ function VoxelCylinderShape() {
|
|
|
60
59
|
this.shapeTransform = new Matrix4();
|
|
61
60
|
|
|
62
61
|
/**
|
|
63
|
-
*
|
|
64
|
-
* @
|
|
65
|
-
*/
|
|
66
|
-
this._minimumRadius = VoxelCylinderShape.DefaultMinBounds.x;
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* @type {number}
|
|
62
|
+
* The minimum bounds of the shape, corresponding to minimum radius, angle, and height.
|
|
63
|
+
* @type {Cartesian3}
|
|
70
64
|
* @private
|
|
71
65
|
*/
|
|
72
|
-
this.
|
|
66
|
+
this._minBounds = VoxelCylinderShape.DefaultMinBounds.clone();
|
|
73
67
|
|
|
74
68
|
/**
|
|
75
|
-
*
|
|
69
|
+
* The maximum bounds of the shape, corresponding to maximum radius, angle, and height.
|
|
70
|
+
* @type {Cartesian3}
|
|
76
71
|
* @private
|
|
77
72
|
*/
|
|
78
|
-
this.
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* @type {number}
|
|
82
|
-
* @private
|
|
83
|
-
*/
|
|
84
|
-
this._maximumAngle = VoxelCylinderShape.DefaultMaxBounds.y;
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* @type {number}
|
|
88
|
-
* @private
|
|
89
|
-
*/
|
|
90
|
-
this._minimumHeight = VoxelCylinderShape.DefaultMinBounds.z;
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* @type {number}
|
|
94
|
-
* @private
|
|
95
|
-
*/
|
|
96
|
-
this._maximumHeight = VoxelCylinderShape.DefaultMaxBounds.z;
|
|
73
|
+
this._maxBounds = VoxelCylinderShape.DefaultMaxBounds.clone();
|
|
97
74
|
|
|
98
75
|
/**
|
|
99
76
|
* @private
|
|
@@ -146,6 +123,10 @@ function VoxelCylinderShape() {
|
|
|
146
123
|
}
|
|
147
124
|
|
|
148
125
|
const scratchScale = new Cartesian3();
|
|
126
|
+
const scratchClipMinBounds = new Cartesian3();
|
|
127
|
+
const scratchClipMaxBounds = new Cartesian3();
|
|
128
|
+
const scratchRenderMinBounds = new Cartesian3();
|
|
129
|
+
const scratchRenderMaxBounds = new Cartesian3();
|
|
149
130
|
|
|
150
131
|
/**
|
|
151
132
|
* Update the shape's state.
|
|
@@ -153,8 +134,8 @@ const scratchScale = new Cartesian3();
|
|
|
153
134
|
* @param {Matrix4} modelMatrix The model matrix.
|
|
154
135
|
* @param {Cartesian3} minBounds The minimum bounds.
|
|
155
136
|
* @param {Cartesian3} maxBounds The maximum bounds.
|
|
156
|
-
* @param {Cartesian3} [clipMinBounds
|
|
157
|
-
* @param {Cartesian3} [clipMaxBounds
|
|
137
|
+
* @param {Cartesian3} [clipMinBounds] The minimum clip bounds.
|
|
138
|
+
* @param {Cartesian3} [clipMaxBounds] The maximum clip bounds.
|
|
158
139
|
* @returns {boolean} Whether the shape is visible.
|
|
159
140
|
*/
|
|
160
141
|
VoxelCylinderShape.prototype.update = function (
|
|
@@ -164,90 +145,45 @@ VoxelCylinderShape.prototype.update = function (
|
|
|
164
145
|
clipMinBounds,
|
|
165
146
|
clipMaxBounds,
|
|
166
147
|
) {
|
|
167
|
-
clipMinBounds = defaultValue(
|
|
168
|
-
clipMinBounds,
|
|
169
|
-
VoxelCylinderShape.DefaultMinBounds,
|
|
170
|
-
);
|
|
171
|
-
clipMaxBounds = defaultValue(
|
|
172
|
-
clipMaxBounds,
|
|
173
|
-
VoxelCylinderShape.DefaultMaxBounds,
|
|
174
|
-
);
|
|
175
148
|
//>>includeStart('debug', pragmas.debug);
|
|
176
149
|
Check.typeOf.object("modelMatrix", modelMatrix);
|
|
177
150
|
Check.typeOf.object("minBounds", minBounds);
|
|
178
151
|
Check.typeOf.object("maxBounds", maxBounds);
|
|
179
152
|
//>>includeEnd('debug');
|
|
180
153
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
const
|
|
154
|
+
clipMinBounds = clipMinBounds ?? minBounds.clone(scratchClipMinBounds);
|
|
155
|
+
clipMaxBounds = clipMaxBounds ?? maxBounds.clone(scratchClipMaxBounds);
|
|
156
|
+
|
|
157
|
+
minBounds = Cartesian3.clone(minBounds, this._minBounds);
|
|
158
|
+
maxBounds = Cartesian3.clone(maxBounds, this._maxBounds);
|
|
159
|
+
|
|
160
|
+
const { DefaultMinBounds, DefaultMaxBounds } = VoxelCylinderShape;
|
|
161
|
+
const defaultAngleRange = DefaultMaxBounds.y - DefaultMinBounds.y;
|
|
188
162
|
const defaultAngleRangeHalf = 0.5 * defaultAngleRange;
|
|
189
163
|
|
|
190
164
|
const epsilonZeroScale = CesiumMath.EPSILON10;
|
|
191
165
|
const epsilonAngleDiscontinuity = CesiumMath.EPSILON3; // 0.001 radians = 0.05729578 degrees
|
|
192
166
|
const epsilonAngle = CesiumMath.EPSILON10;
|
|
193
167
|
|
|
194
|
-
// Clamp the
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
defaultMinRadius,
|
|
208
|
-
defaultMaxRadius,
|
|
209
|
-
);
|
|
210
|
-
const clipMaxRadius = CesiumMath.clamp(
|
|
211
|
-
clipMaxBounds.x,
|
|
212
|
-
defaultMinRadius,
|
|
213
|
-
defaultMaxRadius,
|
|
214
|
-
);
|
|
215
|
-
const renderMinRadius = Math.max(shapeMinRadius, clipMinRadius);
|
|
216
|
-
const renderMaxRadius = Math.min(shapeMaxRadius, clipMaxRadius);
|
|
217
|
-
|
|
218
|
-
// Clamp the angles to the valid range
|
|
219
|
-
const shapeMinAngle = CesiumMath.negativePiToPi(minBounds.y);
|
|
220
|
-
const shapeMaxAngle = CesiumMath.negativePiToPi(maxBounds.y);
|
|
221
|
-
const clipMinAngle = CesiumMath.negativePiToPi(clipMinBounds.y);
|
|
222
|
-
const clipMaxAngle = CesiumMath.negativePiToPi(clipMaxBounds.y);
|
|
223
|
-
const renderMinAngle = Math.max(shapeMinAngle, clipMinAngle);
|
|
224
|
-
const renderMaxAngle = Math.min(shapeMaxAngle, clipMaxAngle);
|
|
225
|
-
|
|
226
|
-
// Clamp the heights to the valid range
|
|
227
|
-
const shapeMinHeight = CesiumMath.clamp(
|
|
228
|
-
minBounds.z,
|
|
229
|
-
defaultMinHeight,
|
|
230
|
-
defaultMaxHeight,
|
|
231
|
-
);
|
|
232
|
-
const shapeMaxHeight = CesiumMath.clamp(
|
|
233
|
-
maxBounds.z,
|
|
234
|
-
defaultMinHeight,
|
|
235
|
-
defaultMaxHeight,
|
|
236
|
-
);
|
|
237
|
-
const clipMinHeight = CesiumMath.clamp(
|
|
238
|
-
clipMinBounds.z,
|
|
239
|
-
defaultMinHeight,
|
|
240
|
-
defaultMaxHeight,
|
|
168
|
+
// Clamp the bounds to the valid range
|
|
169
|
+
minBounds.x = Math.max(0.0, minBounds.x);
|
|
170
|
+
maxBounds.x = Math.max(0.0, maxBounds.x);
|
|
171
|
+
minBounds.y = CesiumMath.negativePiToPi(minBounds.y);
|
|
172
|
+
maxBounds.y = CesiumMath.negativePiToPi(maxBounds.y);
|
|
173
|
+
|
|
174
|
+
clipMinBounds.y = CesiumMath.negativePiToPi(clipMinBounds.y);
|
|
175
|
+
clipMaxBounds.y = CesiumMath.negativePiToPi(clipMaxBounds.y);
|
|
176
|
+
|
|
177
|
+
const renderMinBounds = Cartesian3.maximumByComponent(
|
|
178
|
+
minBounds,
|
|
179
|
+
clipMinBounds,
|
|
180
|
+
scratchRenderMinBounds,
|
|
241
181
|
);
|
|
242
|
-
const
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
182
|
+
const renderMaxBounds = Cartesian3.minimumByComponent(
|
|
183
|
+
maxBounds,
|
|
184
|
+
clipMaxBounds,
|
|
185
|
+
scratchRenderMaxBounds,
|
|
246
186
|
);
|
|
247
|
-
const renderMinHeight = Math.max(shapeMinHeight, clipMinHeight);
|
|
248
|
-
const renderMaxHeight = Math.min(shapeMaxHeight, clipMaxHeight);
|
|
249
|
-
|
|
250
|
-
const scale = Matrix4.getScale(modelMatrix, scratchScale);
|
|
251
187
|
|
|
252
188
|
// Exit early if the shape is not visible.
|
|
253
189
|
// Note that minAngle may be greater than maxAngle when crossing the 180th meridian.
|
|
@@ -257,10 +193,11 @@ VoxelCylinderShape.prototype.update = function (
|
|
|
257
193
|
// - minRadius is greater than maxRadius
|
|
258
194
|
// - minHeight is greater than maxHeight
|
|
259
195
|
// - scale is 0 for any component (too annoying to reconstruct rotation matrix)
|
|
196
|
+
const scale = Matrix4.getScale(modelMatrix, scratchScale);
|
|
260
197
|
if (
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
198
|
+
renderMaxBounds.x === 0.0 ||
|
|
199
|
+
renderMinBounds.x > renderMaxBounds.x ||
|
|
200
|
+
renderMinBounds.z > renderMaxBounds.z ||
|
|
264
201
|
CesiumMath.equalsEpsilon(scale.x, 0.0, undefined, epsilonZeroScale) ||
|
|
265
202
|
CesiumMath.equalsEpsilon(scale.y, 0.0, undefined, epsilonZeroScale) ||
|
|
266
203
|
CesiumMath.equalsEpsilon(scale.z, 0.0, undefined, epsilonZeroScale)
|
|
@@ -268,22 +205,11 @@ VoxelCylinderShape.prototype.update = function (
|
|
|
268
205
|
return false;
|
|
269
206
|
}
|
|
270
207
|
|
|
271
|
-
this._minimumRadius = shapeMinRadius; // [0,1]
|
|
272
|
-
this._maximumRadius = shapeMaxRadius; // [0,1]
|
|
273
|
-
this._minimumAngle = shapeMinAngle; // [-pi,+pi]
|
|
274
|
-
this._maximumAngle = shapeMaxAngle; // [-pi,+pi]
|
|
275
|
-
this._minimumHeight = shapeMinHeight; // [-1,+1]
|
|
276
|
-
this._maximumHeight = shapeMaxHeight; // [-1,+1]
|
|
277
|
-
|
|
278
208
|
this.shapeTransform = Matrix4.clone(modelMatrix, this.shapeTransform);
|
|
279
209
|
|
|
280
210
|
this.orientedBoundingBox = getCylinderChunkObb(
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
renderMinAngle,
|
|
284
|
-
renderMaxAngle,
|
|
285
|
-
renderMinHeight,
|
|
286
|
-
renderMaxHeight,
|
|
211
|
+
renderMinBounds,
|
|
212
|
+
renderMaxBounds,
|
|
287
213
|
this.shapeTransform,
|
|
288
214
|
this.orientedBoundingBox,
|
|
289
215
|
);
|
|
@@ -299,13 +225,11 @@ VoxelCylinderShape.prototype.update = function (
|
|
|
299
225
|
this.boundingSphere,
|
|
300
226
|
);
|
|
301
227
|
|
|
302
|
-
const shapeIsDefaultMaxRadius = shapeMaxRadius === defaultMaxRadius;
|
|
303
|
-
const shapeIsDefaultMinRadius = shapeMinRadius === defaultMinRadius;
|
|
304
228
|
const shapeIsDefaultRadius =
|
|
305
|
-
|
|
306
|
-
const shapeIsAngleReversed =
|
|
229
|
+
minBounds.x === DefaultMinBounds.x && maxBounds.x === DefaultMaxBounds.x;
|
|
230
|
+
const shapeIsAngleReversed = maxBounds.y < minBounds.y;
|
|
307
231
|
const shapeAngleRange =
|
|
308
|
-
|
|
232
|
+
maxBounds.y - minBounds.y + shapeIsAngleReversed * defaultAngleRange;
|
|
309
233
|
const shapeIsAngleRegular =
|
|
310
234
|
shapeAngleRange > defaultAngleRangeHalf + epsilonAngle &&
|
|
311
235
|
shapeAngleRange < defaultAngleRange - epsilonAngle;
|
|
@@ -317,24 +241,26 @@ VoxelCylinderShape.prototype.update = function (
|
|
|
317
241
|
const shapeHasAngle =
|
|
318
242
|
shapeIsAngleRegular || shapeIsAngleFlipped || shapeIsAngleRangeHalf;
|
|
319
243
|
const shapeIsMinAngleDiscontinuity = CesiumMath.equalsEpsilon(
|
|
320
|
-
|
|
321
|
-
|
|
244
|
+
minBounds.y,
|
|
245
|
+
DefaultMinBounds.y,
|
|
322
246
|
undefined,
|
|
323
247
|
epsilonAngleDiscontinuity,
|
|
324
248
|
);
|
|
325
249
|
const shapeIsMaxAngleDiscontinuity = CesiumMath.equalsEpsilon(
|
|
326
|
-
|
|
327
|
-
|
|
250
|
+
maxBounds.y,
|
|
251
|
+
DefaultMaxBounds.y,
|
|
328
252
|
undefined,
|
|
329
253
|
epsilonAngleDiscontinuity,
|
|
330
254
|
);
|
|
331
255
|
const shapeIsDefaultHeight =
|
|
332
|
-
|
|
256
|
+
minBounds.z === DefaultMinBounds.z && maxBounds.z === DefaultMaxBounds.z;
|
|
333
257
|
|
|
334
|
-
const renderIsDefaultMinRadius =
|
|
335
|
-
const renderIsAngleReversed =
|
|
258
|
+
const renderIsDefaultMinRadius = renderMinBounds.x === DefaultMinBounds.x;
|
|
259
|
+
const renderIsAngleReversed = renderMaxBounds.y < renderMinBounds.y;
|
|
336
260
|
const renderAngleRange =
|
|
337
|
-
|
|
261
|
+
renderMaxBounds.y -
|
|
262
|
+
renderMinBounds.y +
|
|
263
|
+
renderIsAngleReversed * defaultAngleRange;
|
|
338
264
|
const renderIsAngleRegular =
|
|
339
265
|
renderAngleRange >= defaultAngleRangeHalf - epsilonAngle &&
|
|
340
266
|
renderAngleRange < defaultAngleRange - epsilonAngle;
|
|
@@ -366,12 +292,12 @@ VoxelCylinderShape.prototype.update = function (
|
|
|
366
292
|
intersectionCount += 1;
|
|
367
293
|
}
|
|
368
294
|
shaderUniforms.cylinderRenderRadiusMinMax = Cartesian2.fromElements(
|
|
369
|
-
|
|
370
|
-
|
|
295
|
+
renderMinBounds.x,
|
|
296
|
+
renderMaxBounds.x,
|
|
371
297
|
shaderUniforms.cylinderRenderRadiusMinMax,
|
|
372
298
|
);
|
|
373
299
|
|
|
374
|
-
if (
|
|
300
|
+
if (renderMinBounds.x === renderMaxBounds.x) {
|
|
375
301
|
shaderDefines["CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT"] = true;
|
|
376
302
|
}
|
|
377
303
|
if (!shapeIsDefaultRadius) {
|
|
@@ -383,12 +309,12 @@ VoxelCylinderShape.prototype.update = function (
|
|
|
383
309
|
// scale = 1.0 / (maxRadius - minRadius)
|
|
384
310
|
// offset = -minRadius / (maxRadius - minRadius)
|
|
385
311
|
// offset = minRadius / (minRadius - maxRadius)
|
|
386
|
-
const radiusRange =
|
|
312
|
+
const radiusRange = maxBounds.x - minBounds.x;
|
|
387
313
|
let scale = 0.0;
|
|
388
314
|
let offset = 1.0;
|
|
389
315
|
if (radiusRange !== 0.0) {
|
|
390
316
|
scale = 1.0 / radiusRange;
|
|
391
|
-
offset = -
|
|
317
|
+
offset = -minBounds.x / radiusRange;
|
|
392
318
|
}
|
|
393
319
|
shaderUniforms.cylinderUvToShapeUvRadius = Cartesian2.fromElements(
|
|
394
320
|
scale,
|
|
@@ -411,12 +337,12 @@ VoxelCylinderShape.prototype.update = function (
|
|
|
411
337
|
// offset = -2.0 * (minHeight * 0.5 + 0.5) / (maxHeight - minHeight)
|
|
412
338
|
// offset = -(minHeight + 1.0) / (maxHeight - minHeight)
|
|
413
339
|
// offset = (minHeight + 1.0) / (minHeight - maxHeight)
|
|
414
|
-
const heightRange =
|
|
340
|
+
const heightRange = maxBounds.z - minBounds.z;
|
|
415
341
|
let scale = 0.0;
|
|
416
342
|
let offset = 1.0;
|
|
417
343
|
if (heightRange !== 0.0) {
|
|
418
344
|
scale = 2.0 / heightRange;
|
|
419
|
-
offset = -(
|
|
345
|
+
offset = -(minBounds.z + 1.0) / heightRange;
|
|
420
346
|
}
|
|
421
347
|
shaderUniforms.cylinderUvToShapeUvHeight = Cartesian2.fromElements(
|
|
422
348
|
scale,
|
|
@@ -425,8 +351,8 @@ VoxelCylinderShape.prototype.update = function (
|
|
|
425
351
|
);
|
|
426
352
|
}
|
|
427
353
|
shaderUniforms.cylinderRenderHeightMinMax = Cartesian2.fromElements(
|
|
428
|
-
|
|
429
|
-
|
|
354
|
+
renderMinBounds.z,
|
|
355
|
+
renderMaxBounds.z,
|
|
430
356
|
shaderUniforms.cylinderRenderHeightMinMax,
|
|
431
357
|
);
|
|
432
358
|
|
|
@@ -450,8 +376,8 @@ VoxelCylinderShape.prototype.update = function (
|
|
|
450
376
|
}
|
|
451
377
|
|
|
452
378
|
shaderUniforms.cylinderRenderAngleMinMax = Cartesian2.fromElements(
|
|
453
|
-
|
|
454
|
-
|
|
379
|
+
renderMinBounds.y,
|
|
380
|
+
renderMaxBounds.y,
|
|
455
381
|
shaderUniforms.cylinderRenderAngleMinMax,
|
|
456
382
|
);
|
|
457
383
|
}
|
|
@@ -465,8 +391,8 @@ VoxelCylinderShape.prototype.update = function (
|
|
|
465
391
|
shaderDefines["CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY"] = true;
|
|
466
392
|
}
|
|
467
393
|
|
|
468
|
-
const uvMinAngle = (
|
|
469
|
-
const uvMaxAngle = (
|
|
394
|
+
const uvMinAngle = (minBounds.y - DefaultMinBounds.y) / defaultAngleRange;
|
|
395
|
+
const uvMaxAngle = (maxBounds.y - DefaultMinBounds.y) / defaultAngleRange;
|
|
470
396
|
const uvAngleRangeZero = 1.0 - shapeAngleRange / defaultAngleRange;
|
|
471
397
|
|
|
472
398
|
shaderUniforms.cylinderShapeUvAngleMinMax = Cartesian2.fromElements(
|
|
@@ -494,7 +420,7 @@ VoxelCylinderShape.prototype.update = function (
|
|
|
494
420
|
);
|
|
495
421
|
} else {
|
|
496
422
|
const scale = defaultAngleRange / shapeAngleRange;
|
|
497
|
-
const offset = -(
|
|
423
|
+
const offset = -(minBounds.y - DefaultMinBounds.y) / shapeAngleRange;
|
|
498
424
|
shaderUniforms.cylinderUvToShapeUvAngle = Cartesian2.fromElements(
|
|
499
425
|
scale,
|
|
500
426
|
offset,
|
|
@@ -508,6 +434,9 @@ VoxelCylinderShape.prototype.update = function (
|
|
|
508
434
|
return true;
|
|
509
435
|
};
|
|
510
436
|
|
|
437
|
+
const scratchMinBounds = new Cartesian3();
|
|
438
|
+
const scratchMaxBounds = new Cartesian3();
|
|
439
|
+
|
|
511
440
|
/**
|
|
512
441
|
* Computes an oriented bounding box for a specified tile.
|
|
513
442
|
* The update function must be called before calling this function.
|
|
@@ -534,61 +463,33 @@ VoxelCylinderShape.prototype.computeOrientedBoundingBoxForTile = function (
|
|
|
534
463
|
Check.typeOf.object("result", result);
|
|
535
464
|
//>>includeEnd('debug');
|
|
536
465
|
|
|
537
|
-
const
|
|
538
|
-
const
|
|
539
|
-
const minimumAngle = this._minimumAngle;
|
|
540
|
-
const maximumAngle = this._maximumAngle;
|
|
541
|
-
const minimumHeight = this._minimumHeight;
|
|
542
|
-
const maximumHeight = this._maximumHeight;
|
|
466
|
+
const minBounds = this._minBounds;
|
|
467
|
+
const maxBounds = this._maxBounds;
|
|
543
468
|
|
|
544
469
|
const sizeAtLevel = 1.0 / Math.pow(2.0, tileLevel);
|
|
545
470
|
|
|
546
|
-
const
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
471
|
+
const tileMinBounds = Cartesian3.fromElements(
|
|
472
|
+
CesiumMath.lerp(minBounds.x, maxBounds.x, tileX * sizeAtLevel),
|
|
473
|
+
CesiumMath.lerp(minBounds.y, maxBounds.y, tileY * sizeAtLevel),
|
|
474
|
+
CesiumMath.lerp(minBounds.z, maxBounds.z, tileZ * sizeAtLevel),
|
|
475
|
+
scratchMinBounds,
|
|
550
476
|
);
|
|
551
|
-
const
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
(
|
|
555
|
-
|
|
556
|
-
const angleStart = CesiumMath.lerp(
|
|
557
|
-
minimumAngle,
|
|
558
|
-
maximumAngle,
|
|
559
|
-
tileY * sizeAtLevel,
|
|
560
|
-
);
|
|
561
|
-
const angleEnd = CesiumMath.lerp(
|
|
562
|
-
minimumAngle,
|
|
563
|
-
maximumAngle,
|
|
564
|
-
(tileY + 1) * sizeAtLevel,
|
|
565
|
-
);
|
|
566
|
-
const heightStart = CesiumMath.lerp(
|
|
567
|
-
minimumHeight,
|
|
568
|
-
maximumHeight,
|
|
569
|
-
tileZ * sizeAtLevel,
|
|
570
|
-
);
|
|
571
|
-
const heightEnd = CesiumMath.lerp(
|
|
572
|
-
minimumHeight,
|
|
573
|
-
maximumHeight,
|
|
574
|
-
(tileZ + 1) * sizeAtLevel,
|
|
477
|
+
const tileMaxBounds = Cartesian3.fromElements(
|
|
478
|
+
CesiumMath.lerp(minBounds.x, maxBounds.x, (tileX + 1) * sizeAtLevel),
|
|
479
|
+
CesiumMath.lerp(minBounds.y, maxBounds.y, (tileY + 1) * sizeAtLevel),
|
|
480
|
+
CesiumMath.lerp(minBounds.z, maxBounds.z, (tileZ + 1) * sizeAtLevel),
|
|
481
|
+
scratchMaxBounds,
|
|
575
482
|
);
|
|
576
483
|
|
|
577
484
|
return getCylinderChunkObb(
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
angleStart,
|
|
581
|
-
angleEnd,
|
|
582
|
-
heightStart,
|
|
583
|
-
heightEnd,
|
|
485
|
+
tileMinBounds,
|
|
486
|
+
tileMaxBounds,
|
|
584
487
|
this.shapeTransform,
|
|
585
488
|
result,
|
|
586
489
|
);
|
|
587
490
|
};
|
|
588
491
|
|
|
589
492
|
const sampleSizeScratch = new Cartesian3();
|
|
590
|
-
const scratchTileMinBounds = new Cartesian3();
|
|
591
|
-
const scratchTileMaxBounds = new Cartesian3();
|
|
592
493
|
|
|
593
494
|
/**
|
|
594
495
|
* Computes an oriented bounding box for a specified sample within a specified tile.
|
|
@@ -630,45 +531,39 @@ VoxelCylinderShape.prototype.computeOrientedBoundingBoxForSample = function (
|
|
|
630
531
|
spatialNode.x + tileUv.x,
|
|
631
532
|
spatialNode.y + tileUv.y,
|
|
632
533
|
spatialNode.z + tileUv.z,
|
|
633
|
-
|
|
534
|
+
scratchMinBounds,
|
|
634
535
|
),
|
|
635
536
|
tileSizeAtLevel,
|
|
636
|
-
|
|
637
|
-
);
|
|
638
|
-
const maxLerp = Cartesian3.add(
|
|
639
|
-
minLerp,
|
|
640
|
-
sampleSizeAtLevel,
|
|
641
|
-
scratchTileMaxBounds,
|
|
537
|
+
scratchMinBounds,
|
|
642
538
|
);
|
|
539
|
+
const maxLerp = Cartesian3.add(minLerp, sampleSizeAtLevel, scratchMaxBounds);
|
|
643
540
|
|
|
644
|
-
const
|
|
645
|
-
const
|
|
646
|
-
const minimumHeight = this._minimumHeight;
|
|
647
|
-
const maximumHeight = this._maximumHeight;
|
|
648
|
-
const minimumAngle = this._minimumAngle;
|
|
649
|
-
const maximumAngle = this._maximumAngle;
|
|
541
|
+
const minBounds = this._minBounds;
|
|
542
|
+
const maxBounds = this._maxBounds;
|
|
650
543
|
|
|
651
|
-
const
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
544
|
+
const sampleMinBounds = Cartesian3.fromElements(
|
|
545
|
+
CesiumMath.lerp(minBounds.x, maxBounds.x, minLerp.x),
|
|
546
|
+
CesiumMath.lerp(minBounds.y, maxBounds.y, minLerp.y),
|
|
547
|
+
CesiumMath.lerp(minBounds.z, maxBounds.z, minLerp.z),
|
|
548
|
+
scratchMinBounds,
|
|
549
|
+
);
|
|
550
|
+
const sampleMaxBounds = Cartesian3.fromElements(
|
|
551
|
+
CesiumMath.lerp(minBounds.x, maxBounds.x, maxLerp.x),
|
|
552
|
+
CesiumMath.lerp(minBounds.y, maxBounds.y, maxLerp.y),
|
|
553
|
+
CesiumMath.lerp(minBounds.z, maxBounds.z, maxLerp.z),
|
|
554
|
+
scratchMaxBounds,
|
|
555
|
+
);
|
|
657
556
|
|
|
658
557
|
return getCylinderChunkObb(
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
angleStart,
|
|
662
|
-
angleEnd,
|
|
663
|
-
heightStart,
|
|
664
|
-
heightEnd,
|
|
558
|
+
sampleMinBounds,
|
|
559
|
+
sampleMaxBounds,
|
|
665
560
|
this.shapeTransform,
|
|
666
561
|
result,
|
|
667
562
|
);
|
|
668
563
|
};
|
|
669
564
|
|
|
670
565
|
/**
|
|
671
|
-
* Defines the minimum bounds of the shape. Corresponds to minimum radius,
|
|
566
|
+
* Defines the minimum bounds of the shape. Corresponds to minimum radius, angle, and height.
|
|
672
567
|
*
|
|
673
568
|
* @type {Cartesian3}
|
|
674
569
|
* @constant
|
|
@@ -681,7 +576,7 @@ VoxelCylinderShape.DefaultMinBounds = Object.freeze(
|
|
|
681
576
|
);
|
|
682
577
|
|
|
683
578
|
/**
|
|
684
|
-
* Defines the maximum bounds of the shape. Corresponds to maximum radius,
|
|
579
|
+
* Defines the maximum bounds of the shape. Corresponds to maximum radius, angle, height.
|
|
685
580
|
*
|
|
686
581
|
* @type {Cartesian3}
|
|
687
582
|
* @constant
|
|
@@ -749,56 +644,24 @@ function computeLooseOrientedBoundingBox(matrix, result) {
|
|
|
749
644
|
*
|
|
750
645
|
* @function
|
|
751
646
|
*
|
|
752
|
-
* @param {
|
|
753
|
-
* @param {
|
|
754
|
-
* @param {number} angleStart The angleStart.
|
|
755
|
-
* @param {number} angleEnd The angleEnd.
|
|
756
|
-
* @param {number} heightStart The heightStart.
|
|
757
|
-
* @param {number} heightEnd The heightEnd.
|
|
647
|
+
* @param {Cartesian3} chunkMinBounds The minimum bounds of the subregion.
|
|
648
|
+
* @param {Cartesian3} chunkMaxBounds The maximum bounds of the subregion.
|
|
758
649
|
* @param {Matrix4} matrix The matrix to transform the points.
|
|
759
650
|
* @param {OrientedBoundingBox} result The object onto which to store the result.
|
|
760
651
|
* @returns {OrientedBoundingBox} The oriented bounding box that contains this subregion.
|
|
761
652
|
*
|
|
762
653
|
* @private
|
|
763
654
|
*/
|
|
764
|
-
function getCylinderChunkObb(
|
|
765
|
-
radiusStart
|
|
766
|
-
radiusEnd
|
|
767
|
-
angleStart
|
|
768
|
-
angleEnd
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
const defaultMinBounds = VoxelCylinderShape.DefaultMinBounds;
|
|
775
|
-
const defaultMaxBounds = VoxelCylinderShape.DefaultMaxBounds;
|
|
776
|
-
const defaultMinRadius = defaultMinBounds.x; // 0
|
|
777
|
-
const defaultMaxRadius = defaultMaxBounds.x; // 1
|
|
778
|
-
const defaultMinAngle = defaultMinBounds.y; // -pi
|
|
779
|
-
const defaultMaxAngle = defaultMaxBounds.y; // +pi
|
|
780
|
-
const defaultMinHeight = defaultMinBounds.z; // -1
|
|
781
|
-
const defaultMaxHeight = defaultMaxBounds.z; // +1
|
|
782
|
-
|
|
783
|
-
// Return early if using the default bounds
|
|
784
|
-
if (
|
|
785
|
-
radiusStart === defaultMinRadius &&
|
|
786
|
-
radiusEnd === defaultMaxRadius &&
|
|
787
|
-
heightStart === defaultMinHeight &&
|
|
788
|
-
heightEnd === defaultMaxHeight &&
|
|
789
|
-
angleStart === defaultMinAngle &&
|
|
790
|
-
angleEnd === defaultMaxAngle
|
|
791
|
-
) {
|
|
792
|
-
result.center = Matrix4.getTranslation(matrix, result.center);
|
|
793
|
-
result.halfAxes = Matrix4.getMatrix3(matrix, result.halfAxes);
|
|
794
|
-
return result;
|
|
795
|
-
}
|
|
796
|
-
|
|
797
|
-
const isAngleReversed = angleEnd < angleStart;
|
|
798
|
-
|
|
799
|
-
if (isAngleReversed) {
|
|
800
|
-
angleEnd += CesiumMath.TWO_PI;
|
|
801
|
-
}
|
|
655
|
+
function getCylinderChunkObb(chunkMinBounds, chunkMaxBounds, matrix, result) {
|
|
656
|
+
const radiusStart = chunkMinBounds.x;
|
|
657
|
+
const radiusEnd = chunkMaxBounds.x;
|
|
658
|
+
const angleStart = chunkMinBounds.y;
|
|
659
|
+
const angleEnd =
|
|
660
|
+
chunkMaxBounds.y < angleStart
|
|
661
|
+
? chunkMaxBounds.y + CesiumMath.TWO_PI
|
|
662
|
+
: chunkMaxBounds.y;
|
|
663
|
+
const heightStart = chunkMinBounds.z;
|
|
664
|
+
const heightEnd = chunkMaxBounds.z;
|
|
802
665
|
|
|
803
666
|
const angleRange = angleEnd - angleStart;
|
|
804
667
|
const angleMid = angleStart + angleRange * 0.5;
|
|
@@ -816,10 +679,10 @@ function getCylinderChunkObb(
|
|
|
816
679
|
}
|
|
817
680
|
|
|
818
681
|
// Find bounding box in shape space relative to angleMid
|
|
819
|
-
let minX =
|
|
820
|
-
let minY =
|
|
821
|
-
let maxX =
|
|
822
|
-
let maxY =
|
|
682
|
+
let minX = Number.POSITIVE_INFINITY;
|
|
683
|
+
let minY = Number.POSITIVE_INFINITY;
|
|
684
|
+
let maxX = Number.NEGATIVE_INFINITY;
|
|
685
|
+
let maxY = Number.NEGATIVE_INFINITY;
|
|
823
686
|
|
|
824
687
|
for (let i = 0; i < testAngleCount; ++i) {
|
|
825
688
|
const angle = testAngles[i] - angleMid;
|
|
@@ -830,14 +693,10 @@ function getCylinderChunkObb(
|
|
|
830
693
|
const x2 = cosAngle * radiusEnd;
|
|
831
694
|
const y2 = sinAngle * radiusEnd;
|
|
832
695
|
|
|
833
|
-
minX = Math.min(minX, x1);
|
|
834
|
-
minY = Math.min(minY, y1);
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
maxX = Math.max(maxX, x1);
|
|
838
|
-
maxY = Math.max(maxY, y1);
|
|
839
|
-
maxX = Math.max(maxX, x2);
|
|
840
|
-
maxY = Math.max(maxY, y2);
|
|
696
|
+
minX = Math.min(minX, x1, x2);
|
|
697
|
+
minY = Math.min(minY, y1, y2);
|
|
698
|
+
maxX = Math.max(maxX, x1, x2);
|
|
699
|
+
maxY = Math.max(maxY, y1, y2);
|
|
841
700
|
}
|
|
842
701
|
|
|
843
702
|
const extentX = maxX - minX;
|
|
@@ -8,7 +8,6 @@ import Matrix3 from "../Core/Matrix3.js";
|
|
|
8
8
|
import Matrix4 from "../Core/Matrix4.js";
|
|
9
9
|
import OrientedBoundingBox from "../Core/OrientedBoundingBox.js";
|
|
10
10
|
import Rectangle from "../Core/Rectangle.js";
|
|
11
|
-
import defaultValue from "../Core/defaultValue.js";
|
|
12
11
|
|
|
13
12
|
/**
|
|
14
13
|
* An ellipsoid {@link VoxelShape}.
|
|
@@ -183,8 +182,8 @@ VoxelEllipsoidShape.prototype.update = function (
|
|
|
183
182
|
clipMaxBounds,
|
|
184
183
|
) {
|
|
185
184
|
const { DefaultMinBounds, DefaultMaxBounds } = VoxelEllipsoidShape;
|
|
186
|
-
clipMinBounds =
|
|
187
|
-
clipMaxBounds =
|
|
185
|
+
clipMinBounds = clipMinBounds ?? DefaultMinBounds;
|
|
186
|
+
clipMaxBounds = clipMaxBounds ?? DefaultMaxBounds;
|
|
188
187
|
//>>includeStart('debug', pragmas.debug);
|
|
189
188
|
Check.typeOf.object("modelMatrix", modelMatrix);
|
|
190
189
|
Check.typeOf.object("minBounds", minBounds);
|
|
@@ -3,10 +3,22 @@
|
|
|
3
3
|
* In all cases, x data is contiguous in strides along the y axis,
|
|
4
4
|
* and each group of y strides represents a z slice.
|
|
5
5
|
* However, the orientation of the axes follows different conventions.
|
|
6
|
+
*
|
|
6
7
|
* @enum {number}
|
|
8
|
+
* @private
|
|
7
9
|
*/
|
|
8
10
|
const VoxelMetadataOrder = {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
/**
|
|
12
|
+
* The default ordering following the 3D Tiles convention. Z-axis points upward.
|
|
13
|
+
* @type {number}
|
|
14
|
+
* @constant
|
|
15
|
+
*/
|
|
16
|
+
Z_UP: 0,
|
|
17
|
+
/**
|
|
18
|
+
* The ordering following the glTF convention. Y-axis points upward.
|
|
19
|
+
* @type {number}
|
|
20
|
+
* @constant
|
|
21
|
+
*/
|
|
22
|
+
Y_UP: 1,
|
|
11
23
|
};
|
|
12
24
|
export default Object.freeze(VoxelMetadataOrder);
|