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,491 +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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
3
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread 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 _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
6
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
7
|
-
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; }
|
|
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 _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
|
|
12
|
-
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
|
13
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
14
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
15
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
16
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
17
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
18
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
19
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
20
|
-
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; }
|
|
21
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
22
|
-
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); }
|
|
23
|
-
import * as Cesium from 'deeptwins-cesium';
|
|
24
|
-
import { isNil } from 'lodash';
|
|
25
|
-
import { getEllipticAngle, getSemiAxis } from "../common";
|
|
26
|
-
import * as utils from "../../tool/utils";
|
|
27
|
-
import { STATUS } from "../types";
|
|
28
|
-
import BaseShape from "./BaseShape";
|
|
29
|
-
import DragPoint from "./DragPoint";
|
|
30
|
-
import { ShapePolygon } from "./Polygon";
|
|
31
|
-
import { ShapePolyline } from "./Polyline";
|
|
32
|
-
|
|
33
|
-
// 默认使用 64 段近似椭圆,兼顾渲染效果和顶点数量。
|
|
34
|
-
var DEFAULT_ELLIPTIC_SEGMENTS = 64;
|
|
35
|
-
// 过低分段会明显退化成多边形,统一收敛到最小值。
|
|
36
|
-
var MIN_ELLIPTIC_SEGMENTS = 16;
|
|
37
|
-
// 半长轴过小时不创建几何,避免出现退化图形。
|
|
38
|
-
var ELLIPTIC_MIN_SEMI_MAJOR = 0.01;
|
|
39
|
-
var Elliptic = /*#__PURE__*/function (_BaseShape) {
|
|
40
|
-
_inherits(Elliptic, _BaseShape);
|
|
41
|
-
var _super = _createSuper(Elliptic);
|
|
42
|
-
function Elliptic(drawContext, config) {
|
|
43
|
-
var _this;
|
|
44
|
-
_classCallCheck(this, Elliptic);
|
|
45
|
-
_this = _super.call(this, drawContext);
|
|
46
|
-
_defineProperty(_assertThisInitialized(_this), "type", 'elliptic');
|
|
47
|
-
_defineProperty(_assertThisInitialized(_this), "shapePolylineLayer", void 0);
|
|
48
|
-
_defineProperty(_assertThisInitialized(_this), "shapePolygonLayer", void 0);
|
|
49
|
-
_defineProperty(_assertThisInitialized(_this), "_segments", void 0);
|
|
50
|
-
_defineProperty(_assertThisInitialized(_this), "_centerPosition", void 0);
|
|
51
|
-
_defineProperty(_assertThisInitialized(_this), "_handlePosition", void 0);
|
|
52
|
-
_this._segments = _this._normalizeSegments(config === null || config === void 0 ? void 0 : config.segments);
|
|
53
|
-
_this._centerPosition = null;
|
|
54
|
-
_this._handlePosition = null;
|
|
55
|
-
_this.clampToGround = isNil(config === null || config === void 0 ? void 0 : config.clampToGround) ? _this.clampToGround : config.clampToGround;
|
|
56
|
-
_this.pointStyle.heightReference = _this.clampToGround ? Cesium.HeightReference.CLAMP_TO_GROUND : Cesium.HeightReference.NONE;
|
|
57
|
-
_this.polylineStyle.clampToGround = _this.clampToGround;
|
|
58
|
-
if (_this.clampToGround) {
|
|
59
|
-
_this.polygonStyle.heightReference = Cesium.HeightReference.CLAMP_TO_GROUND;
|
|
60
|
-
_this.polygonStyle.perPositionHeight = false;
|
|
61
|
-
} else {
|
|
62
|
-
_this.polygonStyle.heightReference = Cesium.HeightReference.NONE;
|
|
63
|
-
_this.polygonStyle.perPositionHeight = true;
|
|
64
|
-
}
|
|
65
|
-
return _this;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
// 统一收敛外部传入的精度参数,避免非法值直接进入几何计算。
|
|
69
|
-
_createClass(Elliptic, [{
|
|
70
|
-
key: "_normalizeSegments",
|
|
71
|
-
value: function _normalizeSegments(segments) {
|
|
72
|
-
var numericSegments = Number(segments);
|
|
73
|
-
if (!Number.isFinite(numericSegments)) {
|
|
74
|
-
return DEFAULT_ELLIPTIC_SEGMENTS;
|
|
75
|
-
}
|
|
76
|
-
return Math.max(MIN_ELLIPTIC_SEGMENTS, Math.floor(numericSegments));
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// 鼠标事件位置统一转成内部经纬高三元组。
|
|
80
|
-
}, {
|
|
81
|
-
key: "_toPositionTuple",
|
|
82
|
-
value: function _toPositionTuple(position) {
|
|
83
|
-
var lng = position.lng,
|
|
84
|
-
lat = position.lat,
|
|
85
|
-
_position$alt = position.alt,
|
|
86
|
-
alt = _position$alt === void 0 ? 0 : _position$alt;
|
|
87
|
-
return [lng, lat, alt];
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
// 贴地时高度统一为 0;非贴地时用两个控制点的平均高度近似。
|
|
91
|
-
}, {
|
|
92
|
-
key: "_getAltitudeBase",
|
|
93
|
-
value: function _getAltitudeBase(centerPosition, handlePosition) {
|
|
94
|
-
if (this.clampToGround) {
|
|
95
|
-
return 0;
|
|
96
|
-
}
|
|
97
|
-
var altitudes = [centerPosition === null || centerPosition === void 0 ? void 0 : centerPosition[2], handlePosition === null || handlePosition === void 0 ? void 0 : handlePosition[2]].filter(function (altitude) {
|
|
98
|
-
return Number.isFinite(altitude);
|
|
99
|
-
});
|
|
100
|
-
if (!altitudes.length) {
|
|
101
|
-
return 0;
|
|
102
|
-
}
|
|
103
|
-
return altitudes.reduce(function (sum, altitude) {
|
|
104
|
-
return sum + altitude;
|
|
105
|
-
}, 0) / altitudes.length;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// 外框渲染始终闭合,方便绘制和编辑阶段实时预览边界。
|
|
109
|
-
}, {
|
|
110
|
-
key: "_getDrawPolylinePositions",
|
|
111
|
-
value: function _getDrawPolylinePositions() {
|
|
112
|
-
if (!this.positions.length) {
|
|
113
|
-
return [];
|
|
114
|
-
}
|
|
115
|
-
return [].concat(_toConsumableArray(this.positions), [this.positions[0]]);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
// 面渲染和 polygon 一致,末尾补首点形成闭环。
|
|
119
|
-
}, {
|
|
120
|
-
key: "_getDrawPolygonPositions",
|
|
121
|
-
value: function _getDrawPolygonPositions() {
|
|
122
|
-
if (!this.positions.length) {
|
|
123
|
-
return [];
|
|
124
|
-
}
|
|
125
|
-
return [].concat(_toConsumableArray(this.positions), [this.positions[0]]);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
// 统一释放线框和面图层,避免绘制中断后残留几何。
|
|
129
|
-
}, {
|
|
130
|
-
key: "_destroyShapeLayers",
|
|
131
|
-
value: function _destroyShapeLayers() {
|
|
132
|
-
this.shapePolylineLayer && this.shapePolylineLayer.destroy();
|
|
133
|
-
this.shapePolylineLayer = null;
|
|
134
|
-
this.shapePolygonLayer && this.shapePolygonLayer.destroy();
|
|
135
|
-
this.shapePolygonLayer = null;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
// 根据当前椭圆点数组同步线框和面图层。
|
|
139
|
-
}, {
|
|
140
|
-
key: "_syncShapeLayers",
|
|
141
|
-
value: function _syncShapeLayers() {
|
|
142
|
-
if (!this.positions.length) {
|
|
143
|
-
this._destroyShapeLayers();
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
var polylinePositions = this._getDrawPolylinePositions();
|
|
147
|
-
var polygonPositions = this._getDrawPolygonPositions();
|
|
148
|
-
if (!this.shapePolylineLayer) {
|
|
149
|
-
this.shapePolylineLayer = new ShapePolyline(this.getMap(), {
|
|
150
|
-
positions: polylinePositions,
|
|
151
|
-
style: this.polylineStyle
|
|
152
|
-
});
|
|
153
|
-
} else {
|
|
154
|
-
this.shapePolylineLayer.update(polylinePositions);
|
|
155
|
-
}
|
|
156
|
-
if (!this.shapePolygonLayer) {
|
|
157
|
-
this.shapePolygonLayer = new ShapePolygon(this.getMap(), {
|
|
158
|
-
positions: polygonPositions,
|
|
159
|
-
style: this.polygonStyle
|
|
160
|
-
});
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
this.shapePolygonLayer.update(polygonPositions);
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
// 参考 drawer/common.getSemiAxis/getEllipticAngle:用中心点+长轴端点计算椭圆特征点。
|
|
167
|
-
}, {
|
|
168
|
-
key: "_buildEllipticPositions",
|
|
169
|
-
value: function _buildEllipticPositions(centerPosition, handlePosition) {
|
|
170
|
-
var centerCartesian = this._toCartesian3(centerPosition);
|
|
171
|
-
var handleCartesian = this._toCartesian3(handlePosition);
|
|
172
|
-
if (!centerCartesian || !handleCartesian) {
|
|
173
|
-
return [];
|
|
174
|
-
}
|
|
175
|
-
var semiMajorAxis = getSemiAxis([centerCartesian, handleCartesian]);
|
|
176
|
-
if (!Number.isFinite(semiMajorAxis) || semiMajorAxis <= ELLIPTIC_MIN_SEMI_MAJOR) {
|
|
177
|
-
return [];
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
// Plot 模块固定短轴为长轴一半:只有一个端点控制时保持语义一致。
|
|
181
|
-
var semiMinorAxis = semiMajorAxis / 2;
|
|
182
|
-
var rotation = getEllipticAngle([centerCartesian, handleCartesian]);
|
|
183
|
-
if (!Number.isFinite(rotation)) {
|
|
184
|
-
return [];
|
|
185
|
-
}
|
|
186
|
-
var altitudeBase = this._getAltitudeBase(centerPosition, handlePosition);
|
|
187
|
-
var transform = Cesium.Transforms.eastNorthUpToFixedFrame(centerCartesian);
|
|
188
|
-
var angleStep = Cesium.Math.TWO_PI / this._segments;
|
|
189
|
-
var cosRotation = Math.cos(rotation);
|
|
190
|
-
var sinRotation = Math.sin(rotation);
|
|
191
|
-
var localZ = 0;
|
|
192
|
-
var positions = [];
|
|
193
|
-
for (var index = 0; index < this._segments; index += 1) {
|
|
194
|
-
var angle = angleStep * index;
|
|
195
|
-
var x = semiMajorAxis * Math.cos(angle);
|
|
196
|
-
var y = semiMinorAxis * Math.sin(angle);
|
|
197
|
-
|
|
198
|
-
// 在 ENU 平面旋转椭圆,使长轴朝向控制点方向。
|
|
199
|
-
var rotatedX = x * cosRotation - y * sinRotation;
|
|
200
|
-
var rotatedY = x * sinRotation + y * cosRotation;
|
|
201
|
-
var localPoint = new Cesium.Cartesian3(rotatedX, rotatedY, localZ);
|
|
202
|
-
var worldPoint = Cesium.Matrix4.multiplyByPoint(transform, localPoint, new Cesium.Cartesian3());
|
|
203
|
-
var _utils$cartesian3ToLn = utils.cartesian3ToLngLatAlt(worldPoint),
|
|
204
|
-
lng = _utils$cartesian3ToLn.lng,
|
|
205
|
-
lat = _utils$cartesian3ToLn.lat;
|
|
206
|
-
positions.push([lng, lat, altitudeBase]);
|
|
207
|
-
}
|
|
208
|
-
return positions;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
// 计算控制点相对中心点的局部 ENU 向量,用于整体平移时保持长轴。
|
|
212
|
-
}, {
|
|
213
|
-
key: "_getLocalHandleVector",
|
|
214
|
-
value: function _getLocalHandleVector(centerPosition, handlePosition) {
|
|
215
|
-
var centerCartesian = this._toCartesian3(centerPosition);
|
|
216
|
-
var handleCartesian = this._toCartesian3(handlePosition);
|
|
217
|
-
if (!centerCartesian || !handleCartesian) {
|
|
218
|
-
return null;
|
|
219
|
-
}
|
|
220
|
-
var transform = Cesium.Transforms.eastNorthUpToFixedFrame(centerCartesian);
|
|
221
|
-
var inverseTransform = Cesium.Matrix4.inverseTransformation(transform, new Cesium.Matrix4());
|
|
222
|
-
return Cesium.Matrix4.multiplyByPoint(inverseTransform, handleCartesian, new Cesium.Cartesian3());
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
// 把局部 ENU 向量重新投回新的中心点,得到新的长轴控制点位置。
|
|
226
|
-
}, {
|
|
227
|
-
key: "_getPositionByLocalVector",
|
|
228
|
-
value: function _getPositionByLocalVector(centerPosition, localVector) {
|
|
229
|
-
var centerCartesian = this._toCartesian3(centerPosition);
|
|
230
|
-
if (!centerCartesian) {
|
|
231
|
-
return null;
|
|
232
|
-
}
|
|
233
|
-
var transform = Cesium.Transforms.eastNorthUpToFixedFrame(centerCartesian);
|
|
234
|
-
var worldPoint = Cesium.Matrix4.multiplyByPoint(transform, localVector, new Cesium.Cartesian3());
|
|
235
|
-
var _utils$cartesian3ToLn2 = utils.cartesian3ToLngLatAlt(worldPoint),
|
|
236
|
-
lng = _utils$cartesian3ToLn2.lng,
|
|
237
|
-
lat = _utils$cartesian3ToLn2.lat,
|
|
238
|
-
alt = _utils$cartesian3ToLn2.alt;
|
|
239
|
-
return [lng, lat, alt];
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
// 统一更新中心点、长轴控制点、椭圆点数组和渲染图层。
|
|
243
|
-
}, {
|
|
244
|
-
key: "_applyGeometry",
|
|
245
|
-
value: function _applyGeometry(centerPosition, handlePosition) {
|
|
246
|
-
var positions = this._buildEllipticPositions(centerPosition, handlePosition);
|
|
247
|
-
if (positions.length !== this._segments) {
|
|
248
|
-
this.positions = [];
|
|
249
|
-
this._destroyShapeLayers();
|
|
250
|
-
return false;
|
|
251
|
-
}
|
|
252
|
-
this._centerPosition = centerPosition ? _toConsumableArray(centerPosition) : null;
|
|
253
|
-
this._handlePosition = _toConsumableArray(positions[0]);
|
|
254
|
-
this.positions = positions;
|
|
255
|
-
this._syncShapeLayers();
|
|
256
|
-
return true;
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
// 编辑结束或销毁时统一释放两个控制点。
|
|
260
|
-
}, {
|
|
261
|
-
key: "_destroyEditHandles",
|
|
262
|
-
value: function _destroyEditHandles() {
|
|
263
|
-
this.dragPoints.forEach(function (point) {
|
|
264
|
-
return point.destroy();
|
|
265
|
-
});
|
|
266
|
-
this.dragPoints = [];
|
|
267
|
-
this.dragLayer = null;
|
|
268
|
-
this.dragging = false;
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
// 创建编辑控制点:中心点负责平移,长轴点负责修改长轴和旋转。
|
|
272
|
-
}, {
|
|
273
|
-
key: "_createEditHandle",
|
|
274
|
-
value: function _createEditHandle(position, role) {
|
|
275
|
-
var handle = new DragPoint(this.getMap(), {
|
|
276
|
-
positions: position,
|
|
277
|
-
style: this.pointStyle
|
|
278
|
-
});
|
|
279
|
-
handle.handleRole = role;
|
|
280
|
-
handle.startEdit();
|
|
281
|
-
return handle;
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
// 几何变化后把两个控制点同步到最新位置。
|
|
285
|
-
}, {
|
|
286
|
-
key: "_syncEditHandles",
|
|
287
|
-
value: function _syncEditHandles() {
|
|
288
|
-
var centerHandle = this.dragPoints.find(function (point) {
|
|
289
|
-
return point.handleRole === 'center';
|
|
290
|
-
});
|
|
291
|
-
var radiusHandle = this.dragPoints.find(function (point) {
|
|
292
|
-
return point.handleRole === 'radius';
|
|
293
|
-
});
|
|
294
|
-
if (centerHandle && this._centerPosition) {
|
|
295
|
-
centerHandle.mouseDragChange({
|
|
296
|
-
lng: this._centerPosition[0],
|
|
297
|
-
lat: this._centerPosition[1],
|
|
298
|
-
alt: this._centerPosition[2]
|
|
299
|
-
});
|
|
300
|
-
}
|
|
301
|
-
if (radiusHandle && this._handlePosition) {
|
|
302
|
-
radiusHandle.mouseDragChange({
|
|
303
|
-
lng: this._handlePosition[0],
|
|
304
|
-
lat: this._handlePosition[1],
|
|
305
|
-
alt: this._handlePosition[2]
|
|
306
|
-
});
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
// 绘制预览阶段透出当前椭圆点数组。
|
|
311
|
-
}, {
|
|
312
|
-
key: "_emitMouseMoveChange",
|
|
313
|
-
value: function _emitMouseMoveChange() {
|
|
314
|
-
this._drawContext.options.onMouseMoveChange && this._drawContext.options.onMouseMoveChange({
|
|
315
|
-
layer: this,
|
|
316
|
-
positions: this.positions
|
|
317
|
-
});
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
// 编辑态拖拽时透出最新椭圆点数组。
|
|
321
|
-
}, {
|
|
322
|
-
key: "_emitPointsChange",
|
|
323
|
-
value: function _emitPointsChange() {
|
|
324
|
-
var _this$_drawContext$op, _this$_drawContext$op2;
|
|
325
|
-
((_this$_drawContext$op = this._drawContext.options) === null || _this$_drawContext$op === void 0 ? void 0 : _this$_drawContext$op.onPointsChange) && ((_this$_drawContext$op2 = this._drawContext.options) === null || _this$_drawContext$op2 === void 0 ? void 0 : _this$_drawContext$op2.onPointsChange({
|
|
326
|
-
layer: this,
|
|
327
|
-
positions: this.positions
|
|
328
|
-
}));
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
// 统一完成绘制:入库、触发回调并进入编辑态。
|
|
332
|
-
}, {
|
|
333
|
-
key: "_finishDraw",
|
|
334
|
-
value: function _finishDraw() {
|
|
335
|
-
if (!this.positions.length) {
|
|
336
|
-
return;
|
|
337
|
-
}
|
|
338
|
-
this._drawContext.setDrawerLayer(this.id, this);
|
|
339
|
-
this.drawEnd(this);
|
|
340
|
-
this.startEdit();
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
// 基于 anchors 还原椭圆;缺少 anchors 时由 Drawer 回退为普通 polygon。
|
|
344
|
-
}, {
|
|
345
|
-
key: "transformData",
|
|
346
|
-
value: function transformData(_) {
|
|
347
|
-
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
348
|
-
var anchors = config === null || config === void 0 ? void 0 : config.anchors;
|
|
349
|
-
if (!Array.isArray(anchors) || anchors.length < 2) {
|
|
350
|
-
return false;
|
|
351
|
-
}
|
|
352
|
-
this._segments = this._normalizeSegments(config === null || config === void 0 ? void 0 : config.segments);
|
|
353
|
-
var centerPosition = [anchors[0][0], anchors[0][1], anchors[0][2] || 0];
|
|
354
|
-
var handlePosition = [anchors[1][0], anchors[1][1], anchors[1][2] || 0];
|
|
355
|
-
if (!this._applyGeometry(centerPosition, handlePosition)) {
|
|
356
|
-
return false;
|
|
357
|
-
}
|
|
358
|
-
this._drawContext.setDrawerLayer(this.id, this);
|
|
359
|
-
return true;
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
// 第一次点击记录中心点,第二次点击根据长轴端点完成椭圆绘制。
|
|
363
|
-
}, {
|
|
364
|
-
key: "addPoint",
|
|
365
|
-
value: function addPoint(position) {
|
|
366
|
-
var nextPosition = this._toPositionTuple(position);
|
|
367
|
-
if (!this._centerPosition) {
|
|
368
|
-
this._centerPosition = nextPosition;
|
|
369
|
-
this._handlePosition = null;
|
|
370
|
-
this.positions = [];
|
|
371
|
-
this._drawContext._changeStatus(STATUS.DRAWING);
|
|
372
|
-
this._drawContext._updateTooltip();
|
|
373
|
-
return;
|
|
374
|
-
}
|
|
375
|
-
if (!this._applyGeometry(this._centerPosition, nextPosition)) {
|
|
376
|
-
return;
|
|
377
|
-
}
|
|
378
|
-
this.drawing(this);
|
|
379
|
-
this._finishDraw();
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
// 鼠标移动时根据当前长轴端点实时预览椭圆。
|
|
383
|
-
}, {
|
|
384
|
-
key: "updateTempPosition",
|
|
385
|
-
value: function updateTempPosition(position) {
|
|
386
|
-
if (!this._centerPosition) {
|
|
387
|
-
return;
|
|
388
|
-
}
|
|
389
|
-
var nextPosition = this._toPositionTuple(position);
|
|
390
|
-
if (!this._applyGeometry(this._centerPosition, nextPosition)) {
|
|
391
|
-
return;
|
|
392
|
-
}
|
|
393
|
-
this._emitMouseMoveChange();
|
|
394
|
-
}
|
|
395
|
-
|
|
396
|
-
// 兼容外部显式结束绘制的调用,按当前控制点收敛最终 geometry。
|
|
397
|
-
}, {
|
|
398
|
-
key: "endDraw",
|
|
399
|
-
value: function endDraw() {
|
|
400
|
-
if (!this._centerPosition || !this._handlePosition) {
|
|
401
|
-
return;
|
|
402
|
-
}
|
|
403
|
-
if (!this._applyGeometry(this._centerPosition, this._handlePosition)) {
|
|
404
|
-
return;
|
|
405
|
-
}
|
|
406
|
-
this._finishDraw();
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
// 编辑态只保留两个控制点,不退化为普通 polygon 的逐点编辑。
|
|
410
|
-
}, {
|
|
411
|
-
key: "startEdit",
|
|
412
|
-
value: function startEdit() {
|
|
413
|
-
if (!this._centerPosition || !this._handlePosition) {
|
|
414
|
-
return;
|
|
415
|
-
}
|
|
416
|
-
_get(_getPrototypeOf(Elliptic.prototype), "startEdit", this).call(this);
|
|
417
|
-
this._destroyEditHandles();
|
|
418
|
-
this.dragPoints = [this._createEditHandle(this._centerPosition, 'center'), this._createEditHandle(this._handlePosition, 'radius')];
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
// 记录当前拖拽的控制点。
|
|
422
|
-
}, {
|
|
423
|
-
key: "mouseDragStart",
|
|
424
|
-
value: function mouseDragStart(position, dragLayer) {
|
|
425
|
-
var _this$dragLayer;
|
|
426
|
-
this.dragging = true;
|
|
427
|
-
this.dragLayer = dragLayer;
|
|
428
|
-
(_this$dragLayer = this.dragLayer) === null || _this$dragLayer === void 0 || _this$dragLayer.mouseDragStart();
|
|
429
|
-
}
|
|
430
|
-
|
|
431
|
-
// 拖中心点时整体平移,拖长轴点时更新长轴与旋转。
|
|
432
|
-
}, {
|
|
433
|
-
key: "mouseDragChange",
|
|
434
|
-
value: function mouseDragChange(position) {
|
|
435
|
-
if (!this.dragging || !this.dragLayer) {
|
|
436
|
-
return;
|
|
437
|
-
}
|
|
438
|
-
if (!this._centerPosition || !this._handlePosition) {
|
|
439
|
-
return;
|
|
440
|
-
}
|
|
441
|
-
var nextPosition = this._toPositionTuple(position);
|
|
442
|
-
var nextCenterPosition = _toConsumableArray(this._centerPosition);
|
|
443
|
-
var nextHandlePosition = _toConsumableArray(this._handlePosition);
|
|
444
|
-
if (this.dragLayer.handleRole === 'center') {
|
|
445
|
-
var localHandleVector = this._getLocalHandleVector(nextCenterPosition, nextHandlePosition);
|
|
446
|
-
nextCenterPosition = nextPosition;
|
|
447
|
-
var translatedHandlePosition = localHandleVector && this._getPositionByLocalVector(nextCenterPosition, localHandleVector);
|
|
448
|
-
if (!translatedHandlePosition) {
|
|
449
|
-
return;
|
|
450
|
-
}
|
|
451
|
-
nextHandlePosition = translatedHandlePosition;
|
|
452
|
-
} else {
|
|
453
|
-
nextHandlePosition = nextPosition;
|
|
454
|
-
}
|
|
455
|
-
if (!this._applyGeometry(nextCenterPosition, nextHandlePosition)) {
|
|
456
|
-
return;
|
|
457
|
-
}
|
|
458
|
-
this._syncEditHandles();
|
|
459
|
-
this._emitPointsChange();
|
|
460
|
-
}
|
|
461
|
-
|
|
462
|
-
// 结束拖拽时只清理状态。
|
|
463
|
-
}, {
|
|
464
|
-
key: "mouseDragEnd",
|
|
465
|
-
value: function mouseDragEnd() {
|
|
466
|
-
this.dragging = false;
|
|
467
|
-
this.dragLayer = null;
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
// 结束编辑后销毁两个控制点。
|
|
471
|
-
}, {
|
|
472
|
-
key: "endEdit",
|
|
473
|
-
value: function endEdit(layer) {
|
|
474
|
-
var emitComplete = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
475
|
-
_get(_getPrototypeOf(Elliptic.prototype), "endEdit", this).call(this, layer, emitComplete);
|
|
476
|
-
this._destroyEditHandles();
|
|
477
|
-
}
|
|
478
|
-
|
|
479
|
-
// 销毁时同时清理渲染图层和内部几何状态。
|
|
480
|
-
}, {
|
|
481
|
-
key: "destroy",
|
|
482
|
-
value: function destroy() {
|
|
483
|
-
_get(_getPrototypeOf(Elliptic.prototype), "destroy", this).call(this);
|
|
484
|
-
this._destroyShapeLayers();
|
|
485
|
-
this._centerPosition = null;
|
|
486
|
-
this._handlePosition = null;
|
|
487
|
-
}
|
|
488
|
-
}]);
|
|
489
|
-
return Elliptic;
|
|
490
|
-
}(BaseShape);
|
|
491
|
-
export default Elliptic;
|
|
1
|
+
(function(_0x25e745,_0x197e7b){var _0x19611a=_0x5874,_0x50f3bf=_0x25e745();while(!![]){try{var _0x29e3af=-parseInt(_0x19611a(0x1f5))/0x1*(parseInt(_0x19611a(0x200))/0x2)+parseInt(_0x19611a(0x233))/0x3+-parseInt(_0x19611a(0x22a))/0x4*(parseInt(_0x19611a(0x24c))/0x5)+-parseInt(_0x19611a(0x240))/0x6*(parseInt(_0x19611a(0x24f))/0x7)+-parseInt(_0x19611a(0x21e))/0x8*(-parseInt(_0x19611a(0x249))/0x9)+parseInt(_0x19611a(0x25f))/0xa+-parseInt(_0x19611a(0x22f))/0xb*(parseInt(_0x19611a(0x1fd))/0xc);if(_0x29e3af===_0x197e7b)break;else _0x50f3bf['push'](_0x50f3bf['shift']());}catch(_0x48a224){_0x50f3bf['push'](_0x50f3bf['shift']());}}}(_0x56d5,0x46709));function _typeof(_0x353593){'@babel/helpers - typeof';var _0x7eaf1d=_0x5874;return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol[_0x7eaf1d(0x202)]?function(_0x30d6ad){return typeof _0x30d6ad;}:function(_0x302048){var _0x27c9c1=_0x7eaf1d;return _0x302048&&_0x27c9c1(0x22c)==typeof Symbol&&_0x302048['constructor']===Symbol&&_0x302048!==Symbol['prototype']?'symbol':typeof _0x302048;},_typeof(_0x353593);}function _toConsumableArray(_0x151191){return _arrayWithoutHoles(_0x151191)||_iterableToArray(_0x151191)||_unsupportedIterableToArray(_0x151191)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError('Invalid\x20attempt\x20to\x20spread\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.');}function _unsupportedIterableToArray(_0x2dee80,_0xc7d130){var _0x15fd4a=_0x5874;if(!_0x2dee80)return;if(typeof _0x2dee80==='string')return _arrayLikeToArray(_0x2dee80,_0xc7d130);var _0x12ef4d=Object[_0x15fd4a(0x23a)][_0x15fd4a(0x239)][_0x15fd4a(0x236)](_0x2dee80)['slice'](0x8,-0x1);if(_0x12ef4d==='Object'&&_0x2dee80[_0x15fd4a(0x242)])_0x12ef4d=_0x2dee80['constructor']['name'];if(_0x12ef4d===_0x15fd4a(0x1f2)||_0x12ef4d==='Set')return Array['from'](_0x2dee80);if(_0x12ef4d==='Arguments'||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](_0x12ef4d))return _arrayLikeToArray(_0x2dee80,_0xc7d130);}function _iterableToArray(_0x2d5da1){var _0x150476=_0x5874;if(typeof Symbol!=='undefined'&&_0x2d5da1[Symbol['iterator']]!=null||_0x2d5da1[_0x150476(0x20b)]!=null)return Array['from'](_0x2d5da1);}function _arrayWithoutHoles(_0x149771){if(Array['isArray'](_0x149771))return _arrayLikeToArray(_0x149771);}function _arrayLikeToArray(_0x19a059,_0x11c883){var _0x5de3f8=_0x5874;if(_0x11c883==null||_0x11c883>_0x19a059[_0x5de3f8(0x217)])_0x11c883=_0x19a059[_0x5de3f8(0x217)];for(var _0x4923f8=0x0,_0x5b23e3=new Array(_0x11c883);_0x4923f8<_0x11c883;_0x4923f8++)_0x5b23e3[_0x4923f8]=_0x19a059[_0x4923f8];return _0x5b23e3;}function _0x5874(_0x2eff36,_0x5c7bef){_0x2eff36=_0x2eff36-0x1f0;var _0x56d5f7=_0x56d5();var _0x587430=_0x56d5f7[_0x2eff36];if(_0x5874['JGCVIC']===undefined){var _0x5405c7=function(_0x499a30){var _0x73c495='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x37e8c7='',_0x570121='';for(var _0x126d84=0x0,_0x423f40,_0x353593,_0x30d6ad=0x0;_0x353593=_0x499a30['charAt'](_0x30d6ad++);~_0x353593&&(_0x423f40=_0x126d84%0x4?_0x423f40*0x40+_0x353593:_0x353593,_0x126d84++%0x4)?_0x37e8c7+=String['fromCharCode'](0xff&_0x423f40>>(-0x2*_0x126d84&0x6)):0x0){_0x353593=_0x73c495['indexOf'](_0x353593);}for(var _0x302048=0x0,_0x151191=_0x37e8c7['length'];_0x302048<_0x151191;_0x302048++){_0x570121+='%'+('00'+_0x37e8c7['charCodeAt'](_0x302048)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x570121);};_0x5874['tuClYt']=_0x5405c7,_0x5874['HvddRj']={},_0x5874['JGCVIC']=!![];}var _0x5cc40c=_0x56d5f7[0x0],_0x105ba2=_0x2eff36+_0x5cc40c,_0x56efaf=_0x5874['HvddRj'][_0x105ba2];return!_0x56efaf?(_0x587430=_0x5874['tuClYt'](_0x587430),_0x5874['HvddRj'][_0x105ba2]=_0x587430):_0x587430=_0x56efaf,_0x587430;}function _classCallCheck(_0x1e2b78,_0x405651){if(!(_0x1e2b78 instanceof _0x405651))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function _defineProperties(_0x57468f,_0xbdcd2d){var _0x1f1dab=_0x5874;for(var _0x3be77c=0x0;_0x3be77c<_0xbdcd2d[_0x1f1dab(0x217)];_0x3be77c++){var _0x2c6765=_0xbdcd2d[_0x3be77c];_0x2c6765['enumerable']=_0x2c6765[_0x1f1dab(0x226)]||![],_0x2c6765['configurable']=!![];if('value'in _0x2c6765)_0x2c6765['writable']=!![];Object['defineProperty'](_0x57468f,_toPropertyKey(_0x2c6765[_0x1f1dab(0x201)]),_0x2c6765);}}function _createClass(_0x551e81,_0x38195b,_0x53136b){var _0x3201bf=_0x5874;if(_0x38195b)_defineProperties(_0x551e81['prototype'],_0x38195b);if(_0x53136b)_defineProperties(_0x551e81,_0x53136b);return Object['defineProperty'](_0x551e81,_0x3201bf(0x23a),{'writable':![]}),_0x551e81;}function _get(){var _0x28e772=_0x5874;return typeof Reflect!==_0x28e772(0x250)&&Reflect['get']?_get=Reflect[_0x28e772(0x24d)][_0x28e772(0x21f)]():_get=function _0x4f9b08(_0x560c36,_0x30aa37,_0x1f2089){var _0x1227b3=_0x28e772,_0x2d6f10=_superPropBase(_0x560c36,_0x30aa37);if(!_0x2d6f10)return;var _0x5b3b7a=Object[_0x1227b3(0x23c)](_0x2d6f10,_0x30aa37);if(_0x5b3b7a['get'])return _0x5b3b7a['get'][_0x1227b3(0x236)](arguments[_0x1227b3(0x217)]<0x3?_0x560c36:_0x1f2089);return _0x5b3b7a[_0x1227b3(0x254)];},_get[_0x28e772(0x1f6)](this,arguments);}function _superPropBase(_0x395f49,_0x47d604){var _0x57f1a0=_0x5874;while(!Object['prototype'][_0x57f1a0(0x210)]['call'](_0x395f49,_0x47d604)){_0x395f49=_getPrototypeOf(_0x395f49);if(_0x395f49===null)break;}return _0x395f49;}function _inherits(_0x469c26,_0x32d40b){var _0x52c9c4=_0x5874;if(typeof _0x32d40b!==_0x52c9c4(0x22c)&&_0x32d40b!==null)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');_0x469c26['prototype']=Object[_0x52c9c4(0x24e)](_0x32d40b&&_0x32d40b['prototype'],{'constructor':{'value':_0x469c26,'writable':!![],'configurable':!![]}}),Object['defineProperty'](_0x469c26,'prototype',{'writable':![]});if(_0x32d40b)_setPrototypeOf(_0x469c26,_0x32d40b);}function _setPrototypeOf(_0x146483,_0x5e1985){var _0x315206=_0x5874;return _setPrototypeOf=Object['setPrototypeOf']?Object[_0x315206(0x218)]['bind']():function _0x49533e(_0x531795,_0x5757ab){var _0x9f0f5a=_0x315206;return _0x531795[_0x9f0f5a(0x1fc)]=_0x5757ab,_0x531795;},_setPrototypeOf(_0x146483,_0x5e1985);}function _createSuper(_0x106ef8){var _0x120cc6=_isNativeReflectConstruct();return function _0x22247e(){var _0x4e471a=_0x5874,_0xc7a1b4=_getPrototypeOf(_0x106ef8),_0x9f5fcb;if(_0x120cc6){var _0x35239c=_getPrototypeOf(this)[_0x4e471a(0x242)];_0x9f5fcb=Reflect['construct'](_0xc7a1b4,arguments,_0x35239c);}else _0x9f5fcb=_0xc7a1b4[_0x4e471a(0x1f6)](this,arguments);return _possibleConstructorReturn(this,_0x9f5fcb);};}function _possibleConstructorReturn(_0x1a06fc,_0x155298){var _0x31947d=_0x5874;if(_0x155298&&(_typeof(_0x155298)==='object'||typeof _0x155298===_0x31947d(0x22c)))return _0x155298;else{if(_0x155298!==void 0x0)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');}return _assertThisInitialized(_0x1a06fc);}function _assertThisInitialized(_0x224a10){if(_0x224a10===void 0x0)throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');return _0x224a10;}function _isNativeReflectConstruct(){var _0x3f452a=_0x5874;if(typeof Reflect==='undefined'||!Reflect['construct'])return![];if(Reflect['construct']['sham'])return![];if(typeof Proxy==='function')return!![];try{return Boolean[_0x3f452a(0x23a)][_0x3f452a(0x23f)][_0x3f452a(0x236)](Reflect[_0x3f452a(0x232)](Boolean,[],function(){})),!![];}catch(_0x128479){return![];}}function _getPrototypeOf(_0x21cd73){var _0x1af5f1=_0x5874;return _getPrototypeOf=Object[_0x1af5f1(0x218)]?Object[_0x1af5f1(0x234)]['bind']():function _0x4ebef0(_0x1ad7c3){var _0x308608=_0x1af5f1;return _0x1ad7c3['__proto__']||Object[_0x308608(0x234)](_0x1ad7c3);},_getPrototypeOf(_0x21cd73);}function _defineProperty(_0x5b22b4,_0x21db24,_0x479849){return _0x21db24=_toPropertyKey(_0x21db24),_0x21db24 in _0x5b22b4?Object['defineProperty'](_0x5b22b4,_0x21db24,{'value':_0x479849,'enumerable':!![],'configurable':!![],'writable':!![]}):_0x5b22b4[_0x21db24]=_0x479849,_0x5b22b4;}function _0x56d5(){var _0x1273eb=['y29UC3rYDwn0B3i','Bg5N','x3vWzgf0zvrVB2X0Axa','DhjHBNnMB3jTrgf0yq','zMLUza','zMXVB3i','q0XbtvbFve9Fr1jpvu5e','owztteTABa','x2fWCgX5r2vVBwv0CNK','yw5JAg9YCW','mti0nZbKCMriswy','z2v0','y3jLyxrL','mJeYmwfSBhPKEa','Dw5KzwzPBMvK','z2v0twfW','x3nLz21LBNrZ','qeb0B1bYAw1PDgL2zsbTDxn0ihjLDhvYBIbHihbYAw1PDgL2zsb2ywX1zs4','DMfSDwu','x2DLDfbVC2L0Aw9UqNLmB2nHBfzLy3rVCG','zhjHz0XHEwvY','x25VCM1HBgL6zvnLz21LBNrZ','zhjHz2DPBMC','x3n5BMnfzgL0sgfUzgXLCW','y2fYDgvZAwfUm1rVtg5Ntgf0qwX0','x2vTAxrnB3vZzu1VDMvdAgfUz2u','y29Z','B3b0Aw9UCW','x2rLC3rYB3LtAgfWzuXHEwvYCW','ntmZndaWmgfTquHgDq','zMLSDgvY','C2HHCgvqB2X5z29Utgf5zxi','twfW','sgvPz2H0uMvMzxjLBMnL','DxbKyxrLvgvTCfbVC2L0Aw9U','murLCerUEa','yxbWBhK','zhjHD0vUza','zgvMyxvSDa','zhjHz1bVAw50CW','AxngAw5PDgu','x2DLDerYyxDqB2X5z29Uug9ZAxrPB25Z','x19WCM90B19F','mtjev0zotLe','x2rLC3rYB3LfzgL0sgfUzgXLCW','zM9YrwfJAa','mZy0otK2t2Pfq0jv','A2v5','AxrLCMf0B3i','zwfZDe5VCNrOvxbuB0zPEgvKrNjHBwu','ywX0','vhjHBNnMB3jTCW','x2HHBMrSzvbVC2L0Aw9U','Bw91C2veCMfNu3rHCNq','zgvZDhjVEq','C3rYAw5N','x2j1AwXKrwXSAxb0AwnqB3nPDgLVBNm','qebPDgvYyxrVCG','x2DLDerYyxDqB2X5BgLUzvbVC2L0Aw9UCW','x3n5BMntAgfWzuXHEwvYCW','vfDpx1bj','x2zPBMLZAerYyxC','AgfZt3DUuhjVCgvYDhK','x2nYzwf0zuvKAxriyw5KBgu','Bgf0','x2DLDefSDgL0DwrLqMfZzq','y2vUDgvY','CMvKDwnL','zhjHD2LUzW','BgvUz3rO','C2v0uhjVDg90ExbLt2y','AgvPz2H0uMvMzxjLBMnL','CMfKAxvZ','AgfUzgXLuM9Szq','C2LU','C2HHCgvqB2X5BgLUzuXHEwvY','mtG3odmYmeXys2XctW','yMLUza','C3rHCNrfzgL0','C2vNBwvUDhm','x2rYyxDdB250zxH0','x3rVq2fYDgvZAwfUmW','B2jQzwn0','Bw91C2veCMfNq2HHBMDL','zw51BwvYywjSzq','twf0CML4na','x3rVug9ZAxrPB25uDxbSzq','twf0Aa','mtq4B2LHr1vr','Cg9SEwDVBLn0EwXL','zNvUy3rPB24','x2DLDeXVy2fSsgfUzgXLvMvJDg9Y','BxvSDgLWBhLcEvbVAw50','nZy1mtGYwgLtAvfo','x2nLBNrLCLbVC2L0Aw9U','Cg9ZAxrPB25Z','y29UC3rYDwn0','ndCXmtKYDLjYwKD3','z2v0uhjVDg90ExbLt2y','C2v0rhjHD2vYtgf5zxi','y2fSBa','zw5KrwrPDa','tK9orq','Dg9tDhjPBMC','ChjVDg90ExbL','y2XHBxbuB0DYB3vUza','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','x2vTAxrqB2LUDhndAgfUz2u','y29Uy2f0','DMfSDwvpzG','ntC5mhbZy2josq','q2fYDgvZAwfUmW'];_0x56d5=function(){return _0x1273eb;};return _0x56d5();}function _toPropertyKey(_0x4d7650){var _0x10769e=_0x5874,_0x5d2f67=_toPrimitive(_0x4d7650,_0x10769e(0x209));return'symbol'==_typeof(_0x5d2f67)?_0x5d2f67:String(_0x5d2f67);}function _toPrimitive(_0x54a980,_0x4d445a){var _0x432603=_0x5874;if(_0x432603(0x224)!=_typeof(_0x54a980)||!_0x54a980)return _0x54a980;var _0x290b34=_0x54a980[Symbol['toPrimitive']];if(void 0x0!==_0x290b34){var _0x572dc5=_0x290b34[_0x432603(0x236)](_0x54a980,_0x4d445a||_0x432603(0x1f8));if('object'!=_typeof(_0x572dc5))return _0x572dc5;throw new TypeError(_0x432603(0x253));}return('string'===_0x4d445a?String:Number)(_0x54a980);}import*as _0x37e8c7 from'deeptwins-cesium';import{isNil}from'lodash';import{getEllipticAngle,getSemiAxis}from'../common';import*as _0x570121 from'../../tool/utils';import{STATUS}from'../types';import _0x126d84 from'./BaseShape';import _0x423f40 from'./DragPoint';import{ShapePolygon}from'./Polygon';import{ShapePolyline}from'./Polyline';var DEFAULT_ELLIPTIC_SEGMENTS=0x40,MIN_ELLIPTIC_SEGMENTS=0x10,ELLIPTIC_MIN_SEMI_MAJOR=0.01,Elliptic=function(_0x2019c1){var _0x5c692e=_0x5874;_inherits(_0x5c8db0,_0x2019c1);var _0x4c48a7=_createSuper(_0x5c8db0);function _0x5c8db0(_0x443feb,_0x57ddd1){var _0x4a6d40=_0x5874,_0x57396d;return _classCallCheck(this,_0x5c8db0),_0x57396d=_0x4c48a7[_0x4a6d40(0x236)](this,_0x443feb),_defineProperty(_assertThisInitialized(_0x57396d),'type','elliptic'),_defineProperty(_assertThisInitialized(_0x57396d),'shapePolylineLayer',void 0x0),_defineProperty(_assertThisInitialized(_0x57396d),_0x4a6d40(0x1f1),void 0x0),_defineProperty(_assertThisInitialized(_0x57396d),_0x4a6d40(0x252),void 0x0),_defineProperty(_assertThisInitialized(_0x57396d),_0x4a6d40(0x230),void 0x0),_defineProperty(_assertThisInitialized(_0x57396d),'_handlePosition',void 0x0),_0x57396d['_segments']=_0x57396d[_0x4a6d40(0x257)](_0x57ddd1===null||_0x57ddd1===void 0x0?void 0x0:_0x57ddd1[_0x4a6d40(0x221)]),_0x57396d[_0x4a6d40(0x230)]=null,_0x57396d['_handlePosition']=null,_0x57396d[_0x4a6d40(0x23b)]=isNil(_0x57ddd1===null||_0x57ddd1===void 0x0?void 0x0:_0x57ddd1['clampToGround'])?_0x57396d['clampToGround']:_0x57ddd1[_0x4a6d40(0x23b)],_0x57396d['pointStyle'][_0x4a6d40(0x219)]=_0x57396d[_0x4a6d40(0x23b)]?_0x37e8c7[_0x4a6d40(0x1f3)][_0x4a6d40(0x248)]:_0x37e8c7['HeightReference'][_0x4a6d40(0x238)],_0x57396d['polylineStyle'][_0x4a6d40(0x23b)]=_0x57396d['clampToGround'],_0x57396d['clampToGround']?(_0x57396d[_0x4a6d40(0x22b)]['heightReference']=_0x37e8c7['HeightReference'][_0x4a6d40(0x248)],_0x57396d['polygonStyle']['perPositionHeight']=![]):(_0x57396d['polygonStyle']['heightReference']=_0x37e8c7[_0x4a6d40(0x1f3)]['NONE'],_0x57396d[_0x4a6d40(0x22b)]['perPositionHeight']=!![]),_0x57396d;}return _createClass(_0x5c8db0,[{'key':'_normalizeSegments','value':function _0x31badc(_0x54f57a){var _0x2a2bd0=_0x5874,_0x4ea5e5=Number(_0x54f57a);if(!Number[_0x2a2bd0(0x1fa)](_0x4ea5e5))return DEFAULT_ELLIPTIC_SEGMENTS;return Math['max'](MIN_ELLIPTIC_SEGMENTS,Math[_0x2a2bd0(0x247)](_0x4ea5e5));}},{'key':'_toPositionTuple','value':function _0x253580(_0x77890){var _0x178611=_0x5874,_0x5a2d21=_0x77890['lng'],_0x432689=_0x77890['lat'],_0x1cf993=_0x77890[_0x178611(0x204)],_0xfd32d=_0x1cf993===void 0x0?0x0:_0x1cf993;return[_0x5a2d21,_0x432689,_0xfd32d];}},{'key':'_getAltitudeBase','value':function _0x30035b(_0x3e2c2e,_0x39bb5d){var _0x1bf787=_0x5874;if(this[_0x1bf787(0x23b)])return 0x0;var _0x325543=[_0x3e2c2e===null||_0x3e2c2e===void 0x0?void 0x0:_0x3e2c2e[0x2],_0x39bb5d===null||_0x39bb5d===void 0x0?void 0x0:_0x39bb5d[0x2]][_0x1bf787(0x1f0)](function(_0x2333d7){return Number['isFinite'](_0x2333d7);});if(!_0x325543['length'])return 0x0;return _0x325543[_0x1bf787(0x215)](function(_0x15b501,_0x2178cf){return _0x15b501+_0x2178cf;},0x0)/_0x325543['length'];}},{'key':'_getDrawPolylinePositions','value':function _0x5c2a2b(){var _0x351491=_0x5874;if(!this[_0x351491(0x231)][_0x351491(0x217)])return[];return[][_0x351491(0x23e)](_toConsumableArray(this[_0x351491(0x231)]),[this[_0x351491(0x231)][0x0]]);}},{'key':_0x5c692e(0x1fb),'value':function _0x2d3065(){var _0x2e0dfa=_0x5c692e;if(!this['positions']['length'])return[];return[]['concat'](_toConsumableArray(this['positions']),[this[_0x2e0dfa(0x231)][0x0]]);}},{'key':_0x5c692e(0x25e),'value':function _0x2f1b31(){var _0x3ee8ba=_0x5c692e;this[_0x3ee8ba(0x21d)]&&this['shapePolylineLayer'][_0x3ee8ba(0x208)](),this['shapePolylineLayer']=null,this['shapePolygonLayer']&&this['shapePolygonLayer']['destroy'](),this[_0x3ee8ba(0x1f1)]=null;}},{'key':_0x5c692e(0x20d),'value':function _0x52f339(){var _0x35d55a=_0x5c692e;if(!this[_0x35d55a(0x231)]['length']){this[_0x35d55a(0x25e)]();return;}var _0x170d55=this[_0x35d55a(0x20c)](),_0x471d1c=this['_getDrawPolygonPositions']();!this[_0x35d55a(0x21d)]?this['shapePolylineLayer']=new ShapePolyline(this['getMap'](),{'positions':_0x170d55,'style':this['polylineStyle']}):this[_0x35d55a(0x21d)]['update'](_0x170d55);if(!this[_0x35d55a(0x1f1)]){this['shapePolygonLayer']=new ShapePolygon(this['getMap'](),{'positions':_0x471d1c,'style':this['polygonStyle']});return;}this['shapePolygonLayer']['update'](_0x471d1c);}},{'key':'_buildEllipticPositions','value':function _0x479cf0(_0x2c96e0,_0x22f736){var _0x14b8a4=_0x5c692e,_0x4e1b56=this['_toCartesian3'](_0x2c96e0),_0x3af008=this['_toCartesian3'](_0x22f736);if(!_0x4e1b56||!_0x3af008)return[];var _0x2a65c0=getSemiAxis([_0x4e1b56,_0x3af008]);if(!Number[_0x14b8a4(0x1fa)](_0x2a65c0)||_0x2a65c0<=ELLIPTIC_MIN_SEMI_MAJOR)return[];var _0x39ff60=_0x2a65c0/0x2,_0x19776a=getEllipticAngle([_0x4e1b56,_0x3af008]);if(!Number['isFinite'](_0x19776a))return[];var _0x490913=this[_0x14b8a4(0x213)](_0x2c96e0,_0x22f736),_0x4edf7a=_0x37e8c7[_0x14b8a4(0x205)][_0x14b8a4(0x203)](_0x4e1b56),_0x1a6018=_0x37e8c7[_0x14b8a4(0x229)][_0x14b8a4(0x20e)]/this[_0x14b8a4(0x252)],_0x3bb036=Math['cos'](_0x19776a),_0x376169=Math['sin'](_0x19776a),_0x1526cc=0x0,_0x295739=[];for(var _0x37c882=0x0;_0x37c882<this[_0x14b8a4(0x252)];_0x37c882+=0x1){var _0x46e9ed=_0x1a6018*_0x37c882,_0xabb25d=_0x2a65c0*Math[_0x14b8a4(0x25c)](_0x46e9ed),_0x108750=_0x39ff60*Math[_0x14b8a4(0x21c)](_0x46e9ed),_0x17fbba=_0xabb25d*_0x3bb036-_0x108750*_0x376169,_0x4a3206=_0xabb25d*_0x376169+_0x108750*_0x3bb036,_0x3356d1=new _0x37e8c7[(_0x14b8a4(0x241))](_0x17fbba,_0x4a3206,_0x1526cc),_0xff6902=_0x37e8c7['Matrix4']['multiplyByPoint'](_0x4edf7a,_0x3356d1,new _0x37e8c7['Cartesian3']()),_0x49297c=_0x570121[_0x14b8a4(0x25a)](_0xff6902),_0x19b30c=_0x49297c['lng'],_0x41e8f7=_0x49297c[_0x14b8a4(0x212)];_0x295739['push']([_0x19b30c,_0x41e8f7,_0x490913]);}return _0x295739;}},{'key':_0x5c692e(0x22d),'value':function _0x2b2f46(_0x164b15,_0x297978){var _0x1a38b4=_0x5c692e,_0x1354e0=this[_0x1a38b4(0x223)](_0x164b15),_0x2cb1b9=this['_toCartesian3'](_0x297978);if(!_0x1354e0||!_0x2cb1b9)return null;var _0x2b10dc=_0x37e8c7[_0x1a38b4(0x205)][_0x1a38b4(0x203)](_0x1354e0),_0x17275a=_0x37e8c7['Matrix4']['inverseTransformation'](_0x2b10dc,new _0x37e8c7['Matrix4']());return _0x37e8c7[_0x1a38b4(0x227)][_0x1a38b4(0x22e)](_0x17275a,_0x2cb1b9,new _0x37e8c7[(_0x1a38b4(0x241))]());}},{'key':_0x5c692e(0x255),'value':function _0xd2d9ee(_0x389ec0,_0x384f3c){var _0x2a527b=_0x5c692e,_0x5e4a43=this['_toCartesian3'](_0x389ec0);if(!_0x5e4a43)return null;var _0x4299fe=_0x37e8c7['Transforms']['eastNorthUpToFixedFrame'](_0x5e4a43),_0xdc5e48=_0x37e8c7[_0x2a527b(0x227)][_0x2a527b(0x22e)](_0x4299fe,_0x384f3c,new _0x37e8c7[(_0x2a527b(0x241))]()),_0x1c564f=_0x570121['cartesian3ToLngLatAlt'](_0xdc5e48),_0x34ed33=_0x1c564f[_0x2a527b(0x243)],_0x591d3c=_0x1c564f['lat'],_0x144fe7=_0x1c564f[_0x2a527b(0x204)];return[_0x34ed33,_0x591d3c,_0x144fe7];}},{'key':'_applyGeometry','value':function _0x5af1c8(_0x23087b,_0x18130e){var _0xc9b589=_0x5c692e,_0x4077de=this[_0xc9b589(0x20a)](_0x23087b,_0x18130e);if(_0x4077de['length']!==this[_0xc9b589(0x252)])return this[_0xc9b589(0x231)]=[],this['_destroyShapeLayers'](),![];return this['_centerPosition']=_0x23087b?_toConsumableArray(_0x23087b):null,this[_0xc9b589(0x206)]=_toConsumableArray(_0x4077de[0x0]),this['positions']=_0x4077de,this['_syncShapeLayers'](),!![];}},{'key':_0x5c692e(0x1fe),'value':function _0x3dd464(){var _0x20072b=_0x5c692e;this['dragPoints'][_0x20072b(0x1ff)](function(_0x2a2ce0){var _0x62264c=_0x20072b;return _0x2a2ce0[_0x62264c(0x208)]();}),this[_0x20072b(0x1f9)]=[],this['dragLayer']=null,this[_0x20072b(0x258)]=![];}},{'key':_0x5c692e(0x211),'value':function _0x1084f4(_0xec3dc8,_0x3abd3c){var _0x662e22=_0x5c692e,_0x312375=new _0x423f40(this[_0x662e22(0x251)](),{'positions':_0xec3dc8,'style':this['pointStyle']});return _0x312375[_0x662e22(0x21b)]=_0x3abd3c,_0x312375[_0x662e22(0x220)](),_0x312375;}},{'key':'_syncEditHandles','value':function _0x30810b(){var _0x3398b9=_0x5c692e,_0x4dba0b=this[_0x3398b9(0x1f9)][_0x3398b9(0x246)](function(_0x111a31){var _0x9d0cb4=_0x3398b9;return _0x111a31[_0x9d0cb4(0x21b)]===_0x9d0cb4(0x214);}),_0x258fd7=this['dragPoints'][_0x3398b9(0x246)](function(_0x3cca74){var _0x5201e4=_0x3398b9;return _0x3cca74[_0x5201e4(0x21b)]===_0x5201e4(0x21a);});_0x4dba0b&&this[_0x3398b9(0x230)]&&_0x4dba0b[_0x3398b9(0x225)]({'lng':this['_centerPosition'][0x0],'lat':this[_0x3398b9(0x230)][0x1],'alt':this[_0x3398b9(0x230)][0x2]}),_0x258fd7&&this['_handlePosition']&&_0x258fd7['mouseDragChange']({'lng':this['_handlePosition'][0x0],'lat':this[_0x3398b9(0x206)][0x1],'alt':this['_handlePosition'][0x2]});}},{'key':_0x5c692e(0x25b),'value':function _0x5bdb9e(){var _0x231d34=_0x5c692e;this[_0x231d34(0x222)]['options']['onMouseMoveChange']&&this[_0x231d34(0x222)]['options']['onMouseMoveChange']({'layer':this,'positions':this[_0x231d34(0x231)]});}},{'key':_0x5c692e(0x23d),'value':function _0x17c321(){var _0x13f685=_0x5c692e,_0xf0c85b,_0x5cfad3;((_0xf0c85b=this[_0x13f685(0x222)]['options'])===null||_0xf0c85b===void 0x0?void 0x0:_0xf0c85b['onPointsChange'])&&((_0x5cfad3=this['_drawContext'][_0x13f685(0x25d)])===null||_0x5cfad3===void 0x0?void 0x0:_0x5cfad3['onPointsChange']({'layer':this,'positions':this[_0x13f685(0x231)]}));}},{'key':_0x5c692e(0x20f),'value':function _0x126be9(){var _0x5d2ebc=_0x5c692e;if(!this[_0x5d2ebc(0x231)]['length'])return;this['_drawContext']['setDrawerLayer'](this['id'],this),this[_0x5d2ebc(0x1f7)](this),this[_0x5d2ebc(0x220)]();}},{'key':_0x5c692e(0x245),'value':function _0x34ac5b(_0x1f4d39){var _0x4b8be8=_0x5c692e,_0x288374=arguments[_0x4b8be8(0x217)]>0x1&&arguments[0x1]!==undefined?arguments[0x1]:{},_0x5ef9d3=_0x288374===null||_0x288374===void 0x0?void 0x0:_0x288374[_0x4b8be8(0x24b)];if(!Array['isArray'](_0x5ef9d3)||_0x5ef9d3['length']<0x2)return![];this[_0x4b8be8(0x252)]=this['_normalizeSegments'](_0x288374===null||_0x288374===void 0x0?void 0x0:_0x288374['segments']);var _0x535eab=[_0x5ef9d3[0x0][0x0],_0x5ef9d3[0x0][0x1],_0x5ef9d3[0x0][0x2]||0x0],_0x4bfcd9=[_0x5ef9d3[0x1][0x0],_0x5ef9d3[0x1][0x1],_0x5ef9d3[0x1][0x2]||0x0];if(!this[_0x4b8be8(0x24a)](_0x535eab,_0x4bfcd9))return![];return this['_drawContext'][_0x4b8be8(0x235)](this['id'],this),!![];}},{'key':'addPoint','value':function _0x3de37c(_0x37c08e){var _0x5485d1=_0x5c692e,_0x4fd914=this[_0x5485d1(0x228)](_0x37c08e);if(!this[_0x5485d1(0x230)]){this[_0x5485d1(0x230)]=_0x4fd914,this[_0x5485d1(0x206)]=null,this['positions']=[],this[_0x5485d1(0x222)]['_changeStatus'](STATUS['DRAWING']),this['_drawContext'][_0x5485d1(0x244)]();return;}if(!this['_applyGeometry'](this['_centerPosition'],_0x4fd914))return;this[_0x5485d1(0x216)](this),this['_finishDraw']();}},{'key':_0x5c692e(0x1f4),'value':function _0x392c5e(_0x7d1e55){var _0x295554=_0x5c692e;if(!this['_centerPosition'])return;var _0x42e4e1=this['_toPositionTuple'](_0x7d1e55);if(!this[_0x295554(0x24a)](this['_centerPosition'],_0x42e4e1))return;this[_0x295554(0x25b)]();}},{'key':'endDraw','value':function _0x4d3a2b(){var _0x4722d3=_0x5c692e;if(!this['_centerPosition']||!this[_0x4722d3(0x206)])return;if(!this['_applyGeometry'](this['_centerPosition'],this[_0x4722d3(0x206)]))return;this[_0x4722d3(0x20f)]();}},{'key':'startEdit','value':function _0x130ac7(){var _0x2dc5d4=_0x5c692e;if(!this['_centerPosition']||!this[_0x2dc5d4(0x206)])return;_get(_getPrototypeOf(_0x5c8db0['prototype']),'startEdit',this)['call'](this),this[_0x2dc5d4(0x1fe)](),this[_0x2dc5d4(0x1f9)]=[this['_createEditHandle'](this['_centerPosition'],_0x2dc5d4(0x214)),this['_createEditHandle'](this[_0x2dc5d4(0x206)],_0x2dc5d4(0x21a))];}},{'key':_0x5c692e(0x207),'value':function _0x56b210(_0x2ec250,_0x306ace){var _0x87dae6;this['dragging']=!![],this['dragLayer']=_0x306ace,(_0x87dae6=this['dragLayer'])===null||_0x87dae6===void 0x0||_0x87dae6['mouseDragStart']();}},{'key':_0x5c692e(0x225),'value':function _0x502382(_0x1f97de){var _0x21e63a=_0x5c692e;if(!this['dragging']||!this[_0x21e63a(0x256)])return;if(!this['_centerPosition']||!this['_handlePosition'])return;var _0x34fe23=this[_0x21e63a(0x228)](_0x1f97de),_0x58bfa9=_toConsumableArray(this[_0x21e63a(0x230)]),_0x4600b8=_toConsumableArray(this[_0x21e63a(0x206)]);if(this[_0x21e63a(0x256)][_0x21e63a(0x21b)]===_0x21e63a(0x214)){var _0x4a1b8c=this[_0x21e63a(0x22d)](_0x58bfa9,_0x4600b8);_0x58bfa9=_0x34fe23;var _0x56852d=_0x4a1b8c&&this[_0x21e63a(0x255)](_0x58bfa9,_0x4a1b8c);if(!_0x56852d)return;_0x4600b8=_0x56852d;}else _0x4600b8=_0x34fe23;if(!this['_applyGeometry'](_0x58bfa9,_0x4600b8))return;this[_0x21e63a(0x259)](),this[_0x21e63a(0x23d)]();}},{'key':'mouseDragEnd','value':function _0x5177ff(){var _0x9230e9=_0x5c692e;this[_0x9230e9(0x258)]=![],this['dragLayer']=null;}},{'key':_0x5c692e(0x237),'value':function _0x552bc1(_0x55d65e){var _0x5d1894=_0x5c692e,_0x27d28c=arguments['length']>0x1&&arguments[0x1]!==undefined?arguments[0x1]:!![];_get(_getPrototypeOf(_0x5c8db0['prototype']),_0x5d1894(0x237),this)[_0x5d1894(0x236)](this,_0x55d65e,_0x27d28c),this[_0x5d1894(0x1fe)]();}},{'key':'destroy','value':function _0xfa5932(){var _0x314c07=_0x5c692e;_get(_getPrototypeOf(_0x5c8db0[_0x314c07(0x23a)]),'destroy',this)[_0x314c07(0x236)](this),this[_0x314c07(0x25e)](),this['_centerPosition']=null,this[_0x314c07(0x206)]=null;}}]),_0x5c8db0;}(_0x126d84);export default Elliptic;
|