@vtx/cs-map 1.0.148 → 2.0.0-beta.2
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/README.md +202 -202
- package/lib/_util/EventEmitter.js.map +1 -1
- package/lib/_util/Provider.js.map +1 -1
- package/lib/_util/StyleCache.js.map +1 -1
- package/lib/_util/cesium.js +10 -10
- package/lib/_util/cesium.js.map +1 -1
- package/lib/_util/encryptParams.js +10 -10
- package/lib/_util/encryptParams.js.map +1 -1
- package/lib/_util/filterSpecialCharacters.js +8 -8
- package/lib/_util/filterSpecialCharacters.js.map +1 -1
- package/lib/_util/generateRandomPosition.js +5 -5
- package/lib/_util/generateRandomPosition.js.map +1 -1
- package/lib/_util/getBBoxFromGeojson.js +11 -11
- package/lib/_util/getBBoxFromGeojson.js.map +1 -1
- package/lib/_util/getComponentProps.js.map +1 -1
- package/lib/_util/getCookie.js +4 -4
- package/lib/_util/getCookie.js.map +1 -1
- package/lib/_util/getDefaultMapInfo.js.map +1 -1
- package/lib/_util/getSystemInfo.js.map +1 -1
- package/lib/_util/getToken.js.map +1 -1
- package/lib/_util/getUrlParam.js.map +1 -1
- package/lib/_util/heightAndZoom.js.map +1 -1
- package/lib/_util/http.js +19 -19
- package/lib/_util/http.js.map +1 -1
- package/lib/_util/isFunction.js.map +1 -1
- package/lib/_util/isObject.js.map +1 -1
- package/lib/_util/layer.js.map +1 -1
- package/lib/_util/mapTool.js +34 -34
- package/lib/_util/mapTool.js.map +1 -1
- package/lib/_util/parabola.js +7 -7
- package/lib/_util/parabola.js.map +1 -1
- package/lib/_util/setCookie.js +4 -4
- package/lib/_util/setCookie.js.map +1 -1
- package/lib/_util/transformRgb.js.map +1 -1
- package/lib/_util/useColSize.js.map +1 -1
- package/lib/_util/useInterval.js.map +1 -1
- package/lib/_util/useProps.js.map +1 -1
- package/lib/_util/useSet.js.map +1 -1
- package/lib/building-tiles-layer/BuildingTilesLayer.js.map +1 -1
- package/lib/building-tiles-layer/index.js +5 -5
- package/lib/building-tiles-layer/index.js.map +1 -1
- package/lib/building-tiles-layer/style/css.js.map +1 -1
- package/lib/building-tiles-layer/style/index.js.map +1 -1
- package/lib/cesium-tiles-layer/CesiumTilesLayer.js.map +1 -1
- package/lib/cesium-tiles-layer/demo/index.less +111 -111
- package/lib/cesium-tiles-layer/demo/putian/index.less +27 -27
- package/lib/cesium-tiles-layer/index.js +5 -5
- package/lib/cesium-tiles-layer/index.js.map +1 -1
- package/lib/cesium-tiles-layer/style/css.js.map +1 -1
- package/lib/cesium-tiles-layer/style/index.js.map +1 -1
- package/lib/circle/Circle.js.map +1 -1
- package/lib/circle/index.js.map +1 -1
- package/lib/circle-fly/index.js.map +1 -1
- package/lib/circle-fly/style/css.js.map +1 -1
- package/lib/circle-fly/style/index.js.map +1 -1
- package/lib/cone-glow-layer/BottomCircle.js.map +1 -1
- package/lib/cone-glow-layer/ButtomRotateCircle.js +8 -8
- package/lib/cone-glow-layer/ButtomRotateCircle.js.map +1 -1
- package/lib/cone-glow-layer/ConeGlowLayer.js.map +1 -1
- package/lib/cone-glow-layer/Texture.js.map +1 -1
- package/lib/config.js.map +1 -1
- package/lib/demand-layer/DemandLayer.js.map +1 -1
- package/lib/demand-layer/index.js.map +1 -1
- package/lib/demand-layer/style/css.js.map +1 -1
- package/lib/demand-layer/style/index.js.map +1 -1
- package/lib/dom/Dom.js.map +1 -1
- package/lib/dom/index.js.map +1 -1
- package/lib/dom-layer/index.js.map +1 -1
- package/lib/dom-layer/style/css.js.map +1 -1
- package/lib/dom-layer/style/index.js.map +1 -1
- package/lib/dom-layer/style/index.less +3 -3
- package/lib/events/index.js.map +1 -1
- package/lib/excavation-analysis/Cut.js +19 -19
- package/lib/excavation-analysis/Cut.js.map +1 -1
- package/lib/excavation-analysis/TilesetCut.js +5 -5
- package/lib/excavation-analysis/TilesetCut.js.map +1 -1
- package/lib/excavation-analysis/hooks/useDrawHandler.js.map +1 -1
- package/lib/excavation-analysis/hooks/useTerrainClipPlan.js.map +1 -1
- package/lib/excavation-analysis/hooks/useTileSetCut.js.map +1 -1
- package/lib/excavation-analysis/index.js.map +1 -1
- package/lib/excavation-analysis/style/css.js.map +1 -1
- package/lib/excavation-analysis/style/index.js.map +1 -1
- package/lib/feature-layer/FeatureLayer.js.map +1 -1
- package/lib/feature-layer/createFeatureCollection.js +11 -11
- package/lib/feature-layer/createFeatureCollection.js.map +1 -1
- package/lib/feature-layer/customClusterStyle.js.map +1 -1
- package/lib/feature-layer/index.js +3 -3
- package/lib/feature-layer/index.js.map +1 -1
- package/lib/feature-layer/style/css.js.map +1 -1
- package/lib/feature-layer/style/index.js.map +1 -1
- package/lib/fence-layer/FenceLayer.js.map +1 -1
- package/lib/fence-layer/GradualLightRingMaterialProperty.js +5 -5
- package/lib/fence-layer/GradualLightRingMaterialProperty.js.map +1 -1
- package/lib/fence-layer/index.js.map +1 -1
- package/lib/fence-layer/style/css.js.map +1 -1
- package/lib/fence-layer/style/index.js.map +1 -1
- package/lib/flight-line-layer/FlightLineLayer.js.map +1 -1
- package/lib/flight-line-layer/index.js.map +1 -1
- package/lib/flight-line-layer/style/css.js.map +1 -1
- package/lib/flight-line-layer/style/index.js.map +1 -1
- package/lib/fly-line-layer/FlyLineLayer.js +7 -5
- package/lib/fly-line-layer/FlyLineLayer.js.map +1 -1
- package/lib/fly-line-layer/LineFlowMaterialProperty.js.map +1 -1
- package/lib/fly-line-layer/index.js.map +1 -1
- package/lib/fly-line-layer/style/css.js.map +1 -1
- package/lib/fly-line-layer/style/index.js.map +1 -1
- package/lib/gif-dom-layer/GifDomLayer.js.map +1 -1
- package/lib/gif-dom-layer/index.js.map +1 -1
- package/lib/gif-dom-layer/style/css.js.map +1 -1
- package/lib/gif-dom-layer/style/index.js.map +1 -1
- package/lib/gradation-line-layer/GradationLineLayer.js +0 -1
- package/lib/gradation-line-layer/GradationLineLayer.js.map +1 -1
- package/lib/gradation-line-layer/index.js.map +1 -1
- package/lib/gradation-line-layer/style/css.js.map +1 -1
- package/lib/gradation-line-layer/style/index.js.map +1 -1
- package/lib/group-layer/GroupLayer.js +2 -2
- package/lib/group-layer/GroupLayer.js.map +1 -1
- package/lib/group-layer/index.js.map +1 -1
- package/lib/group-layer/style/css.js.map +1 -1
- package/lib/group-layer/style/index.js.map +1 -1
- package/lib/heatmap-layer/CesiumHeatmap.js +20 -20
- package/lib/heatmap-layer/CesiumHeatmap.js.map +1 -1
- package/lib/heatmap-layer/HeatmapLayer.js.map +1 -1
- package/lib/heatmap-layer/heatmap.js +41 -41
- package/lib/heatmap-layer/heatmap.js.map +1 -1
- package/lib/heatmap-layer/index.js.map +1 -1
- package/lib/heatmap-layer/style/css.js.map +1 -1
- package/lib/heatmap-layer/style/index.js.map +1 -1
- package/lib/highlight-layer/HighlightLayer.js +6 -6
- package/lib/highlight-layer/HighlightLayer.js.map +1 -1
- package/lib/highlight-layer/index.js.map +1 -1
- package/lib/highlight-layer/style/css.js.map +1 -1
- package/lib/highlight-layer/style/index.js.map +1 -1
- package/lib/image-layer/ImageLayer.js.map +1 -1
- package/lib/image-layer/index.js +2 -2
- package/lib/image-layer/index.js.map +1 -1
- package/lib/image-layer/style/css.js.map +1 -1
- package/lib/image-layer/style/index.js.map +1 -1
- package/lib/image-wms-layer/ImageWmsLayer.js.map +1 -1
- package/lib/image-wms-layer/index.js +2 -2
- package/lib/image-wms-layer/index.js.map +1 -1
- package/lib/image-wms-layer/style/css.js.map +1 -1
- package/lib/image-wms-layer/style/index.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/inundate-analysis/index.js.map +1 -1
- package/lib/inundate-analysis/style/css.js.map +1 -1
- package/lib/inundate-analysis/style/index.js.map +1 -1
- package/lib/label/Label.js.map +1 -1
- package/lib/label/index.js.map +1 -1
- package/lib/legend/index.js +17 -13
- package/lib/legend/index.js.map +1 -1
- package/lib/legend/style/css.js +0 -4
- package/lib/legend/style/css.js.map +1 -1
- package/lib/legend/style/index.js +0 -4
- package/lib/legend/style/index.js.map +1 -1
- package/lib/legend/style/index.less +74 -74
- package/lib/line-flow-layer/LineFlowLayer.js.map +1 -1
- package/lib/line-flow-layer/index.js.map +1 -1
- package/lib/line-flow-layer/style/css.js.map +1 -1
- package/lib/line-flow-layer/style/index.js.map +1 -1
- package/lib/map/InfoTool/index.js +43 -43
- package/lib/map/InfoTool/index.js.map +1 -1
- package/lib/map/InfoTool/index.less +46 -46
- package/lib/map/InfoTool/util.js +23 -23
- package/lib/map/InfoTool/util.js.map +1 -1
- package/lib/map/InfoWindow.js.map +1 -1
- package/lib/map/Layers.js +6 -4
- package/lib/map/Layers.js.map +1 -1
- package/lib/map/Popup.js.map +1 -1
- package/lib/map/base/imagery/amap/AmapImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/amap/AmapMercatorTilingScheme.js.map +1 -1
- package/lib/map/base/imagery/baidu/BaiduImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/baidu/BaiduMercatorProjection.js +77 -77
- package/lib/map/base/imagery/baidu/BaiduMercatorProjection.js.map +1 -1
- package/lib/map/base/imagery/baidu/BaiduMercatorTilingScheme.js +13 -13
- package/lib/map/base/imagery/baidu/BaiduMercatorTilingScheme.js.map +1 -1
- package/lib/map/base/imagery/geoq/GeoQImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/google/GoogleImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/irs/IRSImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/tdt/JiangSuTdtImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/tdt/ShanDongTdtImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/tdt/TdtImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/tencent/TencentImageryProvider.js.map +1 -1
- package/lib/map/base/imagery/transform/AmapMercatorTilingScheme.js.map +1 -1
- package/lib/map/base/imagery/transform/CoordTransform.js +42 -42
- package/lib/map/base/imagery/transform/CoordTransform.js.map +1 -1
- package/lib/map/base/index.js.map +1 -1
- package/lib/map/defaultTextEnum.js +2 -1
- package/lib/map/defaultTextEnum.js.map +1 -1
- package/lib/map/hooks/useGetMapFeatureInfoByText.js.map +1 -1
- package/lib/map/index.js +23 -4
- package/lib/map/index.js.map +1 -1
- package/lib/map/material/AroundPoint.js.map +1 -1
- package/lib/map/material/CircleRippleMaterialProperty.js +5 -5
- package/lib/map/material/CircleRippleMaterialProperty.js.map +1 -1
- package/lib/map/material/ODLineLayer.js.map +1 -1
- package/lib/map/material/PolylineTrailLinkMaterialProperty.js.map +1 -1
- package/lib/map/material/PolylineTrailMaterialProperty.js.map +1 -1
- package/lib/map/material/TilesBuilding.js.map +1 -1
- package/lib/map/material/index.js.map +1 -1
- package/lib/map/style/css.js.map +1 -1
- package/lib/map/style/index.js.map +1 -1
- package/lib/map/style/index.less +156 -156
- package/lib/marker/Marker.js.map +1 -1
- package/lib/marker/index.js.map +1 -1
- package/lib/model/Model.js.map +1 -1
- package/lib/model/index.js.map +1 -1
- package/lib/navigation/index.js.map +1 -1
- package/lib/navigation/style/css.js.map +1 -1
- package/lib/navigation/style/index.js.map +1 -1
- package/lib/navigation/style/index.less +176 -176
- package/lib/pipe-tiles-layer/PipeTilesLayer.js.map +1 -1
- package/lib/pipe-tiles-layer/index.js +5 -5
- package/lib/pipe-tiles-layer/index.js.map +1 -1
- package/lib/pipe-tiles-layer/style/css.js.map +1 -1
- package/lib/pipe-tiles-layer/style/index.js.map +1 -1
- package/lib/point/Point.js.map +1 -1
- package/lib/point/index.js.map +1 -1
- package/lib/polygon/Polygon.js.map +1 -1
- package/lib/polygon/index.js.map +1 -1
- package/lib/polyline/Polyline.js.map +1 -1
- package/lib/polyline/index.js.map +1 -1
- package/lib/popup/index.js.map +1 -1
- package/lib/popup/style/css.js.map +1 -1
- package/lib/popup/style/index.js.map +1 -1
- package/lib/popup/style/index.less +149 -149
- package/lib/renderer/index.js +17 -17
- package/lib/renderer/index.js.map +1 -1
- package/lib/renderer/style/css.js.map +1 -1
- package/lib/renderer/style/index.js.map +1 -1
- package/lib/road-line-layer/RoadLineLayer.js.map +1 -1
- package/lib/road-line-layer/index.js.map +1 -1
- package/lib/road-line-layer/style/css.js.map +1 -1
- package/lib/road-line-layer/style/index.js.map +1 -1
- package/lib/scene-roam/index.js.map +1 -1
- package/lib/scene-roam/style/css.js.map +1 -1
- package/lib/scene-roam/style/index.js.map +1 -1
- package/lib/slider-scene/index.js +1 -1
- package/lib/slider-scene/index.js.map +1 -1
- package/lib/slider-scene/style/css.js.map +1 -1
- package/lib/slider-scene/style/index.js.map +1 -1
- package/lib/slider-scene/style/index.less +13 -13
- package/lib/split-screen/index.js.map +1 -1
- package/lib/style/index.less +2 -2
- package/lib/style/themes/compact.less +1 -1
- package/lib/style/themes/dark.less +7 -9
- package/lib/style/themes/default.less +7 -7
- package/lib/style/themes/index.less +1 -1
- package/lib/style/themes/variable.less +5 -5
- package/lib/three-line-layer/ThreeLineLayer.js.map +1 -1
- package/lib/three-line-layer/index.js.map +1 -1
- package/lib/three-line-layer/style/css.js.map +1 -1
- package/lib/three-line-layer/style/index.js.map +1 -1
- package/lib/three-point-layer/DiffuseCircle.js.map +1 -1
- package/lib/three-point-layer/Grate.js +90 -90
- package/lib/three-point-layer/Grate.js.map +1 -1
- package/lib/three-point-layer/ThreePointLayer.js.map +1 -1
- package/lib/three-point-layer/Well.js +63 -63
- package/lib/three-point-layer/Well.js.map +1 -1
- package/lib/three-point-layer/index.js.map +1 -1
- package/lib/three-point-layer/style/css.js.map +1 -1
- package/lib/three-point-layer/style/index.js.map +1 -1
- package/lib/tools/base-map-switch/index.js.map +1 -1
- package/lib/tools/components/Icon/index.js.map +1 -1
- package/lib/tools/components/Icon/svg.js.map +1 -1
- package/lib/tools/components/Modal/index.js +2 -2
- package/lib/tools/components/Modal/index.js.map +1 -1
- package/lib/tools/components/Modal/index.less +33 -33
- package/lib/tools/components/item-wrap/index.js +9 -5
- package/lib/tools/components/item-wrap/index.js.map +1 -1
- package/lib/tools/components/tool-Item/index.js.map +1 -1
- package/lib/tools/components/tool-Item/index.less +27 -27
- package/lib/tools/dimension-switch/index.js.map +1 -1
- package/lib/tools/index.js.map +1 -1
- package/lib/tools/layer-control/index.js +10 -8
- package/lib/tools/layer-control/index.js.map +1 -1
- package/lib/tools/layer-control-popover/LayersCheckService.js +3 -2
- package/lib/tools/layer-control-popover/LayersCheckService.js.map +1 -1
- package/lib/tools/layer-control-popover/index.js +2 -2
- package/lib/tools/layer-control-popover/index.js.map +1 -1
- package/lib/tools/loading/index.js.map +1 -1
- package/lib/tools/map-search/Select/index.js +13 -7
- package/lib/tools/map-search/Select/index.js.map +1 -1
- package/lib/tools/map-search/Select/style/css.js.map +1 -1
- package/lib/tools/map-search/Select/style/index.js.map +1 -1
- package/lib/tools/map-search/Select/style/index.less +47 -47
- package/lib/tools/map-search/index.js +33 -22
- package/lib/tools/map-search/index.js.map +1 -1
- package/lib/tools/style/css.js +0 -5
- package/lib/tools/style/css.js.map +1 -1
- package/lib/tools/style/index.css +5 -6
- package/lib/tools/style/index.js +0 -5
- package/lib/tools/style/index.js.map +1 -1
- package/lib/tools/style/index.less +338 -309
- package/lib/tools/tip/index.js.map +1 -1
- package/lib/tools/tool-box/Measure/Area/index.js.map +1 -1
- package/lib/tools/tool-box/Measure/Distance/index.js.map +1 -1
- package/lib/tools/tool-box/Measure/Height/index.js.map +1 -1
- package/lib/tools/tool-box/Measure/Measure.js +31 -31
- package/lib/tools/tool-box/Measure/Measure.js.map +1 -1
- package/lib/tools/tool-box/Measure/index.js.map +1 -1
- package/lib/tools/tool-box/index.js.map +1 -1
- package/lib/trail-polyline-layer/TrailPolylineLayer.js.map +1 -1
- package/lib/trail-polyline-layer/TrailPolylineMaterial.js.map +1 -1
- package/lib/trail-polyline-layer/style/css.js.map +1 -1
- package/lib/trail-polyline-layer/style/index.js.map +1 -1
- package/lib/use-props/index.js.map +1 -1
- package/lib/wall/WallGeometry.js.map +1 -1
- package/lib/wall/style/css.js.map +1 -1
- package/lib/wall/style/index.js.map +1 -1
- package/lib/water-surface-layer/WaterSurfaceLayer.js.map +1 -1
- package/lib/water-surface-layer/index.js.map +1 -1
- package/lib/water-surface-layer/style/css.js.map +1 -1
- package/lib/water-surface-layer/style/index.js.map +1 -1
- package/lib/weather/Weather.js +28 -28
- package/lib/weather/Weather.js.map +1 -1
- package/lib/weather/index.js.map +1 -1
- package/lib/weather/style/css.js +0 -4
- package/lib/weather/style/css.js.map +1 -1
- package/lib/weather/style/index.js +0 -4
- package/lib/weather/style/index.js.map +1 -1
- package/package.json +133 -123
|
@@ -7,30 +7,30 @@ exports["default"] = void 0;
|
|
|
7
7
|
var _cesium = require("cesium");
|
|
8
8
|
var diffScratch = new _cesium.Cartesian3();
|
|
9
9
|
|
|
10
|
-
/**
|
|
11
|
-
* Describes a cube centered at the origin.
|
|
12
|
-
*
|
|
13
|
-
* @alias BoxGeometry
|
|
14
|
-
* @constructor
|
|
15
|
-
*
|
|
16
|
-
* @param {Object} options Object with the following properties:
|
|
17
|
-
* @param {Cartesian3} options.minimum The minimum x, y, and z coordinates of the box.
|
|
18
|
-
* @param {Cartesian3} options.maximum The maximum x, y, and z coordinates of the box.
|
|
19
|
-
* @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
|
|
20
|
-
*
|
|
21
|
-
* @see Grate.fromDimensions
|
|
22
|
-
* @see Grate.createGeometry
|
|
23
|
-
* @see Packable
|
|
24
|
-
*
|
|
25
|
-
* @demo {@link https://sandcastle.cesium.com/index.html?src=Box.html|Cesium Sandcastle Box Demo}
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* const box = new Cesium.BoxGeometry({
|
|
29
|
-
* vertexFormat : Cesium.VertexFormat.POSITION_ONLY,
|
|
30
|
-
* maximum : new Cesium.Cartesian3(250000.0, 250000.0, 250000.0),
|
|
31
|
-
* minimum : new Cesium.Cartesian3(-250000.0, -250000.0, -250000.0)
|
|
32
|
-
* });
|
|
33
|
-
* const geometry = Cesium.BoxGeometry.createGeometry(box);
|
|
10
|
+
/**
|
|
11
|
+
* Describes a cube centered at the origin.
|
|
12
|
+
*
|
|
13
|
+
* @alias BoxGeometry
|
|
14
|
+
* @constructor
|
|
15
|
+
*
|
|
16
|
+
* @param {Object} options Object with the following properties:
|
|
17
|
+
* @param {Cartesian3} options.minimum The minimum x, y, and z coordinates of the box.
|
|
18
|
+
* @param {Cartesian3} options.maximum The maximum x, y, and z coordinates of the box.
|
|
19
|
+
* @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
|
|
20
|
+
*
|
|
21
|
+
* @see Grate.fromDimensions
|
|
22
|
+
* @see Grate.createGeometry
|
|
23
|
+
* @see Packable
|
|
24
|
+
*
|
|
25
|
+
* @demo {@link https://sandcastle.cesium.com/index.html?src=Box.html|Cesium Sandcastle Box Demo}
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* const box = new Cesium.BoxGeometry({
|
|
29
|
+
* vertexFormat : Cesium.VertexFormat.POSITION_ONLY,
|
|
30
|
+
* maximum : new Cesium.Cartesian3(250000.0, 250000.0, 250000.0),
|
|
31
|
+
* minimum : new Cesium.Cartesian3(-250000.0, -250000.0, -250000.0)
|
|
32
|
+
* });
|
|
33
|
+
* const geometry = Cesium.BoxGeometry.createGeometry(box);
|
|
34
34
|
*/
|
|
35
35
|
function Grate(options) {
|
|
36
36
|
options = (0, _cesium.defaultValue)(options, _cesium.defaultValue.EMPTY_OBJECT);
|
|
@@ -53,25 +53,25 @@ function Grate(options) {
|
|
|
53
53
|
this._workerName = "createBoxGeometry";
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
/**
|
|
57
|
-
* Creates a cube centered at the origin given its dimensions.
|
|
58
|
-
*
|
|
59
|
-
* @param {Object} options Object with the following properties:
|
|
60
|
-
* @param {Cartesian3} options.dimensions The width, depth, and height of the box stored in the x, y, and z coordinates of the <code>Cartesian3</code>, respectively.
|
|
61
|
-
* @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
|
|
62
|
-
* @returns {Grate}
|
|
63
|
-
*
|
|
64
|
-
* @exception {DeveloperError} All dimensions components must be greater than or equal to zero.
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* @example
|
|
68
|
-
* const box = Cesium.BoxGeometry.fromDimensions({
|
|
69
|
-
* vertexFormat : Cesium.VertexFormat.POSITION_ONLY,
|
|
70
|
-
* dimensions : new Cesium.Cartesian3(500000.0, 500000.0, 500000.0)
|
|
71
|
-
* });
|
|
72
|
-
* const geometry = Cesium.BoxGeometry.createGeometry(box);
|
|
73
|
-
*
|
|
74
|
-
* @see Grate.createGeometry
|
|
56
|
+
/**
|
|
57
|
+
* Creates a cube centered at the origin given its dimensions.
|
|
58
|
+
*
|
|
59
|
+
* @param {Object} options Object with the following properties:
|
|
60
|
+
* @param {Cartesian3} options.dimensions The width, depth, and height of the box stored in the x, y, and z coordinates of the <code>Cartesian3</code>, respectively.
|
|
61
|
+
* @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
|
|
62
|
+
* @returns {Grate}
|
|
63
|
+
*
|
|
64
|
+
* @exception {DeveloperError} All dimensions components must be greater than or equal to zero.
|
|
65
|
+
*
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* const box = Cesium.BoxGeometry.fromDimensions({
|
|
69
|
+
* vertexFormat : Cesium.VertexFormat.POSITION_ONLY,
|
|
70
|
+
* dimensions : new Cesium.Cartesian3(500000.0, 500000.0, 500000.0)
|
|
71
|
+
* });
|
|
72
|
+
* const geometry = Cesium.BoxGeometry.createGeometry(box);
|
|
73
|
+
*
|
|
74
|
+
* @see Grate.createGeometry
|
|
75
75
|
*/
|
|
76
76
|
Grate.fromDimensions = function (options) {
|
|
77
77
|
options = (0, _cesium.defaultValue)(options, _cesium.defaultValue.EMPTY_OBJECT);
|
|
@@ -93,25 +93,25 @@ Grate.fromDimensions = function (options) {
|
|
|
93
93
|
});
|
|
94
94
|
};
|
|
95
95
|
|
|
96
|
-
/**
|
|
97
|
-
* Creates a cube from the dimensions of an AxisAlignedBoundingBox.
|
|
98
|
-
*
|
|
99
|
-
* @param {AxisAlignedBoundingBox} boundingBox A description of the AxisAlignedBoundingBox.
|
|
100
|
-
* @returns {Grate}
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
* @example
|
|
105
|
-
* const aabb = Cesium.AxisAlignedBoundingBox.fromPoints(Cesium.Cartesian3.fromDegreesArray([
|
|
106
|
-
* -72.0, 40.0,
|
|
107
|
-
* -70.0, 35.0,
|
|
108
|
-
* -75.0, 30.0,
|
|
109
|
-
* -70.0, 30.0,
|
|
110
|
-
* -68.0, 40.0
|
|
111
|
-
* ]));
|
|
112
|
-
* const box = Cesium.BoxGeometry.fromAxisAlignedBoundingBox(aabb);
|
|
113
|
-
*
|
|
114
|
-
* @see Grate.createGeometry
|
|
96
|
+
/**
|
|
97
|
+
* Creates a cube from the dimensions of an AxisAlignedBoundingBox.
|
|
98
|
+
*
|
|
99
|
+
* @param {AxisAlignedBoundingBox} boundingBox A description of the AxisAlignedBoundingBox.
|
|
100
|
+
* @returns {Grate}
|
|
101
|
+
*
|
|
102
|
+
*
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* const aabb = Cesium.AxisAlignedBoundingBox.fromPoints(Cesium.Cartesian3.fromDegreesArray([
|
|
106
|
+
* -72.0, 40.0,
|
|
107
|
+
* -70.0, 35.0,
|
|
108
|
+
* -75.0, 30.0,
|
|
109
|
+
* -70.0, 30.0,
|
|
110
|
+
* -68.0, 40.0
|
|
111
|
+
* ]));
|
|
112
|
+
* const box = Cesium.BoxGeometry.fromAxisAlignedBoundingBox(aabb);
|
|
113
|
+
*
|
|
114
|
+
* @see Grate.createGeometry
|
|
115
115
|
*/
|
|
116
116
|
Grate.fromAxisAlignedBoundingBox = function (boundingBox) {
|
|
117
117
|
//>>includeStart('debug', pragmas.debug);
|
|
@@ -124,20 +124,20 @@ Grate.fromAxisAlignedBoundingBox = function (boundingBox) {
|
|
|
124
124
|
});
|
|
125
125
|
};
|
|
126
126
|
|
|
127
|
-
/**
|
|
128
|
-
* The number of elements used to pack the object into an array.
|
|
129
|
-
* @type {Number}
|
|
127
|
+
/**
|
|
128
|
+
* The number of elements used to pack the object into an array.
|
|
129
|
+
* @type {Number}
|
|
130
130
|
*/
|
|
131
131
|
Grate.packedLength = 2 * _cesium.Cartesian3.packedLength + _cesium.VertexFormat.packedLength + 1;
|
|
132
132
|
|
|
133
|
-
/**
|
|
134
|
-
* Stores the provided instance into the provided array.
|
|
135
|
-
*
|
|
136
|
-
* @param {Grate} value The value to pack.
|
|
137
|
-
* @param {Number[]} array The array to pack into.
|
|
138
|
-
* @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
|
|
139
|
-
*
|
|
140
|
-
* @returns {Number[]} The array that was packed into
|
|
133
|
+
/**
|
|
134
|
+
* Stores the provided instance into the provided array.
|
|
135
|
+
*
|
|
136
|
+
* @param {Grate} value The value to pack.
|
|
137
|
+
* @param {Number[]} array The array to pack into.
|
|
138
|
+
* @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
|
|
139
|
+
*
|
|
140
|
+
* @returns {Number[]} The array that was packed into
|
|
141
141
|
*/
|
|
142
142
|
Grate.pack = function (value, array, startingIndex) {
|
|
143
143
|
//>>includeStart('debug', pragmas.debug);
|
|
@@ -162,13 +162,13 @@ var scratchOptions = {
|
|
|
162
162
|
offsetAttribute: undefined
|
|
163
163
|
};
|
|
164
164
|
|
|
165
|
-
/**
|
|
166
|
-
* Retrieves an instance from a packed array.
|
|
167
|
-
*
|
|
168
|
-
* @param {Number[]} array The packed array.
|
|
169
|
-
* @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
|
|
170
|
-
* @param {Grate} [result] The object into which to store the result.
|
|
171
|
-
* @returns {Grate} The modified result parameter or a new BoxGeometry instance if one was not provided.
|
|
165
|
+
/**
|
|
166
|
+
* Retrieves an instance from a packed array.
|
|
167
|
+
*
|
|
168
|
+
* @param {Number[]} array The packed array.
|
|
169
|
+
* @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
|
|
170
|
+
* @param {Grate} [result] The object into which to store the result.
|
|
171
|
+
* @returns {Grate} The modified result parameter or a new BoxGeometry instance if one was not provided.
|
|
172
172
|
*/
|
|
173
173
|
Grate.unpack = function (array, startingIndex, result) {
|
|
174
174
|
//>>includeStart('debug', pragmas.debug);
|
|
@@ -191,11 +191,11 @@ Grate.unpack = function (array, startingIndex, result) {
|
|
|
191
191
|
return result;
|
|
192
192
|
};
|
|
193
193
|
|
|
194
|
-
/**
|
|
195
|
-
* Computes the geometric representation of a box, including its vertices, indices, and a bounding sphere.
|
|
196
|
-
*
|
|
197
|
-
* @param {Grate} boxGeometry A description of the box.
|
|
198
|
-
* @returns {Geometry|undefined} The computed vertices and indices.
|
|
194
|
+
/**
|
|
195
|
+
* Computes the geometric representation of a box, including its vertices, indices, and a bounding sphere.
|
|
196
|
+
*
|
|
197
|
+
* @param {Grate} boxGeometry A description of the box.
|
|
198
|
+
* @returns {Geometry|undefined} The computed vertices and indices.
|
|
199
199
|
*/
|
|
200
200
|
Grate.createGeometry = function (boxGeometry) {
|
|
201
201
|
var min = boxGeometry._minimum;
|
|
@@ -755,11 +755,11 @@ Grate.createGeometry = function (boxGeometry) {
|
|
|
755
755
|
};
|
|
756
756
|
var unitBoxGeometry;
|
|
757
757
|
|
|
758
|
-
/**
|
|
759
|
-
* Returns the geometric representation of a unit box, including its vertices, indices, and a bounding sphere.
|
|
760
|
-
* @returns {Geometry} The computed vertices and indices.
|
|
761
|
-
*
|
|
762
|
-
* @private
|
|
758
|
+
/**
|
|
759
|
+
* Returns the geometric representation of a unit box, including its vertices, indices, and a bounding sphere.
|
|
760
|
+
* @returns {Geometry} The computed vertices and indices.
|
|
761
|
+
*
|
|
762
|
+
* @private
|
|
763
763
|
*/
|
|
764
764
|
Grate.getUnitBox = function () {
|
|
765
765
|
if (!(0, _cesium.defined)(unitBoxGeometry)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grate.js","names":["_cesium","require","diffScratch","Cartesian3","Grate","options","defaultValue","EMPTY_OBJECT","min","minimum","max","maximum","Check","typeOf","object","defined","offsetAttribute","GeometryOffsetAttribute","TOP","DeveloperError","vertexFormat","VertexFormat","DEFAULT","_minimum","clone","_maximum","_vertexFormat","_offsetAttribute","_workerName","fromDimensions","dimensions","number","greaterThanOrEquals","x","y","z","corner","multiplyByScalar","negate","fromAxisAlignedBoundingBox","boundingBox","packedLength","pack","value","array","startingIndex","scratchMin","scratchMax","scratchVertexFormat","scratchOptions","undefined","unpack","result","createGeometry","boxGeometry","equals","attributes","GeometryAttributes","indices","positions","position","st","normal","tangent","bitangent","Float64Array","GeometryAttribute","componentDatatype","ComponentDatatype","DOUBLE","componentsPerAttribute","values","normals","Float32Array","FLOAT","texCoords","tangents","bitangents","Uint16Array","diff","subtract","radius","magnitude","length","applyOffset","Uint8Array","offsetValue","NONE","arrayFill","UNSIGNED_BYTE","Geometry","primitiveType","PrimitiveType","TRIANGLES","boundingSphere","BoundingSphere","ZERO","unitBoxGeometry","getUnitBox","POSITION_ONLY","_default","exports"],"sources":["three-point-layer/Grate.js"],"sourcesContent":["import {\r\n arrayFill,\r\n BoundingSphere,\r\n Cartesian3,\r\n Check,\r\n ComponentDatatype,\r\n defaultValue,\r\n defined,\r\n DeveloperError,\r\n Geometry,\r\n GeometryAttribute,\r\n GeometryAttributes,\r\n GeometryOffsetAttribute,\r\n PrimitiveType,\r\n VertexFormat\r\n} from \"cesium\";\r\n\r\nconst diffScratch = new Cartesian3();\r\n\r\n/**\r\n * Describes a cube centered at the origin.\r\n *\r\n * @alias BoxGeometry\r\n * @constructor\r\n *\r\n * @param {Object} options Object with the following properties:\r\n * @param {Cartesian3} options.minimum The minimum x, y, and z coordinates of the box.\r\n * @param {Cartesian3} options.maximum The maximum x, y, and z coordinates of the box.\r\n * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.\r\n *\r\n * @see Grate.fromDimensions\r\n * @see Grate.createGeometry\r\n * @see Packable\r\n *\r\n * @demo {@link https://sandcastle.cesium.com/index.html?src=Box.html|Cesium Sandcastle Box Demo}\r\n *\r\n * @example\r\n * const box = new Cesium.BoxGeometry({\r\n * vertexFormat : Cesium.VertexFormat.POSITION_ONLY,\r\n * maximum : new Cesium.Cartesian3(250000.0, 250000.0, 250000.0),\r\n * minimum : new Cesium.Cartesian3(-250000.0, -250000.0, -250000.0)\r\n * });\r\n * const geometry = Cesium.BoxGeometry.createGeometry(box);\r\n */\r\nfunction Grate(options) {\r\n options = defaultValue(options, defaultValue.EMPTY_OBJECT);\r\n\r\n const min = options.minimum;\r\n const max = options.maximum;\r\n\r\n //>>includeStart('debug', pragmas.debug);\r\n Check.typeOf.object(\"min\", min);\r\n Check.typeOf.object(\"max\", max);\r\n if (\r\n defined(options.offsetAttribute) &&\r\n options.offsetAttribute === GeometryOffsetAttribute.TOP\r\n ) {\r\n throw new DeveloperError(\r\n \"GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.\"\r\n );\r\n }\r\n //>>includeEnd('debug');\r\n\r\n const vertexFormat = defaultValue(options.vertexFormat, VertexFormat.DEFAULT);\r\n\r\n this._minimum = Cartesian3.clone(min);\r\n this._maximum = Cartesian3.clone(max);\r\n this._vertexFormat = vertexFormat;\r\n this._offsetAttribute = options.offsetAttribute;\r\n this._workerName = \"createBoxGeometry\";\r\n}\r\n\r\n/**\r\n * Creates a cube centered at the origin given its dimensions.\r\n *\r\n * @param {Object} options Object with the following properties:\r\n * @param {Cartesian3} options.dimensions The width, depth, and height of the box stored in the x, y, and z coordinates of the <code>Cartesian3</code>, respectively.\r\n * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.\r\n * @returns {Grate}\r\n *\r\n * @exception {DeveloperError} All dimensions components must be greater than or equal to zero.\r\n *\r\n *\r\n * @example\r\n * const box = Cesium.BoxGeometry.fromDimensions({\r\n * vertexFormat : Cesium.VertexFormat.POSITION_ONLY,\r\n * dimensions : new Cesium.Cartesian3(500000.0, 500000.0, 500000.0)\r\n * });\r\n * const geometry = Cesium.BoxGeometry.createGeometry(box);\r\n *\r\n * @see Grate.createGeometry\r\n */\r\nGrate.fromDimensions = function (options) {\r\n options = defaultValue(options, defaultValue.EMPTY_OBJECT);\r\n const dimensions = options.dimensions;\r\n\r\n //>>includeStart('debug', pragmas.debug);\r\n Check.typeOf.object(\"dimensions\", dimensions);\r\n Check.typeOf.number.greaterThanOrEquals(\"dimensions.x\", dimensions.x, 0);\r\n Check.typeOf.number.greaterThanOrEquals(\"dimensions.y\", dimensions.y, 0);\r\n Check.typeOf.number.greaterThanOrEquals(\"dimensions.z\", dimensions.z, 0);\r\n //>>includeEnd('debug');\r\n\r\n const corner = Cartesian3.multiplyByScalar(dimensions, 0.5, new Cartesian3());\r\n\r\n return new Grate({\r\n minimum: Cartesian3.negate(corner, new Cartesian3()),\r\n maximum: corner,\r\n vertexFormat: options.vertexFormat,\r\n offsetAttribute: options.offsetAttribute,\r\n });\r\n};\r\n\r\n/**\r\n * Creates a cube from the dimensions of an AxisAlignedBoundingBox.\r\n *\r\n * @param {AxisAlignedBoundingBox} boundingBox A description of the AxisAlignedBoundingBox.\r\n * @returns {Grate}\r\n *\r\n *\r\n *\r\n * @example\r\n * const aabb = Cesium.AxisAlignedBoundingBox.fromPoints(Cesium.Cartesian3.fromDegreesArray([\r\n * -72.0, 40.0,\r\n * -70.0, 35.0,\r\n * -75.0, 30.0,\r\n * -70.0, 30.0,\r\n * -68.0, 40.0\r\n * ]));\r\n * const box = Cesium.BoxGeometry.fromAxisAlignedBoundingBox(aabb);\r\n *\r\n * @see Grate.createGeometry\r\n */\r\nGrate.fromAxisAlignedBoundingBox = function (boundingBox) {\r\n //>>includeStart('debug', pragmas.debug);\r\n Check.typeOf.object(\"boundingBox\", boundingBox);\r\n //>>includeEnd('debug');\r\n\r\n return new Grate({\r\n minimum: boundingBox.minimum,\r\n maximum: boundingBox.maximum,\r\n });\r\n};\r\n\r\n/**\r\n * The number of elements used to pack the object into an array.\r\n * @type {Number}\r\n */\r\nGrate.packedLength =\r\n 2 * Cartesian3.packedLength + VertexFormat.packedLength + 1;\r\n\r\n/**\r\n * Stores the provided instance into the provided array.\r\n *\r\n * @param {Grate} value The value to pack.\r\n * @param {Number[]} array The array to pack into.\r\n * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.\r\n *\r\n * @returns {Number[]} The array that was packed into\r\n */\r\nGrate.pack = function (value, array, startingIndex) {\r\n //>>includeStart('debug', pragmas.debug);\r\n Check.typeOf.object(\"value\", value);\r\n Check.defined(\"array\", array);\r\n //>>includeEnd('debug');\r\n\r\n startingIndex = defaultValue(startingIndex, 0);\r\n\r\n Cartesian3.pack(value._minimum, array, startingIndex);\r\n Cartesian3.pack(\r\n value._maximum,\r\n array,\r\n startingIndex + Cartesian3.packedLength\r\n );\r\n VertexFormat.pack(\r\n value._vertexFormat,\r\n array,\r\n startingIndex + 2 * Cartesian3.packedLength\r\n );\r\n array[\r\n startingIndex + 2 * Cartesian3.packedLength + VertexFormat.packedLength\r\n ] = defaultValue(value._offsetAttribute, -1);\r\n\r\n return array;\r\n};\r\n\r\nconst scratchMin = new Cartesian3();\r\nconst scratchMax = new Cartesian3();\r\nconst scratchVertexFormat = new VertexFormat();\r\nconst scratchOptions = {\r\n minimum: scratchMin,\r\n maximum: scratchMax,\r\n vertexFormat: scratchVertexFormat,\r\n offsetAttribute: undefined,\r\n};\r\n\r\n/**\r\n * Retrieves an instance from a packed array.\r\n *\r\n * @param {Number[]} array The packed array.\r\n * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.\r\n * @param {Grate} [result] The object into which to store the result.\r\n * @returns {Grate} The modified result parameter or a new BoxGeometry instance if one was not provided.\r\n */\r\nGrate.unpack = function (array, startingIndex, result) {\r\n //>>includeStart('debug', pragmas.debug);\r\n Check.defined(\"array\", array);\r\n //>>includeEnd('debug');\r\n\r\n startingIndex = defaultValue(startingIndex, 0);\r\n\r\n const min = Cartesian3.unpack(array, startingIndex, scratchMin);\r\n const max = Cartesian3.unpack(\r\n array,\r\n startingIndex + Cartesian3.packedLength,\r\n scratchMax\r\n );\r\n const vertexFormat = VertexFormat.unpack(\r\n array,\r\n startingIndex + 2 * Cartesian3.packedLength,\r\n scratchVertexFormat\r\n );\r\n const offsetAttribute =\r\n array[\r\n startingIndex + 2 * Cartesian3.packedLength + VertexFormat.packedLength\r\n ];\r\n\r\n if (!defined(result)) {\r\n scratchOptions.offsetAttribute =\r\n offsetAttribute === -1 ? undefined : offsetAttribute;\r\n return new Grate(scratchOptions);\r\n }\r\n\r\n result._minimum = Cartesian3.clone(min, result._minimum);\r\n result._maximum = Cartesian3.clone(max, result._maximum);\r\n result._vertexFormat = VertexFormat.clone(vertexFormat, result._vertexFormat);\r\n result._offsetAttribute =\r\n offsetAttribute === -1 ? undefined : offsetAttribute;\r\n\r\n return result;\r\n};\r\n\r\n/**\r\n * Computes the geometric representation of a box, including its vertices, indices, and a bounding sphere.\r\n *\r\n * @param {Grate} boxGeometry A description of the box.\r\n * @returns {Geometry|undefined} The computed vertices and indices.\r\n */\r\nGrate.createGeometry = function (boxGeometry) {\r\n const min = boxGeometry._minimum;\r\n const max = boxGeometry._maximum;\r\n const vertexFormat = boxGeometry._vertexFormat;\r\n\r\n if (Cartesian3.equals(min, max)) {\r\n return;\r\n }\r\n\r\n const attributes = new GeometryAttributes();\r\n let indices;\r\n let positions;\r\n\r\n if (\r\n vertexFormat.position &&\r\n (vertexFormat.st ||\r\n vertexFormat.normal ||\r\n vertexFormat.tangent ||\r\n vertexFormat.bitangent)\r\n ) {\r\n if (vertexFormat.position) {\r\n // 8 corner points. Duplicated 3 times each for each incident edge/face.\r\n positions = new Float64Array(6 * 4 * 3);\r\n\r\n // +z face\r\n positions[0] = min.x;\r\n positions[1] = min.y;\r\n positions[2] = max.z;\r\n positions[3] = max.x;\r\n positions[4] = min.y;\r\n positions[5] = max.z;\r\n positions[6] = max.x;\r\n positions[7] = max.y;\r\n positions[8] = max.z;\r\n positions[9] = min.x;\r\n positions[10] = max.y;\r\n positions[11] = max.z;\r\n\r\n // -z face\r\n positions[12] = min.x;\r\n positions[13] = min.y;\r\n positions[14] = min.z;\r\n positions[15] = max.x;\r\n positions[16] = min.y;\r\n positions[17] = min.z;\r\n positions[18] = max.x;\r\n positions[19] = max.y;\r\n positions[20] = min.z;\r\n positions[21] = min.x;\r\n positions[22] = max.y;\r\n positions[23] = min.z;\r\n\r\n // +x face\r\n positions[24] = max.x;\r\n positions[25] = min.y;\r\n positions[26] = min.z;\r\n positions[27] = max.x;\r\n positions[28] = max.y;\r\n positions[29] = min.z;\r\n positions[30] = max.x;\r\n positions[31] = max.y;\r\n positions[32] = max.z;\r\n positions[33] = max.x;\r\n positions[34] = min.y;\r\n positions[35] = max.z;\r\n\r\n // -x face\r\n positions[36] = min.x;\r\n positions[37] = min.y;\r\n positions[38] = min.z;\r\n positions[39] = min.x;\r\n positions[40] = max.y;\r\n positions[41] = min.z;\r\n positions[42] = min.x;\r\n positions[43] = max.y;\r\n positions[44] = max.z;\r\n positions[45] = min.x;\r\n positions[46] = min.y;\r\n positions[47] = max.z;\r\n\r\n // +y face\r\n positions[48] = min.x;\r\n positions[49] = max.y;\r\n positions[50] = min.z;\r\n positions[51] = max.x;\r\n positions[52] = max.y;\r\n positions[53] = min.z;\r\n positions[54] = max.x;\r\n positions[55] = max.y;\r\n positions[56] = max.z;\r\n positions[57] = min.x;\r\n positions[58] = max.y;\r\n positions[59] = max.z;\r\n\r\n // -y face\r\n positions[60] = min.x;\r\n positions[61] = min.y;\r\n positions[62] = min.z;\r\n positions[63] = max.x;\r\n positions[64] = min.y;\r\n positions[65] = min.z;\r\n positions[66] = max.x;\r\n positions[67] = min.y;\r\n positions[68] = max.z;\r\n positions[69] = min.x;\r\n positions[70] = min.y;\r\n positions[71] = max.z;\r\n\r\n attributes.position = new GeometryAttribute({\r\n componentDatatype: ComponentDatatype.DOUBLE,\r\n componentsPerAttribute: 3,\r\n values: positions,\r\n });\r\n }\r\n\r\n if (vertexFormat.normal) {\r\n const normals = new Float32Array(6 * 4 * 3);\r\n\r\n // +z face\r\n normals[0] = 0.0;\r\n normals[1] = 0.0;\r\n normals[2] = 1.0;\r\n normals[3] = 0.0;\r\n normals[4] = 0.0;\r\n normals[5] = 1.0;\r\n normals[6] = 0.0;\r\n normals[7] = 0.0;\r\n normals[8] = 1.0;\r\n normals[9] = 0.0;\r\n normals[10] = 0.0;\r\n normals[11] = 1.0;\r\n\r\n // -z face\r\n normals[12] = 0.0;\r\n normals[13] = 0.0;\r\n normals[14] = -1.0;\r\n normals[15] = 0.0;\r\n normals[16] = 0.0;\r\n normals[17] = -1.0;\r\n normals[18] = 0.0;\r\n normals[19] = 0.0;\r\n normals[20] = -1.0;\r\n normals[21] = 0.0;\r\n normals[22] = 0.0;\r\n normals[23] = -1.0;\r\n\r\n // +x face\r\n normals[24] = 1.0;\r\n normals[25] = 0.0;\r\n normals[26] = 0.0;\r\n normals[27] = 1.0;\r\n normals[28] = 0.0;\r\n normals[29] = 0.0;\r\n normals[30] = 1.0;\r\n normals[31] = 0.0;\r\n normals[32] = 0.0;\r\n normals[33] = 1.0;\r\n normals[34] = 0.0;\r\n normals[35] = 0.0;\r\n\r\n // -x face\r\n normals[36] = -1.0;\r\n normals[37] = 0.0;\r\n normals[38] = 0.0;\r\n normals[39] = -1.0;\r\n normals[40] = 0.0;\r\n normals[41] = 0.0;\r\n normals[42] = -1.0;\r\n normals[43] = 0.0;\r\n normals[44] = 0.0;\r\n normals[45] = -1.0;\r\n normals[46] = 0.0;\r\n normals[47] = 0.0;\r\n\r\n // +y face\r\n normals[48] = 0.0;\r\n normals[49] = 1.0;\r\n normals[50] = 0.0;\r\n normals[51] = 0.0;\r\n normals[52] = 1.0;\r\n normals[53] = 0.0;\r\n normals[54] = 0.0;\r\n normals[55] = 1.0;\r\n normals[56] = 0.0;\r\n normals[57] = 0.0;\r\n normals[58] = 1.0;\r\n normals[59] = 0.0;\r\n\r\n // -y face\r\n normals[60] = 0.0;\r\n normals[61] = -1.0;\r\n normals[62] = 0.0;\r\n normals[63] = 0.0;\r\n normals[64] = -1.0;\r\n normals[65] = 0.0;\r\n normals[66] = 0.0;\r\n normals[67] = -1.0;\r\n normals[68] = 0.0;\r\n normals[69] = 0.0;\r\n normals[70] = -1.0;\r\n normals[71] = 0.0;\r\n\r\n attributes.normal = new GeometryAttribute({\r\n componentDatatype: ComponentDatatype.FLOAT,\r\n componentsPerAttribute: 3,\r\n values: normals,\r\n });\r\n }\r\n\r\n if (vertexFormat.st) {\r\n const texCoords = new Float32Array([\r\n // +z face\r\n 0, 0.75,\r\n 1, 0.75,\r\n 1, 1,\r\n 0, 1,\r\n\r\n // -z face\r\n 0, 0,\r\n 1, 0,\r\n 1, 0.25,\r\n 0, 0.25,\r\n\r\n // +x face\r\n 0, 0.25,\r\n 1, 0.25,\r\n 1, 0.75,\r\n 0, 0.75,\r\n\r\n // -x face\r\n 0, 0.25,\r\n 1, 0.25,\r\n 1, 0.75,\r\n 0, 0.75,\r\n\r\n // +y face\r\n 0, 0.25,\r\n 1, 0.25,\r\n 1, 0.75,\r\n 0, 0.75,\r\n\r\n // -y face\r\n 0, 0.25,\r\n 1, 0.25,\r\n 1, 0.75,\r\n 0, 0.75,\r\n ]);\r\n\r\n attributes.st = new GeometryAttribute({\r\n componentDatatype: ComponentDatatype.FLOAT,\r\n componentsPerAttribute: 2,\r\n values: texCoords,\r\n });\r\n }\r\n\r\n if (vertexFormat.tangent) {\r\n const tangents = new Float32Array(6 * 4 * 3);\r\n\r\n // +z face\r\n tangents[0] = 1.0;\r\n tangents[1] = 0.0;\r\n tangents[2] = 0.0;\r\n tangents[3] = 1.0;\r\n tangents[4] = 0.0;\r\n tangents[5] = 0.0;\r\n tangents[6] = 1.0;\r\n tangents[7] = 0.0;\r\n tangents[8] = 0.0;\r\n tangents[9] = 1.0;\r\n tangents[10] = 0.0;\r\n tangents[11] = 0.0;\r\n\r\n // -z face\r\n tangents[12] = -1.0;\r\n tangents[13] = 0.0;\r\n tangents[14] = 0.0;\r\n tangents[15] = -1.0;\r\n tangents[16] = 0.0;\r\n tangents[17] = 0.0;\r\n tangents[18] = -1.0;\r\n tangents[19] = 0.0;\r\n tangents[20] = 0.0;\r\n tangents[21] = -1.0;\r\n tangents[22] = 0.0;\r\n tangents[23] = 0.0;\r\n\r\n // +x face\r\n tangents[24] = 0.0;\r\n tangents[25] = 1.0;\r\n tangents[26] = 0.0;\r\n tangents[27] = 0.0;\r\n tangents[28] = 1.0;\r\n tangents[29] = 0.0;\r\n tangents[30] = 0.0;\r\n tangents[31] = 1.0;\r\n tangents[32] = 0.0;\r\n tangents[33] = 0.0;\r\n tangents[34] = 1.0;\r\n tangents[35] = 0.0;\r\n\r\n // -x face\r\n tangents[36] = 0.0;\r\n tangents[37] = -1.0;\r\n tangents[38] = 0.0;\r\n tangents[39] = 0.0;\r\n tangents[40] = -1.0;\r\n tangents[41] = 0.0;\r\n tangents[42] = 0.0;\r\n tangents[43] = -1.0;\r\n tangents[44] = 0.0;\r\n tangents[45] = 0.0;\r\n tangents[46] = -1.0;\r\n tangents[47] = 0.0;\r\n\r\n // +y face\r\n tangents[48] = -1.0;\r\n tangents[49] = 0.0;\r\n tangents[50] = 0.0;\r\n tangents[51] = -1.0;\r\n tangents[52] = 0.0;\r\n tangents[53] = 0.0;\r\n tangents[54] = -1.0;\r\n tangents[55] = 0.0;\r\n tangents[56] = 0.0;\r\n tangents[57] = -1.0;\r\n tangents[58] = 0.0;\r\n tangents[59] = 0.0;\r\n\r\n // -y face\r\n tangents[60] = 1.0;\r\n tangents[61] = 0.0;\r\n tangents[62] = 0.0;\r\n tangents[63] = 1.0;\r\n tangents[64] = 0.0;\r\n tangents[65] = 0.0;\r\n tangents[66] = 1.0;\r\n tangents[67] = 0.0;\r\n tangents[68] = 0.0;\r\n tangents[69] = 1.0;\r\n tangents[70] = 0.0;\r\n tangents[71] = 0.0;\r\n\r\n attributes.tangent = new GeometryAttribute({\r\n componentDatatype: ComponentDatatype.FLOAT,\r\n componentsPerAttribute: 3,\r\n values: tangents,\r\n });\r\n }\r\n\r\n if (vertexFormat.bitangent) {\r\n const bitangents = new Float32Array(6 * 4 * 3);\r\n\r\n // +z face\r\n bitangents[0] = 0.0;\r\n bitangents[1] = 1.0;\r\n bitangents[2] = 0.0;\r\n bitangents[3] = 0.0;\r\n bitangents[4] = 1.0;\r\n bitangents[5] = 0.0;\r\n bitangents[6] = 0.0;\r\n bitangents[7] = 1.0;\r\n bitangents[8] = 0.0;\r\n bitangents[9] = 0.0;\r\n bitangents[10] = 1.0;\r\n bitangents[11] = 0.0;\r\n\r\n // -z face\r\n bitangents[12] = 0.0;\r\n bitangents[13] = 1.0;\r\n bitangents[14] = 0.0;\r\n bitangents[15] = 0.0;\r\n bitangents[16] = 1.0;\r\n bitangents[17] = 0.0;\r\n bitangents[18] = 0.0;\r\n bitangents[19] = 1.0;\r\n bitangents[20] = 0.0;\r\n bitangents[21] = 0.0;\r\n bitangents[22] = 1.0;\r\n bitangents[23] = 0.0;\r\n\r\n // +x face\r\n bitangents[24] = 0.0;\r\n bitangents[25] = 0.0;\r\n bitangents[26] = 1.0;\r\n bitangents[27] = 0.0;\r\n bitangents[28] = 0.0;\r\n bitangents[29] = 1.0;\r\n bitangents[30] = 0.0;\r\n bitangents[31] = 0.0;\r\n bitangents[32] = 1.0;\r\n bitangents[33] = 0.0;\r\n bitangents[34] = 0.0;\r\n bitangents[35] = 1.0;\r\n\r\n // -x face\r\n bitangents[36] = 0.0;\r\n bitangents[37] = 0.0;\r\n bitangents[38] = 1.0;\r\n bitangents[39] = 0.0;\r\n bitangents[40] = 0.0;\r\n bitangents[41] = 1.0;\r\n bitangents[42] = 0.0;\r\n bitangents[43] = 0.0;\r\n bitangents[44] = 1.0;\r\n bitangents[45] = 0.0;\r\n bitangents[46] = 0.0;\r\n bitangents[47] = 1.0;\r\n\r\n // +y face\r\n bitangents[48] = 0.0;\r\n bitangents[49] = 0.0;\r\n bitangents[50] = 1.0;\r\n bitangents[51] = 0.0;\r\n bitangents[52] = 0.0;\r\n bitangents[53] = 1.0;\r\n bitangents[54] = 0.0;\r\n bitangents[55] = 0.0;\r\n bitangents[56] = 1.0;\r\n bitangents[57] = 0.0;\r\n bitangents[58] = 0.0;\r\n bitangents[59] = 1.0;\r\n\r\n // -y face\r\n bitangents[60] = 0.0;\r\n bitangents[61] = 0.0;\r\n bitangents[62] = 1.0;\r\n bitangents[63] = 0.0;\r\n bitangents[64] = 0.0;\r\n bitangents[65] = 1.0;\r\n bitangents[66] = 0.0;\r\n bitangents[67] = 0.0;\r\n bitangents[68] = 1.0;\r\n bitangents[69] = 0.0;\r\n bitangents[70] = 0.0;\r\n bitangents[71] = 1.0;\r\n\r\n attributes.bitangent = new GeometryAttribute({\r\n componentDatatype: ComponentDatatype.FLOAT,\r\n componentsPerAttribute: 3,\r\n values: bitangents,\r\n });\r\n }\r\n\r\n // 12 triangles: 6 faces, 2 triangles each.\r\n indices = new Uint16Array(6 * 2 * 3);\r\n\r\n // +z face\r\n indices[0] = 0;\r\n indices[1] = 1;\r\n indices[2] = 2;\r\n indices[3] = 0;\r\n indices[4] = 2;\r\n indices[5] = 3;\r\n\r\n // -z face\r\n indices[6] = 4 + 2;\r\n indices[7] = 4 + 1;\r\n indices[8] = 4 + 0;\r\n indices[9] = 4 + 3;\r\n indices[10] = 4 + 2;\r\n indices[11] = 4 + 0;\r\n\r\n // +x face\r\n indices[12] = 8 + 0;\r\n indices[13] = 8 + 1;\r\n indices[14] = 8 + 2;\r\n indices[15] = 8 + 0;\r\n indices[16] = 8 + 2;\r\n indices[17] = 8 + 3;\r\n\r\n // -x face\r\n indices[18] = 12 + 2;\r\n indices[19] = 12 + 1;\r\n indices[20] = 12 + 0;\r\n indices[21] = 12 + 3;\r\n indices[22] = 12 + 2;\r\n indices[23] = 12 + 0;\r\n\r\n // +y face\r\n indices[24] = 16 + 2;\r\n indices[25] = 16 + 1;\r\n indices[26] = 16 + 0;\r\n indices[27] = 16 + 3;\r\n indices[28] = 16 + 2;\r\n indices[29] = 16 + 0;\r\n\r\n // -y face\r\n indices[30] = 20 + 0;\r\n indices[31] = 20 + 1;\r\n indices[32] = 20 + 2;\r\n indices[33] = 20 + 0;\r\n indices[34] = 20 + 2;\r\n indices[35] = 20 + 3;\r\n } else {\r\n // Positions only - no need to duplicate corner points\r\n positions = new Float64Array(8 * 3);\r\n\r\n positions[0] = min.x;\r\n positions[1] = min.y;\r\n positions[2] = min.z;\r\n positions[3] = max.x;\r\n positions[4] = min.y;\r\n positions[5] = min.z;\r\n positions[6] = max.x;\r\n positions[7] = max.y;\r\n positions[8] = min.z;\r\n positions[9] = min.x;\r\n positions[10] = max.y;\r\n positions[11] = min.z;\r\n positions[12] = min.x;\r\n positions[13] = min.y;\r\n positions[14] = max.z;\r\n positions[15] = max.x;\r\n positions[16] = min.y;\r\n positions[17] = max.z;\r\n positions[18] = max.x;\r\n positions[19] = max.y;\r\n positions[20] = max.z;\r\n positions[21] = min.x;\r\n positions[22] = max.y;\r\n positions[23] = max.z;\r\n\r\n attributes.position = new GeometryAttribute({\r\n componentDatatype: ComponentDatatype.DOUBLE,\r\n componentsPerAttribute: 3,\r\n values: positions,\r\n });\r\n\r\n // 12 triangles: 6 faces, 2 triangles each.\r\n indices = new Uint16Array(6 * 2 * 3);\r\n\r\n // plane z = corner.Z\r\n indices[0] = 4;\r\n indices[1] = 5;\r\n indices[2] = 6;\r\n indices[3] = 4;\r\n indices[4] = 6;\r\n indices[5] = 7;\r\n\r\n // plane z = -corner.Z\r\n indices[6] = 1;\r\n indices[7] = 0;\r\n indices[8] = 3;\r\n indices[9] = 1;\r\n indices[10] = 3;\r\n indices[11] = 2;\r\n\r\n // plane x = corner.X\r\n indices[12] = 1;\r\n indices[13] = 6;\r\n indices[14] = 5;\r\n indices[15] = 1;\r\n indices[16] = 2;\r\n indices[17] = 6;\r\n\r\n // plane y = corner.Y\r\n indices[18] = 2;\r\n indices[19] = 3;\r\n indices[20] = 7;\r\n indices[21] = 2;\r\n indices[22] = 7;\r\n indices[23] = 6;\r\n\r\n // plane x = -corner.X\r\n indices[24] = 3;\r\n indices[25] = 0;\r\n indices[26] = 4;\r\n indices[27] = 3;\r\n indices[28] = 4;\r\n indices[29] = 7;\r\n\r\n // plane y = -corner.Y\r\n indices[30] = 0;\r\n indices[31] = 1;\r\n indices[32] = 5;\r\n indices[33] = 0;\r\n indices[34] = 5;\r\n indices[35] = 4;\r\n }\r\n\r\n const diff = Cartesian3.subtract(max, min, diffScratch);\r\n const radius = Cartesian3.magnitude(diff) * 0.5;\r\n\r\n if (defined(boxGeometry._offsetAttribute)) {\r\n const length = positions.length;\r\n const applyOffset = new Uint8Array(length / 3);\r\n const offsetValue =\r\n boxGeometry._offsetAttribute === GeometryOffsetAttribute.NONE ? 0 : 1;\r\n arrayFill(applyOffset, offsetValue);\r\n attributes.applyOffset = new GeometryAttribute({\r\n componentDatatype: ComponentDatatype.UNSIGNED_BYTE,\r\n componentsPerAttribute: 1,\r\n values: applyOffset,\r\n });\r\n }\r\n\r\n return new Geometry({\r\n attributes: attributes,\r\n indices: indices,\r\n primitiveType: PrimitiveType.TRIANGLES,\r\n boundingSphere: new BoundingSphere(Cartesian3.ZERO, radius),\r\n offsetAttribute: boxGeometry._offsetAttribute,\r\n });\r\n};\r\n\r\nlet unitBoxGeometry;\r\n\r\n/**\r\n * Returns the geometric representation of a unit box, including its vertices, indices, and a bounding sphere.\r\n * @returns {Geometry} The computed vertices and indices.\r\n *\r\n * @private\r\n */\r\nGrate.getUnitBox = function () {\r\n if (!defined(unitBoxGeometry)) {\r\n unitBoxGeometry = Grate.createGeometry(\r\n Grate.fromDimensions({\r\n dimensions: new Cartesian3(1.0, 1.0, 1.0),\r\n vertexFormat: VertexFormat.POSITION_ONLY,\r\n })\r\n );\r\n }\r\n return unitBoxGeometry;\r\n};\r\nexport default Grate;\r\n"],"mappings":"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MACjBA,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG;MACjBA,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG;MACjBA,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG;MACjBA,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG;MACjBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;;MAElB;MACAA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;;MAElB;MACAA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;;MAElB;MACAA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;;MAElB;MACAA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;;MAElB;MACAA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAElBpB,UAAU,CAACO,OAAO,GAAG,IAAIG,yBAAiB,CAAC;QACvCC,iBAAiB,EAAEC,yBAAiB,CAACM,KAAK;QAC1CJ,sBAAsB,EAAE,CAAC;QACzBC,MAAM,EAAEK;MACZ,CAAC,CAAC;IACN;IAEA,IAAIxD,YAAY,CAAC4C,SAAS,EAAE;MACxB,IAAMa,UAAU,GAAG,IAAIJ,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;MAE9C;MACAI,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;MACnBA,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;MACnBA,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;MACnBA,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;MACnBA,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;MACnBA,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;MACnBA,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;MACnBA,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;MACnBA,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;MACnBA,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;MACnBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;;MAEpB;MACAA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;;MAEpB;MACAA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;;MAEpB;MACAA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;;MAEpB;MACAA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,G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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Grate.js","names":["_cesium","require","diffScratch","Cartesian3","Grate","options","defaultValue","EMPTY_OBJECT","min","minimum","max","maximum","Check","typeOf","object","defined","offsetAttribute","GeometryOffsetAttribute","TOP","DeveloperError","vertexFormat","VertexFormat","DEFAULT","_minimum","clone","_maximum","_vertexFormat","_offsetAttribute","_workerName","fromDimensions","dimensions","number","greaterThanOrEquals","x","y","z","corner","multiplyByScalar","negate","fromAxisAlignedBoundingBox","boundingBox","packedLength","pack","value","array","startingIndex","scratchMin","scratchMax","scratchVertexFormat","scratchOptions","undefined","unpack","result","createGeometry","boxGeometry","equals","attributes","GeometryAttributes","indices","positions","position","st","normal","tangent","bitangent","Float64Array","GeometryAttribute","componentDatatype","ComponentDatatype","DOUBLE","componentsPerAttribute","values","normals","Float32Array","FLOAT","texCoords","tangents","bitangents","Uint16Array","diff","subtract","radius","magnitude","length","applyOffset","Uint8Array","offsetValue","NONE","arrayFill","UNSIGNED_BYTE","Geometry","primitiveType","PrimitiveType","TRIANGLES","boundingSphere","BoundingSphere","ZERO","unitBoxGeometry","getUnitBox","POSITION_ONLY","_default","exports"],"sources":["three-point-layer/Grate.js"],"sourcesContent":["import {\n arrayFill,\n BoundingSphere,\n Cartesian3,\n Check,\n ComponentDatatype,\n defaultValue,\n defined,\n DeveloperError,\n Geometry,\n GeometryAttribute,\n GeometryAttributes,\n GeometryOffsetAttribute,\n PrimitiveType,\n VertexFormat\n} from \"cesium\";\n\nconst diffScratch = new Cartesian3();\n\n/**\n * Describes a cube centered at the origin.\n *\n * @alias BoxGeometry\n * @constructor\n *\n * @param {Object} options Object with the following properties:\n * @param {Cartesian3} options.minimum The minimum x, y, and z coordinates of the box.\n * @param {Cartesian3} options.maximum The maximum x, y, and z coordinates of the box.\n * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.\n *\n * @see Grate.fromDimensions\n * @see Grate.createGeometry\n * @see Packable\n *\n * @demo {@link https://sandcastle.cesium.com/index.html?src=Box.html|Cesium Sandcastle Box Demo}\n *\n * @example\n * const box = new Cesium.BoxGeometry({\n * vertexFormat : Cesium.VertexFormat.POSITION_ONLY,\n * maximum : new Cesium.Cartesian3(250000.0, 250000.0, 250000.0),\n * minimum : new Cesium.Cartesian3(-250000.0, -250000.0, -250000.0)\n * });\n * const geometry = Cesium.BoxGeometry.createGeometry(box);\n */\nfunction Grate(options) {\n options = defaultValue(options, defaultValue.EMPTY_OBJECT);\n\n const min = options.minimum;\n const max = options.maximum;\n\n //>>includeStart('debug', pragmas.debug);\n Check.typeOf.object(\"min\", min);\n Check.typeOf.object(\"max\", max);\n if (\n defined(options.offsetAttribute) &&\n options.offsetAttribute === GeometryOffsetAttribute.TOP\n ) {\n throw new DeveloperError(\n \"GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.\"\n );\n }\n //>>includeEnd('debug');\n\n const vertexFormat = defaultValue(options.vertexFormat, VertexFormat.DEFAULT);\n\n this._minimum = Cartesian3.clone(min);\n this._maximum = Cartesian3.clone(max);\n this._vertexFormat = vertexFormat;\n this._offsetAttribute = options.offsetAttribute;\n this._workerName = \"createBoxGeometry\";\n}\n\n/**\n * Creates a cube centered at the origin given its dimensions.\n *\n * @param {Object} options Object with the following properties:\n * @param {Cartesian3} options.dimensions The width, depth, and height of the box stored in the x, y, and z coordinates of the <code>Cartesian3</code>, respectively.\n * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.\n * @returns {Grate}\n *\n * @exception {DeveloperError} All dimensions components must be greater than or equal to zero.\n *\n *\n * @example\n * const box = Cesium.BoxGeometry.fromDimensions({\n * vertexFormat : Cesium.VertexFormat.POSITION_ONLY,\n * dimensions : new Cesium.Cartesian3(500000.0, 500000.0, 500000.0)\n * });\n * const geometry = Cesium.BoxGeometry.createGeometry(box);\n *\n * @see Grate.createGeometry\n */\nGrate.fromDimensions = function (options) {\n options = defaultValue(options, defaultValue.EMPTY_OBJECT);\n const dimensions = options.dimensions;\n\n //>>includeStart('debug', pragmas.debug);\n Check.typeOf.object(\"dimensions\", dimensions);\n Check.typeOf.number.greaterThanOrEquals(\"dimensions.x\", dimensions.x, 0);\n Check.typeOf.number.greaterThanOrEquals(\"dimensions.y\", dimensions.y, 0);\n Check.typeOf.number.greaterThanOrEquals(\"dimensions.z\", dimensions.z, 0);\n //>>includeEnd('debug');\n\n const corner = Cartesian3.multiplyByScalar(dimensions, 0.5, new Cartesian3());\n\n return new Grate({\n minimum: Cartesian3.negate(corner, new Cartesian3()),\n maximum: corner,\n vertexFormat: options.vertexFormat,\n offsetAttribute: options.offsetAttribute,\n });\n};\n\n/**\n * Creates a cube from the dimensions of an AxisAlignedBoundingBox.\n *\n * @param {AxisAlignedBoundingBox} boundingBox A description of the AxisAlignedBoundingBox.\n * @returns {Grate}\n *\n *\n *\n * @example\n * const aabb = Cesium.AxisAlignedBoundingBox.fromPoints(Cesium.Cartesian3.fromDegreesArray([\n * -72.0, 40.0,\n * -70.0, 35.0,\n * -75.0, 30.0,\n * -70.0, 30.0,\n * -68.0, 40.0\n * ]));\n * const box = Cesium.BoxGeometry.fromAxisAlignedBoundingBox(aabb);\n *\n * @see Grate.createGeometry\n */\nGrate.fromAxisAlignedBoundingBox = function (boundingBox) {\n //>>includeStart('debug', pragmas.debug);\n Check.typeOf.object(\"boundingBox\", boundingBox);\n //>>includeEnd('debug');\n\n return new Grate({\n minimum: boundingBox.minimum,\n maximum: boundingBox.maximum,\n });\n};\n\n/**\n * The number of elements used to pack the object into an array.\n * @type {Number}\n */\nGrate.packedLength =\n 2 * Cartesian3.packedLength + VertexFormat.packedLength + 1;\n\n/**\n * Stores the provided instance into the provided array.\n *\n * @param {Grate} value The value to pack.\n * @param {Number[]} array The array to pack into.\n * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.\n *\n * @returns {Number[]} The array that was packed into\n */\nGrate.pack = function (value, array, startingIndex) {\n //>>includeStart('debug', pragmas.debug);\n Check.typeOf.object(\"value\", value);\n Check.defined(\"array\", array);\n //>>includeEnd('debug');\n\n startingIndex = defaultValue(startingIndex, 0);\n\n Cartesian3.pack(value._minimum, array, startingIndex);\n Cartesian3.pack(\n value._maximum,\n array,\n startingIndex + Cartesian3.packedLength\n );\n VertexFormat.pack(\n value._vertexFormat,\n array,\n startingIndex + 2 * Cartesian3.packedLength\n );\n array[\n startingIndex + 2 * Cartesian3.packedLength + VertexFormat.packedLength\n ] = defaultValue(value._offsetAttribute, -1);\n\n return array;\n};\n\nconst scratchMin = new Cartesian3();\nconst scratchMax = new Cartesian3();\nconst scratchVertexFormat = new VertexFormat();\nconst scratchOptions = {\n minimum: scratchMin,\n maximum: scratchMax,\n vertexFormat: scratchVertexFormat,\n offsetAttribute: undefined,\n};\n\n/**\n * Retrieves an instance from a packed array.\n *\n * @param {Number[]} array The packed array.\n * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.\n * @param {Grate} [result] The object into which to store the result.\n * @returns {Grate} The modified result parameter or a new BoxGeometry instance if one was not provided.\n */\nGrate.unpack = function (array, startingIndex, result) {\n //>>includeStart('debug', pragmas.debug);\n Check.defined(\"array\", array);\n //>>includeEnd('debug');\n\n startingIndex = defaultValue(startingIndex, 0);\n\n const min = Cartesian3.unpack(array, startingIndex, scratchMin);\n const max = Cartesian3.unpack(\n array,\n startingIndex + Cartesian3.packedLength,\n scratchMax\n );\n const vertexFormat = VertexFormat.unpack(\n array,\n startingIndex + 2 * Cartesian3.packedLength,\n scratchVertexFormat\n );\n const offsetAttribute =\n array[\n startingIndex + 2 * Cartesian3.packedLength + VertexFormat.packedLength\n ];\n\n if (!defined(result)) {\n scratchOptions.offsetAttribute =\n offsetAttribute === -1 ? undefined : offsetAttribute;\n return new Grate(scratchOptions);\n }\n\n result._minimum = Cartesian3.clone(min, result._minimum);\n result._maximum = Cartesian3.clone(max, result._maximum);\n result._vertexFormat = VertexFormat.clone(vertexFormat, result._vertexFormat);\n result._offsetAttribute =\n offsetAttribute === -1 ? undefined : offsetAttribute;\n\n return result;\n};\n\n/**\n * Computes the geometric representation of a box, including its vertices, indices, and a bounding sphere.\n *\n * @param {Grate} boxGeometry A description of the box.\n * @returns {Geometry|undefined} The computed vertices and indices.\n */\nGrate.createGeometry = function (boxGeometry) {\n const min = boxGeometry._minimum;\n const max = boxGeometry._maximum;\n const vertexFormat = boxGeometry._vertexFormat;\n\n if (Cartesian3.equals(min, max)) {\n return;\n }\n\n const attributes = new GeometryAttributes();\n let indices;\n let positions;\n\n if (\n vertexFormat.position &&\n (vertexFormat.st ||\n vertexFormat.normal ||\n vertexFormat.tangent ||\n vertexFormat.bitangent)\n ) {\n if (vertexFormat.position) {\n // 8 corner points. Duplicated 3 times each for each incident edge/face.\n positions = new Float64Array(6 * 4 * 3);\n\n // +z face\n positions[0] = min.x;\n positions[1] = min.y;\n positions[2] = max.z;\n positions[3] = max.x;\n positions[4] = min.y;\n positions[5] = max.z;\n positions[6] = max.x;\n positions[7] = max.y;\n positions[8] = max.z;\n positions[9] = min.x;\n positions[10] = max.y;\n positions[11] = max.z;\n\n // -z face\n positions[12] = min.x;\n positions[13] = min.y;\n positions[14] = min.z;\n positions[15] = max.x;\n positions[16] = min.y;\n positions[17] = min.z;\n positions[18] = max.x;\n positions[19] = max.y;\n positions[20] = min.z;\n positions[21] = min.x;\n positions[22] = max.y;\n positions[23] = min.z;\n\n // +x face\n positions[24] = max.x;\n positions[25] = min.y;\n positions[26] = min.z;\n positions[27] = max.x;\n positions[28] = max.y;\n positions[29] = min.z;\n positions[30] = max.x;\n positions[31] = max.y;\n positions[32] = max.z;\n positions[33] = max.x;\n positions[34] = min.y;\n positions[35] = max.z;\n\n // -x face\n positions[36] = min.x;\n positions[37] = min.y;\n positions[38] = min.z;\n positions[39] = min.x;\n positions[40] = max.y;\n positions[41] = min.z;\n positions[42] = min.x;\n positions[43] = max.y;\n positions[44] = max.z;\n positions[45] = min.x;\n positions[46] = min.y;\n positions[47] = max.z;\n\n // +y face\n positions[48] = min.x;\n positions[49] = max.y;\n positions[50] = min.z;\n positions[51] = max.x;\n positions[52] = max.y;\n positions[53] = min.z;\n positions[54] = max.x;\n positions[55] = max.y;\n positions[56] = max.z;\n positions[57] = min.x;\n positions[58] = max.y;\n positions[59] = max.z;\n\n // -y face\n positions[60] = min.x;\n positions[61] = min.y;\n positions[62] = min.z;\n positions[63] = max.x;\n positions[64] = min.y;\n positions[65] = min.z;\n positions[66] = max.x;\n positions[67] = min.y;\n positions[68] = max.z;\n positions[69] = min.x;\n positions[70] = min.y;\n positions[71] = max.z;\n\n attributes.position = new GeometryAttribute({\n componentDatatype: ComponentDatatype.DOUBLE,\n componentsPerAttribute: 3,\n values: positions,\n });\n }\n\n if (vertexFormat.normal) {\n const normals = new Float32Array(6 * 4 * 3);\n\n // +z face\n normals[0] = 0.0;\n normals[1] = 0.0;\n normals[2] = 1.0;\n normals[3] = 0.0;\n normals[4] = 0.0;\n normals[5] = 1.0;\n normals[6] = 0.0;\n normals[7] = 0.0;\n normals[8] = 1.0;\n normals[9] = 0.0;\n normals[10] = 0.0;\n normals[11] = 1.0;\n\n // -z face\n normals[12] = 0.0;\n normals[13] = 0.0;\n normals[14] = -1.0;\n normals[15] = 0.0;\n normals[16] = 0.0;\n normals[17] = -1.0;\n normals[18] = 0.0;\n normals[19] = 0.0;\n normals[20] = -1.0;\n normals[21] = 0.0;\n normals[22] = 0.0;\n normals[23] = -1.0;\n\n // +x face\n normals[24] = 1.0;\n normals[25] = 0.0;\n normals[26] = 0.0;\n normals[27] = 1.0;\n normals[28] = 0.0;\n normals[29] = 0.0;\n normals[30] = 1.0;\n normals[31] = 0.0;\n normals[32] = 0.0;\n normals[33] = 1.0;\n normals[34] = 0.0;\n normals[35] = 0.0;\n\n // -x face\n normals[36] = -1.0;\n normals[37] = 0.0;\n normals[38] = 0.0;\n normals[39] = -1.0;\n normals[40] = 0.0;\n normals[41] = 0.0;\n normals[42] = -1.0;\n normals[43] = 0.0;\n normals[44] = 0.0;\n normals[45] = -1.0;\n normals[46] = 0.0;\n normals[47] = 0.0;\n\n // +y face\n normals[48] = 0.0;\n normals[49] = 1.0;\n normals[50] = 0.0;\n normals[51] = 0.0;\n normals[52] = 1.0;\n normals[53] = 0.0;\n normals[54] = 0.0;\n normals[55] = 1.0;\n normals[56] = 0.0;\n normals[57] = 0.0;\n normals[58] = 1.0;\n normals[59] = 0.0;\n\n // -y face\n normals[60] = 0.0;\n normals[61] = -1.0;\n normals[62] = 0.0;\n normals[63] = 0.0;\n normals[64] = -1.0;\n normals[65] = 0.0;\n normals[66] = 0.0;\n normals[67] = -1.0;\n normals[68] = 0.0;\n normals[69] = 0.0;\n normals[70] = -1.0;\n normals[71] = 0.0;\n\n attributes.normal = new GeometryAttribute({\n componentDatatype: ComponentDatatype.FLOAT,\n componentsPerAttribute: 3,\n values: normals,\n });\n }\n\n if (vertexFormat.st) {\n const texCoords = new Float32Array([\n // +z face\n 0, 0.75,\n 1, 0.75,\n 1, 1,\n 0, 1,\n\n // -z face\n 0, 0,\n 1, 0,\n 1, 0.25,\n 0, 0.25,\n\n // +x face\n 0, 0.25,\n 1, 0.25,\n 1, 0.75,\n 0, 0.75,\n\n // -x face\n 0, 0.25,\n 1, 0.25,\n 1, 0.75,\n 0, 0.75,\n\n // +y face\n 0, 0.25,\n 1, 0.25,\n 1, 0.75,\n 0, 0.75,\n\n // -y face\n 0, 0.25,\n 1, 0.25,\n 1, 0.75,\n 0, 0.75,\n ]);\n\n attributes.st = new GeometryAttribute({\n componentDatatype: ComponentDatatype.FLOAT,\n componentsPerAttribute: 2,\n values: texCoords,\n });\n }\n\n if (vertexFormat.tangent) {\n const tangents = new Float32Array(6 * 4 * 3);\n\n // +z face\n tangents[0] = 1.0;\n tangents[1] = 0.0;\n tangents[2] = 0.0;\n tangents[3] = 1.0;\n tangents[4] = 0.0;\n tangents[5] = 0.0;\n tangents[6] = 1.0;\n tangents[7] = 0.0;\n tangents[8] = 0.0;\n tangents[9] = 1.0;\n tangents[10] = 0.0;\n tangents[11] = 0.0;\n\n // -z face\n tangents[12] = -1.0;\n tangents[13] = 0.0;\n tangents[14] = 0.0;\n tangents[15] = -1.0;\n tangents[16] = 0.0;\n tangents[17] = 0.0;\n tangents[18] = -1.0;\n tangents[19] = 0.0;\n tangents[20] = 0.0;\n tangents[21] = -1.0;\n tangents[22] = 0.0;\n tangents[23] = 0.0;\n\n // +x face\n tangents[24] = 0.0;\n tangents[25] = 1.0;\n tangents[26] = 0.0;\n tangents[27] = 0.0;\n tangents[28] = 1.0;\n tangents[29] = 0.0;\n tangents[30] = 0.0;\n tangents[31] = 1.0;\n tangents[32] = 0.0;\n tangents[33] = 0.0;\n tangents[34] = 1.0;\n tangents[35] = 0.0;\n\n // -x face\n tangents[36] = 0.0;\n tangents[37] = -1.0;\n tangents[38] = 0.0;\n tangents[39] = 0.0;\n tangents[40] = -1.0;\n tangents[41] = 0.0;\n tangents[42] = 0.0;\n tangents[43] = -1.0;\n tangents[44] = 0.0;\n tangents[45] = 0.0;\n tangents[46] = -1.0;\n tangents[47] = 0.0;\n\n // +y face\n tangents[48] = -1.0;\n tangents[49] = 0.0;\n tangents[50] = 0.0;\n tangents[51] = -1.0;\n tangents[52] = 0.0;\n tangents[53] = 0.0;\n tangents[54] = -1.0;\n tangents[55] = 0.0;\n tangents[56] = 0.0;\n tangents[57] = -1.0;\n tangents[58] = 0.0;\n tangents[59] = 0.0;\n\n // -y face\n tangents[60] = 1.0;\n tangents[61] = 0.0;\n tangents[62] = 0.0;\n tangents[63] = 1.0;\n tangents[64] = 0.0;\n tangents[65] = 0.0;\n tangents[66] = 1.0;\n tangents[67] = 0.0;\n tangents[68] = 0.0;\n tangents[69] = 1.0;\n tangents[70] = 0.0;\n tangents[71] = 0.0;\n\n attributes.tangent = new GeometryAttribute({\n componentDatatype: ComponentDatatype.FLOAT,\n componentsPerAttribute: 3,\n values: tangents,\n });\n }\n\n if (vertexFormat.bitangent) {\n const bitangents = new Float32Array(6 * 4 * 3);\n\n // +z face\n bitangents[0] = 0.0;\n bitangents[1] = 1.0;\n bitangents[2] = 0.0;\n bitangents[3] = 0.0;\n bitangents[4] = 1.0;\n bitangents[5] = 0.0;\n bitangents[6] = 0.0;\n bitangents[7] = 1.0;\n bitangents[8] = 0.0;\n bitangents[9] = 0.0;\n bitangents[10] = 1.0;\n bitangents[11] = 0.0;\n\n // -z face\n bitangents[12] = 0.0;\n bitangents[13] = 1.0;\n bitangents[14] = 0.0;\n bitangents[15] = 0.0;\n bitangents[16] = 1.0;\n bitangents[17] = 0.0;\n bitangents[18] = 0.0;\n bitangents[19] = 1.0;\n bitangents[20] = 0.0;\n bitangents[21] = 0.0;\n bitangents[22] = 1.0;\n bitangents[23] = 0.0;\n\n // +x face\n bitangents[24] = 0.0;\n bitangents[25] = 0.0;\n bitangents[26] = 1.0;\n bitangents[27] = 0.0;\n bitangents[28] = 0.0;\n bitangents[29] = 1.0;\n bitangents[30] = 0.0;\n bitangents[31] = 0.0;\n bitangents[32] = 1.0;\n bitangents[33] = 0.0;\n bitangents[34] = 0.0;\n bitangents[35] = 1.0;\n\n // -x face\n bitangents[36] = 0.0;\n bitangents[37] = 0.0;\n bitangents[38] = 1.0;\n bitangents[39] = 0.0;\n bitangents[40] = 0.0;\n bitangents[41] = 1.0;\n bitangents[42] = 0.0;\n bitangents[43] = 0.0;\n bitangents[44] = 1.0;\n bitangents[45] = 0.0;\n bitangents[46] = 0.0;\n bitangents[47] = 1.0;\n\n // +y face\n bitangents[48] = 0.0;\n bitangents[49] = 0.0;\n bitangents[50] = 1.0;\n bitangents[51] = 0.0;\n bitangents[52] = 0.0;\n bitangents[53] = 1.0;\n bitangents[54] = 0.0;\n bitangents[55] = 0.0;\n bitangents[56] = 1.0;\n bitangents[57] = 0.0;\n bitangents[58] = 0.0;\n bitangents[59] = 1.0;\n\n // -y face\n bitangents[60] = 0.0;\n bitangents[61] = 0.0;\n bitangents[62] = 1.0;\n bitangents[63] = 0.0;\n bitangents[64] = 0.0;\n bitangents[65] = 1.0;\n bitangents[66] = 0.0;\n bitangents[67] = 0.0;\n bitangents[68] = 1.0;\n bitangents[69] = 0.0;\n bitangents[70] = 0.0;\n bitangents[71] = 1.0;\n\n attributes.bitangent = new GeometryAttribute({\n componentDatatype: ComponentDatatype.FLOAT,\n componentsPerAttribute: 3,\n values: bitangents,\n });\n }\n\n // 12 triangles: 6 faces, 2 triangles each.\n indices = new Uint16Array(6 * 2 * 3);\n\n // +z face\n indices[0] = 0;\n indices[1] = 1;\n indices[2] = 2;\n indices[3] = 0;\n indices[4] = 2;\n indices[5] = 3;\n\n // -z face\n indices[6] = 4 + 2;\n indices[7] = 4 + 1;\n indices[8] = 4 + 0;\n indices[9] = 4 + 3;\n indices[10] = 4 + 2;\n indices[11] = 4 + 0;\n\n // +x face\n indices[12] = 8 + 0;\n indices[13] = 8 + 1;\n indices[14] = 8 + 2;\n indices[15] = 8 + 0;\n indices[16] = 8 + 2;\n indices[17] = 8 + 3;\n\n // -x face\n indices[18] = 12 + 2;\n indices[19] = 12 + 1;\n indices[20] = 12 + 0;\n indices[21] = 12 + 3;\n indices[22] = 12 + 2;\n indices[23] = 12 + 0;\n\n // +y face\n indices[24] = 16 + 2;\n indices[25] = 16 + 1;\n indices[26] = 16 + 0;\n indices[27] = 16 + 3;\n indices[28] = 16 + 2;\n indices[29] = 16 + 0;\n\n // -y face\n indices[30] = 20 + 0;\n indices[31] = 20 + 1;\n indices[32] = 20 + 2;\n indices[33] = 20 + 0;\n indices[34] = 20 + 2;\n indices[35] = 20 + 3;\n } else {\n // Positions only - no need to duplicate corner points\n positions = new Float64Array(8 * 3);\n\n positions[0] = min.x;\n positions[1] = min.y;\n positions[2] = min.z;\n positions[3] = max.x;\n positions[4] = min.y;\n positions[5] = min.z;\n positions[6] = max.x;\n positions[7] = max.y;\n positions[8] = min.z;\n positions[9] = min.x;\n positions[10] = max.y;\n positions[11] = min.z;\n positions[12] = min.x;\n positions[13] = min.y;\n positions[14] = max.z;\n positions[15] = max.x;\n positions[16] = min.y;\n positions[17] = max.z;\n positions[18] = max.x;\n positions[19] = max.y;\n positions[20] = max.z;\n positions[21] = min.x;\n positions[22] = max.y;\n positions[23] = max.z;\n\n attributes.position = new GeometryAttribute({\n componentDatatype: ComponentDatatype.DOUBLE,\n componentsPerAttribute: 3,\n values: positions,\n });\n\n // 12 triangles: 6 faces, 2 triangles each.\n indices = new Uint16Array(6 * 2 * 3);\n\n // plane z = corner.Z\n indices[0] = 4;\n indices[1] = 5;\n indices[2] = 6;\n indices[3] = 4;\n indices[4] = 6;\n indices[5] = 7;\n\n // plane z = -corner.Z\n indices[6] = 1;\n indices[7] = 0;\n indices[8] = 3;\n indices[9] = 1;\n indices[10] = 3;\n indices[11] = 2;\n\n // plane x = corner.X\n indices[12] = 1;\n indices[13] = 6;\n indices[14] = 5;\n indices[15] = 1;\n indices[16] = 2;\n indices[17] = 6;\n\n // plane y = corner.Y\n indices[18] = 2;\n indices[19] = 3;\n indices[20] = 7;\n indices[21] = 2;\n indices[22] = 7;\n indices[23] = 6;\n\n // plane x = -corner.X\n indices[24] = 3;\n indices[25] = 0;\n indices[26] = 4;\n indices[27] = 3;\n indices[28] = 4;\n indices[29] = 7;\n\n // plane y = -corner.Y\n indices[30] = 0;\n indices[31] = 1;\n indices[32] = 5;\n indices[33] = 0;\n indices[34] = 5;\n indices[35] = 4;\n }\n\n const diff = Cartesian3.subtract(max, min, diffScratch);\n const radius = Cartesian3.magnitude(diff) * 0.5;\n\n if (defined(boxGeometry._offsetAttribute)) {\n const length = positions.length;\n const applyOffset = new Uint8Array(length / 3);\n const offsetValue =\n boxGeometry._offsetAttribute === GeometryOffsetAttribute.NONE ? 0 : 1;\n arrayFill(applyOffset, offsetValue);\n attributes.applyOffset = new GeometryAttribute({\n componentDatatype: ComponentDatatype.UNSIGNED_BYTE,\n componentsPerAttribute: 1,\n values: applyOffset,\n });\n }\n\n return new Geometry({\n attributes: attributes,\n indices: indices,\n primitiveType: PrimitiveType.TRIANGLES,\n boundingSphere: new BoundingSphere(Cartesian3.ZERO, radius),\n offsetAttribute: boxGeometry._offsetAttribute,\n });\n};\n\nlet unitBoxGeometry;\n\n/**\n * Returns the geometric representation of a unit box, including its vertices, indices, and a bounding sphere.\n * @returns {Geometry} The computed vertices and indices.\n *\n * @private\n */\nGrate.getUnitBox = function () {\n if (!defined(unitBoxGeometry)) {\n unitBoxGeometry = Grate.createGeometry(\n Grate.fromDimensions({\n dimensions: new Cartesian3(1.0, 1.0, 1.0),\n vertexFormat: VertexFormat.POSITION_ONLY,\n })\n );\n }\n return unitBoxGeometry;\n};\nexport default Grate;\n"],"mappings":"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MACjBA,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG;MACjBA,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG;MACjBA,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG;MACjBA,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG;MACjBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;;MAElB;MACAA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;;MAElB;MACAA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;;MAElB;MACAA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;;MAElB;MACAA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;MACnBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;;MAElB;MACAA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAClBA,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;MAElBpB,UAAU,CAACO,OAAO,GAAG,IAAIG,yBAAiB,CAAC;QACvCC,iBAAiB,EAAEC,yBAAiB,CAACM,KAAK;QAC1CJ,sBAAsB,EAAE,CAAC;QACzBC,MAAM,EAAEK;MACZ,CAAC,CAAC;IACN;IAEA,IAAIxD,YAAY,CAAC4C,SAAS,EAAE;MACxB,IAAMa,UAAU,GAAG,IAAIJ,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;MAE9C;MACAI,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;MACnBA,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;MACnBA,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;MACnBA,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;MACnBA,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;MACnBA,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;MACnBA,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;MACnBA,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;MACnBA,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;MACnBA,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG;MACnBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;;MAEpB;MACAA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;;MAEpB;MACAA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;;MAEpB;MACAA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;;MAEpB;MACAA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG;MACpBA,UAAU,CAAC,EAAE,CAAC,G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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreePointLayer.js","names":["_cesium","require","_Grate","_interopRequireDefault","_Well","_transformRgb","e","__esModule","_classCallCheck","a","n","TypeError","_defineProperties","r","t","length","o","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","prototype","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","iterator","u","f","next","done","push","value","isArray","_cache","getBoxGeometry","boxGeometry","Grate","fromDimensions","vertexFormat","VertexFormat","POSITION_NORMAL_AND_ST","dimensions","Cartesian3","getCylinderGeometry","cylinderGeometry","cylinder","Well","topRadius","bottomRadius","createGeometry","getGeometryByType","type","_split","split","_split2","TYPE","box","grate","well","ThreePointLayer","options","_this$data","_options$show","show","map","labelField","template","legend","layerControl","cancelPopup","tipTemplate","viewOnly","style","data","color","primitives","loadData","set","_this$primitives","primitive","_this","_this$loaded","destroy","types","colors","item","geometry","_instances","GeometryInstance","modelMatrix","Matrix4","multiplyByTranslation","Transforms","eastNorthUpToFixedFrame","fromDegrees","id","color_str","_colors$color_str","Primitive","geometryInstances","appearance","MaterialAppearance","material","Material","fabric","uniforms","Color","fromCssColorString","transformRgb","faceForward","asynchronous","setAttribute","scene","add","_types$type","image","loaded","_this$primitives2","remove","_default","exports"],"sources":["three-point-layer/ThreePointLayer.js"],"sourcesContent":["import {\r\n Material,\r\n Primitive,\r\n GeometryInstance,\r\n Cartesian3,\r\n Matrix4,\r\n MaterialAppearance,\r\n Transforms,\r\n VertexFormat,\r\n Color,\r\n} from 'cesium';\r\nimport Grate from \"./Grate.js\";\r\nimport Well from \"./Well.js\";\r\nimport transformRgb from \"../_util/transformRgb\";\r\n\r\nlet _cache = {};\r\n\r\n// 获取立方体\r\nconst getBoxGeometry = () => {\r\n if (_cache.boxGeometry) return _cache.boxGeometry;\r\n\r\n _cache.boxGeometry = Grate.fromDimensions({\r\n vertexFormat: VertexFormat.POSITION_NORMAL_AND_ST,\r\n dimensions: new Cartesian3(1.5, 1, 4.0) // 长宽高\r\n })\r\n\r\n return _cache.boxGeometry\r\n}\r\n\r\n// 获取圆柱\r\nconst getCylinderGeometry = () => {\r\n if (_cache.cylinderGeometry) return _cache.cylinderGeometry;\r\n\r\n const cylinder = new Well({\r\n length: 5.0, // 长度\r\n topRadius: 1.5, // 顶部半径\r\n bottomRadius: 1.5, // 底部半径\r\n // slices: 4\r\n })\r\n\r\n _cache.cylinderGeometry = Well.createGeometry(cylinder);\r\n\r\n return _cache.cylinderGeometry\r\n}\r\n\r\n// 根据类型获取几何体\r\nconst getGeometryByType = (type) => {\r\n const [TYPE] = (type || 'cylinder').split('_');\r\n return {\r\n box: getBoxGeometry,\r\n cylinder: getCylinderGeometry,\r\n grate: getBoxGeometry,\r\n well: getCylinderGeometry\r\n }[TYPE]()\r\n}\r\n\r\nclass ThreePointLayer {\r\n constructor(options) {\r\n const {show = true} = options;\r\n this.map = options.map;\r\n\r\n // 图层标识\r\n this.key = options.key;\r\n\r\n // 图层名称\r\n this.name = options.name;\r\n\r\n // 标签字段\r\n this.labelField = options.labelField;\r\n\r\n // 模版内容\r\n this.template = options.template;\r\n\r\n // 图例\r\n this.legend = options.legend;\r\n\r\n // 图层控制\r\n this.layerControl = options.layerControl;\r\n\r\n // 取消气泡\r\n this.cancelPopup = options.cancelPopup;\r\n\r\n // 气泡模板\r\n this.tipTemplate = options.tipTemplate;\r\n\r\n // 仅展示\r\n this.viewOnly = options.viewOnly;\r\n\r\n this.style = options.style;\r\n\r\n this.data = options.data;\r\n\r\n this.color = options.color;\r\n\r\n this.primitives = [];\r\n\r\n this.show = show;\r\n\r\n if (this.data?.length) {\r\n this.loadData(this.data)\r\n }\r\n }\r\n\r\n set show(value) {\r\n if (this.primitives?.length) {\r\n this.primitives.map(primitive => {\r\n primitive.show = value;\r\n })\r\n }\r\n }\r\n\r\n loadData(data) {\r\n this.data = data;\r\n const map = this.map;\r\n const show = this.show;\r\n const style = this.style;\r\n\r\n this.destroy();\r\n\r\n this.primitives = [];\r\n\r\n const types = {}, colors = {};\r\n\r\n data.map((item) => {\r\n let {data} = item;\r\n const type = item.type || 'cylinder';\r\n const color = item.color || this.color;\r\n\r\n let geometry = getGeometryByType(type);\r\n\r\n // 缓存颜色对应的数据\r\n if (color) {\r\n // 缓存颜色\r\n colors[color] = colors[color] || {\r\n item,\r\n _instances: [],\r\n data: [],\r\n color: color\r\n };\r\n\r\n // 缓存颜色对应的数据\r\n colors[color]._instances.push(new GeometryInstance({\r\n geometry,\r\n modelMatrix: Matrix4.multiplyByTranslation(Transforms.eastNorthUpToFixedFrame(\r\n Cartesian3.fromDegrees(data[0], data[1])),\r\n new Cartesian3(0.0, 0.0, data[2] || 0.0),\r\n new Matrix4()\r\n ),\r\n id: item.id,\r\n }))\r\n\r\n colors[color].data.push(item);\r\n } else if (style[type]) {\r\n // 缓存颜色\r\n types[type] = types[type] || {\r\n item,\r\n _instances: [],\r\n data: [],\r\n type,\r\n };\r\n\r\n types[type]._instances.push(new GeometryInstance({\r\n geometry,\r\n modelMatrix: Matrix4.multiplyByTranslation(Transforms.eastNorthUpToFixedFrame(\r\n Cartesian3.fromDegrees(data[0], data[1])),\r\n new Cartesian3(0.0, 0.0, data[2] || 0.0),\r\n new Matrix4()\r\n ),\r\n id: item.id,\r\n }))\r\n\r\n types[type].data.push(item)\r\n }\r\n });\r\n\r\n for (let color_str in colors) {\r\n const {color, data, _instances} = colors[color_str];\r\n\r\n const primitive = new Primitive({\r\n geometryInstances: _instances,\r\n show,\r\n appearance: new MaterialAppearance({\r\n material: new Material({\r\n fabric: {\r\n type: 'Color',\r\n uniforms: {\r\n color: Color.fromCssColorString(transformRgb(color, 1))\r\n }\r\n }\r\n }),\r\n faceForward: true\r\n }),\r\n asynchronous: false,\r\n })\r\n this.setAttribute(primitive, data);\r\n map.scene.primitives.add(primitive);\r\n this.primitives.push(primitive);\r\n }\r\n\r\n for (let type in types) {\r\n const {data, _instances} = types[type];\r\n\r\n const primitive = new Primitive({\r\n geometryInstances: _instances,\r\n show,\r\n appearance: new MaterialAppearance({\r\n material: new Material({\r\n fabric: {\r\n type: 'Image',\r\n uniforms: {\r\n image: style[type]\r\n }\r\n }\r\n }),\r\n faceForward: true,\r\n }),\r\n asynchronous: false,\r\n })\r\n this.setAttribute(primitive, data);\r\n map.scene.primitives.add(primitive);\r\n this.primitives.push(primitive);\r\n }\r\n\r\n this.loaded?.(this.primitives)\r\n }\r\n\r\n setAttribute(primitive, data) {\r\n // 图层标识\r\n primitive.key = this.key;\r\n\r\n // 数据\r\n primitive.data = data;\r\n\r\n // 图层名称\r\n primitive.name = this.name;\r\n\r\n // 标签字段\r\n primitive.labelField = this.labelField;\r\n\r\n // 模版内容\r\n primitive.template = this.template;\r\n\r\n // 图例\r\n primitive.legend = this.legend;\r\n\r\n // 图层控制\r\n primitive.layerControl = this.layerControl;\r\n\r\n // 取消气泡\r\n primitive.cancelPopup = this.cancelPopup;\r\n\r\n // 气泡模板\r\n primitive.tipTemplate = this.tipTemplate;\r\n\r\n // 仅展示\r\n primitive.viewOnly = this.viewOnly;\r\n }\r\n\r\n destroy() {\r\n const map = this.map;\r\n\r\n if (this.primitives?.length) {\r\n this.primitives.map(primitive => {\r\n map.scene.primitives.remove(primitive);\r\n })\r\n this.primitives = null;\r\n }\r\n }\r\n}\r\n\r\nexport default ThreePointLayer;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ThreePointLayer.js","names":["_cesium","require","_Grate","_interopRequireDefault","_Well","_transformRgb","e","__esModule","_classCallCheck","a","n","TypeError","_defineProperties","r","t","length","o","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","prototype","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","iterator","u","f","next","done","push","value","isArray","_cache","getBoxGeometry","boxGeometry","Grate","fromDimensions","vertexFormat","VertexFormat","POSITION_NORMAL_AND_ST","dimensions","Cartesian3","getCylinderGeometry","cylinderGeometry","cylinder","Well","topRadius","bottomRadius","createGeometry","getGeometryByType","type","_split","split","_split2","TYPE","box","grate","well","ThreePointLayer","options","_this$data","_options$show","show","map","labelField","template","legend","layerControl","cancelPopup","tipTemplate","viewOnly","style","data","color","primitives","loadData","set","_this$primitives","primitive","_this","_this$loaded","destroy","types","colors","item","geometry","_instances","GeometryInstance","modelMatrix","Matrix4","multiplyByTranslation","Transforms","eastNorthUpToFixedFrame","fromDegrees","id","color_str","_colors$color_str","Primitive","geometryInstances","appearance","MaterialAppearance","material","Material","fabric","uniforms","Color","fromCssColorString","transformRgb","faceForward","asynchronous","setAttribute","scene","add","_types$type","image","loaded","_this$primitives2","remove","_default","exports"],"sources":["three-point-layer/ThreePointLayer.js"],"sourcesContent":["import {\n Material,\n Primitive,\n GeometryInstance,\n Cartesian3,\n Matrix4,\n MaterialAppearance,\n Transforms,\n VertexFormat,\n Color,\n} from 'cesium';\nimport Grate from \"./Grate.js\";\nimport Well from \"./Well.js\";\nimport transformRgb from \"../_util/transformRgb\";\n\nlet _cache = {};\n\n// 获取立方体\nconst getBoxGeometry = () => {\n if (_cache.boxGeometry) return _cache.boxGeometry;\n\n _cache.boxGeometry = Grate.fromDimensions({\n vertexFormat: VertexFormat.POSITION_NORMAL_AND_ST,\n dimensions: new Cartesian3(1.5, 1, 4.0) // 长宽高\n })\n\n return _cache.boxGeometry\n}\n\n// 获取圆柱\nconst getCylinderGeometry = () => {\n if (_cache.cylinderGeometry) return _cache.cylinderGeometry;\n\n const cylinder = new Well({\n length: 5.0, // 长度\n topRadius: 1.5, // 顶部半径\n bottomRadius: 1.5, // 底部半径\n // slices: 4\n })\n\n _cache.cylinderGeometry = Well.createGeometry(cylinder);\n\n return _cache.cylinderGeometry\n}\n\n// 根据类型获取几何体\nconst getGeometryByType = (type) => {\n const [TYPE] = (type || 'cylinder').split('_');\n return {\n box: getBoxGeometry,\n cylinder: getCylinderGeometry,\n grate: getBoxGeometry,\n well: getCylinderGeometry\n }[TYPE]()\n}\n\nclass ThreePointLayer {\n constructor(options) {\n const {show = true} = options;\n this.map = options.map;\n\n // 图层标识\n this.key = options.key;\n\n // 图层名称\n this.name = options.name;\n\n // 标签字段\n this.labelField = options.labelField;\n\n // 模版内容\n this.template = options.template;\n\n // 图例\n this.legend = options.legend;\n\n // 图层控制\n this.layerControl = options.layerControl;\n\n // 取消气泡\n this.cancelPopup = options.cancelPopup;\n\n // 气泡模板\n this.tipTemplate = options.tipTemplate;\n\n // 仅展示\n this.viewOnly = options.viewOnly;\n\n this.style = options.style;\n\n this.data = options.data;\n\n this.color = options.color;\n\n this.primitives = [];\n\n this.show = show;\n\n if (this.data?.length) {\n this.loadData(this.data)\n }\n }\n\n set show(value) {\n if (this.primitives?.length) {\n this.primitives.map(primitive => {\n primitive.show = value;\n })\n }\n }\n\n loadData(data) {\n this.data = data;\n const map = this.map;\n const show = this.show;\n const style = this.style;\n\n this.destroy();\n\n this.primitives = [];\n\n const types = {}, colors = {};\n\n data.map((item) => {\n let {data} = item;\n const type = item.type || 'cylinder';\n const color = item.color || this.color;\n\n let geometry = getGeometryByType(type);\n\n // 缓存颜色对应的数据\n if (color) {\n // 缓存颜色\n colors[color] = colors[color] || {\n item,\n _instances: [],\n data: [],\n color: color\n };\n\n // 缓存颜色对应的数据\n colors[color]._instances.push(new GeometryInstance({\n geometry,\n modelMatrix: Matrix4.multiplyByTranslation(Transforms.eastNorthUpToFixedFrame(\n Cartesian3.fromDegrees(data[0], data[1])),\n new Cartesian3(0.0, 0.0, data[2] || 0.0),\n new Matrix4()\n ),\n id: item.id,\n }))\n\n colors[color].data.push(item);\n } else if (style[type]) {\n // 缓存颜色\n types[type] = types[type] || {\n item,\n _instances: [],\n data: [],\n type,\n };\n\n types[type]._instances.push(new GeometryInstance({\n geometry,\n modelMatrix: Matrix4.multiplyByTranslation(Transforms.eastNorthUpToFixedFrame(\n Cartesian3.fromDegrees(data[0], data[1])),\n new Cartesian3(0.0, 0.0, data[2] || 0.0),\n new Matrix4()\n ),\n id: item.id,\n }))\n\n types[type].data.push(item)\n }\n });\n\n for (let color_str in colors) {\n const {color, data, _instances} = colors[color_str];\n\n const primitive = new Primitive({\n geometryInstances: _instances,\n show,\n appearance: new MaterialAppearance({\n material: new Material({\n fabric: {\n type: 'Color',\n uniforms: {\n color: Color.fromCssColorString(transformRgb(color, 1))\n }\n }\n }),\n faceForward: true\n }),\n asynchronous: false,\n })\n this.setAttribute(primitive, data);\n map.scene.primitives.add(primitive);\n this.primitives.push(primitive);\n }\n\n for (let type in types) {\n const {data, _instances} = types[type];\n\n const primitive = new Primitive({\n geometryInstances: _instances,\n show,\n appearance: new MaterialAppearance({\n material: new Material({\n fabric: {\n type: 'Image',\n uniforms: {\n image: style[type]\n }\n }\n }),\n faceForward: true,\n }),\n asynchronous: false,\n })\n this.setAttribute(primitive, data);\n map.scene.primitives.add(primitive);\n this.primitives.push(primitive);\n }\n\n this.loaded?.(this.primitives)\n }\n\n setAttribute(primitive, data) {\n // 图层标识\n primitive.key = this.key;\n\n // 数据\n primitive.data = data;\n\n // 图层名称\n primitive.name = this.name;\n\n // 标签字段\n primitive.labelField = this.labelField;\n\n // 模版内容\n primitive.template = this.template;\n\n // 图例\n primitive.legend = this.legend;\n\n // 图层控制\n primitive.layerControl = this.layerControl;\n\n // 取消气泡\n primitive.cancelPopup = this.cancelPopup;\n\n // 气泡模板\n primitive.tipTemplate = this.tipTemplate;\n\n // 仅展示\n primitive.viewOnly = this.viewOnly;\n }\n\n destroy() {\n const map = this.map;\n\n if (this.primitives?.length) {\n this.primitives.map(primitive => {\n map.scene.primitives.remove(primitive);\n })\n this.primitives = null;\n }\n }\n}\n\nexport default ThreePointLayer;\n"],"mappings":"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","ignoreList":[]}
|