deeptwins-engine-3d 0.1.76 → 0.2.1
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.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 +135 -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
|
+
function _0x4707(){var _0x3b41ad=['Dg9qCMLTAxrPDMu','x2nHBK9WzxjHDgu','y2fSBa','nZaWmM5muvrTzq','nZy2ndGWoe1vz3fvvG','y29UzMLNDxjHyMXL','Cg9ZAxrPB25Z','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9YCW','twf0zxjPywXbChbLyxjHBMnL','x2nHCNrLC2LHBLbVC2L0Aw9UCW','uhjPBwL0AxzL','twf0zxjPywW','Bg5Ntgf0qwX0vg9dyxj0zxnPyw4Z','yMXLBMrdB2XVCG','yw1WBgL0DwrL','zgvZDhjVEq','nte3qMrRA05X','quXm','CMv0DxjU','x3rYyw5ZzM9YBvbVC2L0Aw9U','u2v0','x2LZqwrKzwq','BM9YBwfStwfW','mwTAv09Qzq','BgvUz3rO','zMLSDgvY','Axnezxn0CM95zwq','D3jPDgfIBgu','ug9SEwDVBKHPzxjHCMnOEq','ndu5nduWneX4t3zVzW','yxbWBhK','ntbgu0DxDve','mti2nJC0mLL3qxbcCW','y29UC3rYDwn0B3i','rhLUyw1Py1DHDgvY6iEZ5Bcr6zYa6kAbm+s4QUACIEAvIoEcUq','C2nLBMu','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','odK5ndq1nfbUANHOwG','A2v5CW','CMvTB3zL','ChvZAa','AgvPz2H0','Dw5PzM9YBxm','v2f0zxjuExbL','C2XPy2u','Dg9sywrPyw5Z','Bgf0','nJuYndm0v2zlwvjH','x2DLDfDHDgvYvw5PzM9YBxm','AxnbCNjHEq','otCWAe5Psezh','z2v0twfW','DMfSDwu','ywX0','C3LTyM9S','zgvMyxvSDa','x21HCenVBNrLEhq','zxjYB3i','B2jQzwn0','ChjPBwL0AxzL','zgvMAw5LuhjVCgvYDhK','zg9Uzq','C3rYAw5N','Bwf0zxjPywW','ntiYmJy0ALjkB0TW','m1D3rMHxsq','q2fUBM90ignHBgWGysbJBgfZCYbHCYbHigz1BMn0Aw9U','zM9YrwfJAa','ChjPBwL0AxzLCW','y29SB3jtDhjPBMC','qeb0B1bYAw1PDgL2zsbTDxn0ihjLDhvYBIbHihbYAw1PDgL2zsb2ywX1zs4','C2HVDW','zNjVBq','C3r5Bgu','x3jLyNvPBgrqCMLTAxrPDMu','ChjVDg90ExbL'];_0x4707=function(){return _0x3b41ad;};return _0x4707();}var _0x3bbe41=_0x35a4;(function(_0x2b2dd8,_0x5c357e){var _0x257655=_0x35a4,_0x10c885=_0x2b2dd8();while(!![]){try{var _0xbff1aa=parseInt(_0x257655(0x143))/0x1*(parseInt(_0x257655(0x14c))/0x2)+parseInt(_0x257655(0x121))/0x3*(-parseInt(_0x257655(0x149))/0x4)+parseInt(_0x257655(0x14b))/0x5*(-parseInt(_0x257655(0x15b))/0x6)+parseInt(_0x257655(0x151))/0x7+-parseInt(_0x257655(0x130))/0x8+-parseInt(_0x257655(0x12f))/0x9*(parseInt(_0x257655(0x15e))/0xa)+-parseInt(_0x257655(0x13c))/0xb*(-parseInt(_0x257655(0x120))/0xc);if(_0xbff1aa===_0x5c357e)break;else _0x10c885['push'](_0x10c885['shift']());}catch(_0x4cfb14){_0x10c885['push'](_0x10c885['shift']());}}}(_0x4707,0xa97e4));function _typeof(_0x577588){'@babel/helpers - typeof';var _0x98c61f=_0x35a4;return _typeof='function'==typeof Symbol&&_0x98c61f(0x162)==typeof Symbol['iterator']?function(_0x23136f){return typeof _0x23136f;}:function(_0x266b3f){var _0x233660=_0x98c61f;return _0x266b3f&&'function'==typeof Symbol&&_0x266b3f['constructor']===Symbol&&_0x266b3f!==Symbol[_0x233660(0x12b)]?_0x233660(0x162):typeof _0x266b3f;},_typeof(_0x577588);}function _slicedToArray(_0x7a0b01,_0x297ca7){return _arrayWithHoles(_0x7a0b01)||_iterableToArrayLimit(_0x7a0b01,_0x297ca7)||_unsupportedIterableToArray(_0x7a0b01,_0x297ca7)||_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(_0x2ac6f9,_0x727d5d){var _0x1dd7ef=_0x35a4;if(!_0x2ac6f9)return;if(typeof _0x2ac6f9==='string')return _arrayLikeToArray(_0x2ac6f9,_0x727d5d);var _0x43d95d=Object[_0x1dd7ef(0x12b)]['toString'][_0x1dd7ef(0x12e)](_0x2ac6f9)[_0x1dd7ef(0x158)](0x8,-0x1);if(_0x43d95d==='Object'&&_0x2ac6f9[_0x1dd7ef(0x14d)])_0x43d95d=_0x2ac6f9['constructor']['name'];if(_0x43d95d==='Map'||_0x43d95d===_0x1dd7ef(0x140))return Array[_0x1dd7ef(0x128)](_0x2ac6f9);if(_0x43d95d==='Arguments'||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](_0x43d95d))return _arrayLikeToArray(_0x2ac6f9,_0x727d5d);}function _arrayLikeToArray(_0x18000b,_0x4c7df6){var _0x34c827=_0x35a4;if(_0x4c7df6==null||_0x4c7df6>_0x18000b[_0x34c827(0x144)])_0x4c7df6=_0x18000b[_0x34c827(0x144)];for(var _0x41214c=0x0,_0x3effc7=new Array(_0x4c7df6);_0x41214c<_0x4c7df6;_0x41214c++)_0x3effc7[_0x41214c]=_0x18000b[_0x41214c];return _0x3effc7;}function _iterableToArrayLimit(_0xdfe556,_0xef0bc9){var _0x5b5ca3=_0x35a4,_0x2023be=null==_0xdfe556?null:'undefined'!=typeof Symbol&&_0xdfe556[Symbol['iterator']]||_0xdfe556['@@iterator'];if(null!=_0x2023be){var _0x4eb5ba,_0xec1ce9,_0x2b845d,_0x1590c2,_0x110abf=[],_0x40d2c0=!0x0,_0x446103=!0x1;try{if(_0x2b845d=(_0x2023be=_0x2023be[_0x5b5ca3(0x12e)](_0xdfe556))['next'],0x0===_0xef0bc9){if(Object(_0x2023be)!==_0x2023be)return;_0x40d2c0=!0x1;}else{for(;!(_0x40d2c0=(_0x4eb5ba=_0x2b845d[_0x5b5ca3(0x12e)](_0x2023be))[_0x5b5ca3(0x11d)])&&(_0x110abf[_0x5b5ca3(0x154)](_0x4eb5ba['value']),_0x110abf[_0x5b5ca3(0x144)]!==_0xef0bc9);_0x40d2c0=!0x0);}}catch(_0xe9f440){_0x446103=!0x0,_0xec1ce9=_0xe9f440;}finally{try{if(!_0x40d2c0&&null!=_0x2023be[_0x5b5ca3(0x13e)]&&(_0x1590c2=_0x2023be[_0x5b5ca3(0x13e)](),Object(_0x1590c2)!==_0x1590c2))return;}finally{if(_0x446103)throw _0xec1ce9;}}return _0x110abf;}}function _arrayWithHoles(_0x230f53){var _0x517af7=_0x35a4;if(Array[_0x517af7(0x15d)](_0x230f53))return _0x230f53;}function ownKeys(_0x490104,_0x4e45c5){var _0x49bb72=_0x35a4,_0x584649=Object[_0x49bb72(0x152)](_0x490104);if(Object['getOwnPropertySymbols']){var _0x3491e0=Object['getOwnPropertySymbols'](_0x490104);_0x4e45c5&&(_0x3491e0=_0x3491e0[_0x49bb72(0x145)](function(_0x250a58){var _0x5667e2=_0x49bb72;return Object[_0x5667e2(0x150)](_0x490104,_0x250a58)['enumerable'];})),_0x584649[_0x49bb72(0x154)][_0x49bb72(0x14a)](_0x584649,_0x3491e0);}return _0x584649;}function _objectSpread(_0x4fa54d){var _0x279fff=_0x35a4;for(var _0x4d7cdb=0x1;_0x4d7cdb<arguments[_0x279fff(0x144)];_0x4d7cdb++){var _0x4ab0ae=null!=arguments[_0x4d7cdb]?arguments[_0x4d7cdb]:{};_0x4d7cdb%0x2?ownKeys(Object(_0x4ab0ae),!0x0)['forEach'](function(_0x4bfc07){_defineProperty(_0x4fa54d,_0x4bfc07,_0x4ab0ae[_0x4bfc07]);}):Object[_0x279fff(0x133)]?Object['defineProperties'](_0x4fa54d,Object[_0x279fff(0x133)](_0x4ab0ae)):ownKeys(Object(_0x4ab0ae))[_0x279fff(0x123)](function(_0x189785){Object['defineProperty'](_0x4fa54d,_0x189785,Object['getOwnPropertyDescriptor'](_0x4ab0ae,_0x189785));});}return _0x4fa54d;}function _classCallCheck(_0xcf57e1,_0x87c120){var _0x25a4e2=_0x35a4;if(!(_0xcf57e1 instanceof _0x87c120))throw new TypeError(_0x25a4e2(0x122));}function _defineProperties(_0x1502cc,_0x138f10){var _0x5a4b6f=_0x35a4;for(var _0x5b4296=0x0;_0x5b4296<_0x138f10['length'];_0x5b4296++){var _0x29b175=_0x138f10[_0x5b4296];_0x29b175['enumerable']=_0x29b175['enumerable']||![],_0x29b175[_0x5a4b6f(0x131)]=!![];if(_0x5a4b6f(0x160)in _0x29b175)_0x29b175[_0x5a4b6f(0x147)]=!![];Object[_0x5a4b6f(0x11c)](_0x1502cc,_toPropertyKey(_0x29b175['key']),_0x29b175);}}function _createClass(_0x16ddd5,_0x5f298b,_0x2a6ef4){var _0x449cb3=_0x35a4;if(_0x5f298b)_defineProperties(_0x16ddd5[_0x449cb3(0x12b)],_0x5f298b);if(_0x2a6ef4)_defineProperties(_0x16ddd5,_0x2a6ef4);return Object[_0x449cb3(0x11c)](_0x16ddd5,_0x449cb3(0x12b),{'writable':![]}),_0x16ddd5;}function _defineProperty(_0xbeb279,_0xa24253,_0x1be9b9){return _0xa24253=_toPropertyKey(_0xa24253),_0xa24253 in _0xbeb279?Object['defineProperty'](_0xbeb279,_0xa24253,{'value':_0x1be9b9,'enumerable':!![],'configurable':!![],'writable':!![]}):_0xbeb279[_0xa24253]=_0x1be9b9,_0xbeb279;}function _toPropertyKey(_0x4509f4){var _0x23f065=_0x35a4,_0x4f5eaf=_toPrimitive(_0x4509f4,_0x23f065(0x11e));return'symbol'==_typeof(_0x4f5eaf)?_0x4f5eaf:String(_0x4f5eaf);}function _toPrimitive(_0x495eca,_0x3c85df){var _0x1dc6ad=_0x35a4;if(_0x1dc6ad(0x11a)!=_typeof(_0x495eca)||!_0x495eca)return _0x495eca;var _0x112d87=_0x495eca[Symbol[_0x1dc6ad(0x12c)]];if(void 0x0!==_0x112d87){var _0x356912=_0x112d87['call'](_0x495eca,_0x3c85df||_0x1dc6ad(0x163));if(_0x1dc6ad(0x11a)!=_typeof(_0x356912))return _0x356912;throw new TypeError(_0x1dc6ad(0x126));}return('string'===_0x3c85df?String:Number)(_0x495eca);}import*as _0x3b8b55 from'deeptwins-cesium';import{cloneDeep,merge}from'lodash';import{v4 as _0x296b3e}from'uuid';import{DEFAULT_DYNAMIC_WATER_STYLE}from'../constant';import*as _0x44d6d7 from'../tool/utils';var REBUILD_STYLE_KEYS=[_0x3bbe41(0x155),'stRotation'],DynamicWater=(function(){var _0x531773=_0x3bbe41;function _0x31bc5c(){var _0x2a3ac0=_0x35a4,_0x588831=arguments[_0x2a3ac0(0x144)]>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};_classCallCheck(this,_0x31bc5c),_defineProperty(this,_0x2a3ac0(0x164),void 0x0),_defineProperty(this,'id',void 0x0),_defineProperty(this,_0x2a3ac0(0x132),[]),_defineProperty(this,_0x2a3ac0(0x129),void 0x0),_defineProperty(this,_0x2a3ac0(0x11b),null),_defineProperty(this,'material',null),_defineProperty(this,_0x2a3ac0(0x146),![]),_defineProperty(this,_0x2a3ac0(0x135),[]),_defineProperty(this,'_isAdded',![]);var _0x3f7188=_0x588831['positions'],_0x2112fd=_0x3f7188===void 0x0?[]:_0x3f7188,_0x4415f9=_0x588831['style'],_0x19c262=_0x4415f9===void 0x0?{}:_0x4415f9;this['id']=_0x296b3e(),this['positions']=_0x2112fd,this['style']=merge(DEFAULT_DYNAMIC_WATER_STYLE(),cloneDeep(_0x19c262||{})),this['_cartesianPositions']=this['_transformPositions'](this[_0x2a3ac0(0x132)]);}return _createClass(_0x31bc5c,[{'key':_0x531773(0x15f),'value':function _0x5302e8(){var _0xdc8221=_0x531773,_0xc7e494;return(_0xc7e494=this['_mapContext'])===null||_0xc7e494===void 0x0?void 0x0:_0xc7e494[_0xdc8221(0x15f)]();}},{'key':'addToMap','value':function _0x5d86f8(_0x3cb2c5){var _0x4aeb11=_0x531773;if(!this[_0x4aeb11(0x12d)]())return;if(this[_0x4aeb11(0x141)]&&this['getMap']()===_0x3cb2c5)return this;return this['_isAdded']&&this[_0x4aeb11(0x153)](),this['_mapContext']=_0x3cb2c5[_0x4aeb11(0x164)],this['_rebuildPrimitive'](),this;}},{'key':_0x531773(0x153),'value':function _0xfe6149(){var _0x2945ee=_0x531773;if(this[_0x2945ee(0x146)]||!this[_0x2945ee(0x141)])return;var _0x176046=this[_0x2945ee(0x15f)]();_0x176046&&this[_0x2945ee(0x11b)]&&_0x176046['scene']['primitives']['remove'](this[_0x2945ee(0x11b)]),this[_0x2945ee(0x11b)]=null,this[_0x2945ee(0x11f)]=null,this['_isAdded']=![];}},{'key':'show','value':function _0x1b86e9(_0x4fba26){var _0x40f523=_0x531773;if(!this['_canOperate']())return;return this['style'][_0x40f523(0x127)]=_0x4fba26,this['primitive']&&(this[_0x40f523(0x11b)][_0x40f523(0x127)]=_0x4fba26),this;}},{'key':'setData','value':function _0x1bcd73(){var _0x543666=_0x531773,_0x53797f=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:[];if(!this['_canOperate']())return;return this['positions']=_0x53797f,this[_0x543666(0x135)]=this['_transformPositions'](_0x53797f),this['_isAdded']&&this['_rebuildPrimitive'](),this;}},{'key':'setStyle','value':function _0x28603f(){var _0x5a193d=_0x531773,_0x4a1eb1=arguments[_0x5a193d(0x144)]>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};if(!this[_0x5a193d(0x12d)]())return;var _0x2af902=REBUILD_STYLE_KEYS['some'](function(_0x475fa0){var _0x4ef207=_0x5a193d;return Object[_0x4ef207(0x12b)]['hasOwnProperty']['call'](_0x4a1eb1,_0x475fa0);});this[_0x5a193d(0x129)]=merge(this[_0x5a193d(0x129)],cloneDeep(_0x4a1eb1||{}));if(!this['_isAdded'])return this;return _0x2af902?this['_rebuildPrimitive']():(this['_updateMaterialUniforms'](),this['show'](this['style'][_0x5a193d(0x127)])),this;}},{'key':'flyTo','value':function _0x39adf8(){var _0x123b64=_0x531773,_0x202495=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:{};if(!this['_canOperate']()||!this['getMap']())return;if(this['_cartesianPositions'][_0x123b64(0x144)]<0x3)return;_0x44d6d7['cameraFlyToPositions'](this[_0x123b64(0x15f)]()['camera'],this[_0x123b64(0x135)],_objectSpread({'scale':1.4},_0x202495));}},{'key':_0x531773(0x13b),'value':function _0x410074(){var _0x5d0691=_0x531773;if(this[_0x5d0691(0x146)])return;this[_0x5d0691(0x153)](),this['positions']=[],this['_cartesianPositions']=[],this['_mapContext']=undefined,this[_0x5d0691(0x146)]=!![];}},{'key':_0x531773(0x12d),'value':function _0x2ca481(){var _0x44b9c4=_0x531773;if(this[_0x44b9c4(0x146)])return _0x44d6d7[_0x44b9c4(0x165)]('DynamicWater实例已销毁'),![];return!![];}},{'key':_0x531773(0x12a),'value':function _0x5af604(){var _0x3a0bac=_0x531773,_0x37e149=this[_0x3a0bac(0x15f)]();if(!_0x37e149)return;this['primitive']&&(_0x37e149[_0x3a0bac(0x14f)]['primitives'][_0x3a0bac(0x153)](this[_0x3a0bac(0x11b)]),this['primitive']=null,this['material']=null);if(this[_0x3a0bac(0x135)]['length']<0x3){_0x44d6d7['error'](_0x3a0bac(0x14e)),this['_isAdded']=![];return;}var _0x4d09ad=new _0x3b8b55['PolygonGeometry']({'polygonHierarchy':new _0x3b8b55[(_0x3a0bac(0x148))](this['_cartesianPositions']),'vertexFormat':_0x3b8b55['MaterialAppearance']['MaterialSupport'][_0x3a0bac(0x13d)]['vertexFormat'],'height':this['style']['height'],'stRotation':_0x44d6d7[_0x3a0bac(0x159)](this[_0x3a0bac(0x129)]['stRotation']||0x0),'perPositionHeight':![]}),_0x95150=_0x3b8b55[_0x3a0bac(0x137)]['fromType'](_0x3b8b55['Material'][_0x3a0bac(0x157)],this[_0x3a0bac(0x15c)]()),_0x267804=_0x37e149['scene'][_0x3a0bac(0x124)]['add'](new _0x3b8b55[(_0x3a0bac(0x136))]({'geometryInstances':new _0x3b8b55['GeometryInstance']({'id':this['id'],'geometry':_0x4d09ad}),'appearance':new _0x3b8b55['MaterialAppearance']({'material':_0x95150,'faceForward':!![],'translucent':!![],'materialSupport':_0x3b8b55[_0x3a0bac(0x134)]['MaterialSupport']['ALL']}),'asynchronous':![]}));_0x267804[_0x3a0bac(0x127)]=this['style'][_0x3a0bac(0x127)],this['material']=_0x95150,this[_0x3a0bac(0x11b)]=_0x267804,this[_0x3a0bac(0x141)]=!![];}},{'key':'_updateMaterialUniforms','value':function _0x5f3cb4(){var _0x147be9=_0x531773,_0x517b9b=this['material'];if(!_0x517b9b)return;var _0x3286f1=this[_0x147be9(0x15c)]();Object[_0x147be9(0x152)](_0x3286f1)['forEach'](function(_0x1daa16){var _0x342e62=_0x147be9;_0x517b9b[_0x342e62(0x156)][_0x1daa16]=_0x3286f1[_0x1daa16];});}},{'key':_0x531773(0x15c),'value':function _0x4252e4(){var _0x166255=_0x531773,_0x131c82=this[_0x166255(0x129)],_0x37e7bd=_0x131c82['baseWaterColor'],_0x5f18f7=_0x131c82[_0x166255(0x139)],_0x2b357d=_0x131c82['specularMap'],_0x5c1d3e=_0x131c82[_0x166255(0x142)],_0x2ca173=_0x131c82['frequency'],_0x4afc84=_0x131c82['animationSpeed'],_0x32e189=_0x131c82[_0x166255(0x13a)],_0x496e0e=_0x131c82['specularIntensity'],_0x3533cd=_0x131c82['fadeFactor'];return{'baseWaterColor':_0x44d6d7[_0x166255(0x125)](_0x37e7bd),'blendColor':_0x44d6d7['colorString'](_0x5f18f7),'specularMap':_0x2b357d,'normalMap':_0x5c1d3e,'frequency':_0x2ca173,'animationSpeed':_0x4afc84,'amplitude':_0x32e189,'specularIntensity':_0x496e0e,'fadeFactor':_0x3533cd};}},{'key':'_transformPositions','value':function _0x3e2907(){var _0x5ce7b0=_0x531773,_0x223b9d=this,_0x1c72b8=arguments['length']>0x0&&arguments[0x0]!==undefined?arguments[0x0]:[];return _0x1c72b8['map'](function(_0x19a4c5){var _0x3d3362=_0x35a4;return _0x223b9d[_0x3d3362(0x13f)](_0x19a4c5);})[_0x5ce7b0(0x145)](Boolean);}},{'key':_0x531773(0x13f),'value':function _0x2e4bf5(_0x907ae3){var _0x44df1b=_0x531773;if(Array['isArray'](_0x907ae3)){var _0x271ea3=_slicedToArray(_0x907ae3,0x3),_0x19dca4=_0x271ea3[0x0],_0x4a3be4=_0x271ea3[0x1],_0x8c403b=_0x271ea3[0x2],_0x56eb54=_0x8c403b===void 0x0?0x0:_0x8c403b;return _0x44d6d7[_0x44df1b(0x138)](_0x19dca4,_0x4a3be4,_0x56eb54);}if(_0x907ae3&&_typeof(_0x907ae3)==='object')return _0x44d6d7['lngLatAltToCartesian3'](_0x907ae3['lng'],_0x907ae3[_0x44df1b(0x15a)],_0x907ae3[_0x44df1b(0x161)]||0x0);return null;}}]),_0x31bc5c;}());function _0x35a4(_0x28c0b6,_0x36de52){_0x28c0b6=_0x28c0b6-0x11a;var _0x47079c=_0x4707();var _0x35a4d8=_0x47079c[_0x28c0b6];if(_0x35a4['XgnEjr']===undefined){var _0x1b8348=function(_0x453e7e){var _0x1b957f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3b8b55='',_0x296b3e='';for(var _0x44d6d7=0x0,_0x577588,_0x23136f,_0x266b3f=0x0;_0x23136f=_0x453e7e['charAt'](_0x266b3f++);~_0x23136f&&(_0x577588=_0x44d6d7%0x4?_0x577588*0x40+_0x23136f:_0x23136f,_0x44d6d7++%0x4)?_0x3b8b55+=String['fromCharCode'](0xff&_0x577588>>(-0x2*_0x44d6d7&0x6)):0x0){_0x23136f=_0x1b957f['indexOf'](_0x23136f);}for(var _0x7a0b01=0x0,_0x297ca7=_0x3b8b55['length'];_0x7a0b01<_0x297ca7;_0x7a0b01++){_0x296b3e+='%'+('00'+_0x3b8b55['charCodeAt'](_0x7a0b01)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x296b3e);};_0x35a4['fExViL']=_0x1b8348,_0x35a4['uZGsmS']={},_0x35a4['XgnEjr']=!![];}var _0xc3885e=_0x47079c[0x0],_0x44fd7a=_0x28c0b6+_0xc3885e,_0x38b6fd=_0x35a4['uZGsmS'][_0x44fd7a];return!_0x38b6fd?(_0x35a4d8=_0x35a4['fExViL'](_0x35a4d8),_0x35a4['uZGsmS'][_0x44fd7a]=_0x35a4d8):_0x35a4d8=_0x38b6fd,_0x35a4d8;}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(_0x4dcee2,_0x39ee36){var _0x40a7cc=_0x419b,_0x59d78c=_0x4dcee2();while(!![]){try{var _0x5abec7=parseInt(_0x40a7cc(0x17b))/0x1*(parseInt(_0x40a7cc(0x157))/0x2)+-parseInt(_0x40a7cc(0x172))/0x3+parseInt(_0x40a7cc(0x150))/0x4*(parseInt(_0x40a7cc(0x167))/0x5)+-parseInt(_0x40a7cc(0x143))/0x6*(parseInt(_0x40a7cc(0x134))/0x7)+-parseInt(_0x40a7cc(0x163))/0x8*(-parseInt(_0x40a7cc(0x148))/0x9)+parseInt(_0x40a7cc(0x16b))/0xa+-parseInt(_0x40a7cc(0x173))/0xb*(-parseInt(_0x40a7cc(0x13c))/0xc);if(_0x5abec7===_0x39ee36)break;else _0x59d78c['push'](_0x59d78c['shift']());}catch(_0x1c601a){_0x59d78c['push'](_0x59d78c['shift']());}}}(_0x2366,0x29e45));function _typeof(_0x4313a8){'@babel/helpers - typeof';var _0x34ee7b=_0x419b;return _typeof='function'==typeof Symbol&&_0x34ee7b(0x177)==typeof Symbol[_0x34ee7b(0x13f)]?function(_0xe25a1e){return typeof _0xe25a1e;}:function(_0x32976a){var _0x3317aa=_0x34ee7b;return _0x32976a&&'function'==typeof Symbol&&_0x32976a[_0x3317aa(0x178)]===Symbol&&_0x32976a!==Symbol[_0x3317aa(0x153)]?'symbol':typeof _0x32976a;},_typeof(_0x4313a8);}function _slicedToArray(_0x47363d,_0x48cb31){return _arrayWithHoles(_0x47363d)||_iterableToArrayLimit(_0x47363d,_0x48cb31)||_unsupportedIterableToArray(_0x47363d,_0x48cb31)||_nonIterableRest();}function _nonIterableRest(){var _0x20c41b=_0x419b;throw new TypeError(_0x20c41b(0x149));}function _unsupportedIterableToArray(_0x526ec8,_0x13c0da){var _0x235f34=_0x419b;if(!_0x526ec8)return;if(typeof _0x526ec8==='string')return _arrayLikeToArray(_0x526ec8,_0x13c0da);var _0x303f29=Object['prototype']['toString'][_0x235f34(0x151)](_0x526ec8)['slice'](0x8,-0x1);if(_0x303f29==='Object'&&_0x526ec8[_0x235f34(0x178)])_0x303f29=_0x526ec8[_0x235f34(0x178)]['name'];if(_0x303f29===_0x235f34(0x161)||_0x303f29==='Set')return Array['from'](_0x526ec8);if(_0x303f29==='Arguments'||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[_0x235f34(0x16f)](_0x303f29))return _arrayLikeToArray(_0x526ec8,_0x13c0da);}function _0x2366(){var _0x2a9cf1=['D3jPDgfIBgu','nde4ndfZzwrfyuu','sw52ywXPzcbHDhrLBxb0ihrVigrLC3rYDwn0DxjLig5VBI1PDgvYywjSzsbPBNn0yw5Jzs4ksw4GB3jKzxiGDg8GyMuGAxrLCMfIBguSig5VBI1HCNjHEsbVyMPLy3rZig11C3qGAgf2zsbHifTtEw1IB2WUAxrLCMf0B3jDkcKGBwv0Ag9KlG','Cg9ZAxrPB24','CMvTB3zL','zMLSBa','A2v5','C3rYAw5N','x21HCenVBNrLEhq','mJbOy3n2thy','y2fSBa','y2fYDgvZAwfUm1rVtg5Ntgf0qwX0','ChjVDg90ExbL','x2fKzezYDxn0Dw0','B3b0Aw9UCW','CgL0y2G','mte5nJm2AvbqwLnP','BMvHCG','CMLNAhrxqW','ywX0','y29SB3i','rNj1C3r1BuDLB21LDhj5','z2vVBwv0CNLjBNn0yw5Jzxm','zw51BwvYywjSzq','zNj1C3r1BvbYAw1PDgL2zq','BMv4Da','twfW','Dw5KzwzPBMvK','mta0thHLy3bp','AxnxAxrOq2fTzxjH','ugvYsw5ZDgfUy2vdB2XVCKfWCgvHCMfUy2u','r2vVBwv0CNLjBNn0yw5Jzq','mtm4oduWrNDvDLPL','q2fTzxjH','twf0CML4na','zgvMAw5LuhjVCgvYDhK','mJuYnJmWme9Vy2fHwq','yxnWzwn0uMf0Aw8','Dg9sywrPyw5Z','rNj1C3r1BEwUNUs+I+w3SUMuGoAVGq','DgvZDa','ChjPBwL0AxzLCW','B2jQzwn0','mJG3oti4BLvMqwLz','nZqYntC3zgTNwLzn','zNj1C3r1Bq','ywrK','Axnezxn0CM95zwq','C3LTyM9S','y29UC3rYDwn0B3i','BgvUz3rO','surftLrjvfK','mxrpAvbqDG','zNj1C3r1BuXPBMvqCMLTAxrPDMu','q2fYDgvZAwfUmW','n3rnq1juvq','ChvZAa','twf0CML4mW','C2HVDW','Bg5Ntgf0qwX0vg9dyxj0zxnPyw4Z','x2nHBK9WzxjHDgu','q2fUBM90ignHBgWGysbJBgfZCYbHCYbHigz1BMn0Aw9U','zxjYB3i','mtjyAKrjtey','y2XVBMu','z2v0twfW','AxrLCMf0B3i','CMv0DxjU','y2fTzxjH','uhjPBwL0AxzL','mtG3mda2mMrrrg9IAq','AxnbCNjHEq','BxvSDgLWBhLcEvbVAw50','zgvMyxvSDa'];_0x2366=function(){return _0x2a9cf1;};return _0x2366();}function _arrayLikeToArray(_0x5cd16e,_0x497973){var _0xc8d6c4=_0x419b;if(_0x497973==null||_0x497973>_0x5cd16e[_0xc8d6c4(0x179)])_0x497973=_0x5cd16e[_0xc8d6c4(0x179)];for(var _0x229ecb=0x0,_0x43843e=new Array(_0x497973);_0x229ecb<_0x497973;_0x229ecb++)_0x43843e[_0x229ecb]=_0x5cd16e[_0x229ecb];return _0x43843e;}function _iterableToArrayLimit(_0x216d42,_0x369509){var _0x454b50=_0x419b,_0x299925=null==_0x216d42?null:_0x454b50(0x162)!=typeof Symbol&&_0x216d42[Symbol['iterator']]||_0x216d42['@@iterator'];if(null!=_0x299925){var _0x1d7db9,_0x308433,_0x4b003b,_0xbd437,_0x1d3385=[],_0x13c12e=!0x0,_0x1fc7ce=!0x1;try{if(_0x4b003b=(_0x299925=_0x299925[_0x454b50(0x151)](_0x216d42))[_0x454b50(0x160)],0x0===_0x369509){if(Object(_0x299925)!==_0x299925)return;_0x13c12e=!0x1;}else{for(;!(_0x13c12e=(_0x1d7db9=_0x4b003b[_0x454b50(0x151)](_0x299925))['done'])&&(_0x1d3385[_0x454b50(0x135)](_0x1d7db9['value']),_0x1d3385['length']!==_0x369509);_0x13c12e=!0x0);}}catch(_0x3f7258){_0x1fc7ce=!0x0,_0x308433=_0x3f7258;}finally{try{if(!_0x13c12e&&null!=_0x299925[_0x454b50(0x140)]&&(_0xbd437=_0x299925['return'](),Object(_0xbd437)!==_0xbd437))return;}finally{if(_0x1fc7ce)throw _0x308433;}}return _0x1d3385;}}function _arrayWithHoles(_0x5379bb){var _0x1084a2=_0x419b;if(Array[_0x1084a2(0x144)](_0x5379bb))return _0x5379bb;}function _classCallCheck(_0xcb0fe8,_0x29bdcf){var _0x2cf80e=_0x419b;if(!(_0xcb0fe8 instanceof _0x29bdcf))throw new TypeError(_0x2cf80e(0x13a));}function _0x419b(_0x4da62a,_0x3bf83a){_0x4da62a=_0x4da62a-0x132;var _0x23669a=_0x2366();var _0x419ba5=_0x23669a[_0x4da62a];if(_0x419b['PsimtW']===undefined){var _0xc4744e=function(_0x3853c3){var _0x3f565c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x472874='',_0x3e016e='';for(var _0x5ab12d=0x0,_0x4313a8,_0xe25a1e,_0x32976a=0x0;_0xe25a1e=_0x3853c3['charAt'](_0x32976a++);~_0xe25a1e&&(_0x4313a8=_0x5ab12d%0x4?_0x4313a8*0x40+_0xe25a1e:_0xe25a1e,_0x5ab12d++%0x4)?_0x472874+=String['fromCharCode'](0xff&_0x4313a8>>(-0x2*_0x5ab12d&0x6)):0x0){_0xe25a1e=_0x3f565c['indexOf'](_0xe25a1e);}for(var _0x47363d=0x0,_0x48cb31=_0x472874['length'];_0x47363d<_0x48cb31;_0x47363d++){_0x3e016e+='%'+('00'+_0x472874['charCodeAt'](_0x47363d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e016e);};_0x419b['vYgaJz']=_0xc4744e,_0x419b['gNvpBQ']={},_0x419b['PsimtW']=!![];}var _0x3c0b4e=_0x23669a[0x0],_0x6dfd1d=_0x4da62a+_0x3c0b4e,_0x5907b7=_0x419b['gNvpBQ'][_0x6dfd1d];return!_0x5907b7?(_0x419ba5=_0x419b['vYgaJz'](_0x419ba5),_0x419b['gNvpBQ'][_0x6dfd1d]=_0x419ba5):_0x419ba5=_0x5907b7,_0x419ba5;}function _defineProperties(_0x886ffc,_0x5cae17){var _0x74b37e=_0x419b;for(var _0x4a2db5=0x0;_0x4a2db5<_0x5cae17['length'];_0x4a2db5++){var _0x46b871=_0x5cae17[_0x4a2db5];_0x46b871[_0x74b37e(0x15e)]=_0x46b871[_0x74b37e(0x15e)]||![],_0x46b871['configurable']=!![];if('value'in _0x46b871)_0x46b871[_0x74b37e(0x147)]=!![];Object['defineProperty'](_0x886ffc,_toPropertyKey(_0x46b871[_0x74b37e(0x14d)]),_0x46b871);}}function _createClass(_0x2e3f79,_0x1ec39f,_0x4614ae){var _0x177052=_0x419b;if(_0x1ec39f)_defineProperties(_0x2e3f79['prototype'],_0x1ec39f);if(_0x4614ae)_defineProperties(_0x2e3f79,_0x4614ae);return Object['defineProperty'](_0x2e3f79,_0x177052(0x153),{'writable':![]}),_0x2e3f79;}function _defineProperty(_0x3cc608,_0x28e356,_0x1c639e){var _0x14155e=_0x419b;return _0x28e356=_toPropertyKey(_0x28e356),_0x28e356 in _0x3cc608?Object[_0x14155e(0x16a)](_0x3cc608,_0x28e356,{'value':_0x1c639e,'enumerable':!![],'configurable':!![],'writable':!![]}):_0x3cc608[_0x28e356]=_0x1c639e,_0x3cc608;}function _toPropertyKey(_0x505850){var _0x429233=_0x419b,_0x5a08a4=_toPrimitive(_0x505850,_0x429233(0x14e));return _0x429233(0x177)==_typeof(_0x5a08a4)?_0x5a08a4:String(_0x5a08a4);}function _toPrimitive(_0x5416ea,_0x125835){var _0x10f85e=_0x419b;if(_0x10f85e(0x171)!=_typeof(_0x5416ea)||!_0x5416ea)return _0x5416ea;var _0x24c246=_0x5416ea[Symbol['toPrimitive']];if(void 0x0!==_0x24c246){var _0x1c8e08=_0x24c246['call'](_0x5416ea,_0x125835||_0x10f85e(0x146));if('object'!=_typeof(_0x1c8e08))return _0x1c8e08;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');}return(_0x10f85e(0x14e)===_0x125835?String:Number)(_0x5416ea);}import*as _0x472874 from'deeptwins-cesium';import{merge}from'lodash';import{v4 as _0x3e016e}from'uuid';import{DEFAULT_FRUSTUM_OPTIONS}from'../constant';import*as _0x5ab12d from'../tool/utils';var Frustum=(function(){var _0x1f6fe7=_0x419b;function _0x449e56(_0x434dfb,_0x382e20){var _0xd1d69d=_0x419b;_classCallCheck(this,_0x449e56),_defineProperty(this,_0xd1d69d(0x14f),void 0x0),_defineProperty(this,'options',void 0x0),_defineProperty(this,_0xd1d69d(0x15f),void 0x0),_defineProperty(this,'frustumLinePrimitive',void 0x0),_defineProperty(this,'isDestroyed',![]),this['_mapContext']=_0x434dfb['_mapContext'],this[_0xd1d69d(0x155)]=merge(DEFAULT_FRUSTUM_OPTIONS(),_0x382e20),this['_addFrustum']();}return _createClass(_0x449e56,[{'key':_0x1f6fe7(0x13e),'value':function _0x38b409(){var _0x1dfc22=_0x1f6fe7;return this[_0x1dfc22(0x14f)]&&this['_mapContext']['getMap']();}},{'key':'_canOperate','value':function _0x5c3c81(){var _0x3042c1=_0x1f6fe7;if(this['isDestroyed'])return _0x5ab12d[_0x3042c1(0x13b)](_0x3042c1(0x16e)),![];return!![];}},{'key':_0x1f6fe7(0x154),'value':function _0x4f5ec8(){var _0x4d4d64=_0x1f6fe7,_0x92a92b=this[_0x4d4d64(0x155)],_0x30b4b2=_0x92a92b['show'],_0x37a04f=_0x92a92b['position'],_0x1bb76b=_0x37a04f===void 0x0?[]:_0x37a04f,_0x250280=_0x92a92b['fov'],_0x3ffceb=_0x92a92b['near'],_0x1dbb7c=_0x92a92b['far'],_0x17dda0=_0x92a92b[_0x4d4d64(0x16c)],_0x34f229=_0x92a92b['heading'],_0x12c26e=_0x34f229===void 0x0?0x0:_0x34f229,_0x29b2b0=_0x92a92b[_0x4d4d64(0x156)],_0x3f4137=_0x29b2b0===void 0x0?0x0:_0x29b2b0,_0x4890c7=_0x92a92b['roll'],_0x543957=_0x4890c7===void 0x0?0x0:_0x4890c7,_0x5b3ca5=_0x92a92b[_0x4d4d64(0x14c)],_0xa54831=_0x92a92b[_0x4d4d64(0x15b)],_0x43e115=_0x92a92b['outline'],_0x14e9a9=_0x92a92b['outlineColor'],_0x2e6d95=_0x92a92b[_0x4d4d64(0x164)],_0x3066c9=_0x92a92b[_0x4d4d64(0x141)],_0x4d16a0=_0x3066c9===void 0x0?this[_0x4d4d64(0x13e)]()[_0x4d4d64(0x141)]:_0x3066c9,_0x494938=_0x2e6d95?_0x4d16a0:new _0x472874[(_0x4d4d64(0x168))](this[_0x4d4d64(0x13e)]()['scene']),_0x401954=_slicedToArray(_0x1bb76b,0x3),_0x321afa=_0x401954[0x0],_0x5edf38=_0x401954[0x1],_0x25767a=_0x401954[0x2],_0x2241af=_0x5ab12d[_0x4d4d64(0x138)](_0x321afa,_0x5edf38,_0x25767a);if(!_0x2e6d95){_0x494938['position']=_0x5ab12d[_0x4d4d64(0x138)](_0x321afa,_0x5edf38,_0x25767a);var _0x373d7a=new _0x472874['HeadingPitchRoll'](_0x5ab12d['toRadians'](_0x12c26e),_0x5ab12d['toRadians'](_0x3f4137),_0x5ab12d['toRadians'](_0x543957));_0x494938['setView']({'destination':_0x494938[_0x4d4d64(0x14a)],'orientation':_0x373d7a});}var _0x2ae579=new _0x472874['PerspectiveFrustum']({'fov':_0x250280?_0x5ab12d[_0x4d4d64(0x16d)](_0x250280):_0x494938[_0x4d4d64(0x174)]['fov'],'aspectRatio':_0x17dda0?_0x17dda0:_0x494938[_0x4d4d64(0x174)][_0x4d4d64(0x16c)],'near':_0x3ffceb?_0x3ffceb:_0x494938['frustum'][_0x4d4d64(0x158)],'far':_0x1dbb7c?_0x1dbb7c:_0x494938[_0x4d4d64(0x174)]['far']}),_0xf87089=_0x472874[_0x4d4d64(0x133)]['clone'](_0x494938['directionWC']),_0x4cf945=_0x472874['Cartesian3'][_0x4d4d64(0x13d)](_0x494938['upWC']),_0x15154e=_0x472874['Cartesian3']['clone'](_0x494938[_0x4d4d64(0x159)]),_0x54ba83=new _0x472874['Matrix3']();_0x472874['Matrix3']['setColumn'](_0x54ba83,0x0,_0x15154e,_0x54ba83),_0x472874[_0x4d4d64(0x136)]['setColumn'](_0x54ba83,0x1,_0x4cf945,_0x54ba83),_0x472874[_0x4d4d64(0x136)]['setColumn'](_0x54ba83,0x2,_0xf87089,_0x54ba83);var _0x39ffb7=_0x472874['Matrix4']['fromRotationTranslation'](_0x54ba83,_0x2241af);this[_0x4d4d64(0x15f)]=new _0x472874[(_0x4d4d64(0x142))]({'geometryInstances':new _0x472874[(_0x4d4d64(0x166))]({'id':_0x3e016e(),'geometry':new _0x472874[(_0x4d4d64(0x15c))]({'frustum':_0x2ae579,'origin':_0x472874[_0x4d4d64(0x133)]['ZERO'],'orientation':_0x472874['Quaternion'][_0x4d4d64(0x17a)]}),'modelMatrix':_0x39ffb7,'attributes':{'color':_0x5b3ca5?_0x5ab12d['colorInstanceString'](_0xa54831):_0x5ab12d['colorInstanceString']('rgba(0,\x200,\x200,\x200)')}}),'releaseGeometryInstances':![],'appearance':new _0x472874['PerInstanceColorAppearance']({'closed':!![],'flat':!![]}),'asynchronous':![]}),this[_0x4d4d64(0x15f)][_0x4d4d64(0x137)]=_0x30b4b2,this[_0x4d4d64(0x13e)]()['scene']['primitives'][_0x4d4d64(0x175)](this[_0x4d4d64(0x15f)]),_0x43e115&&(this['frustumLinePrimitive']=new _0x472874[(_0x4d4d64(0x142))]({'geometryInstances':new _0x472874[(_0x4d4d64(0x166))]({'id':_0x3e016e(),'geometry':new _0x472874['FrustumOutlineGeometry']({'frustum':_0x2ae579,'origin':_0x472874['Cartesian3']['ZERO'],'orientation':_0x472874['Quaternion']['IDENTITY']}),'modelMatrix':_0x39ffb7,'attributes':{'color':_0x5ab12d['colorInstanceString'](_0x14e9a9)}}),'appearance':new _0x472874[(_0x4d4d64(0x165))]({'closed':!![],'flat':!![]}),'asynchronous':![]}),this['frustumLinePrimitive']['show']=_0x30b4b2,this[_0x4d4d64(0x13e)]()['scene'][_0x4d4d64(0x170)]['add'](this[_0x4d4d64(0x132)]));}},{'key':'getProjectionPlane','value':function _0x37b39f(){var _0x35c904=_0x1f6fe7,_0x1b1389=arguments[_0x35c904(0x179)]>0x0&&arguments[0x0]!==undefined?arguments[0x0]:'far';if(!this[_0x35c904(0x139)]())return;var _0x3d56f9=_0x472874['FrustumOutlineGeometry']['createGeometry'](this['frustumPrimitive'][_0x35c904(0x15d)]['geometry']),_0x2e4120=_0x3d56f9['attributes'][_0x35c904(0x14a)]['values'],_0x2433ff=this['frustumPrimitive']['geometryInstances']['modelMatrix'],_0x570773=_0x1b1389==='near'?0x0:0xc,_0x1ed098=_0x570773+0xc,_0x51247c=[];for(var _0x3dc9b5=_0x570773;_0x3dc9b5<_0x1ed098;_0x3dc9b5+=0x3){var _0x1487e4=new _0x472874[(_0x35c904(0x133))](_0x2e4120[_0x3dc9b5],_0x2e4120[_0x3dc9b5+0x1],_0x2e4120[_0x3dc9b5+0x2]),_0x505be6=_0x472874[_0x35c904(0x169)][_0x35c904(0x145)](_0x2433ff,_0x1487e4,new _0x472874['Cartesian3']()),_0xab6012=_0x5ab12d[_0x35c904(0x152)](_0x505be6),_0x27585d=_0xab6012['lng'],_0x56d060=_0xab6012['lat'],_0x1393dc=_0xab6012[_0x35c904(0x15a)];_0x51247c[_0x35c904(0x135)]([_0x27585d,_0x56d060,_0x1393dc]);}return _0x51247c;}},{'key':'getNearPlane','value':function _0x5e5fd5(){var _0x38b792=_0x1f6fe7;return this['getProjectionPlane'](_0x38b792(0x158));}},{'key':'getFarPlane','value':function _0x3d4fde(){return this['getProjectionPlane']('far');}},{'key':_0x1f6fe7(0x137),'value':function _0x4d4879(_0x17b8df){var _0x52134d=_0x1f6fe7;if(!this['_canOperate']())return;this['frustumPrimitive']&&(this['frustumPrimitive']['show']=_0x17b8df),this[_0x52134d(0x132)]&&(this[_0x52134d(0x132)][_0x52134d(0x137)]=_0x17b8df);}},{'key':'destroy','value':function _0x22eb5a(){var _0x17f5ab=_0x1f6fe7;if(!this[_0x17f5ab(0x139)]())return;this[_0x17f5ab(0x176)]=!![],this['frustumPrimitive']&&this['getMap']()['scene'][_0x17f5ab(0x170)][_0x17f5ab(0x14b)](this[_0x17f5ab(0x15f)]),this[_0x17f5ab(0x15f)]=null,this['frustumLinePrimitive']&&this['getMap']()['scene'][_0x17f5ab(0x170)]['remove'](this[_0x17f5ab(0x132)]),this[_0x17f5ab(0x132)]=null;}}]),_0x449e56;}());export{Frustum as default};
|