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,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(_0x445e9c,_0x3b16d3){var _0x273a5f=_0x5b53,_0x555b75=_0x445e9c();while(!![]){try{var _0x3a375e=-parseInt(_0x273a5f(0x212))/0x1+-parseInt(_0x273a5f(0x22a))/0x2+parseInt(_0x273a5f(0x1f1))/0x3+parseInt(_0x273a5f(0x1e2))/0x4*(-parseInt(_0x273a5f(0x20f))/0x5)+parseInt(_0x273a5f(0x243))/0x6*(parseInt(_0x273a5f(0x235))/0x7)+-parseInt(_0x273a5f(0x217))/0x8+parseInt(_0x273a5f(0x201))/0x9*(parseInt(_0x273a5f(0x23b))/0xa);if(_0x3a375e===_0x3b16d3)break;else _0x555b75['push'](_0x555b75['shift']());}catch(_0x12cabd){_0x555b75['push'](_0x555b75['shift']());}}}(_0xd37b,0xb726f));function _typeof(_0x47c7bb){'@babel/helpers - typeof';return _typeof='function'==typeof Symbol&&'symbol'==typeof Symbol['iterator']?function(_0x1bbc8b){return typeof _0x1bbc8b;}:function(_0x492205){var _0x5f579d=_0x5b53;return _0x492205&&'function'==typeof Symbol&&_0x492205[_0x5f579d(0x21f)]===Symbol&&_0x492205!==Symbol['prototype']?_0x5f579d(0x232):typeof _0x492205;},_typeof(_0x47c7bb);}function _toConsumableArray(_0x5ed1a9){return _arrayWithoutHoles(_0x5ed1a9)||_iterableToArray(_0x5ed1a9)||_unsupportedIterableToArray(_0x5ed1a9)||_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(_0x39968e,_0x210822){var _0xdd3a3=_0x5b53;if(!_0x39968e)return;if(typeof _0x39968e===_0xdd3a3(0x1f4))return _arrayLikeToArray(_0x39968e,_0x210822);var _0x48e328=Object['prototype']['toString'][_0xdd3a3(0x20a)](_0x39968e)[_0xdd3a3(0x234)](0x8,-0x1);if(_0x48e328===_0xdd3a3(0x1f8)&&_0x39968e['constructor'])_0x48e328=_0x39968e['constructor']['name'];if(_0x48e328===_0xdd3a3(0x236)||_0x48e328===_0xdd3a3(0x219))return Array[_0xdd3a3(0x1fa)](_0x39968e);if(_0x48e328==='Arguments'||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[_0xdd3a3(0x1ff)](_0x48e328))return _arrayLikeToArray(_0x39968e,_0x210822);}function _iterableToArray(_0x161e0a){var _0x421547=_0x5b53;if(typeof Symbol!==_0x421547(0x210)&&_0x161e0a[Symbol['iterator']]!=null||_0x161e0a[_0x421547(0x206)]!=null)return Array['from'](_0x161e0a);}function _arrayWithoutHoles(_0x34e2dd){if(Array['isArray'](_0x34e2dd))return _arrayLikeToArray(_0x34e2dd);}function _arrayLikeToArray(_0x4dca53,_0x13d1b6){var _0x13c0d2=_0x5b53;if(_0x13d1b6==null||_0x13d1b6>_0x4dca53[_0x13c0d2(0x23a)])_0x13d1b6=_0x4dca53[_0x13c0d2(0x23a)];for(var _0x5da38a=0x0,_0x35a0b7=new Array(_0x13d1b6);_0x5da38a<_0x13d1b6;_0x5da38a++)_0x35a0b7[_0x5da38a]=_0x4dca53[_0x5da38a];return _0x35a0b7;}function _classCallCheck(_0x1bb4be,_0x2c4415){var _0x4cb1e1=_0x5b53;if(!(_0x1bb4be instanceof _0x2c4415))throw new TypeError(_0x4cb1e1(0x24c));}function _defineProperties(_0x5f26ff,_0x3ec8e8){var _0x278657=_0x5b53;for(var _0x4983ff=0x0;_0x4983ff<_0x3ec8e8[_0x278657(0x23a)];_0x4983ff++){var _0x172638=_0x3ec8e8[_0x4983ff];_0x172638['enumerable']=_0x172638['enumerable']||![],_0x172638[_0x278657(0x207)]=!![];if('value'in _0x172638)_0x172638['writable']=!![];Object[_0x278657(0x1f5)](_0x5f26ff,_toPropertyKey(_0x172638[_0x278657(0x239)]),_0x172638);}}function _createClass(_0x38de05,_0x3cb75c,_0x2b9c04){var _0x5efe69=_0x5b53;if(_0x3cb75c)_defineProperties(_0x38de05['prototype'],_0x3cb75c);if(_0x2b9c04)_defineProperties(_0x38de05,_0x2b9c04);return Object[_0x5efe69(0x1f5)](_0x38de05,'prototype',{'writable':![]}),_0x38de05;}function _get(){var _0x423ff4=_0x5b53;return typeof Reflect!=='undefined'&&Reflect[_0x423ff4(0x24e)]?_get=Reflect[_0x423ff4(0x24e)]['bind']():_get=function _0x2bd0fc(_0x4a539a,_0x33cc68,_0x4e07a4){var _0xd6146b=_0x423ff4,_0x278c21=_superPropBase(_0x4a539a,_0x33cc68);if(!_0x278c21)return;var _0x18f21e=Object[_0xd6146b(0x229)](_0x278c21,_0x33cc68);if(_0x18f21e[_0xd6146b(0x24e)])return _0x18f21e[_0xd6146b(0x24e)][_0xd6146b(0x20a)](arguments[_0xd6146b(0x23a)]<0x3?_0x4a539a:_0x4e07a4);return _0x18f21e[_0xd6146b(0x20c)];},_get[_0x423ff4(0x24d)](this,arguments);}function _superPropBase(_0x415053,_0x55a039){var _0x4e82d6=_0x5b53;while(!Object[_0x4e82d6(0x244)]['hasOwnProperty']['call'](_0x415053,_0x55a039)){_0x415053=_getPrototypeOf(_0x415053);if(_0x415053===null)break;}return _0x415053;}function _inherits(_0xca0cb1,_0x349b52){var _0x1ca6e3=_0x5b53;if(typeof _0x349b52!=='function'&&_0x349b52!==null)throw new TypeError(_0x1ca6e3(0x22c));_0xca0cb1['prototype']=Object[_0x1ca6e3(0x23f)](_0x349b52&&_0x349b52[_0x1ca6e3(0x244)],{'constructor':{'value':_0xca0cb1,'writable':!![],'configurable':!![]}}),Object[_0x1ca6e3(0x1f5)](_0xca0cb1,'prototype',{'writable':![]});if(_0x349b52)_setPrototypeOf(_0xca0cb1,_0x349b52);}function _setPrototypeOf(_0x43503c,_0x2548c8){var _0x21ba4d=_0x5b53;return _setPrototypeOf=Object['setPrototypeOf']?Object[_0x21ba4d(0x233)]['bind']():function _0x5c9f70(_0x5ab46b,_0x135114){var _0x1cdfcd=_0x21ba4d;return _0x5ab46b[_0x1cdfcd(0x224)]=_0x135114,_0x5ab46b;},_setPrototypeOf(_0x43503c,_0x2548c8);}function _0xd37b(){var _0x472aad=['C2HHCgvqB2X5z29Utgf5zxi','x2nYzwf0zuvKAxriyw5KBgu','x19WCM90B19F','x3nLz21LBNrZ','rgvYAxzLzcbJB25ZDhj1y3rVCNmGBwf5ig9UBhKGCMv0DxjUig9IAMvJDcbVCIb1BMrLzMLUzwq','Bg5N','BxvSDgLWBhLcEvbVAw50','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','mtCXmdKZnefcCM9Tqq','Cg9PBNrtDhLSzq','u3vWzxiGzxHWCMvZC2LVBIbTDxn0igvPDgHLCIbIzsbUDwXSig9YigeGzNvUy3rPB24','zMLUza','Dg9qCMLTAxrPDMu','B2jQzwn0','C2HHCgvqB2X5BgLUzuXHEwvY','x2rYyxDdB250zxH0','C3LTyM9S','C2v0uhjVDg90ExbLt2y','C2XPy2u','mJK4mdzMt05YzNC','twfW','x2HHBMrSzvbVC2L0Aw9U','y29UC3rYDwn0','A2v5','BgvUz3rO','mZbWy3HIA1e','Bw91C2veCMfNq2HHBMDL','y2XHBxbuB0DYB3vUza','x2rLC3rYB3LfzgL0sgfUzgXLCW','y3jLyxrL','zNvUy3rPB24','C2HHBq','Cg9SEwXPBMvtDhLSzq','mJaYmNPZBujQwG','ChjVDg90ExbL','x3n5BMntAgfWzuXHEwvYCW','zhjHz0XHEwvY','zM9YrwfJAa','B3b0Aw9UCW','AgfUzgXLuM9Szq','y29Uy2f0','Cg9ZAxrPB25Z','q2fUBM90ignHBgWGysbJBgfZCYbHCYbHigz1BMn0Aw9U','yxbWBhK','z2v0','x2DLDfbVC2L0Aw9UqNLmB2nHBfzLy3rVCG','Bgf0','ywX0','C2v0rhjHD2vYtgf5zxi','x2vTAxrqB2LUDhndAgfUz2u','nffuvgPXuG','sgvPz2H0uMvMzxjLBMnL','zhjHD2LUzW','B25nB3vZzu1VDMvdAgfUz2u','zhjHz1bVAw50CW','q0XbtvbFve9Fr1jpvu5e','x2DLDeXVy2fSsgfUzgXLvMvJDg9Y','CgvYug9ZAxrPB25izwLNAhq','Bwf4','x2DLDerYyxDqB2X5BgLUzvbVC2L0Aw9UCW','z2v0uhjVDg90ExbLt2y','yw5JAg9YCW','x3rVug9ZAxrPB25uDxbSzq','x3n5BMnfzgL0sgfUzgXLCW','zgvZDhjVEq','mJiZmtG4meXKqK1hCW','C3rHCNrfzgL0','Bw91C2veCMfNrw5K','C3rYAw5N','zgvMAw5LuhjVCgvYDhK','x2nOyw5Nzvn0yxr1CW','zwfZDe5VCNrOvxbuB0zPEgvKrNjHBwu','t2jQzwn0','z2v0twfW','zNjVBq','y29Z','x3rVq2fYDgvZAwfUmW','tK9orq','x2DLDefSDgL0DwrLqMfZzq','DgvZDa','zw5KrwrPDa','ndy2ndyZn3j1zu5QuW','Cg9SEwDVBLn0EwXL','zhjHz2DPBMC','AxngAw5PDgu','DgHPCYbOyxnUj3qGyMvLBIbPBML0AwfSAxnLzcaTihn1CgvYkcKGAgfZBID0igjLzw4Gy2fSBgvK','qebPDgvYyxrVCG','y29UzMLNDxjHyMXL','x2vTAxrnB3vZzu1VDMvdAgfUz2u','x2j1AwXKrwXSAxb0AwnqB3nPDgLVBNm','y2fSBa','DxbKyxrLvgvTCfbVC2L0Aw9U','DMfSDwu','x2zPBMLZAerYyxC','twf0CML4na','mJq3mZm4nuHPEfDNCa','Dw5KzwzPBMvK','zMXVB3i','mte3ndqYmNHYtNvwEa','x25VCM1HBgL6zvnLz21LBNrZ','Bw91C2veCMfNu3rHCNq','x2nLBNrLCLbVC2L0Aw9U','AgvPz2H0uMvMzxjLBMnL','mZy3mJiYne1yy0f4wG','CMfKAxvZ','u2v0','vhjHBNnMB3jTCW','q2fYDgvZAwfUmW','x2fWCgX5r2vVBwv0CNK','DMfSDwvpzG','x2DLDerYyxDqB2X5z29Uug9ZAxrPB25Z','y29UC3rYDwn0B3i','y2vUDgvY','y2fYDgvZAwfUm1rVtg5Ntgf0qwX0'];_0xd37b=function(){return _0x472aad;};return _0xd37b();}function _createSuper(_0x178a4a){var _0x4e7668=_isNativeReflectConstruct();return function _0x2b3262(){var _0x15a8ca=_0x5b53,_0x238b2b=_getPrototypeOf(_0x178a4a),_0x185cb3;if(_0x4e7668){var _0x1d0af3=_getPrototypeOf(this)['constructor'];_0x185cb3=Reflect[_0x15a8ca(0x238)](_0x238b2b,arguments,_0x1d0af3);}else _0x185cb3=_0x238b2b['apply'](this,arguments);return _possibleConstructorReturn(this,_0x185cb3);};}function _possibleConstructorReturn(_0x3d69a2,_0x691f27){var _0x2d414d=_0x5b53;if(_0x691f27&&(_typeof(_0x691f27)==='object'||typeof _0x691f27===_0x2d414d(0x240)))return _0x691f27;else{if(_0x691f27!==void 0x0)throw new TypeError(_0x2d414d(0x226));}return _assertThisInitialized(_0x3d69a2);}function _assertThisInitialized(_0x1c1b59){var _0x23b217=_0x5b53;if(_0x1c1b59===void 0x0)throw new ReferenceError(_0x23b217(0x205));return _0x1c1b59;}function _isNativeReflectConstruct(){var _0x2e94a7=_0x5b53;if(typeof Reflect===_0x2e94a7(0x210)||!Reflect[_0x2e94a7(0x238)])return![];if(Reflect[_0x2e94a7(0x238)][_0x2e94a7(0x241)])return![];if(typeof Proxy==='function')return!![];try{return Boolean[_0x2e94a7(0x244)][_0x2e94a7(0x21d)]['call'](Reflect['construct'](Boolean,[],function(){})),!![];}catch(_0x217e21){return![];}}function _getPrototypeOf(_0x5a030b){return _getPrototypeOf=Object['setPrototypeOf']?Object['getPrototypeOf']['bind']():function _0x21a22a(_0x4d7ef9){var _0x164b5e=_0x5b53;return _0x4d7ef9[_0x164b5e(0x224)]||Object[_0x164b5e(0x1ec)](_0x4d7ef9);},_getPrototypeOf(_0x5a030b);}function _defineProperty(_0x8d903d,_0x34fa89,_0x1b933b){var _0x2c4f9b=_0x5b53;return _0x34fa89=_toPropertyKey(_0x34fa89),_0x34fa89 in _0x8d903d?Object[_0x2c4f9b(0x1f5)](_0x8d903d,_0x34fa89,{'value':_0x1b933b,'enumerable':!![],'configurable':!![],'writable':!![]}):_0x8d903d[_0x34fa89]=_0x1b933b,_0x8d903d;}function _0x5b53(_0x26f262,_0x51e7cf){_0x26f262=_0x26f262-0x1dd;var _0xd37b94=_0xd37b();var _0x5b535f=_0xd37b94[_0x26f262];if(_0x5b53['pCiwVM']===undefined){var _0x296d79=function(_0x13fef7){var _0x175ee0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0xc6276d='',_0x391805='';for(var _0x75d6d7=0x0,_0x20e9ea,_0x47c7bb,_0x1bbc8b=0x0;_0x47c7bb=_0x13fef7['charAt'](_0x1bbc8b++);~_0x47c7bb&&(_0x20e9ea=_0x75d6d7%0x4?_0x20e9ea*0x40+_0x47c7bb:_0x47c7bb,_0x75d6d7++%0x4)?_0xc6276d+=String['fromCharCode'](0xff&_0x20e9ea>>(-0x2*_0x75d6d7&0x6)):0x0){_0x47c7bb=_0x175ee0['indexOf'](_0x47c7bb);}for(var _0x492205=0x0,_0x5ed1a9=_0xc6276d['length'];_0x492205<_0x5ed1a9;_0x492205++){_0x391805+='%'+('00'+_0xc6276d['charCodeAt'](_0x492205)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x391805);};_0x5b53['kVsoGI']=_0x296d79,_0x5b53['JWHLln']={},_0x5b53['pCiwVM']=!![];}var _0x4c656e=_0xd37b94[0x0],_0x269b57=_0x26f262+_0x4c656e,_0x31870e=_0x5b53['JWHLln'][_0x269b57];return!_0x31870e?(_0x5b535f=_0x5b53['kVsoGI'](_0x5b535f),_0x5b53['JWHLln'][_0x269b57]=_0x5b535f):_0x5b535f=_0x31870e,_0x5b535f;}function _toPropertyKey(_0x3b3041){var _0x4d05c5=_0x5b53,_0x565862=_toPrimitive(_0x3b3041,'string');return _0x4d05c5(0x232)==_typeof(_0x565862)?_0x565862:String(_0x565862);}function _toPrimitive(_0x1cffaf,_0x260e27){var _0x8678a2=_0x5b53;if(_0x8678a2(0x22f)!=_typeof(_0x1cffaf)||!_0x1cffaf)return _0x1cffaf;var _0x22088f=_0x1cffaf[Symbol[_0x8678a2(0x22e)]];if(void 0x0!==_0x22088f){var _0x5e6697=_0x22088f['call'](_0x1cffaf,_0x260e27||'default');if(_0x8678a2(0x22f)!=_typeof(_0x5e6697))return _0x5e6697;throw new TypeError('@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.');}return('string'===_0x260e27?String:Number)(_0x1cffaf);}import*as _0xc6276d from'deeptwins-cesium';import{isNil}from'lodash';import{getEllipticAngle,getSemiAxis}from'../common';import*as _0x391805 from'../../tool/utils';import{STATUS}from'../types';import _0x75d6d7 from'./BaseShape';import _0x20e9ea 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(_0x3726f4){var _0x1ae4cf=_0x5b53;_inherits(_0x8627f1,_0x3726f4);var _0x3d83c7=_createSuper(_0x8627f1);function _0x8627f1(_0x34253b,_0x3baeea){var _0x418541=_0x5b53,_0x431c58;return _classCallCheck(this,_0x8627f1),_0x431c58=_0x3d83c7['call'](this,_0x34253b),_defineProperty(_assertThisInitialized(_0x431c58),'type','elliptic'),_defineProperty(_assertThisInitialized(_0x431c58),_0x418541(0x230),void 0x0),_defineProperty(_assertThisInitialized(_0x431c58),_0x418541(0x222),void 0x0),_defineProperty(_assertThisInitialized(_0x431c58),'_segments',void 0x0),_defineProperty(_assertThisInitialized(_0x431c58),_0x418541(0x215),void 0x0),_defineProperty(_assertThisInitialized(_0x431c58),_0x418541(0x237),void 0x0),_0x431c58['_segments']=_0x431c58[_0x418541(0x213)](_0x3baeea===null||_0x3baeea===void 0x0?void 0x0:_0x3baeea['segments']),_0x431c58['_centerPosition']=null,_0x431c58[_0x418541(0x237)]=null,_0x431c58['clampToGround']=isNil(_0x3baeea===null||_0x3baeea===void 0x0?void 0x0:_0x3baeea[_0x418541(0x23d)])?_0x431c58['clampToGround']:_0x3baeea['clampToGround'],_0x431c58['pointStyle']['heightReference']=_0x431c58[_0x418541(0x23d)]?_0xc6276d[_0x418541(0x1e3)][_0x418541(0x1e7)]:_0xc6276d['HeightReference'][_0x418541(0x1fd)],_0x431c58[_0x418541(0x242)]['clampToGround']=_0x431c58['clampToGround'],_0x431c58[_0x418541(0x23d)]?(_0x431c58[_0x418541(0x202)][_0x418541(0x216)]=_0xc6276d['HeightReference'][_0x418541(0x1e7)],_0x431c58['polygonStyle'][_0x418541(0x1e9)]=![]):(_0x431c58['polygonStyle'][_0x418541(0x216)]=_0xc6276d['HeightReference'][_0x418541(0x1fd)],_0x431c58[_0x418541(0x202)][_0x418541(0x1e9)]=!![]),_0x431c58;}return _createClass(_0x8627f1,[{'key':_0x1ae4cf(0x213),'value':function _0x5bde41(_0xc2499a){var _0x461927=_0x1ae4cf,_0x3c984a=Number(_0xc2499a);if(!Number[_0x461927(0x204)](_0x3c984a))return DEFAULT_ELLIPTIC_SEGMENTS;return Math[_0x461927(0x1ea)](MIN_ELLIPTIC_SEGMENTS,Math[_0x461927(0x211)](_0x3c984a));}},{'key':'_toPositionTuple','value':function _0xc6633e(_0xb251de){var _0x59a67f=_0x1ae4cf,_0x37456c=_0xb251de['lng'],_0x330338=_0xb251de['lat'],_0x1f337b=_0xb251de[_0x59a67f(0x1df)],_0x493789=_0x1f337b===void 0x0?0x0:_0x1f337b;return[_0x37456c,_0x330338,_0x493789];}},{'key':_0x1ae4cf(0x1fe),'value':function _0xa15753(_0x33f9c8,_0x3c9b39){var _0xfa0c1b=_0x1ae4cf;if(this[_0xfa0c1b(0x23d)])return 0x0;var _0x281164=[_0x33f9c8===null||_0x33f9c8===void 0x0?void 0x0:_0x33f9c8[0x2],_0x3c9b39===null||_0x3c9b39===void 0x0?void 0x0:_0x3c9b39[0x2]]['filter'](function(_0x4f1b99){return Number['isFinite'](_0x4f1b99);});if(!_0x281164[_0xfa0c1b(0x23a)])return 0x0;return _0x281164['reduce'](function(_0x3b201e,_0x5b7e0d){return _0x3b201e+_0x5b7e0d;},0x0)/_0x281164['length'];}},{'key':'_getDrawPolylinePositions','value':function _0x43a821(){var _0x33007b=_0x1ae4cf;if(!this[_0x33007b(0x24b)][_0x33007b(0x23a)])return[];return[]['concat'](_toConsumableArray(this['positions']),[this['positions'][0x0]]);}},{'key':'_getDrawPolygonPositions','value':function _0x4508ee(){var _0x102100=_0x1ae4cf;if(!this[_0x102100(0x24b)][_0x102100(0x23a)])return[];return[][_0x102100(0x24a)](_toConsumableArray(this[_0x102100(0x24b)]),[this['positions'][0x0]]);}},{'key':'_destroyShapeLayers','value':function _0x56b458(){var _0x1b6352=_0x1ae4cf;this[_0x1b6352(0x230)]&&this['shapePolylineLayer']['destroy'](),this['shapePolylineLayer']=null,this[_0x1b6352(0x222)]&&this[_0x1b6352(0x222)][_0x1b6352(0x1f0)](),this['shapePolygonLayer']=null;}},{'key':_0x1ae4cf(0x245),'value':function _0x4c4e0b(){var _0x1a5eec=_0x1ae4cf;if(!this['positions']['length']){this['_destroyShapeLayers']();return;}var _0xa74245=this[_0x1a5eec(0x1eb)](),_0x568ca5=this[_0x1a5eec(0x21e)]();!this[_0x1a5eec(0x230)]?this['shapePolylineLayer']=new ShapePolyline(this['getMap'](),{'positions':_0xa74245,'style':this[_0x1a5eec(0x242)]}):this[_0x1a5eec(0x230)]['update'](_0xa74245);if(!this[_0x1a5eec(0x222)]){this['shapePolygonLayer']=new ShapePolygon(this['getMap'](),{'positions':_0x568ca5,'style':this[_0x1a5eec(0x202)]});return;}this[_0x1a5eec(0x222)]['update'](_0x568ca5);}},{'key':'_buildEllipticPositions','value':function _0x46be57(_0x4caa5c,_0xe85b47){var _0xf94d6a=_0x1ae4cf,_0x1f5878=this['_toCartesian3'](_0x4caa5c),_0x3d5113=this[_0xf94d6a(0x1fc)](_0xe85b47);if(!_0x1f5878||!_0x3d5113)return[];var _0x3dafe2=getSemiAxis([_0x1f5878,_0x3d5113]);if(!Number['isFinite'](_0x3dafe2)||_0x3dafe2<=ELLIPTIC_MIN_SEMI_MAJOR)return[];var _0x34dfc0=_0x3dafe2/0x2,_0x335e0d=getEllipticAngle([_0x1f5878,_0x3d5113]);if(!Number['isFinite'](_0x335e0d))return[];var _0x2a45ae=this['_getAltitudeBase'](_0x4caa5c,_0xe85b47),_0x47c6c8=_0xc6276d['Transforms']['eastNorthUpToFixedFrame'](_0x1f5878),_0x532b66=_0xc6276d['Math']['TWO_PI']/this['_segments'],_0x2d6e12=Math[_0xf94d6a(0x1fb)](_0x335e0d),_0x1dad86=Math['sin'](_0x335e0d),_0x5edae4=0x0,_0x200105=[];for(var _0x1abcc2=0x0;_0x1abcc2<this[_0xf94d6a(0x225)];_0x1abcc2+=0x1){var _0x581895=_0x532b66*_0x1abcc2,_0x4e55fa=_0x3dafe2*Math['cos'](_0x581895),_0x5a72d3=_0x34dfc0*Math['sin'](_0x581895),_0x52173b=_0x4e55fa*_0x2d6e12-_0x5a72d3*_0x1dad86,_0x27d27c=_0x4e55fa*_0x1dad86+_0x5a72d3*_0x2d6e12,_0x19ff56=new _0xc6276d['Cartesian3'](_0x52173b,_0x27d27c,_0x5edae4),_0x2e8686=_0xc6276d[_0xf94d6a(0x20e)][_0xf94d6a(0x228)](_0x47c6c8,_0x19ff56,new _0xc6276d[(_0xf94d6a(0x21b))]()),_0x26896b=_0x391805[_0xf94d6a(0x221)](_0x2e8686),_0x106e9a=_0x26896b['lng'],_0x46e6f6=_0x26896b[_0xf94d6a(0x1de)];_0x200105['push']([_0x106e9a,_0x46e6f6,_0x2a45ae]);}return _0x200105;}},{'key':_0x1ae4cf(0x1e8),'value':function _0xce64f3(_0x3fdf42,_0x2e72c1){var _0x48b344=_0x1ae4cf,_0x37c8ff=this[_0x48b344(0x1fc)](_0x3fdf42),_0x254df5=this[_0x48b344(0x1fc)](_0x2e72c1);if(!_0x37c8ff||!_0x254df5)return null;var _0x2719cc=_0xc6276d[_0x48b344(0x21a)]['eastNorthUpToFixedFrame'](_0x37c8ff),_0x57e39b=_0xc6276d[_0x48b344(0x20e)]['inverseTransformation'](_0x2719cc,new _0xc6276d[(_0x48b344(0x20e))]());return _0xc6276d[_0x48b344(0x20e)][_0x48b344(0x228)](_0x57e39b,_0x254df5,new _0xc6276d[(_0x48b344(0x21b))]());}},{'key':'_getPositionByLocalVector','value':function _0x52a6d4(_0x445428,_0x3fb96e){var _0x347496=_0x1ae4cf,_0xdf110f=this['_toCartesian3'](_0x445428);if(!_0xdf110f)return null;var _0xf8cdae=_0xc6276d['Transforms'][_0x347496(0x1f7)](_0xdf110f),_0x22836a=_0xc6276d[_0x347496(0x20e)][_0x347496(0x228)](_0xf8cdae,_0x3fb96e,new _0xc6276d['Cartesian3']()),_0x525ab0=_0x391805['cartesian3ToLngLatAlt'](_0x22836a),_0x4ac0f0=_0x525ab0[_0x347496(0x227)],_0x1dddfd=_0x525ab0['lat'],_0x2b9bfe=_0x525ab0[_0x347496(0x1df)];return[_0x4ac0f0,_0x1dddfd,_0x2b9bfe];}},{'key':_0x1ae4cf(0x21c),'value':function _0x470222(_0x3d2ab7,_0x8576cd){var _0x3666e4=_0x1ae4cf,_0x5b8056=this[_0x3666e4(0x209)](_0x3d2ab7,_0x8576cd);if(_0x5b8056['length']!==this['_segments'])return this['positions']=[],this['_destroyShapeLayers'](),![];return this[_0x3666e4(0x215)]=_0x3d2ab7?_toConsumableArray(_0x3d2ab7):null,this[_0x3666e4(0x237)]=_toConsumableArray(_0x5b8056[0x0]),this[_0x3666e4(0x24b)]=_0x5b8056,this[_0x3666e4(0x245)](),!![];}},{'key':'_destroyEditHandles','value':function _0x3ae0a9(){var _0x42d541=_0x1ae4cf;this[_0x42d541(0x1e6)][_0x42d541(0x247)](function(_0x58ba1e){return _0x58ba1e['destroy']();}),this[_0x42d541(0x1e6)]=[],this[_0x42d541(0x246)]=null,this['dragging']=![];}},{'key':_0x1ae4cf(0x223),'value':function _0x23886a(_0x201be0,_0x53e45f){var _0x5a3fe5=_0x1ae4cf,_0x34d2de=new _0x20e9ea(this[_0x5a3fe5(0x1f9)](),{'positions':_0x201be0,'style':this[_0x5a3fe5(0x22b)]});return _0x34d2de['handleRole']=_0x53e45f,_0x34d2de[_0x5a3fe5(0x1f2)](),_0x34d2de;}},{'key':'_syncEditHandles','value':function _0x262720(){var _0x60a646=_0x1ae4cf,_0x162ebe=this['dragPoints'][_0x60a646(0x22d)](function(_0x51c907){var _0x1dbb6b=_0x60a646;return _0x51c907[_0x1dbb6b(0x249)]===_0x1dbb6b(0x220);}),_0x19c87a=this['dragPoints']['find'](function(_0x5b5d29){return _0x5b5d29['handleRole']==='radius';});_0x162ebe&&this[_0x60a646(0x215)]&&_0x162ebe[_0x60a646(0x23c)]({'lng':this[_0x60a646(0x215)][0x0],'lat':this['_centerPosition'][0x1],'alt':this[_0x60a646(0x215)][0x2]}),_0x19c87a&&this['_handlePosition']&&_0x19c87a['mouseDragChange']({'lng':this['_handlePosition'][0x0],'lat':this['_handlePosition'][0x1],'alt':this[_0x60a646(0x237)][0x2]});}},{'key':_0x1ae4cf(0x208),'value':function _0x58e85d(){var _0xd998ee=_0x1ae4cf;this['_drawContext']['options'][_0xd998ee(0x1e5)]&&this['_drawContext']['options']['onMouseMoveChange']({'layer':this,'positions':this['positions']});}},{'key':_0x1ae4cf(0x1e1),'value':function _0x432373(){var _0x26f941=_0x1ae4cf,_0x1023be,_0x508f9c;((_0x1023be=this[_0x26f941(0x231)][_0x26f941(0x248)])===null||_0x1023be===void 0x0?void 0x0:_0x1023be['onPointsChange'])&&((_0x508f9c=this[_0x26f941(0x231)][_0x26f941(0x248)])===null||_0x508f9c===void 0x0?void 0x0:_0x508f9c['onPointsChange']({'layer':this,'positions':this[_0x26f941(0x24b)]}));}},{'key':'_finishDraw','value':function _0x27a3ea(){var _0x38c144=_0x1ae4cf;if(!this['positions']['length'])return;this['_drawContext']['setDrawerLayer'](this['id'],this),this['drawEnd'](this),this[_0x38c144(0x1f2)]();}},{'key':'transformData','value':function _0x1cdaa0(_0x3212b4){var _0x24dbd1=_0x1ae4cf,_0x426fad=arguments[_0x24dbd1(0x23a)]>0x1&&arguments[0x1]!==undefined?arguments[0x1]:{},_0x16e22c=_0x426fad===null||_0x426fad===void 0x0?void 0x0:_0x426fad[_0x24dbd1(0x1ed)];if(!Array['isArray'](_0x16e22c)||_0x16e22c[_0x24dbd1(0x23a)]<0x2)return![];this['_segments']=this['_normalizeSegments'](_0x426fad===null||_0x426fad===void 0x0?void 0x0:_0x426fad['segments']);var _0x50570a=[_0x16e22c[0x0][0x0],_0x16e22c[0x0][0x1],_0x16e22c[0x0][0x2]||0x0],_0x36b2af=[_0x16e22c[0x1][0x0],_0x16e22c[0x1][0x1],_0x16e22c[0x1][0x2]||0x0];if(!this[_0x24dbd1(0x21c)](_0x50570a,_0x36b2af))return![];return this['_drawContext'][_0x24dbd1(0x1e0)](this['id'],this),!![];}},{'key':'addPoint','value':function _0x4fbe0d(_0x3e59cd){var _0x632228=_0x1ae4cf,_0x8d4f0c=this['_toPositionTuple'](_0x3e59cd);if(!this[_0x632228(0x215)]){this[_0x632228(0x215)]=_0x8d4f0c,this[_0x632228(0x237)]=null,this['positions']=[],this['_drawContext'][_0x632228(0x1f6)](STATUS['DRAWING']),this['_drawContext']['_updateTooltip']();return;}if(!this['_applyGeometry'](this[_0x632228(0x215)],_0x8d4f0c))return;this[_0x632228(0x1e4)](this),this[_0x632228(0x20d)]();}},{'key':_0x1ae4cf(0x20b),'value':function _0x2a4f1d(_0x513d3e){var _0x3996f5=_0x1ae4cf;if(!this['_centerPosition'])return;var _0x5a2b9d=this['_toPositionTuple'](_0x513d3e);if(!this['_applyGeometry'](this[_0x3996f5(0x215)],_0x5a2b9d))return;this[_0x3996f5(0x208)]();}},{'key':'endDraw','value':function _0x42d569(){var _0x4152a8=_0x1ae4cf;if(!this[_0x4152a8(0x215)]||!this['_handlePosition'])return;if(!this['_applyGeometry'](this[_0x4152a8(0x215)],this['_handlePosition']))return;this[_0x4152a8(0x20d)]();}},{'key':'startEdit','value':function _0x592183(){var _0x267579=_0x1ae4cf;if(!this['_centerPosition']||!this['_handlePosition'])return;_get(_getPrototypeOf(_0x8627f1[_0x267579(0x244)]),'startEdit',this)['call'](this),this['_destroyEditHandles'](),this['dragPoints']=[this[_0x267579(0x223)](this['_centerPosition'],_0x267579(0x220)),this['_createEditHandle'](this['_handlePosition'],_0x267579(0x218))];}},{'key':'mouseDragStart','value':function _0x52f2f1(_0x29ef2c,_0x3f1e9f){var _0x2b2486=_0x1ae4cf,_0x3b0ee1;this['dragging']=!![],this['dragLayer']=_0x3f1e9f,(_0x3b0ee1=this[_0x2b2486(0x246)])===null||_0x3b0ee1===void 0x0||_0x3b0ee1[_0x2b2486(0x214)]();}},{'key':_0x1ae4cf(0x23c),'value':function _0x5a9d38(_0x2897ad){var _0x592a36=_0x1ae4cf;if(!this['dragging']||!this['dragLayer'])return;if(!this[_0x592a36(0x215)]||!this['_handlePosition'])return;var _0x5d3842=this[_0x592a36(0x1ee)](_0x2897ad),_0x2ee166=_toConsumableArray(this[_0x592a36(0x215)]),_0x1e885a=_toConsumableArray(this['_handlePosition']);if(this['dragLayer'][_0x592a36(0x249)]===_0x592a36(0x220)){var _0x1e2a1c=this[_0x592a36(0x1e8)](_0x2ee166,_0x1e885a);_0x2ee166=_0x5d3842;var _0x38f454=_0x1e2a1c&&this[_0x592a36(0x1dd)](_0x2ee166,_0x1e2a1c);if(!_0x38f454)return;_0x1e885a=_0x38f454;}else _0x1e885a=_0x5d3842;if(!this['_applyGeometry'](_0x2ee166,_0x1e885a))return;this[_0x592a36(0x1ef)](),this['_emitPointsChange']();}},{'key':_0x1ae4cf(0x1f3),'value':function _0x281ba4(){var _0x3331df=_0x1ae4cf;this[_0x3331df(0x203)]=![],this[_0x3331df(0x246)]=null;}},{'key':_0x1ae4cf(0x200),'value':function _0x213ec3(_0x4694ac){var _0x32f4d1=_0x1ae4cf,_0x4c3b47=arguments[_0x32f4d1(0x23a)]>0x1&&arguments[0x1]!==undefined?arguments[0x1]:!![];_get(_getPrototypeOf(_0x8627f1['prototype']),'endEdit',this)[_0x32f4d1(0x20a)](this,_0x4694ac,_0x4c3b47),this[_0x32f4d1(0x23e)]();}},{'key':_0x1ae4cf(0x1f0),'value':function _0x1b8bd0(){var _0x35b771=_0x1ae4cf;_get(_getPrototypeOf(_0x8627f1[_0x35b771(0x244)]),_0x35b771(0x1f0),this)['call'](this),this['_destroyShapeLayers'](),this['_centerPosition']=null,this[_0x35b771(0x237)]=null;}}]),_0x8627f1;}(_0x75d6d7);export default Elliptic;
|