deeptwins-engine-3d 0.1.76 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/Build/DeepTwins/Image/noise.png +0 -0
- package/dist/assets/Build/DeepTwins/Workers/CustomRasterClip.worker.js +1 -2
- package/dist/assets/Build/DeepTwins/Workers/MvtVector.worker.js +1 -1
- package/dist/assets/Build/Map3d/ThirdParty/Workers/zip-web-worker.js +640 -0
- package/dist/assets/Build/Map3d/ThirdParty/wasm_splats_bg.wasm +0 -0
- package/dist/assets/Build/Map3d/ThirdParty/zip-module.wasm +0 -0
- package/dist/assets/Build/Map3d/Workers/chunk-27NG6PQR.js +456 -0
- package/dist/assets/Build/Map3d/Workers/chunk-2JVMMMWT.js +353 -0
- package/dist/assets/Build/Map3d/Workers/chunk-2Y2XYQCS.js +1481 -0
- package/dist/assets/Build/Map3d/Workers/chunk-34RF3V5G.js +220 -0
- package/dist/assets/Build/Map3d/Workers/chunk-35H7BYLJ.js +1800 -0
- package/dist/assets/Build/Map3d/Workers/chunk-57OGEF5V.js +435 -0
- package/dist/assets/Build/Map3d/Workers/chunk-5PX3DYJA.js +196 -0
- package/dist/assets/Build/Map3d/Workers/chunk-7B5XGQRN.js +171 -0
- package/dist/assets/Build/Map3d/Workers/chunk-ATLWOZFF.js +39 -0
- package/dist/assets/Build/Map3d/Workers/chunk-BMSUECTA.js +1055 -0
- package/dist/assets/Build/Map3d/Workers/chunk-C6IA4TKW.js +476 -0
- package/dist/assets/Build/Map3d/Workers/chunk-CZ44I32U.js +157 -0
- package/dist/assets/Build/Map3d/Workers/chunk-DE6UV44R.js +122 -0
- package/dist/assets/Build/Map3d/Workers/chunk-DUCCKVOG.js +834 -0
- package/dist/assets/Build/Map3d/Workers/chunk-EBJBPIYX.js +239 -0
- package/dist/assets/Build/Map3d/Workers/chunk-EYSYQ2R6.js +138 -0
- package/dist/assets/Build/Map3d/Workers/chunk-FMCAAUQI.js +368 -0
- package/dist/assets/Build/Map3d/Workers/chunk-GMYZNRRQ.js +2717 -0
- package/dist/assets/Build/Map3d/Workers/chunk-GWPNZZV4.js +781 -0
- package/dist/assets/Build/Map3d/Workers/chunk-HLP2U4KW.js +758 -0
- package/dist/assets/Build/Map3d/Workers/chunk-HSJSUPQV.js +500 -0
- package/dist/assets/Build/Map3d/Workers/chunk-I73Q3AG7.js +58 -0
- package/dist/assets/Build/Map3d/Workers/chunk-IMZ4YIMV.js +511 -0
- package/dist/assets/Build/Map3d/Workers/chunk-IZSK4DVF.js +421 -0
- package/dist/assets/Build/Map3d/Workers/chunk-JKLMRPKK.js +75 -0
- package/dist/assets/Build/Map3d/Workers/chunk-KGM345JM.js +691 -0
- package/dist/assets/Build/Map3d/Workers/chunk-L4IR5U4G.js +102 -0
- package/dist/assets/Build/Map3d/Workers/chunk-MG4EVQH2.js +44 -0
- package/dist/assets/Build/Map3d/Workers/chunk-NXWEFAZJ.js +300 -0
- package/dist/assets/Build/Map3d/Workers/chunk-PDFAJISJ.js +59 -0
- package/dist/assets/Build/Map3d/Workers/chunk-PHWZFJR5.js +100 -0
- package/dist/assets/Build/Map3d/Workers/chunk-PLE7CHBE.js +101 -0
- package/dist/assets/Build/Map3d/Workers/chunk-PN3GIZ5Q.js +163 -0
- package/dist/assets/Build/Map3d/Workers/chunk-PXL5XLHV.js +1073 -0
- package/dist/assets/Build/Map3d/Workers/chunk-QYXOF5JC.js +959 -0
- package/dist/assets/Build/Map3d/Workers/chunk-R2LIFXV3.js +115 -0
- package/dist/assets/Build/Map3d/Workers/chunk-R4W6IRJZ.js +10357 -0
- package/dist/assets/Build/Map3d/Workers/chunk-R5PZXG56.js +1258 -0
- package/dist/assets/Build/Map3d/Workers/chunk-RZQLZIUI.js +629 -0
- package/dist/assets/Build/Map3d/Workers/chunk-SIBDD6Y4.js +390 -0
- package/dist/assets/Build/Map3d/Workers/chunk-U5NN6JTQ.js +398 -0
- package/dist/assets/Build/Map3d/Workers/chunk-UA5RPPP3.js +73 -0
- package/dist/assets/Build/Map3d/Workers/chunk-UXLKFS3C.js +305 -0
- package/dist/assets/Build/Map3d/Workers/chunk-VUX4BQIM.js +37 -0
- package/dist/assets/Build/Map3d/Workers/chunk-WJDUUUJS.js +684 -0
- package/dist/assets/Build/Map3d/Workers/chunk-XBJOJHWX.js +139 -0
- package/dist/assets/Build/Map3d/Workers/chunk-XJDMTNKD.js +634 -0
- package/dist/assets/Build/Map3d/Workers/chunk-XUCXZZE5.js +963 -0
- package/dist/assets/Build/Map3d/Workers/chunk-YIKGVMJ5.js +287 -0
- package/dist/assets/Build/Map3d/Workers/chunk-YTNCIBPQ.js +262 -0
- package/dist/assets/Build/Map3d/Workers/chunk-ZMDUYETO.js +55 -0
- package/dist/assets/Build/Map3d/Workers/chunk-ZW52HXFN.js +2857 -0
- package/dist/esm/analyze/LineOfSightAnalysis.js +1 -326
- package/dist/esm/analyze/SubmergenceAnalysis.js +1 -137
- package/dist/esm/analyze/SunLightAnalysis.js +1 -91
- package/dist/esm/analyze/TerrainExcavationAnalysis.js +1 -612
- package/dist/esm/analyze/ViewshedAnalysis.js +1 -292
- package/dist/esm/cameraControl/ModelRoamHistory.js +1 -639
- package/dist/esm/cameraControl/ModelRoamRealTime.js +1 -874
- package/dist/esm/cameraControl/Roam.js +1 -418
- package/dist/esm/cameraControl/Rotate.js +1 -134
- package/dist/esm/cameraControl/RotateInPlace.js +1 -99
- package/dist/esm/constant.d.ts +90 -0
- package/dist/esm/constant.js +1 -1287
- package/dist/esm/deepTwins/index.js +1 -121
- package/dist/esm/drawCommand/index.js +1 -3
- package/dist/esm/drawCommand/viewShed/Event.js +1 -142
- package/dist/esm/drawCommand/viewShed/RectangularSensorPrimitive.js +1 -1306
- package/dist/esm/drawCommand/viewShed/ViewShadowPrimitive.js +1 -66
- package/dist/esm/drawCommand/viewShed/ViewShedAnalyserLayer.js +1 -466
- package/dist/esm/drawCommand/viewShed/ViewShedMap.js +1 -1238
- package/dist/esm/drawCommand/viewShed/config.js +1 -21
- package/dist/esm/drawCommand/volumeCloud/GeometryPrimitive.js +1 -89
- package/dist/esm/drawCommand/volumeCloud/ImprovedNoise.js +1 -112
- package/dist/esm/drawCommand/volumeCloud/VolumeClouds.js +1 -91
- package/dist/esm/drawer/algorithm.js +1 -314
- package/dist/esm/drawer/common.js +1 -965
- package/dist/esm/drawer/coordinate.js +1 -184
- package/dist/esm/drawer/index.d.ts +1 -1
- package/dist/esm/drawer/index.js +1 -688
- package/dist/esm/drawer/plotUtil.js +1 -266
- package/dist/esm/drawer/shape/Assemble.js +1 -415
- package/dist/esm/drawer/shape/AttackArrow.js +1 -442
- package/dist/esm/drawer/shape/BaseShape.js +1 -383
- package/dist/esm/drawer/shape/Bow.js +1 -375
- package/dist/esm/drawer/shape/Circle.js +1 -461
- package/dist/esm/drawer/shape/Curve.js +1 -386
- package/dist/esm/drawer/shape/DragPoint.js +1 -211
- package/dist/esm/drawer/shape/Elliptic.js +1 -491
- package/dist/esm/drawer/shape/Formation.js +1 -395
- package/dist/esm/drawer/shape/PincerArrow.js +1 -445
- package/dist/esm/drawer/shape/Point.js +1 -131
- package/dist/esm/drawer/shape/Polygon.js +1 -368
- package/dist/esm/drawer/shape/Polyline.js +1 -325
- package/dist/esm/drawer/shape/RegularPolygon.js +1 -468
- package/dist/esm/drawer/shape/RightAngleArrow.js +1 -423
- package/dist/esm/drawer/shape/Sector.js +1 -568
- package/dist/esm/drawer/shape/StraightArrow.js +1 -422
- package/dist/esm/drawer/shape/SwallowtailArrow.js +1 -438
- package/dist/esm/drawer/types.js +1 -11
- package/dist/esm/drawer/utils.js +1 -381
- package/dist/esm/global.css +22 -1
- package/dist/esm/graphicLayer/BaseEntity.js +1 -51
- package/dist/esm/graphicLayer/BaseLayer.js +1 -730
- package/dist/esm/graphicLayer/BasePointPrimitive.js +1 -45
- package/dist/esm/graphicLayer/BasePrimitive.js +1 -36
- package/dist/esm/graphicLayer/BasePrimitiveInstance.js +1 -37
- package/dist/esm/graphicLayer/BaseSource.d.ts +1 -1
- package/dist/esm/graphicLayer/BaseSource.js +1 -630
- package/dist/esm/graphicLayer/BillboardEntity.js +1 -106
- package/dist/esm/graphicLayer/BillboardPrimitive.js +1 -119
- package/dist/esm/graphicLayer/BoxEntity.js +1 -99
- package/dist/esm/graphicLayer/BoxPrimitive.js +1 -48
- package/dist/esm/graphicLayer/BoxPrimitiveInstance.js +1 -91
- package/dist/esm/graphicLayer/EllipseEntity.js +1 -110
- package/dist/esm/graphicLayer/EllipsePrimitive.js +1 -47
- package/dist/esm/graphicLayer/EllipsePrimitiveInstance.js +1 -98
- package/dist/esm/graphicLayer/EllipsoidEntity.js +1 -118
- package/dist/esm/graphicLayer/EllipsoidPrimitive.js +1 -48
- package/dist/esm/graphicLayer/EllipsoidPrimitiveInstance.js +1 -113
- package/dist/esm/graphicLayer/GraphicLayerCollection.js +1 -491
- package/dist/esm/graphicLayer/HtmlEntity.d.ts +4 -0
- package/dist/esm/graphicLayer/HtmlEntity.js +1 -189
- package/dist/esm/graphicLayer/LabelEntity.js +1 -110
- package/dist/esm/graphicLayer/LabelPrimitive.js +1 -127
- package/dist/esm/graphicLayer/ModelEntity.js +1 -122
- package/dist/esm/graphicLayer/ModelPrimitive.js +1 -59
- package/dist/esm/graphicLayer/ModelPrimitiveInstance.js +1 -86
- package/dist/esm/graphicLayer/PointEntity.js +1 -94
- package/dist/esm/graphicLayer/PointPrimitive.js +1 -107
- package/dist/esm/graphicLayer/PolygonEntity.js +1 -103
- package/dist/esm/graphicLayer/PolygonGroundPrimitive.js +1 -49
- package/dist/esm/graphicLayer/PolygonGroundPrimitiveImageMaterialInstance.js +1 -87
- package/dist/esm/graphicLayer/PolygonPrimitive.js +1 -60
- package/dist/esm/graphicLayer/PolygonPrimitiveImageMaterialInstance.js +1 -84
- package/dist/esm/graphicLayer/PolygonPrimitiveInstance.js +1 -101
- package/dist/esm/graphicLayer/PolylineEntity.js +1 -96
- package/dist/esm/graphicLayer/PolylineGroundPrimitive.js +1 -55
- package/dist/esm/graphicLayer/PolylineGroundPrimitiveInstance.js +1 -85
- package/dist/esm/graphicLayer/PolylinePrimitive.js +1 -53
- package/dist/esm/graphicLayer/PolylinePrimitiveInstance.js +1 -85
- package/dist/esm/graphicLayer/PolylineVolumeEntity.js +1 -105
- package/dist/esm/graphicLayer/PolylineVolumePrimitive.js +1 -47
- package/dist/esm/graphicLayer/PolylineVolumePrimitiveInstance.js +1 -94
- package/dist/esm/graphicLayer/WallEntity.js +1 -96
- package/dist/esm/graphicLayer/WallPrimitive.js +1 -47
- package/dist/esm/graphicLayer/WallPrimitiveInstance.js +1 -88
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +1 -175
- package/dist/esm/lowAltitude/BarrierLayer.js +1 -172
- package/dist/esm/lowAltitude/BaseGridMvtLayer.js +1 -122
- package/dist/esm/lowAltitude/FactorLayer.js +1 -199
- package/dist/esm/lowAltitude/FlightPlanning.js +1 -411
- package/dist/esm/lowAltitude/FlightRiskEvaluation.js +1 -543
- package/dist/esm/lowAltitude/GridDraw.js +1 -137
- package/dist/esm/lowAltitude/PoiLayer.js +1 -74
- package/dist/esm/lowAltitude/RoutePlanning.js +1 -318
- package/dist/esm/lowAltitude/VisitLayer.js +1 -180
- package/dist/esm/map/Event.js +1 -377
- package/dist/esm/map/GroundSkyBox.js +1 -166
- package/dist/esm/map/Map.js +1 -881
- package/dist/esm/map/Property.js +1 -35
- package/dist/esm/material/AtmosphericDispersion.js +1 -569
- package/dist/esm/material/GlobalVolumetricCloud.js +1 -377
- package/dist/esm/material/VolumeCloud.js +1 -115
- package/dist/esm/material/WeatherEffects.js +1 -351
- package/dist/esm/material/entity/BaseMaterialProperty.js +1 -51
- package/dist/esm/material/entity/CircleWaveMaterialProperty.js +1 -101
- package/dist/esm/material/entity/DynamicWallMaterialProperty.js +1 -101
- package/dist/esm/material/entity/ImageGlowingMaterialProperty.js +1 -89
- package/dist/esm/material/entity/ImageMaterialProperty.js +1 -34
- package/dist/esm/material/entity/PolylineTrailLinkMaterialProperty.js +1 -132
- package/dist/esm/material/primitive/BaseMaterialAppearance.js +1 -28
- package/dist/esm/material/primitive/ImageGlowingMaterialAppearance.js +1 -77
- package/dist/esm/material/primitive/ImageMaterialAppearance.js +1 -77
- package/dist/esm/measure/Area.js +1 -220
- package/dist/esm/measure/BaseDraw.js +1 -105
- package/dist/esm/measure/Distance.js +1 -223
- package/dist/esm/measure/index.js +1 -266
- package/dist/esm/measure/types.js +1 -17
- package/dist/esm/measure/utils.js +1 -319
- package/dist/esm/particle/BaseParticle.js +1 -196
- package/dist/esm/particle/FireParticle.js +1 -65
- package/dist/esm/particle/FountainParticle.js +1 -80
- package/dist/esm/particle/SmokeParticle.js +1 -65
- package/dist/esm/particle/common.js +1 -23
- package/dist/esm/particle/index.js +1 -5
- package/dist/esm/property/PositionProperty.js +1 -56
- package/dist/esm/tileLayer/ArcGisLayer.js +1 -41
- package/dist/esm/tileLayer/CustomRasterClipWorkerClient.js +1 -147
- package/dist/esm/tileLayer/CustomRasterLayer.js +1 -1136
- package/dist/esm/tileLayer/ImageryLayer.js +1 -44
- package/dist/esm/tileLayer/MvtVectorLoad.js +1 -1549
- package/dist/esm/tileLayer/MvtVectorWorkerClient.js +1 -126
- package/dist/esm/tileLayer/RasterLayer.js +1 -23
- package/dist/esm/tileLayer/WmsLayer.js +1 -26
- package/dist/esm/tileLayer/WmtsLayer.js +1 -23
- package/dist/esm/tool/BuildClampedPolygonGrid.js +1 -278
- package/dist/esm/tool/Compass.js +1 -282
- package/dist/esm/tool/PrimitiveCluster.js +1 -706
- package/dist/esm/tool/TimerInterval.js +1 -58
- package/dist/esm/tool/common.js +1 -405
- package/dist/esm/tool/fetch.js +1 -222
- package/dist/esm/tool/heatmap.js +1 -631
- package/dist/esm/tool/utils.d.ts +1 -0
- package/dist/esm/tool/utils.js +1 -501
- package/dist/esm/toolTip/index.js +1 -79
- package/dist/esm/videoFusion/BaseVideo.d.ts +7 -0
- package/dist/esm/videoFusion/BaseVideo.js +1 -330
- package/dist/esm/videoFusion/VideoProject.js +1 -230
- package/dist/esm/videoFusion/VideoTexture.js +1 -163
- package/dist/esm/visualization/BaseHeatmap.js +1 -271
- package/dist/esm/visualization/BoundaryHighlight.d.ts +136 -0
- package/dist/esm/visualization/BoundaryHighlight.js +1 -0
- package/dist/esm/visualization/DynamicWater.js +1 -289
- package/dist/esm/visualization/Frustum.js +1 -248
- package/dist/esm/visualization/Heatmap2d.js +1 -97
- package/dist/esm/visualization/Heatmap3d.js +1 -281
- package/dist/esm/visualization/MigrationEffect.js +1 -397
- package/dist/esm/visualization/PointCluster.js +1 -220
- package/dist/esm/visualization/RadarScan.js +1 -333
- package/dist/esm/visualization/SampledTerrainRiver.d.ts +180 -0
- package/dist/esm/visualization/SampledTerrainRiver.js +1 -0
- package/dist/esm/visualization/SampledTerrainWater.d.ts +170 -0
- package/dist/esm/visualization/SampledTerrainWater.js +1 -0
- package/dist/esm/visualization/WindField.d.ts +72 -0
- package/dist/esm/visualization/WindField.js +1 -0
- package/dist/esm/visualization/windCore.d.ts +161 -0
- package/dist/esm/visualization/windCore.js +8 -0
- package/dist/umd/deeptwins-engine-3d.min.css +1 -1
- package/dist/umd/deeptwins-engine-3d.min.js +1 -1
- package/package.json +6 -4
|
@@ -1,289 +1 @@
|
|
|
1
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
3
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
5
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
6
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
7
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
8
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
11
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
12
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
13
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
14
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
15
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
16
|
-
import * as Cesium from 'deeptwins-cesium';
|
|
17
|
-
import { cloneDeep, merge } from 'lodash';
|
|
18
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
19
|
-
import { DEFAULT_DYNAMIC_WATER_STYLE } from "../constant";
|
|
20
|
-
import * as utils from "../tool/utils";
|
|
21
|
-
var REBUILD_STYLE_KEYS = ['height', 'stRotation'];
|
|
22
|
-
|
|
23
|
-
// 动态反射水面
|
|
24
|
-
var DynamicWater = /*#__PURE__*/function () {
|
|
25
|
-
function DynamicWater() {
|
|
26
|
-
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
27
|
-
_classCallCheck(this, DynamicWater);
|
|
28
|
-
_defineProperty(this, "_mapContext", void 0);
|
|
29
|
-
_defineProperty(this, "id", void 0);
|
|
30
|
-
_defineProperty(this, "positions", []);
|
|
31
|
-
_defineProperty(this, "style", void 0);
|
|
32
|
-
_defineProperty(this, "primitive", null);
|
|
33
|
-
_defineProperty(this, "material", null);
|
|
34
|
-
_defineProperty(this, "isDestroyed", false);
|
|
35
|
-
_defineProperty(this, "_cartesianPositions", []);
|
|
36
|
-
_defineProperty(this, "_isAdded", false);
|
|
37
|
-
var _options$positions = options.positions,
|
|
38
|
-
positions = _options$positions === void 0 ? [] : _options$positions,
|
|
39
|
-
_options$style = options.style,
|
|
40
|
-
style = _options$style === void 0 ? {} : _options$style;
|
|
41
|
-
this.id = uuidv4();
|
|
42
|
-
this.positions = positions;
|
|
43
|
-
this.style = merge(DEFAULT_DYNAMIC_WATER_STYLE(), cloneDeep(style || {}));
|
|
44
|
-
this._cartesianPositions = this._transformPositions(this.positions);
|
|
45
|
-
}
|
|
46
|
-
_createClass(DynamicWater, [{
|
|
47
|
-
key: "getMap",
|
|
48
|
-
value: function getMap() {
|
|
49
|
-
var _this$_mapContext;
|
|
50
|
-
return (_this$_mapContext = this._mapContext) === null || _this$_mapContext === void 0 ? void 0 : _this$_mapContext.getMap();
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// 添加到地图
|
|
54
|
-
}, {
|
|
55
|
-
key: "addToMap",
|
|
56
|
-
value: function addToMap(map) {
|
|
57
|
-
if (!this._canOperate()) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
if (this._isAdded && this.getMap() === map) {
|
|
61
|
-
return this;
|
|
62
|
-
}
|
|
63
|
-
if (this._isAdded) {
|
|
64
|
-
this.remove();
|
|
65
|
-
}
|
|
66
|
-
this._mapContext = map._mapContext;
|
|
67
|
-
this._rebuildPrimitive();
|
|
68
|
-
return this;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
// 移除水面
|
|
72
|
-
}, {
|
|
73
|
-
key: "remove",
|
|
74
|
-
value: function remove() {
|
|
75
|
-
if (this.isDestroyed || !this._isAdded) {
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
var map = this.getMap();
|
|
79
|
-
if (map && this.primitive) {
|
|
80
|
-
map.scene.primitives.remove(this.primitive);
|
|
81
|
-
}
|
|
82
|
-
this.primitive = null;
|
|
83
|
-
this.material = null;
|
|
84
|
-
this._isAdded = false;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
// 显示隐藏
|
|
88
|
-
}, {
|
|
89
|
-
key: "show",
|
|
90
|
-
value: function show(isShow) {
|
|
91
|
-
if (!this._canOperate()) {
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
this.style.show = isShow;
|
|
95
|
-
if (this.primitive) {
|
|
96
|
-
this.primitive.show = isShow;
|
|
97
|
-
}
|
|
98
|
-
return this;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// 更新水面范围
|
|
102
|
-
}, {
|
|
103
|
-
key: "setData",
|
|
104
|
-
value: function setData() {
|
|
105
|
-
var positions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
106
|
-
if (!this._canOperate()) {
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
this.positions = positions;
|
|
110
|
-
this._cartesianPositions = this._transformPositions(positions);
|
|
111
|
-
if (this._isAdded) {
|
|
112
|
-
this._rebuildPrimitive();
|
|
113
|
-
}
|
|
114
|
-
return this;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
// 更新水面样式
|
|
118
|
-
}, {
|
|
119
|
-
key: "setStyle",
|
|
120
|
-
value: function setStyle() {
|
|
121
|
-
var style = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
122
|
-
if (!this._canOperate()) {
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
var needRebuild = REBUILD_STYLE_KEYS.some(function (key) {
|
|
126
|
-
return Object.prototype.hasOwnProperty.call(style, key);
|
|
127
|
-
});
|
|
128
|
-
this.style = merge(this.style, cloneDeep(style || {}));
|
|
129
|
-
if (!this._isAdded) {
|
|
130
|
-
return this;
|
|
131
|
-
}
|
|
132
|
-
if (needRebuild) {
|
|
133
|
-
this._rebuildPrimitive();
|
|
134
|
-
} else {
|
|
135
|
-
this._updateMaterialUniforms();
|
|
136
|
-
this.show(this.style.show);
|
|
137
|
-
}
|
|
138
|
-
return this;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
// 飞行至水面位置
|
|
142
|
-
}, {
|
|
143
|
-
key: "flyTo",
|
|
144
|
-
value: function flyTo() {
|
|
145
|
-
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
146
|
-
if (!this._canOperate() || !this.getMap()) {
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
if (this._cartesianPositions.length < 3) {
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
utils.cameraFlyToPositions(this.getMap().camera, this._cartesianPositions, _objectSpread({
|
|
153
|
-
scale: 1.4
|
|
154
|
-
}, options));
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
// 销毁
|
|
158
|
-
}, {
|
|
159
|
-
key: "destroy",
|
|
160
|
-
value: function destroy() {
|
|
161
|
-
if (this.isDestroyed) {
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
this.remove();
|
|
165
|
-
this.positions = [];
|
|
166
|
-
this._cartesianPositions = [];
|
|
167
|
-
this._mapContext = undefined;
|
|
168
|
-
this.isDestroyed = true;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
// 是否能进行操作
|
|
172
|
-
}, {
|
|
173
|
-
key: "_canOperate",
|
|
174
|
-
value: function _canOperate() {
|
|
175
|
-
if (this.isDestroyed) {
|
|
176
|
-
utils.error('DynamicWater实例已销毁');
|
|
177
|
-
return false;
|
|
178
|
-
}
|
|
179
|
-
return true;
|
|
180
|
-
}
|
|
181
|
-
}, {
|
|
182
|
-
key: "_rebuildPrimitive",
|
|
183
|
-
value: function _rebuildPrimitive() {
|
|
184
|
-
var map = this.getMap();
|
|
185
|
-
if (!map) {
|
|
186
|
-
return;
|
|
187
|
-
}
|
|
188
|
-
if (this.primitive) {
|
|
189
|
-
map.scene.primitives.remove(this.primitive);
|
|
190
|
-
this.primitive = null;
|
|
191
|
-
this.material = null;
|
|
192
|
-
}
|
|
193
|
-
if (this._cartesianPositions.length < 3) {
|
|
194
|
-
utils.error('DynamicWater至少需要3个有效点');
|
|
195
|
-
this._isAdded = false;
|
|
196
|
-
return;
|
|
197
|
-
}
|
|
198
|
-
var geometry = new Cesium.PolygonGeometry({
|
|
199
|
-
polygonHierarchy: new Cesium.PolygonHierarchy(this._cartesianPositions),
|
|
200
|
-
vertexFormat: Cesium.MaterialAppearance.MaterialSupport.ALL.vertexFormat,
|
|
201
|
-
height: this.style.height,
|
|
202
|
-
stRotation: utils.toRadians(this.style.stRotation || 0),
|
|
203
|
-
perPositionHeight: false
|
|
204
|
-
});
|
|
205
|
-
var material = Cesium.Material.fromType(Cesium.Material.WaterType, this._getWaterUniforms());
|
|
206
|
-
var primitive = map.scene.primitives.add(new Cesium.Primitive({
|
|
207
|
-
geometryInstances: new Cesium.GeometryInstance({
|
|
208
|
-
id: this.id,
|
|
209
|
-
geometry: geometry
|
|
210
|
-
}),
|
|
211
|
-
appearance: new Cesium.MaterialAppearance({
|
|
212
|
-
material: material,
|
|
213
|
-
faceForward: true,
|
|
214
|
-
translucent: true,
|
|
215
|
-
materialSupport: Cesium.MaterialAppearance.MaterialSupport.ALL
|
|
216
|
-
}),
|
|
217
|
-
asynchronous: false
|
|
218
|
-
}));
|
|
219
|
-
primitive.show = this.style.show;
|
|
220
|
-
this.material = material;
|
|
221
|
-
this.primitive = primitive;
|
|
222
|
-
this._isAdded = true;
|
|
223
|
-
}
|
|
224
|
-
}, {
|
|
225
|
-
key: "_updateMaterialUniforms",
|
|
226
|
-
value: function _updateMaterialUniforms() {
|
|
227
|
-
var material = this.material;
|
|
228
|
-
if (!material) {
|
|
229
|
-
return;
|
|
230
|
-
}
|
|
231
|
-
var uniforms = this._getWaterUniforms();
|
|
232
|
-
Object.keys(uniforms).forEach(function (key) {
|
|
233
|
-
material.uniforms[key] = uniforms[key];
|
|
234
|
-
});
|
|
235
|
-
}
|
|
236
|
-
}, {
|
|
237
|
-
key: "_getWaterUniforms",
|
|
238
|
-
value: function _getWaterUniforms() {
|
|
239
|
-
var _this$style = this.style,
|
|
240
|
-
baseWaterColor = _this$style.baseWaterColor,
|
|
241
|
-
blendColor = _this$style.blendColor,
|
|
242
|
-
specularMap = _this$style.specularMap,
|
|
243
|
-
normalMap = _this$style.normalMap,
|
|
244
|
-
frequency = _this$style.frequency,
|
|
245
|
-
animationSpeed = _this$style.animationSpeed,
|
|
246
|
-
amplitude = _this$style.amplitude,
|
|
247
|
-
specularIntensity = _this$style.specularIntensity,
|
|
248
|
-
fadeFactor = _this$style.fadeFactor;
|
|
249
|
-
return {
|
|
250
|
-
baseWaterColor: utils.colorString(baseWaterColor),
|
|
251
|
-
blendColor: utils.colorString(blendColor),
|
|
252
|
-
specularMap: specularMap,
|
|
253
|
-
normalMap: normalMap,
|
|
254
|
-
frequency: frequency,
|
|
255
|
-
animationSpeed: animationSpeed,
|
|
256
|
-
amplitude: amplitude,
|
|
257
|
-
specularIntensity: specularIntensity,
|
|
258
|
-
fadeFactor: fadeFactor
|
|
259
|
-
};
|
|
260
|
-
}
|
|
261
|
-
}, {
|
|
262
|
-
key: "_transformPositions",
|
|
263
|
-
value: function _transformPositions() {
|
|
264
|
-
var _this = this;
|
|
265
|
-
var positions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
266
|
-
return positions.map(function (position) {
|
|
267
|
-
return _this._transformPosition(position);
|
|
268
|
-
}).filter(Boolean);
|
|
269
|
-
}
|
|
270
|
-
}, {
|
|
271
|
-
key: "_transformPosition",
|
|
272
|
-
value: function _transformPosition(position) {
|
|
273
|
-
if (Array.isArray(position)) {
|
|
274
|
-
var _position = _slicedToArray(position, 3),
|
|
275
|
-
lng = _position[0],
|
|
276
|
-
lat = _position[1],
|
|
277
|
-
_position$ = _position[2],
|
|
278
|
-
alt = _position$ === void 0 ? 0 : _position$;
|
|
279
|
-
return utils.lngLatAltToCartesian3(lng, lat, alt);
|
|
280
|
-
}
|
|
281
|
-
if (position && _typeof(position) === 'object') {
|
|
282
|
-
return utils.lngLatAltToCartesian3(position.lng, position.lat, position.alt || 0);
|
|
283
|
-
}
|
|
284
|
-
return null;
|
|
285
|
-
}
|
|
286
|
-
}]);
|
|
287
|
-
return DynamicWater;
|
|
288
|
-
}();
|
|
289
|
-
export { DynamicWater as default };
|
|
1
|
+
var _0x1848c8=_0x3bbb;(function(_0x5cb6f8,_0x1d4fdf){var _0x42050c=_0x3bbb,_0x20b9ab=_0x5cb6f8();while(!![]){try{var _0x31baeb=parseInt(_0x42050c(0x1ee))/0x1+parseInt(_0x42050c(0x1d3))/0x2+-parseInt(_0x42050c(0x1fe))/0x3*(parseInt(_0x42050c(0x1db))/0x4)+-parseInt(_0x42050c(0x205))/0x5+parseInt(_0x42050c(0x1f5))/0x6+parseInt(_0x42050c(0x1cc))/0x7+parseInt(_0x42050c(0x1eb))/0x8;if(_0x31baeb===_0x1d4fdf)break;else _0x20b9ab['push'](_0x20b9ab['shift']());}catch(_0x2d25dc){_0x20b9ab['push'](_0x20b9ab['shift']());}}}(_0x9d96,0x454e2));function _typeof(_0x52020d){'@babel/helpers - typeof';var _0x334e03=_0x3bbb;return _typeof=_0x334e03(0x1fd)==typeof Symbol&&_0x334e03(0x20c)==typeof Symbol['iterator']?function(_0x5bd155){return typeof _0x5bd155;}:function(_0x5e04c9){var _0x54c77e=_0x334e03;return _0x5e04c9&&_0x54c77e(0x1fd)==typeof Symbol&&_0x5e04c9['constructor']===Symbol&&_0x5e04c9!==Symbol['prototype']?_0x54c77e(0x20c):typeof _0x5e04c9;},_typeof(_0x52020d);}function _slicedToArray(_0x3af888,_0x1ee44d){return _arrayWithHoles(_0x3af888)||_iterableToArrayLimit(_0x3af888,_0x1ee44d)||_unsupportedIterableToArray(_0x3af888,_0x1ee44d)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError('Invalid\x20attempt\x20to\x20destructure\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.');}function _unsupportedIterableToArray(_0x3d6de4,_0x3e52e4){var _0x584533=_0x3bbb;if(!_0x3d6de4)return;if(typeof _0x3d6de4==='string')return _arrayLikeToArray(_0x3d6de4,_0x3e52e4);var _0x19ebdf=Object[_0x584533(0x20f)]['toString'][_0x584533(0x1f0)](_0x3d6de4)[_0x584533(0x1e7)](0x8,-0x1);if(_0x19ebdf==='Object'&&_0x3d6de4[_0x584533(0x1e5)])_0x19ebdf=_0x3d6de4['constructor']['name'];if(_0x19ebdf===_0x584533(0x213)||_0x19ebdf==='Set')return Array[_0x584533(0x202)](_0x3d6de4);if(_0x19ebdf==='Arguments'||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[_0x584533(0x1d4)](_0x19ebdf))return _arrayLikeToArray(_0x3d6de4,_0x3e52e4);}function _arrayLikeToArray(_0xdecc4a,_0x404e26){var _0x4e7689=_0x3bbb;if(_0x404e26==null||_0x404e26>_0xdecc4a['length'])_0x404e26=_0xdecc4a[_0x4e7689(0x1e3)];for(var _0x2e7a02=0x0,_0x2fc2df=new Array(_0x404e26);_0x2e7a02<_0x404e26;_0x2e7a02++)_0x2fc2df[_0x2e7a02]=_0xdecc4a[_0x2e7a02];return _0x2fc2df;}function _iterableToArrayLimit(_0x184f65,_0x25a8a6){var _0x415716=_0x3bbb,_0x278ccb=null==_0x184f65?null:_0x415716(0x1e9)!=typeof Symbol&&_0x184f65[Symbol['iterator']]||_0x184f65['@@iterator'];if(null!=_0x278ccb){var _0x3f84a9,_0x22cefd,_0x207a04,_0x13fa3a,_0x51aaa1=[],_0x529d35=!0x0,_0x2a32a7=!0x1;try{if(_0x207a04=(_0x278ccb=_0x278ccb['call'](_0x184f65))['next'],0x0===_0x25a8a6){if(Object(_0x278ccb)!==_0x278ccb)return;_0x529d35=!0x1;}else{for(;!(_0x529d35=(_0x3f84a9=_0x207a04['call'](_0x278ccb))[_0x415716(0x1df)])&&(_0x51aaa1[_0x415716(0x1d8)](_0x3f84a9['value']),_0x51aaa1[_0x415716(0x1e3)]!==_0x25a8a6);_0x529d35=!0x0);}}catch(_0x452d85){_0x2a32a7=!0x0,_0x22cefd=_0x452d85;}finally{try{if(!_0x529d35&&null!=_0x278ccb[_0x415716(0x1d9)]&&(_0x13fa3a=_0x278ccb[_0x415716(0x1d9)](),Object(_0x13fa3a)!==_0x13fa3a))return;}finally{if(_0x2a32a7)throw _0x22cefd;}}return _0x51aaa1;}}function _arrayWithHoles(_0x3d32d1){if(Array['isArray'](_0x3d32d1))return _0x3d32d1;}function ownKeys(_0x328166,_0x2096da){var _0xa00e69=_0x3bbb,_0x318bdd=Object[_0xa00e69(0x20b)](_0x328166);if(Object[_0xa00e69(0x1cd)]){var _0x18efd3=Object['getOwnPropertySymbols'](_0x328166);_0x2096da&&(_0x18efd3=_0x18efd3[_0xa00e69(0x20d)](function(_0x438e9d){var _0x56c941=_0xa00e69;return Object[_0x56c941(0x1f4)](_0x328166,_0x438e9d)[_0x56c941(0x1fb)];})),_0x318bdd['push']['apply'](_0x318bdd,_0x18efd3);}return _0x318bdd;}function _objectSpread(_0x4bba2a){var _0x46dd83=_0x3bbb;for(var _0x3e2965=0x1;_0x3e2965<arguments['length'];_0x3e2965++){var _0x2f8a76=null!=arguments[_0x3e2965]?arguments[_0x3e2965]:{};_0x3e2965%0x2?ownKeys(Object(_0x2f8a76),!0x0)[_0x46dd83(0x21d)](function(_0x1ada50){_defineProperty(_0x4bba2a,_0x1ada50,_0x2f8a76[_0x1ada50]);}):Object['getOwnPropertyDescriptors']?Object[_0x46dd83(0x214)](_0x4bba2a,Object[_0x46dd83(0x1ff)](_0x2f8a76)):ownKeys(Object(_0x2f8a76))[_0x46dd83(0x21d)](function(_0x419bd3){var _0x2bf0e7=_0x46dd83;Object[_0x2bf0e7(0x1f3)](_0x4bba2a,_0x419bd3,Object[_0x2bf0e7(0x1f4)](_0x2f8a76,_0x419bd3));});}return _0x4bba2a;}function _classCallCheck(_0x86fc5,_0x38e703){var _0x4db842=_0x3bbb;if(!(_0x86fc5 instanceof _0x38e703))throw new TypeError(_0x4db842(0x1d0));}function _defineProperties(_0x3b44d6,_0x36e3bd){var _0x2ad665=_0x3bbb;for(var _0x36c667=0x0;_0x36c667<_0x36e3bd['length'];_0x36c667++){var _0x2e757c=_0x36e3bd[_0x36c667];_0x2e757c[_0x2ad665(0x1fb)]=_0x2e757c[_0x2ad665(0x1fb)]||![],_0x2e757c['configurable']=!![];if(_0x2ad665(0x1e2)in _0x2e757c)_0x2e757c['writable']=!![];Object['defineProperty'](_0x3b44d6,_toPropertyKey(_0x2e757c[_0x2ad665(0x208)]),_0x2e757c);}}function _createClass(_0x40ad4c,_0x51e9a3,_0x3b9b7d){var _0x11dc35=_0x3bbb;if(_0x51e9a3)_defineProperties(_0x40ad4c['prototype'],_0x51e9a3);if(_0x3b9b7d)_defineProperties(_0x40ad4c,_0x3b9b7d);return Object[_0x11dc35(0x1f3)](_0x40ad4c,'prototype',{'writable':![]}),_0x40ad4c;}function _0x9d96(){var _0x2f3264=['zNjVBvr5Cgu','x2LZqwrKzwq','C3bLy3vSyxjnyxa','Bwf0zxjPywW','zM9YrwfJAa','mZCZnJmYtKHuv3rs','z2v0t3DUuhjVCgvYDhLtEw1IB2XZ','C29Tzq','x21HCenVBNrLEhq','q2fUBM90ignHBgWGysbJBgfZCYbHCYbHigz1BMn0Aw9U','ywrKvg9nyxa','ug9SEwDVBKHPzxjHCMnOEq','mZG5mhrXrLDXAq','DgvZDa','C3rsB3rHDgLVBG','BM9YBwfStwfW','Cg9ZAxrPB25Z','ChvZAa','CMv0DxjU','CMvTB3zL','nta4A3HTuNfL','z2v0twfW','Axnezxn0CM95zwq','ChjPBwL0AxzLCW','zg9Uzq','ywrK','x2nHBK9WzxjHDgu','DMfSDwu','BgvUz3rO','twf0zxjPywW','y29UC3rYDwn0B3i','yMfZzvDHDgvYq29SB3i','C2XPy2u','quXm','Dw5KzwzPBMvK','Dw5PzM9YBxm','mtuXotaWmg53wLLVyq','twf0zxjPywXtDxbWB3j0','Bg5Ntgf0qwX0vg9dyxj0zxnPyw4Z','mte5otm1D1z3CgTL','ChjPBwL0AxzL','y2fSBa','zNjLCxvLBMn5','C3bLy3vSyxjjBNrLBNnPDhK','zgvMAw5LuhjVCgvYDhK','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','otC0ndmWtNvzuhDA','C3rYAw5N','x3rYyw5ZzM9YBvbVC2L0Aw9U','y2fTzxjH','C3r5Bgu','C2nLBMu','zw51BwvYywjSzq','zxjYB3i','zNvUy3rPB24','mta4oxLRs1fUDq','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9YCW','zgvMyxvSDa','x3jLyNvPBgrqCMLTAxrPDMu','zNjVBq','x2nHCNrLC2LHBLbVC2L0Aw9UCW','x2DLDfDHDgvYvw5PzM9YBxm','otG3oda1zffwu0zr','B2jQzwn0','qeb0B1bYAw1PDgL2zsbTDxn0ihjLDhvYBIbHihbYAw1PDgL2zsb2ywX1zs4','A2v5','zgvZDhjVEq','v2f0zxjuExbL','A2v5CW','C3LTyM9S','zMLSDgvY','x3vWzgf0zu1HDgvYAwfSvw5PzM9YBxm','ChjVDg90ExbL','BwfW','Bgf0','AgvPz2H0','twfW','zgvMAw5LuhjVCgvYDgLLCW','C2v0rgf0yq','C2HVDW','zMX5vg8','x3rYyw5ZzM9YBvbVC2L0Aw9UCW'];_0x9d96=function(){return _0x2f3264;};return _0x9d96();}function _defineProperty(_0x4373d8,_0x589ded,_0x25346f){return _0x589ded=_toPropertyKey(_0x589ded),_0x589ded in _0x4373d8?Object['defineProperty'](_0x4373d8,_0x589ded,{'value':_0x25346f,'enumerable':!![],'configurable':!![],'writable':!![]}):_0x4373d8[_0x589ded]=_0x25346f,_0x4373d8;}function _toPropertyKey(_0x1c4f45){var _0xbfe441=_0x3bbb,_0x3ccdcb=_toPrimitive(_0x1c4f45,_0xbfe441(0x1f6));return _0xbfe441(0x20c)==_typeof(_0x3ccdcb)?_0x3ccdcb:String(_0x3ccdcb);}function _toPrimitive(_0x4bd95c,_0x41a9f9){var _0x19e999=_0x3bbb;if(_0x19e999(0x206)!=_typeof(_0x4bd95c)||!_0x4bd95c)return _0x4bd95c;var _0x7ae230=_0x4bd95c[Symbol['toPrimitive']];if(void 0x0!==_0x7ae230){var _0x13c988=_0x7ae230['call'](_0x4bd95c,_0x41a9f9||_0x19e999(0x200));if('object'!=_typeof(_0x13c988))return _0x13c988;throw new TypeError(_0x19e999(0x207));}return(_0x19e999(0x1f6)===_0x41a9f9?String:Number)(_0x4bd95c);}function _0x3bbb(_0x2dfec4,_0x2dbeb5){_0x2dfec4=_0x2dfec4-0x1cc;var _0x9d96f=_0x9d96();var _0x3bbb9f=_0x9d96f[_0x2dfec4];if(_0x3bbb['KDGIau']===undefined){var _0x141e47=function(_0x3ce126){var _0x3fd246='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x1ae645='',_0x2ea46a='';for(var _0x1ab3a5=0x0,_0x52020d,_0x5bd155,_0x5e04c9=0x0;_0x5bd155=_0x3ce126['charAt'](_0x5e04c9++);~_0x5bd155&&(_0x52020d=_0x1ab3a5%0x4?_0x52020d*0x40+_0x5bd155:_0x5bd155,_0x1ab3a5++%0x4)?_0x1ae645+=String['fromCharCode'](0xff&_0x52020d>>(-0x2*_0x1ab3a5&0x6)):0x0){_0x5bd155=_0x3fd246['indexOf'](_0x5bd155);}for(var _0x3af888=0x0,_0x1ee44d=_0x1ae645['length'];_0x3af888<_0x1ee44d;_0x3af888++){_0x2ea46a+='%'+('00'+_0x1ae645['charCodeAt'](_0x3af888)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ea46a);};_0x3bbb['DMsZfZ']=_0x141e47,_0x3bbb['wFfoHf']={},_0x3bbb['KDGIau']=!![];}var _0xc1acca=_0x9d96f[0x0],_0x20d313=_0x2dfec4+_0xc1acca,_0x545f77=_0x3bbb['wFfoHf'][_0x20d313];return!_0x545f77?(_0x3bbb9f=_0x3bbb['DMsZfZ'](_0x3bbb9f),_0x3bbb['wFfoHf'][_0x20d313]=_0x3bbb9f):_0x3bbb9f=_0x545f77,_0x3bbb9f;}import*as _0x1ae645 from'deeptwins-cesium';import{cloneDeep,merge}from'lodash';import{v4 as _0x2ea46a}from'uuid';import{DEFAULT_DYNAMIC_WATER_STYLE}from'../constant';import*as _0x1ab3a5 from'../tool/utils';var REBUILD_STYLE_KEYS=[_0x1848c8(0x212),'stRotation'],DynamicWater=(function(){var _0x7b831a=_0x1848c8;function _0x596c10(){var _0xe815cb=_0x3bbb,_0x5bba2d=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};_classCallCheck(this,_0x596c10),_defineProperty(this,_0xe815cb(0x1cf),void 0x0),_defineProperty(this,'id',void 0x0),_defineProperty(this,_0xe815cb(0x1d7),[]),_defineProperty(this,'style',void 0x0),_defineProperty(this,_0xe815cb(0x1ef),null),_defineProperty(this,'material',null),_defineProperty(this,'isDestroyed',![]),_defineProperty(this,_0xe815cb(0x203),[]),_defineProperty(this,_0xe815cb(0x21a),![]);var _0x24e97b=_0x5bba2d[_0xe815cb(0x1d7)],_0x8247dd=_0x24e97b===void 0x0?[]:_0x24e97b,_0x34294c=_0x5bba2d[_0xe815cb(0x1f9)],_0x27d7ef=_0x34294c===void 0x0?{}:_0x34294c;this['id']=_0x2ea46a(),this['positions']=_0x8247dd,this['style']=merge(DEFAULT_DYNAMIC_WATER_STYLE(),cloneDeep(_0x27d7ef||{})),this[_0xe815cb(0x203)]=this['_transformPositions'](this[_0xe815cb(0x1d7)]);}return _createClass(_0x596c10,[{'key':'getMap','value':function _0x59a551(){var _0x64790d=_0x3bbb,_0x2e3e3c;return(_0x2e3e3c=this['_mapContext'])===null||_0x2e3e3c===void 0x0?void 0x0:_0x2e3e3c[_0x64790d(0x1dc)]();}},{'key':_0x7b831a(0x1d1),'value':function _0x136544(_0x1fcfb6){var _0x439b23=_0x7b831a;if(!this['_canOperate']())return;if(this[_0x439b23(0x21a)]&&this[_0x439b23(0x1dc)]()===_0x1fcfb6)return this;return this[_0x439b23(0x21a)]&&this['remove'](),this[_0x439b23(0x1cf)]=_0x1fcfb6[_0x439b23(0x1cf)],this[_0x439b23(0x201)](),this;}},{'key':_0x7b831a(0x1da),'value':function _0x1c3d9f(){var _0x2bf951=_0x7b831a;if(this[_0x2bf951(0x1dd)]||!this['_isAdded'])return;var _0x1d858a=this['getMap']();_0x1d858a&&this['primitive']&&_0x1d858a['scene'][_0x2bf951(0x1de)][_0x2bf951(0x1da)](this[_0x2bf951(0x1ef)]),this['primitive']=null,this['material']=null,this['_isAdded']=![];}},{'key':_0x7b831a(0x216),'value':function _0x374adb(_0xef1664){var _0x5b720c=_0x7b831a;if(!this['_canOperate']())return;return this[_0x5b720c(0x1f9)][_0x5b720c(0x216)]=_0xef1664,this['primitive']&&(this['primitive']['show']=_0xef1664),this;}},{'key':_0x7b831a(0x215),'value':function _0x4ffa85(){var _0x41d2c3=_0x7b831a,_0x29aafb=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:[];if(!this[_0x41d2c3(0x1e1)]())return;return this['positions']=_0x29aafb,this['_cartesianPositions']=this[_0x41d2c3(0x218)](_0x29aafb),this[_0x41d2c3(0x21a)]&&this[_0x41d2c3(0x201)](),this;}},{'key':'setStyle','value':function _0x122d44(){var _0x2dc05a=_0x7b831a,_0x412cc8=arguments[_0x2dc05a(0x1e3)]>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};if(!this['_canOperate']())return;var _0x172879=REBUILD_STYLE_KEYS[_0x2dc05a(0x1ce)](function(_0x3e4080){var _0x1b81f4=_0x2dc05a;return Object[_0x1b81f4(0x20f)]['hasOwnProperty']['call'](_0x412cc8,_0x3e4080);});this['style']=merge(this[_0x2dc05a(0x1f9)],cloneDeep(_0x412cc8||{}));if(!this['_isAdded'])return this;return _0x172879?this['_rebuildPrimitive']():(this[_0x2dc05a(0x20e)](),this[_0x2dc05a(0x216)](this['style'][_0x2dc05a(0x216)])),this;}},{'key':_0x7b831a(0x217),'value':function _0x389e8d(){var _0x11ebd4=_0x7b831a,_0x56d000=arguments[_0x11ebd4(0x1e3)]>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};if(!this[_0x11ebd4(0x1e1)]()||!this['getMap']())return;if(this['_cartesianPositions']['length']<0x3)return;_0x1ab3a5['cameraFlyToPositions'](this[_0x11ebd4(0x1dc)]()[_0x11ebd4(0x1f8)],this['_cartesianPositions'],_objectSpread({'scale':1.4},_0x56d000));}},{'key':_0x7b831a(0x209),'value':function _0x4fef57(){var _0x4a1be2=_0x7b831a;if(this[_0x4a1be2(0x1dd)])return;this['remove'](),this['positions']=[],this[_0x4a1be2(0x203)]=[],this[_0x4a1be2(0x1cf)]=undefined,this['isDestroyed']=!![];}},{'key':'_canOperate','value':function _0x350a55(){var _0x2b678b=_0x7b831a;if(this['isDestroyed'])return _0x1ab3a5[_0x2b678b(0x1fc)]('DynamicWater实例已销毁'),![];return!![];}},{'key':_0x7b831a(0x201),'value':function _0x46f999(){var _0x1a2374=_0x7b831a,_0x239430=this[_0x1a2374(0x1dc)]();if(!_0x239430)return;this[_0x1a2374(0x1ef)]&&(_0x239430[_0x1a2374(0x1fa)][_0x1a2374(0x1de)][_0x1a2374(0x1da)](this['primitive']),this['primitive']=null,this[_0x1a2374(0x21c)]=null);if(this['_cartesianPositions'][_0x1a2374(0x1e3)]<0x3){_0x1ab3a5[_0x1a2374(0x1fc)]('DynamicWater至少需要3个有效点'),this[_0x1a2374(0x21a)]=![];return;}var _0x15ac77=new _0x1ae645['PolygonGeometry']({'polygonHierarchy':new _0x1ae645[(_0x1a2374(0x1d2))](this['_cartesianPositions']),'vertexFormat':_0x1ae645['MaterialAppearance'][_0x1a2374(0x1ec)][_0x1a2374(0x1e8)]['vertexFormat'],'height':this[_0x1a2374(0x1f9)][_0x1a2374(0x212)],'stRotation':_0x1ab3a5['toRadians'](this[_0x1a2374(0x1f9)][_0x1a2374(0x1d5)]||0x0),'perPositionHeight':![]}),_0x32d0e8=_0x1ae645['Material'][_0x1a2374(0x219)](_0x1ae645[_0x1a2374(0x1e4)][_0x1a2374(0x20a)],this['_getWaterUniforms']()),_0x5a654b=_0x239430['scene'][_0x1a2374(0x1de)][_0x1a2374(0x1e0)](new _0x1ae645['Primitive']({'geometryInstances':new _0x1ae645['GeometryInstance']({'id':this['id'],'geometry':_0x15ac77}),'appearance':new _0x1ae645['MaterialAppearance']({'material':_0x32d0e8,'faceForward':!![],'translucent':!![],'materialSupport':_0x1ae645['MaterialAppearance'][_0x1a2374(0x1ec)]['ALL']}),'asynchronous':![]}));_0x5a654b['show']=this[_0x1a2374(0x1f9)][_0x1a2374(0x216)],this[_0x1a2374(0x21c)]=_0x32d0e8,this['primitive']=_0x5a654b,this[_0x1a2374(0x21a)]=!![];}},{'key':'_updateMaterialUniforms','value':function _0x419dad(){var _0x58aec1=_0x7b831a,_0x340998=this['material'];if(!_0x340998)return;var _0x569cbf=this[_0x58aec1(0x204)]();Object[_0x58aec1(0x20b)](_0x569cbf)[_0x58aec1(0x21d)](function(_0x53112f){var _0x3bf0ee=_0x58aec1;_0x340998[_0x3bf0ee(0x1ea)][_0x53112f]=_0x569cbf[_0x53112f];});}},{'key':'_getWaterUniforms','value':function _0x119b35(){var _0x2d5b3d=_0x7b831a,_0x597c53=this['style'],_0x265366=_0x597c53[_0x2d5b3d(0x1e6)],_0x57a8a9=_0x597c53['blendColor'],_0x1ab282=_0x597c53[_0x2d5b3d(0x21b)],_0x3649a1=_0x597c53[_0x2d5b3d(0x1d6)],_0x42b99f=_0x597c53[_0x2d5b3d(0x1f1)],_0x3f8b6c=_0x597c53['animationSpeed'],_0x55b40b=_0x597c53['amplitude'],_0x2cf53e=_0x597c53[_0x2d5b3d(0x1f2)],_0x5c35bb=_0x597c53['fadeFactor'];return{'baseWaterColor':_0x1ab3a5['colorString'](_0x265366),'blendColor':_0x1ab3a5['colorString'](_0x57a8a9),'specularMap':_0x1ab282,'normalMap':_0x3649a1,'frequency':_0x42b99f,'animationSpeed':_0x3f8b6c,'amplitude':_0x55b40b,'specularIntensity':_0x2cf53e,'fadeFactor':_0x5c35bb};}},{'key':_0x7b831a(0x218),'value':function _0x347722(){var _0x38533a=_0x7b831a,_0x4b25ce=this,_0x1d961e=arguments[_0x38533a(0x1e3)]>0x0&&arguments[0x0]!==undefined?arguments[0x0]:[];return _0x1d961e[_0x38533a(0x210)](function(_0x545bba){return _0x4b25ce['_transformPosition'](_0x545bba);})['filter'](Boolean);}},{'key':_0x7b831a(0x1f7),'value':function _0x35dcb9(_0x5fa448){var _0x396c08=_0x7b831a;if(Array['isArray'](_0x5fa448)){var _0x36fe71=_slicedToArray(_0x5fa448,0x3),_0x1abce0=_0x36fe71[0x0],_0x520040=_0x36fe71[0x1],_0x27b88f=_0x36fe71[0x2],_0x3954f3=_0x27b88f===void 0x0?0x0:_0x27b88f;return _0x1ab3a5[_0x396c08(0x1ed)](_0x1abce0,_0x520040,_0x3954f3);}if(_0x5fa448&&_typeof(_0x5fa448)===_0x396c08(0x206))return _0x1ab3a5['lngLatAltToCartesian3'](_0x5fa448['lng'],_0x5fa448[_0x396c08(0x211)],_0x5fa448['alt']||0x0);return null;}}]),_0x596c10;}());export{DynamicWater as default};
|
|
@@ -1,248 +1 @@
|
|
|
1
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
3
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
5
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
6
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
7
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
8
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
9
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
10
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
11
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
12
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
13
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
14
|
-
import * as Cesium from 'deeptwins-cesium';
|
|
15
|
-
import { merge } from 'lodash';
|
|
16
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
17
|
-
import { DEFAULT_FRUSTUM_OPTIONS } from "../constant";
|
|
18
|
-
import * as utils from "../tool/utils";
|
|
19
|
-
|
|
20
|
-
// 视锥体
|
|
21
|
-
var Frustum = /*#__PURE__*/function () {
|
|
22
|
-
function Frustum(map, options) {
|
|
23
|
-
_classCallCheck(this, Frustum);
|
|
24
|
-
_defineProperty(this, "_mapContext", void 0);
|
|
25
|
-
// 参数
|
|
26
|
-
_defineProperty(this, "options", void 0);
|
|
27
|
-
// 视锥面
|
|
28
|
-
_defineProperty(this, "frustumPrimitive", void 0);
|
|
29
|
-
// 视锥线
|
|
30
|
-
_defineProperty(this, "frustumLinePrimitive", void 0);
|
|
31
|
-
_defineProperty(this, "isDestroyed", false);
|
|
32
|
-
this._mapContext = map._mapContext;
|
|
33
|
-
this.options = merge(DEFAULT_FRUSTUM_OPTIONS(), options);
|
|
34
|
-
this._addFrustum();
|
|
35
|
-
}
|
|
36
|
-
_createClass(Frustum, [{
|
|
37
|
-
key: "getMap",
|
|
38
|
-
value: function getMap() {
|
|
39
|
-
return this._mapContext && this._mapContext.getMap();
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// 是否能进行操作
|
|
43
|
-
}, {
|
|
44
|
-
key: "_canOperate",
|
|
45
|
-
value: function _canOperate() {
|
|
46
|
-
if (this.isDestroyed) {
|
|
47
|
-
utils.error('Frustum实例已销毁');
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
return true;
|
|
51
|
-
}
|
|
52
|
-
}, {
|
|
53
|
-
key: "_addFrustum",
|
|
54
|
-
value: function _addFrustum() {
|
|
55
|
-
var _this$options = this.options,
|
|
56
|
-
show = _this$options.show,
|
|
57
|
-
_this$options$positio = _this$options.position,
|
|
58
|
-
position = _this$options$positio === void 0 ? [] : _this$options$positio,
|
|
59
|
-
fov = _this$options.fov,
|
|
60
|
-
near = _this$options.near,
|
|
61
|
-
far = _this$options.far,
|
|
62
|
-
aspectRatio = _this$options.aspectRatio,
|
|
63
|
-
_this$options$heading = _this$options.heading,
|
|
64
|
-
heading = _this$options$heading === void 0 ? 0 : _this$options$heading,
|
|
65
|
-
_this$options$pitch = _this$options.pitch,
|
|
66
|
-
pitch = _this$options$pitch === void 0 ? 0 : _this$options$pitch,
|
|
67
|
-
_this$options$roll = _this$options.roll,
|
|
68
|
-
roll = _this$options$roll === void 0 ? 0 : _this$options$roll,
|
|
69
|
-
fill = _this$options.fill,
|
|
70
|
-
color = _this$options.color,
|
|
71
|
-
outline = _this$options.outline,
|
|
72
|
-
outlineColor = _this$options.outlineColor,
|
|
73
|
-
isWithCamera = _this$options.isWithCamera,
|
|
74
|
-
_this$options$camera = _this$options.camera,
|
|
75
|
-
paramCamera = _this$options$camera === void 0 ? this.getMap().camera : _this$options$camera;
|
|
76
|
-
var camera = isWithCamera ? paramCamera : new Cesium.Camera(this.getMap().scene);
|
|
77
|
-
var _position = _slicedToArray(position, 3),
|
|
78
|
-
lng = _position[0],
|
|
79
|
-
lat = _position[1],
|
|
80
|
-
alt = _position[2];
|
|
81
|
-
var positionCartesian3 = utils.lngLatAltToCartesian3(lng, lat, alt);
|
|
82
|
-
if (!isWithCamera) {
|
|
83
|
-
camera.position = utils.lngLatAltToCartesian3(lng, lat, alt);
|
|
84
|
-
var hpr = new Cesium.HeadingPitchRoll(utils.toRadians(heading),
|
|
85
|
-
// Heading (航向,绕 Z 轴)
|
|
86
|
-
utils.toRadians(pitch),
|
|
87
|
-
// Pitch (俯仰,绕 X 轴)
|
|
88
|
-
utils.toRadians(roll)) // Roll (横滚,绕 Y 轴)
|
|
89
|
-
;
|
|
90
|
-
camera.setView({
|
|
91
|
-
destination: camera.position,
|
|
92
|
-
// 或者直接用 position
|
|
93
|
-
orientation: hpr
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
var frustum = new Cesium.PerspectiveFrustum({
|
|
97
|
-
// 查看的视场角
|
|
98
|
-
fov: fov ? utils.toRadians(fov) : camera.frustum.fov,
|
|
99
|
-
// 视锥体的宽度/高度
|
|
100
|
-
aspectRatio: aspectRatio ? aspectRatio : camera.frustum.aspectRatio,
|
|
101
|
-
// 近面距视点的距离
|
|
102
|
-
near: near ? near : camera.frustum.near,
|
|
103
|
-
// 远面距视点的距离
|
|
104
|
-
far: far ? far : camera.frustum.far
|
|
105
|
-
});
|
|
106
|
-
|
|
107
|
-
// 计算摄像机的方向四元数
|
|
108
|
-
var direction = Cesium.Cartesian3.clone(camera.directionWC);
|
|
109
|
-
var up = Cesium.Cartesian3.clone(camera.upWC);
|
|
110
|
-
var right = Cesium.Cartesian3.clone(camera.rightWC);
|
|
111
|
-
var rotationMatrix = new Cesium.Matrix3();
|
|
112
|
-
Cesium.Matrix3.setColumn(rotationMatrix, 0, right, rotationMatrix); // X 轴
|
|
113
|
-
Cesium.Matrix3.setColumn(rotationMatrix, 1, up, rotationMatrix); // Y 轴
|
|
114
|
-
Cesium.Matrix3.setColumn(rotationMatrix, 2, direction, rotationMatrix); // Z 轴
|
|
115
|
-
var modelMatrix = Cesium.Matrix4.fromRotationTranslation(rotationMatrix, positionCartesian3);
|
|
116
|
-
this.frustumPrimitive = new Cesium.Primitive({
|
|
117
|
-
geometryInstances: new Cesium.GeometryInstance({
|
|
118
|
-
id: uuidv4(),
|
|
119
|
-
geometry: new Cesium.FrustumGeometry({
|
|
120
|
-
frustum: frustum,
|
|
121
|
-
origin: Cesium.Cartesian3.ZERO,
|
|
122
|
-
orientation: Cesium.Quaternion.IDENTITY
|
|
123
|
-
}),
|
|
124
|
-
modelMatrix: modelMatrix,
|
|
125
|
-
attributes: {
|
|
126
|
-
color: fill ? utils.colorInstanceString(color) : utils.colorInstanceString('rgba(0, 0, 0, 0)')
|
|
127
|
-
}
|
|
128
|
-
}),
|
|
129
|
-
releaseGeometryInstances: false,
|
|
130
|
-
appearance: new Cesium.PerInstanceColorAppearance({
|
|
131
|
-
closed: true,
|
|
132
|
-
flat: true
|
|
133
|
-
}),
|
|
134
|
-
asynchronous: false
|
|
135
|
-
});
|
|
136
|
-
this.frustumPrimitive.show = show;
|
|
137
|
-
this.getMap().scene.primitives.add(this.frustumPrimitive);
|
|
138
|
-
if (outline) {
|
|
139
|
-
this.frustumLinePrimitive = new Cesium.Primitive({
|
|
140
|
-
geometryInstances: new Cesium.GeometryInstance({
|
|
141
|
-
id: uuidv4(),
|
|
142
|
-
geometry: new Cesium.FrustumOutlineGeometry({
|
|
143
|
-
frustum: frustum,
|
|
144
|
-
origin: Cesium.Cartesian3.ZERO,
|
|
145
|
-
orientation: Cesium.Quaternion.IDENTITY
|
|
146
|
-
}),
|
|
147
|
-
modelMatrix: modelMatrix,
|
|
148
|
-
attributes: {
|
|
149
|
-
color: utils.colorInstanceString(outlineColor)
|
|
150
|
-
}
|
|
151
|
-
}),
|
|
152
|
-
appearance: new Cesium.PerInstanceColorAppearance({
|
|
153
|
-
closed: true,
|
|
154
|
-
flat: true
|
|
155
|
-
}),
|
|
156
|
-
asynchronous: false
|
|
157
|
-
});
|
|
158
|
-
this.frustumLinePrimitive.show = show;
|
|
159
|
-
this.getMap().scene.primitives.add(this.frustumLinePrimitive);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* 获取视锥体投影面的顶点坐标
|
|
165
|
-
* @param type 投影面类型: 'near'(近裁剪面) 或 'far'(远裁剪面)
|
|
166
|
-
* @returns 投影面的4个顶点坐标数组 [[lng, lat, alt], ...]
|
|
167
|
-
*/
|
|
168
|
-
}, {
|
|
169
|
-
key: "getProjectionPlane",
|
|
170
|
-
value: function getProjectionPlane() {
|
|
171
|
-
var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'far';
|
|
172
|
-
if (!this._canOperate()) {
|
|
173
|
-
return;
|
|
174
|
-
}
|
|
175
|
-
var geometry = Cesium.FrustumOutlineGeometry.createGeometry(this.frustumPrimitive.geometryInstances.geometry);
|
|
176
|
-
var positions = geometry.attributes.position.values;
|
|
177
|
-
|
|
178
|
-
// 获取模型变换矩阵
|
|
179
|
-
var modelMatrix = this.frustumPrimitive.geometryInstances.modelMatrix;
|
|
180
|
-
|
|
181
|
-
// FrustumGeometry 的顶点顺序:前4个是近裁剪面,后4个是远裁剪面
|
|
182
|
-
// 每个面有4个顶点,每个顶点3个坐标值
|
|
183
|
-
var startIndex = type === 'near' ? 0 : 12; // 近面从0开始,远面从12(4*3)开始
|
|
184
|
-
var endIndex = startIndex + 12; // 4个顶点 * 3个坐标
|
|
185
|
-
|
|
186
|
-
var result = [];
|
|
187
|
-
for (var i = startIndex; i < endIndex; i += 3) {
|
|
188
|
-
var localPosition = new Cesium.Cartesian3(positions[i], positions[i + 1], positions[i + 2]);
|
|
189
|
-
|
|
190
|
-
// 转换为世界坐标
|
|
191
|
-
var worldPosition = Cesium.Matrix4.multiplyByPoint(modelMatrix, localPosition, new Cesium.Cartesian3());
|
|
192
|
-
var _utils$cartesian3ToLn = utils.cartesian3ToLngLatAlt(worldPosition),
|
|
193
|
-
lng = _utils$cartesian3ToLn.lng,
|
|
194
|
-
lat = _utils$cartesian3ToLn.lat,
|
|
195
|
-
alt = _utils$cartesian3ToLn.alt;
|
|
196
|
-
result.push([lng, lat, alt]);
|
|
197
|
-
}
|
|
198
|
-
return result;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
/**
|
|
202
|
-
* 获取近裁剪面的顶点坐标
|
|
203
|
-
* @returns 近裁剪面的4个顶点坐标数组
|
|
204
|
-
*/
|
|
205
|
-
}, {
|
|
206
|
-
key: "getNearPlane",
|
|
207
|
-
value: function getNearPlane() {
|
|
208
|
-
return this.getProjectionPlane('near');
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
/**
|
|
212
|
-
* 获取远裁剪面的顶点坐标
|
|
213
|
-
* @returns 远裁剪面的4个顶点坐标数组
|
|
214
|
-
*/
|
|
215
|
-
}, {
|
|
216
|
-
key: "getFarPlane",
|
|
217
|
-
value: function getFarPlane() {
|
|
218
|
-
return this.getProjectionPlane('far');
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
// 显示隐藏
|
|
222
|
-
}, {
|
|
223
|
-
key: "show",
|
|
224
|
-
value: function show(isShow) {
|
|
225
|
-
if (!this._canOperate()) {
|
|
226
|
-
return;
|
|
227
|
-
}
|
|
228
|
-
this.frustumPrimitive && (this.frustumPrimitive.show = isShow);
|
|
229
|
-
this.frustumLinePrimitive && (this.frustumLinePrimitive.show = isShow);
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
// 销毁
|
|
233
|
-
}, {
|
|
234
|
-
key: "destroy",
|
|
235
|
-
value: function destroy() {
|
|
236
|
-
if (!this._canOperate()) {
|
|
237
|
-
return;
|
|
238
|
-
}
|
|
239
|
-
this.isDestroyed = true;
|
|
240
|
-
this.frustumPrimitive && this.getMap().scene.primitives.remove(this.frustumPrimitive);
|
|
241
|
-
this.frustumPrimitive = null;
|
|
242
|
-
this.frustumLinePrimitive && this.getMap().scene.primitives.remove(this.frustumLinePrimitive);
|
|
243
|
-
this.frustumLinePrimitive = null;
|
|
244
|
-
}
|
|
245
|
-
}]);
|
|
246
|
-
return Frustum;
|
|
247
|
-
}();
|
|
248
|
-
export { Frustum as default };
|
|
1
|
+
(function(_0x37990c,_0x56a5ec){var _0x31ae2a=_0x28b3,_0x113540=_0x37990c();while(!![]){try{var _0x19e99c=-parseInt(_0x31ae2a(0x1a7))/0x1+parseInt(_0x31ae2a(0x1a0))/0x2*(parseInt(_0x31ae2a(0x1aa))/0x3)+parseInt(_0x31ae2a(0x188))/0x4+parseInt(_0x31ae2a(0x197))/0x5*(-parseInt(_0x31ae2a(0x179))/0x6)+-parseInt(_0x31ae2a(0x198))/0x7+parseInt(_0x31ae2a(0x194))/0x8+parseInt(_0x31ae2a(0x183))/0x9;if(_0x19e99c===_0x56a5ec)break;else _0x113540['push'](_0x113540['shift']());}catch(_0xda3a8d){_0x113540['push'](_0x113540['shift']());}}}(_0x2f04,0x47721));function _typeof(_0x6bd0d8){'@babel/helpers - typeof';var _0x3f3a99=_0x28b3;return _typeof=_0x3f3a99(0x1b0)==typeof Symbol&&_0x3f3a99(0x17f)==typeof Symbol[_0x3f3a99(0x1a4)]?function(_0x58adca){return typeof _0x58adca;}:function(_0x1f39fe){var _0x219770=_0x3f3a99;return _0x1f39fe&&_0x219770(0x1b0)==typeof Symbol&&_0x1f39fe['constructor']===Symbol&&_0x1f39fe!==Symbol['prototype']?'symbol':typeof _0x1f39fe;},_typeof(_0x6bd0d8);}function _slicedToArray(_0x156d33,_0x47ee63){return _arrayWithHoles(_0x156d33)||_iterableToArrayLimit(_0x156d33,_0x47ee63)||_unsupportedIterableToArray(_0x156d33,_0x47ee63)||_nonIterableRest();}function _0x28b3(_0x2ee271,_0x411d03){_0x2ee271=_0x2ee271-0x16c;var _0x2f0429=_0x2f04();var _0x28b35a=_0x2f0429[_0x2ee271];if(_0x28b3['qvNMwy']===undefined){var _0x1d2f79=function(_0x272e92){var _0x3c6c17='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x55cc60='',_0x5ed77a='';for(var _0x247ed4=0x0,_0x6bd0d8,_0x58adca,_0x1f39fe=0x0;_0x58adca=_0x272e92['charAt'](_0x1f39fe++);~_0x58adca&&(_0x6bd0d8=_0x247ed4%0x4?_0x6bd0d8*0x40+_0x58adca:_0x58adca,_0x247ed4++%0x4)?_0x55cc60+=String['fromCharCode'](0xff&_0x6bd0d8>>(-0x2*_0x247ed4&0x6)):0x0){_0x58adca=_0x3c6c17['indexOf'](_0x58adca);}for(var _0x156d33=0x0,_0x47ee63=_0x55cc60['length'];_0x156d33<_0x47ee63;_0x156d33++){_0x5ed77a+='%'+('00'+_0x55cc60['charCodeAt'](_0x156d33)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ed77a);};_0x28b3['BOqqiD']=_0x1d2f79,_0x28b3['mSLgXM']={},_0x28b3['qvNMwy']=!![];}var _0x2225de=_0x2f0429[0x0],_0x78a98e=_0x2ee271+_0x2225de,_0x446588=_0x28b3['mSLgXM'][_0x78a98e];return!_0x446588?(_0x28b35a=_0x28b3['BOqqiD'](_0x28b35a),_0x28b3['mSLgXM'][_0x78a98e]=_0x28b35a):_0x28b35a=_0x446588,_0x28b35a;}function _nonIterableRest(){throw new TypeError('Invalid\x20attempt\x20to\x20destructure\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.');}function _unsupportedIterableToArray(_0x38c10a,_0x466ed8){var _0x3ee78c=_0x28b3;if(!_0x38c10a)return;if(typeof _0x38c10a===_0x3ee78c(0x195))return _arrayLikeToArray(_0x38c10a,_0x466ed8);var _0xfd80af=Object[_0x3ee78c(0x17b)][_0x3ee78c(0x177)]['call'](_0x38c10a)['slice'](0x8,-0x1);if(_0xfd80af===_0x3ee78c(0x16c)&&_0x38c10a['constructor'])_0xfd80af=_0x38c10a['constructor']['name'];if(_0xfd80af==='Map'||_0xfd80af==='Set')return Array['from'](_0x38c10a);if(_0xfd80af==='Arguments'||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](_0xfd80af))return _arrayLikeToArray(_0x38c10a,_0x466ed8);}function _arrayLikeToArray(_0x473714,_0x378893){var _0x1f93bb=_0x28b3;if(_0x378893==null||_0x378893>_0x473714[_0x1f93bb(0x199)])_0x378893=_0x473714[_0x1f93bb(0x199)];for(var _0xb72668=0x0,_0x120a48=new Array(_0x378893);_0xb72668<_0x378893;_0xb72668++)_0x120a48[_0xb72668]=_0x473714[_0xb72668];return _0x120a48;}function _iterableToArrayLimit(_0x533841,_0x2f0422){var _0x43f16e=_0x28b3,_0x374fb6=null==_0x533841?null:'undefined'!=typeof Symbol&&_0x533841[Symbol['iterator']]||_0x533841['@@iterator'];if(null!=_0x374fb6){var _0xea1cf8,_0x3be573,_0x14a7a6,_0x23b917,_0x28c379=[],_0x21d251=!0x0,_0x3cbaa=!0x1;try{if(_0x14a7a6=(_0x374fb6=_0x374fb6[_0x43f16e(0x178)](_0x533841))[_0x43f16e(0x19b)],0x0===_0x2f0422){if(Object(_0x374fb6)!==_0x374fb6)return;_0x21d251=!0x1;}else{for(;!(_0x21d251=(_0xea1cf8=_0x14a7a6['call'](_0x374fb6))['done'])&&(_0x28c379['push'](_0xea1cf8['value']),_0x28c379[_0x43f16e(0x199)]!==_0x2f0422);_0x21d251=!0x0);}}catch(_0x21d551){_0x3cbaa=!0x0,_0x3be573=_0x21d551;}finally{try{if(!_0x21d251&&null!=_0x374fb6[_0x43f16e(0x16d)]&&(_0x23b917=_0x374fb6['return'](),Object(_0x23b917)!==_0x23b917))return;}finally{if(_0x3cbaa)throw _0x3be573;}}return _0x28c379;}}function _arrayWithHoles(_0x37c444){if(Array['isArray'](_0x37c444))return _0x37c444;}function _classCallCheck(_0x50c7ed,_0xdde1f4){if(!(_0x50c7ed instanceof _0xdde1f4))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function _defineProperties(_0x3109d8,_0xcbc59){var _0x65d6ee=_0x28b3;for(var _0x263b29=0x0;_0x263b29<_0xcbc59[_0x65d6ee(0x199)];_0x263b29++){var _0x14d4fd=_0xcbc59[_0x263b29];_0x14d4fd[_0x65d6ee(0x17d)]=_0x14d4fd['enumerable']||![],_0x14d4fd['configurable']=!![];if('value'in _0x14d4fd)_0x14d4fd['writable']=!![];Object[_0x65d6ee(0x170)](_0x3109d8,_toPropertyKey(_0x14d4fd[_0x65d6ee(0x1ae)]),_0x14d4fd);}}function _createClass(_0x34658d,_0x42a60a,_0x1573b1){if(_0x42a60a)_defineProperties(_0x34658d['prototype'],_0x42a60a);if(_0x1573b1)_defineProperties(_0x34658d,_0x1573b1);return Object['defineProperty'](_0x34658d,'prototype',{'writable':![]}),_0x34658d;}function _0x2f04(){var _0x9d5c6c=['Dg9tDhjPBMC','y2fSBa','mtqZneLXy1PWtq','qeb0B1bYAw1PDgL2zsbTDxn0ihjLDhvYBIbHihbYAw1PDgL2zsb2ywX1zs4','ChjVDg90ExbL','yxr0CMLIDxrLCW','zw51BwvYywjSzq','zMfY','C3LTyM9S','C2nLBMu','zgLYzwn0Aw9Uv0m','Axnezxn0CM95zwq','nJGXmdG0meTOs09Jra','yxnWzwn0uMf0Aw8','q2fTzxjH','y29SB3jjBNn0yw5Jzvn0CMLUzW','CgL0y2G','mJe1odC0oevbzuvkwq','zNj1C3r1Bq','wKvstW','Cg9ZAxrPB24','y2XVBMu','BxvSDgLWBhLcEvbVAw50','Dg9sywrPyw5Z','C2v0vMLLDW','x2nHBK9WzxjHDgu','r2vVBwv0CNLjBNn0yw5Jzq','C2v0q29SDw1U','zM92','mti4nZG0ognRz1beuG','C3rYAw5N','C2HVDW','mta1odvRDunfAMq','mta3ndK2ovPkBgzTCq','BgvUz3rO','uxvHDgvYBMLVBG','BMv4Da','ChjPBwL0AxzLCW','y29SB3i','z2vVBwv0CNK','BMvHCG','mJi2ugD4z2Pl','B3b0Aw9UCW','ugvYsw5ZDgfUy2vdB2XVCKfWCgvHCMfUy2u','Bg5Ntgf0qwX0vg9dyxj0zxnPyw4Z','AxrLCMf0B3i','x2fKzezYDxn0Dw0','y2fTzxjH','ntqWndaWEejkvhLj','B3v0BgLUzq','z2v0uhjVAMvJDgLVBLbSyw5L','otmZBfDJCgvT','AxnxAxrOq2fTzxjH','zNj1C3r1BvbYAw1PDgL2zq','CMDIysGWlcaWlcaWlcaWkq','A2v5','CMvTB3zL','zNvUy3rPB24','Bg5N','t2jQzwn0','CMv0DxjU','x21HCenVBNrLEhq','zgvMyxvSDa','zgvMAw5LuhjVCgvYDhK','q2fYDgvZAwfUmW','z2v0twfW','zNj1C3r1BuXPBMvqCMLTAxrPDMu','Bgf0','B3v0BgLUzunVBg9Y','twf0CML4mW'];_0x2f04=function(){return _0x9d5c6c;};return _0x2f04();}function _defineProperty(_0x5892a2,_0x12b7ea,_0x5be9f3){var _0x3a2cdd=_0x28b3;return _0x12b7ea=_toPropertyKey(_0x12b7ea),_0x12b7ea in _0x5892a2?Object[_0x3a2cdd(0x170)](_0x5892a2,_0x12b7ea,{'value':_0x5be9f3,'enumerable':!![],'configurable':!![],'writable':!![]}):_0x5892a2[_0x12b7ea]=_0x5be9f3,_0x5892a2;}function _toPropertyKey(_0x5d8f39){var _0x1e4663=_0x28b3,_0x51ce1e=_toPrimitive(_0x5d8f39,_0x1e4663(0x195));return'symbol'==_typeof(_0x51ce1e)?_0x51ce1e:String(_0x51ce1e);}function _toPrimitive(_0x5a12d7,_0x4a3548){var _0x2e2882=_0x28b3;if('object'!=_typeof(_0x5a12d7)||!_0x5a12d7)return _0x5a12d7;var _0x229992=_0x5a12d7[Symbol['toPrimitive']];if(void 0x0!==_0x229992){var _0x298f55=_0x229992['call'](_0x5a12d7,_0x4a3548||_0x2e2882(0x16f));if('object'!=_typeof(_0x298f55))return _0x298f55;throw new TypeError(_0x2e2882(0x17a));}return(_0x2e2882(0x195)===_0x4a3548?String:Number)(_0x5a12d7);}import*as _0x55cc60 from'deeptwins-cesium';import{merge}from'lodash';import{v4 as _0x5ed77a}from'uuid';import{DEFAULT_FRUSTUM_OPTIONS}from'../constant';import*as _0x247ed4 from'../tool/utils';var Frustum=(function(){var _0x4edfee=_0x28b3;function _0x4e8b81(_0x2fd6f2,_0x462cc3){var _0x1e5368=_0x28b3;_classCallCheck(this,_0x4e8b81),_defineProperty(this,_0x1e5368(0x16e),void 0x0),_defineProperty(this,_0x1e5368(0x1a1),void 0x0),_defineProperty(this,_0x1e5368(0x1ac),void 0x0),_defineProperty(this,_0x1e5368(0x173),void 0x0),_defineProperty(this,_0x1e5368(0x182),![]),this['_mapContext']=_0x2fd6f2['_mapContext'],this['options']=merge(DEFAULT_FRUSTUM_OPTIONS(),_0x462cc3),this[_0x1e5368(0x1a5)]();}return _createClass(_0x4e8b81,[{'key':'getMap','value':function _0x4295c6(){var _0x52c6d0=_0x28b3;return this[_0x52c6d0(0x16e)]&&this['_mapContext'][_0x52c6d0(0x172)]();}},{'key':'_canOperate','value':function _0x509b8a(){if(this['isDestroyed'])return _0x247ed4['error']('Frustum实例已销毁'),![];return!![];}},{'key':_0x4edfee(0x1a5),'value':function _0x24bcd2(){var _0x43d759=_0x4edfee,_0x2842b5=this[_0x43d759(0x1a1)],_0x18195e=_0x2842b5[_0x43d759(0x196)],_0x55fb91=_0x2842b5['position'],_0x1fcd20=_0x55fb91===void 0x0?[]:_0x55fb91,_0xffa07e=_0x2842b5[_0x43d759(0x193)],_0x3186e4=_0x2842b5[_0x43d759(0x19f)],_0x447be5=_0x2842b5[_0x43d759(0x17e)],_0x1d3178=_0x2842b5[_0x43d759(0x184)],_0x41ff97=_0x2842b5['heading'],_0x4bbbb2=_0x41ff97===void 0x0?0x0:_0x41ff97,_0x1d3328=_0x2842b5[_0x43d759(0x187)],_0x1ede5a=_0x1d3328===void 0x0?0x0:_0x1d3328,_0x3ae7a0=_0x2842b5['roll'],_0x59d148=_0x3ae7a0===void 0x0?0x0:_0x3ae7a0,_0x1bb94d=_0x2842b5['fill'],_0xbd196e=_0x2842b5[_0x43d759(0x19d)],_0x54b91a=_0x2842b5[_0x43d759(0x1a8)],_0x2a5006=_0x2842b5[_0x43d759(0x175)],_0x3276ef=_0x2842b5[_0x43d759(0x1ab)],_0x5b091a=_0x2842b5[_0x43d759(0x1a6)],_0x3cf2e6=_0x5b091a===void 0x0?this[_0x43d759(0x172)]()['camera']:_0x5b091a,_0x21aade=_0x3276ef?_0x3cf2e6:new _0x55cc60[(_0x43d759(0x185))](this['getMap']()['scene']),_0x387db8=_slicedToArray(_0x1fcd20,0x3),_0xe0f90=_0x387db8[0x0],_0x3dc4b8=_0x387db8[0x1],_0xe1b710=_0x387db8[0x2],_0x24b9b5=_0x247ed4[_0x43d759(0x1a3)](_0xe0f90,_0x3dc4b8,_0xe1b710);if(!_0x3276ef){_0x21aade['position']=_0x247ed4['lngLatAltToCartesian3'](_0xe0f90,_0x3dc4b8,_0xe1b710);var _0xf099a1=new _0x55cc60['HeadingPitchRoll'](_0x247ed4[_0x43d759(0x18e)](_0x4bbbb2),_0x247ed4[_0x43d759(0x18e)](_0x1ede5a),_0x247ed4[_0x43d759(0x18e)](_0x59d148));_0x21aade[_0x43d759(0x18f)]({'destination':_0x21aade[_0x43d759(0x18b)],'orientation':_0xf099a1});}var _0x4bdefb=new _0x55cc60['PerspectiveFrustum']({'fov':_0xffa07e?_0x247ed4['toRadians'](_0xffa07e):_0x21aade[_0x43d759(0x189)][_0x43d759(0x193)],'aspectRatio':_0x1d3178?_0x1d3178:_0x21aade['frustum']['aspectRatio'],'near':_0x3186e4?_0x3186e4:_0x21aade['frustum'][_0x43d759(0x19f)],'far':_0x447be5?_0x447be5:_0x21aade['frustum']['far']}),_0x4a2617=_0x55cc60[_0x43d759(0x171)]['clone'](_0x21aade[_0x43d759(0x181)]),_0x398cb3=_0x55cc60[_0x43d759(0x171)]['clone'](_0x21aade['upWC']),_0x521c46=_0x55cc60[_0x43d759(0x171)][_0x43d759(0x18c)](_0x21aade['rightWC']),_0x282837=new _0x55cc60['Matrix3']();_0x55cc60[_0x43d759(0x176)]['setColumn'](_0x282837,0x0,_0x521c46,_0x282837),_0x55cc60[_0x43d759(0x176)][_0x43d759(0x192)](_0x282837,0x1,_0x398cb3,_0x282837),_0x55cc60['Matrix3'][_0x43d759(0x192)](_0x282837,0x2,_0x4a2617,_0x282837);var _0xd38782=_0x55cc60['Matrix4']['fromRotationTranslation'](_0x282837,_0x24b9b5);this[_0x43d759(0x1ac)]=new _0x55cc60['Primitive']({'geometryInstances':new _0x55cc60['GeometryInstance']({'id':_0x5ed77a(),'geometry':new _0x55cc60['FrustumGeometry']({'frustum':_0x4bdefb,'origin':_0x55cc60[_0x43d759(0x171)][_0x43d759(0x18a)],'orientation':_0x55cc60[_0x43d759(0x19a)]['IDENTITY']}),'modelMatrix':_0xd38782,'attributes':{'color':_0x1bb94d?_0x247ed4[_0x43d759(0x186)](_0xbd196e):_0x247ed4[_0x43d759(0x186)](_0x43d759(0x1ad))}}),'releaseGeometryInstances':![],'appearance':new _0x55cc60['PerInstanceColorAppearance']({'closed':!![],'flat':!![]}),'asynchronous':![]}),this['frustumPrimitive'][_0x43d759(0x196)]=_0x18195e,this[_0x43d759(0x172)]()[_0x43d759(0x180)][_0x43d759(0x19c)]['add'](this[_0x43d759(0x1ac)]),_0x54b91a&&(this['frustumLinePrimitive']=new _0x55cc60['Primitive']({'geometryInstances':new _0x55cc60[(_0x43d759(0x191))]({'id':_0x5ed77a(),'geometry':new _0x55cc60['FrustumOutlineGeometry']({'frustum':_0x4bdefb,'origin':_0x55cc60['Cartesian3']['ZERO'],'orientation':_0x55cc60['Quaternion']['IDENTITY']}),'modelMatrix':_0xd38782,'attributes':{'color':_0x247ed4['colorInstanceString'](_0x2a5006)}}),'appearance':new _0x55cc60[(_0x43d759(0x1a2))]({'closed':!![],'flat':!![]}),'asynchronous':![]}),this[_0x43d759(0x173)]['show']=_0x18195e,this[_0x43d759(0x172)]()['scene'][_0x43d759(0x19c)]['add'](this['frustumLinePrimitive']));}},{'key':_0x4edfee(0x1a9),'value':function _0x308139(){var _0x31e123=_0x4edfee,_0xb507b2=arguments[_0x31e123(0x199)]>0x0&&arguments[0x0]!==undefined?arguments[0x0]:_0x31e123(0x17e);if(!this[_0x31e123(0x190)]())return;var _0x596e0c=_0x55cc60['FrustumOutlineGeometry']['createGeometry'](this[_0x31e123(0x1ac)]['geometryInstances'][_0x31e123(0x19e)]),_0x35f801=_0x596e0c[_0x31e123(0x17c)]['position']['values'],_0x547974=this[_0x31e123(0x1ac)]['geometryInstances']['modelMatrix'],_0x2e5f7e=_0xb507b2===_0x31e123(0x19f)?0x0:0xc,_0x5c29ee=_0x2e5f7e+0xc,_0x1b1df5=[];for(var _0x41cd0c=_0x2e5f7e;_0x41cd0c<_0x5c29ee;_0x41cd0c+=0x3){var _0x45b65d=new _0x55cc60['Cartesian3'](_0x35f801[_0x41cd0c],_0x35f801[_0x41cd0c+0x1],_0x35f801[_0x41cd0c+0x2]),_0x4d1ca0=_0x55cc60['Matrix4'][_0x31e123(0x18d)](_0x547974,_0x45b65d,new _0x55cc60['Cartesian3']()),_0x4329c0=_0x247ed4['cartesian3ToLngLatAlt'](_0x4d1ca0),_0x52c30b=_0x4329c0[_0x31e123(0x1b1)],_0x103220=_0x4329c0[_0x31e123(0x174)],_0xe4c29d=_0x4329c0['alt'];_0x1b1df5['push']([_0x52c30b,_0x103220,_0xe4c29d]);}return _0x1b1df5;}},{'key':'getNearPlane','value':function _0x274987(){var _0x550b8f=_0x4edfee;return this['getProjectionPlane'](_0x550b8f(0x19f));}},{'key':'getFarPlane','value':function _0x284230(){var _0x2ce7e8=_0x4edfee;return this['getProjectionPlane'](_0x2ce7e8(0x17e));}},{'key':'show','value':function _0x423213(_0x368524){var _0x594eeb=_0x4edfee;if(!this[_0x594eeb(0x190)]())return;this['frustumPrimitive']&&(this[_0x594eeb(0x1ac)][_0x594eeb(0x196)]=_0x368524),this['frustumLinePrimitive']&&(this['frustumLinePrimitive']['show']=_0x368524);}},{'key':'destroy','value':function _0x25cef9(){var _0x14b281=_0x4edfee;if(!this[_0x14b281(0x190)]())return;this[_0x14b281(0x182)]=!![],this['frustumPrimitive']&&this['getMap']()[_0x14b281(0x180)][_0x14b281(0x19c)][_0x14b281(0x1af)](this[_0x14b281(0x1ac)]),this['frustumPrimitive']=null,this['frustumLinePrimitive']&&this['getMap']()[_0x14b281(0x180)]['primitives']['remove'](this[_0x14b281(0x173)]),this['frustumLinePrimitive']=null;}}]),_0x4e8b81;}());export{Frustum as default};
|