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,461 +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 * as utils from "../../tool/utils";
|
|
26
|
-
import { STATUS } from "../types";
|
|
27
|
-
import { getPolygonRestoreHandlePosition, normalizePolygonPositions } from "../utils";
|
|
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_CIRCLE_SEGMENTS = 64;
|
|
35
|
-
// 过低分段会明显退化成多边形,统一收敛到最小值。
|
|
36
|
-
var MIN_CIRCLE_SEGMENTS = 16;
|
|
37
|
-
// 半径过小时不创建几何,避免出现退化图形。
|
|
38
|
-
var CIRCLE_MIN_RADIUS = 0.01;
|
|
39
|
-
var Circle = /*#__PURE__*/function (_BaseShape) {
|
|
40
|
-
_inherits(Circle, _BaseShape);
|
|
41
|
-
var _super = _createSuper(Circle);
|
|
42
|
-
function Circle(drawContext, config) {
|
|
43
|
-
var _this;
|
|
44
|
-
_classCallCheck(this, Circle);
|
|
45
|
-
_this = _super.call(this, drawContext);
|
|
46
|
-
_defineProperty(_assertThisInitialized(_this), "type", 'circle');
|
|
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(Circle, [{
|
|
70
|
-
key: "_normalizeSegments",
|
|
71
|
-
value: function _normalizeSegments(segments) {
|
|
72
|
-
var numericSegments = Number(segments);
|
|
73
|
-
if (!Number.isFinite(numericSegments)) {
|
|
74
|
-
return DEFAULT_CIRCLE_SEGMENTS;
|
|
75
|
-
}
|
|
76
|
-
return Math.max(MIN_CIRCLE_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
|
-
// 外框渲染始终闭合,方便绘制和编辑阶段实时预览圆边界。
|
|
91
|
-
}, {
|
|
92
|
-
key: "_getDrawPolylinePositions",
|
|
93
|
-
value: function _getDrawPolylinePositions() {
|
|
94
|
-
if (!this.positions.length) {
|
|
95
|
-
return [];
|
|
96
|
-
}
|
|
97
|
-
return [].concat(_toConsumableArray(this.positions), [this.positions[0]]);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// 面渲染和 polygon 一致,末尾补首点形成闭环。
|
|
101
|
-
}, {
|
|
102
|
-
key: "_getDrawPolygonPositions",
|
|
103
|
-
value: function _getDrawPolygonPositions() {
|
|
104
|
-
if (!this.positions.length) {
|
|
105
|
-
return [];
|
|
106
|
-
}
|
|
107
|
-
return [].concat(_toConsumableArray(this.positions), [this.positions[0]]);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
// 统一释放线框和面图层,避免绘制中断后残留几何。
|
|
111
|
-
}, {
|
|
112
|
-
key: "_destroyShapeLayers",
|
|
113
|
-
value: function _destroyShapeLayers() {
|
|
114
|
-
this.shapePolylineLayer && this.shapePolylineLayer.destroy();
|
|
115
|
-
this.shapePolylineLayer = null;
|
|
116
|
-
this.shapePolygonLayer && this.shapePolygonLayer.destroy();
|
|
117
|
-
this.shapePolygonLayer = null;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
// 根据当前圆周点数组同步线框和面图层。
|
|
121
|
-
}, {
|
|
122
|
-
key: "_syncShapeLayers",
|
|
123
|
-
value: function _syncShapeLayers() {
|
|
124
|
-
if (!this.positions.length) {
|
|
125
|
-
this._destroyShapeLayers();
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
var polylinePositions = this._getDrawPolylinePositions();
|
|
129
|
-
var polygonPositions = this._getDrawPolygonPositions();
|
|
130
|
-
if (!this.shapePolylineLayer) {
|
|
131
|
-
this.shapePolylineLayer = new ShapePolyline(this.getMap(), {
|
|
132
|
-
positions: polylinePositions,
|
|
133
|
-
style: this.polylineStyle
|
|
134
|
-
});
|
|
135
|
-
} else {
|
|
136
|
-
this.shapePolylineLayer.update(polylinePositions);
|
|
137
|
-
}
|
|
138
|
-
if (!this.shapePolygonLayer) {
|
|
139
|
-
this.shapePolygonLayer = new ShapePolygon(this.getMap(), {
|
|
140
|
-
positions: polygonPositions,
|
|
141
|
-
style: this.polygonStyle
|
|
142
|
-
});
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
this.shapePolygonLayer.update(polygonPositions);
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
// 通过圆心和半径控制点,在局部 ENU 坐标系中生成近似圆顶点。
|
|
149
|
-
}, {
|
|
150
|
-
key: "_buildCirclePositions",
|
|
151
|
-
value: function _buildCirclePositions(centerPosition, handlePosition) {
|
|
152
|
-
var centerCartesian = this._toCartesian3(centerPosition);
|
|
153
|
-
var handleCartesian = this._toCartesian3(handlePosition);
|
|
154
|
-
if (!centerCartesian || !handleCartesian) {
|
|
155
|
-
return [];
|
|
156
|
-
}
|
|
157
|
-
var transform = Cesium.Transforms.eastNorthUpToFixedFrame(centerCartesian);
|
|
158
|
-
var inverseTransform = Cesium.Matrix4.inverseTransformation(transform, new Cesium.Matrix4());
|
|
159
|
-
var localHandle = Cesium.Matrix4.multiplyByPoint(inverseTransform, handleCartesian, new Cesium.Cartesian3());
|
|
160
|
-
var radius = Math.hypot(localHandle.x, localHandle.y);
|
|
161
|
-
if (!Number.isFinite(radius) || radius <= CIRCLE_MIN_RADIUS) {
|
|
162
|
-
return [];
|
|
163
|
-
}
|
|
164
|
-
var startAngle = Math.atan2(localHandle.y, localHandle.x);
|
|
165
|
-
var localZ = this.clampToGround ? 0 : localHandle.z;
|
|
166
|
-
var positions = [];
|
|
167
|
-
var angleStep = Cesium.Math.TWO_PI / this._segments;
|
|
168
|
-
for (var index = 0; index < this._segments; index += 1) {
|
|
169
|
-
var angle = startAngle + angleStep * index;
|
|
170
|
-
var localPoint = new Cesium.Cartesian3(radius * Math.cos(angle), radius * Math.sin(angle), localZ);
|
|
171
|
-
var worldPoint = Cesium.Matrix4.multiplyByPoint(transform, localPoint, new Cesium.Cartesian3());
|
|
172
|
-
var _utils$cartesian3ToLn = utils.cartesian3ToLngLatAlt(worldPoint),
|
|
173
|
-
lng = _utils$cartesian3ToLn.lng,
|
|
174
|
-
lat = _utils$cartesian3ToLn.lat,
|
|
175
|
-
alt = _utils$cartesian3ToLn.alt;
|
|
176
|
-
positions.push([lng, lat, alt]);
|
|
177
|
-
}
|
|
178
|
-
return positions;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
// 计算半径控制点相对圆心的局部 ENU 向量,用于整体平移时保持半径。
|
|
182
|
-
}, {
|
|
183
|
-
key: "_getLocalHandleVector",
|
|
184
|
-
value: function _getLocalHandleVector(centerPosition, handlePosition) {
|
|
185
|
-
var centerCartesian = this._toCartesian3(centerPosition);
|
|
186
|
-
var handleCartesian = this._toCartesian3(handlePosition);
|
|
187
|
-
if (!centerCartesian || !handleCartesian) {
|
|
188
|
-
return null;
|
|
189
|
-
}
|
|
190
|
-
var transform = Cesium.Transforms.eastNorthUpToFixedFrame(centerCartesian);
|
|
191
|
-
var inverseTransform = Cesium.Matrix4.inverseTransformation(transform, new Cesium.Matrix4());
|
|
192
|
-
return Cesium.Matrix4.multiplyByPoint(inverseTransform, handleCartesian, new Cesium.Cartesian3());
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
// 把局部 ENU 向量重新投回新的圆心,得到新的半径控制点位置。
|
|
196
|
-
}, {
|
|
197
|
-
key: "_getPositionByLocalVector",
|
|
198
|
-
value: function _getPositionByLocalVector(centerPosition, localVector) {
|
|
199
|
-
var centerCartesian = this._toCartesian3(centerPosition);
|
|
200
|
-
if (!centerCartesian) {
|
|
201
|
-
return null;
|
|
202
|
-
}
|
|
203
|
-
var transform = Cesium.Transforms.eastNorthUpToFixedFrame(centerCartesian);
|
|
204
|
-
var worldPoint = Cesium.Matrix4.multiplyByPoint(transform, localVector, new Cesium.Cartesian3());
|
|
205
|
-
var _utils$cartesian3ToLn2 = utils.cartesian3ToLngLatAlt(worldPoint),
|
|
206
|
-
lng = _utils$cartesian3ToLn2.lng,
|
|
207
|
-
lat = _utils$cartesian3ToLn2.lat,
|
|
208
|
-
alt = _utils$cartesian3ToLn2.alt;
|
|
209
|
-
return [lng, lat, alt];
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
// 统一更新圆心、半径控制点、圆周顶点数组和渲染图层。
|
|
213
|
-
}, {
|
|
214
|
-
key: "_applyGeometry",
|
|
215
|
-
value: function _applyGeometry(centerPosition, handlePosition) {
|
|
216
|
-
var positions = this._buildCirclePositions(centerPosition, handlePosition);
|
|
217
|
-
if (positions.length !== this._segments) {
|
|
218
|
-
return false;
|
|
219
|
-
}
|
|
220
|
-
this._centerPosition = centerPosition ? _toConsumableArray(centerPosition) : null;
|
|
221
|
-
this._handlePosition = _toConsumableArray(positions[0]);
|
|
222
|
-
this.positions = positions;
|
|
223
|
-
this._syncShapeLayers();
|
|
224
|
-
return true;
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
// 编辑结束或销毁时统一释放两个控制点。
|
|
228
|
-
}, {
|
|
229
|
-
key: "_destroyEditHandles",
|
|
230
|
-
value: function _destroyEditHandles() {
|
|
231
|
-
this.dragPoints.forEach(function (point) {
|
|
232
|
-
return point.destroy();
|
|
233
|
-
});
|
|
234
|
-
this.dragPoints = [];
|
|
235
|
-
this.dragLayer = null;
|
|
236
|
-
this.dragging = false;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
// 创建编辑控制点:圆心点负责平移,半径点负责修改半径。
|
|
240
|
-
}, {
|
|
241
|
-
key: "_createEditHandle",
|
|
242
|
-
value: function _createEditHandle(position, role) {
|
|
243
|
-
var handle = new DragPoint(this.getMap(), {
|
|
244
|
-
positions: position,
|
|
245
|
-
style: this.pointStyle
|
|
246
|
-
});
|
|
247
|
-
handle.handleRole = role;
|
|
248
|
-
handle.startEdit();
|
|
249
|
-
return handle;
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
// 几何变化后把两个控制点同步到最新位置。
|
|
253
|
-
}, {
|
|
254
|
-
key: "_syncEditHandles",
|
|
255
|
-
value: function _syncEditHandles() {
|
|
256
|
-
var centerHandle = this.dragPoints.find(function (point) {
|
|
257
|
-
return point.handleRole === 'center';
|
|
258
|
-
});
|
|
259
|
-
var radiusHandle = this.dragPoints.find(function (point) {
|
|
260
|
-
return point.handleRole === 'radius';
|
|
261
|
-
});
|
|
262
|
-
if (centerHandle && this._centerPosition) {
|
|
263
|
-
centerHandle.mouseDragChange({
|
|
264
|
-
lng: this._centerPosition[0],
|
|
265
|
-
lat: this._centerPosition[1],
|
|
266
|
-
alt: this._centerPosition[2]
|
|
267
|
-
});
|
|
268
|
-
}
|
|
269
|
-
if (radiusHandle && this._handlePosition) {
|
|
270
|
-
radiusHandle.mouseDragChange({
|
|
271
|
-
lng: this._handlePosition[0],
|
|
272
|
-
lat: this._handlePosition[1],
|
|
273
|
-
alt: this._handlePosition[2]
|
|
274
|
-
});
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
// 绘制预览阶段透出当前近似圆顶点数组。
|
|
279
|
-
}, {
|
|
280
|
-
key: "_emitMouseMoveChange",
|
|
281
|
-
value: function _emitMouseMoveChange() {
|
|
282
|
-
this._drawContext.options.onMouseMoveChange && this._drawContext.options.onMouseMoveChange({
|
|
283
|
-
layer: this,
|
|
284
|
-
positions: this.positions
|
|
285
|
-
});
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
// 编辑态拖拽时透出最新圆周顶点数组。
|
|
289
|
-
}, {
|
|
290
|
-
key: "_emitPointsChange",
|
|
291
|
-
value: function _emitPointsChange() {
|
|
292
|
-
var _this$_drawContext$op, _this$_drawContext$op2;
|
|
293
|
-
((_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({
|
|
294
|
-
layer: this,
|
|
295
|
-
positions: this.positions
|
|
296
|
-
}));
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
// 统一完成绘制:入库、触发回调并进入编辑态。
|
|
300
|
-
}, {
|
|
301
|
-
key: "_finishDraw",
|
|
302
|
-
value: function _finishDraw() {
|
|
303
|
-
if (!this.positions.length) {
|
|
304
|
-
return;
|
|
305
|
-
}
|
|
306
|
-
this._drawContext.setDrawerLayer(this.id, this);
|
|
307
|
-
this.drawEnd(this);
|
|
308
|
-
this.startEdit();
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
// 根据传入 polygon 顶点恢复 circle shape,并回到圆形编辑模型。
|
|
312
|
-
}, {
|
|
313
|
-
key: "transformData",
|
|
314
|
-
value: function transformData(positions) {
|
|
315
|
-
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
316
|
-
var normalizedPositions = normalizePolygonPositions(positions);
|
|
317
|
-
var centerPosition = Array.isArray(config === null || config === void 0 ? void 0 : config.center) && config.center.length >= 2 ? [config.center[0], config.center[1], config.center[2] || 0] : null;
|
|
318
|
-
var handlePosition = getPolygonRestoreHandlePosition(normalizedPositions);
|
|
319
|
-
this._segments = this._normalizeSegments(config === null || config === void 0 ? void 0 : config.segments);
|
|
320
|
-
if (!centerPosition || !handlePosition) {
|
|
321
|
-
return false;
|
|
322
|
-
}
|
|
323
|
-
if (!this._applyGeometry(centerPosition, handlePosition)) {
|
|
324
|
-
return false;
|
|
325
|
-
}
|
|
326
|
-
this._drawContext.setDrawerLayer(this.id, this);
|
|
327
|
-
return true;
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
// 第一次点击记录圆心,第二次点击根据半径控制点完成圆形绘制。
|
|
331
|
-
}, {
|
|
332
|
-
key: "addPoint",
|
|
333
|
-
value: function addPoint(position) {
|
|
334
|
-
var nextPosition = this._toPositionTuple(position);
|
|
335
|
-
if (!this._centerPosition) {
|
|
336
|
-
this._centerPosition = nextPosition;
|
|
337
|
-
this._handlePosition = null;
|
|
338
|
-
this.positions = [];
|
|
339
|
-
this._drawContext._changeStatus(STATUS.DRAWING);
|
|
340
|
-
this._drawContext._updateTooltip();
|
|
341
|
-
return;
|
|
342
|
-
}
|
|
343
|
-
if (!this._applyGeometry(this._centerPosition, nextPosition)) {
|
|
344
|
-
return;
|
|
345
|
-
}
|
|
346
|
-
this.drawing(this);
|
|
347
|
-
this._finishDraw();
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
// 鼠标移动时根据当前半径实时预览圆形。
|
|
351
|
-
}, {
|
|
352
|
-
key: "updateTempPosition",
|
|
353
|
-
value: function updateTempPosition(position) {
|
|
354
|
-
if (!this._centerPosition) {
|
|
355
|
-
return;
|
|
356
|
-
}
|
|
357
|
-
var nextPosition = this._toPositionTuple(position);
|
|
358
|
-
if (!this._applyGeometry(this._centerPosition, nextPosition)) {
|
|
359
|
-
this.positions = [];
|
|
360
|
-
this._destroyShapeLayers();
|
|
361
|
-
return;
|
|
362
|
-
}
|
|
363
|
-
this._emitMouseMoveChange();
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
// 兼容外部显式结束绘制的调用,按当前控制点收敛最终 geometry。
|
|
367
|
-
}, {
|
|
368
|
-
key: "endDraw",
|
|
369
|
-
value: function endDraw() {
|
|
370
|
-
if (!this._centerPosition || !this._handlePosition) {
|
|
371
|
-
return;
|
|
372
|
-
}
|
|
373
|
-
if (!this._applyGeometry(this._centerPosition, this._handlePosition)) {
|
|
374
|
-
return;
|
|
375
|
-
}
|
|
376
|
-
this._finishDraw();
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
// 编辑态只保留两个控制点,不退化为普通 polygon 的逐点编辑。
|
|
380
|
-
}, {
|
|
381
|
-
key: "startEdit",
|
|
382
|
-
value: function startEdit() {
|
|
383
|
-
if (!this._centerPosition || !this._handlePosition) {
|
|
384
|
-
return;
|
|
385
|
-
}
|
|
386
|
-
_get(_getPrototypeOf(Circle.prototype), "startEdit", this).call(this);
|
|
387
|
-
this._destroyEditHandles();
|
|
388
|
-
this.dragPoints = [this._createEditHandle(this._centerPosition, 'center'), this._createEditHandle(this._handlePosition, 'radius')];
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
// 记录当前拖拽的控制点。
|
|
392
|
-
}, {
|
|
393
|
-
key: "mouseDragStart",
|
|
394
|
-
value: function mouseDragStart(position, dragLayer) {
|
|
395
|
-
var _this$dragLayer;
|
|
396
|
-
this.dragging = true;
|
|
397
|
-
this.dragLayer = dragLayer;
|
|
398
|
-
(_this$dragLayer = this.dragLayer) === null || _this$dragLayer === void 0 || _this$dragLayer.mouseDragStart();
|
|
399
|
-
}
|
|
400
|
-
|
|
401
|
-
// 拖圆心时整体平移,拖半径点时只更新半径。
|
|
402
|
-
}, {
|
|
403
|
-
key: "mouseDragChange",
|
|
404
|
-
value: function mouseDragChange(position) {
|
|
405
|
-
if (!this.dragging || !this.dragLayer) {
|
|
406
|
-
return;
|
|
407
|
-
}
|
|
408
|
-
if (!this._centerPosition || !this._handlePosition) {
|
|
409
|
-
return;
|
|
410
|
-
}
|
|
411
|
-
var nextPosition = this._toPositionTuple(position);
|
|
412
|
-
var nextCenterPosition = _toConsumableArray(this._centerPosition);
|
|
413
|
-
var nextHandlePosition = _toConsumableArray(this._handlePosition);
|
|
414
|
-
if (this.dragLayer.handleRole === 'center') {
|
|
415
|
-
var localHandleVector = this._getLocalHandleVector(nextCenterPosition, nextHandlePosition);
|
|
416
|
-
nextCenterPosition = nextPosition;
|
|
417
|
-
var translatedHandlePosition = localHandleVector && this._getPositionByLocalVector(nextCenterPosition, localHandleVector);
|
|
418
|
-
if (!translatedHandlePosition) {
|
|
419
|
-
return;
|
|
420
|
-
}
|
|
421
|
-
nextHandlePosition = translatedHandlePosition;
|
|
422
|
-
} else {
|
|
423
|
-
nextHandlePosition = nextPosition;
|
|
424
|
-
}
|
|
425
|
-
if (!this._applyGeometry(nextCenterPosition, nextHandlePosition)) {
|
|
426
|
-
return;
|
|
427
|
-
}
|
|
428
|
-
this._syncEditHandles();
|
|
429
|
-
this._emitPointsChange();
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
// 结束拖拽时只清理状态,不生成额外中间点。
|
|
433
|
-
}, {
|
|
434
|
-
key: "mouseDragEnd",
|
|
435
|
-
value: function mouseDragEnd() {
|
|
436
|
-
this.dragging = false;
|
|
437
|
-
this.dragLayer = null;
|
|
438
|
-
}
|
|
439
|
-
|
|
440
|
-
// 结束编辑后销毁两个控制点。
|
|
441
|
-
}, {
|
|
442
|
-
key: "endEdit",
|
|
443
|
-
value: function endEdit(layer) {
|
|
444
|
-
var emitComplete = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
445
|
-
_get(_getPrototypeOf(Circle.prototype), "endEdit", this).call(this, layer, emitComplete);
|
|
446
|
-
this._destroyEditHandles();
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
// 销毁时同时清理渲染图层和内部几何状态。
|
|
450
|
-
}, {
|
|
451
|
-
key: "destroy",
|
|
452
|
-
value: function destroy() {
|
|
453
|
-
_get(_getPrototypeOf(Circle.prototype), "destroy", this).call(this);
|
|
454
|
-
this._destroyShapeLayers();
|
|
455
|
-
this._centerPosition = null;
|
|
456
|
-
this._handlePosition = null;
|
|
457
|
-
}
|
|
458
|
-
}]);
|
|
459
|
-
return Circle;
|
|
460
|
-
}(BaseShape);
|
|
461
|
-
export default Circle;
|
|
1
|
+
function _0x335f(_0xe11a1c,_0x23e0dc){_0xe11a1c=_0xe11a1c-0x127;var _0x2d7059=_0x2d70();var _0x335fb2=_0x2d7059[_0xe11a1c];if(_0x335f['sMAjVp']===undefined){var _0x4a0ec2=function(_0x5a4d0){var _0x250fc7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x383ade='',_0x20e524='';for(var _0x5d28cc=0x0,_0x1f62ee,_0x215de3,_0x2061a0=0x0;_0x215de3=_0x5a4d0['charAt'](_0x2061a0++);~_0x215de3&&(_0x1f62ee=_0x5d28cc%0x4?_0x1f62ee*0x40+_0x215de3:_0x215de3,_0x5d28cc++%0x4)?_0x383ade+=String['fromCharCode'](0xff&_0x1f62ee>>(-0x2*_0x5d28cc&0x6)):0x0){_0x215de3=_0x250fc7['indexOf'](_0x215de3);}for(var _0x4eef19=0x0,_0x1e72c7=_0x383ade['length'];_0x4eef19<_0x1e72c7;_0x4eef19++){_0x20e524+='%'+('00'+_0x383ade['charCodeAt'](_0x4eef19)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20e524);};_0x335f['BFjfep']=_0x4a0ec2,_0x335f['VuyNth']={},_0x335f['sMAjVp']=!![];}var _0x53afe6=_0x2d7059[0x0],_0x38ae91=_0xe11a1c+_0x53afe6,_0x495334=_0x335f['VuyNth'][_0x38ae91];return!_0x495334?(_0x335fb2=_0x335f['BFjfep'](_0x335fb2),_0x335f['VuyNth'][_0x38ae91]=_0x335fb2):_0x335fb2=_0x495334,_0x335fb2;}(function(_0x9e3971,_0x22958c){var _0x43dabc=_0x335f,_0x443c06=_0x9e3971();while(!![]){try{var _0x15ff34=-parseInt(_0x43dabc(0x13c))/0x1*(-parseInt(_0x43dabc(0x16e))/0x2)+-parseInt(_0x43dabc(0x142))/0x3*(-parseInt(_0x43dabc(0x12c))/0x4)+parseInt(_0x43dabc(0x18b))/0x5+-parseInt(_0x43dabc(0x151))/0x6*(-parseInt(_0x43dabc(0x177))/0x7)+-parseInt(_0x43dabc(0x13d))/0x8+parseInt(_0x43dabc(0x148))/0x9+-parseInt(_0x43dabc(0x145))/0xa*(parseInt(_0x43dabc(0x153))/0xb);if(_0x15ff34===_0x22958c)break;else _0x443c06['push'](_0x443c06['shift']());}catch(_0x4a4309){_0x443c06['push'](_0x443c06['shift']());}}}(_0x2d70,0x465a3));function _typeof(_0x215de3){'@babel/helpers - typeof';var _0x5947a1=_0x335f;return _typeof=_0x5947a1(0x176)==typeof Symbol&&_0x5947a1(0x136)==typeof Symbol[_0x5947a1(0x187)]?function(_0x2061a0){return typeof _0x2061a0;}:function(_0x4eef19){return _0x4eef19&&'function'==typeof Symbol&&_0x4eef19['constructor']===Symbol&&_0x4eef19!==Symbol['prototype']?'symbol':typeof _0x4eef19;},_typeof(_0x215de3);}function _toConsumableArray(_0x1e72c7){return _arrayWithoutHoles(_0x1e72c7)||_iterableToArray(_0x1e72c7)||_unsupportedIterableToArray(_0x1e72c7)||_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(_0x13981f,_0x4148fb){var _0x4489ab=_0x335f;if(!_0x13981f)return;if(typeof _0x13981f===_0x4489ab(0x132))return _arrayLikeToArray(_0x13981f,_0x4148fb);var _0x791f70=Object['prototype'][_0x4489ab(0x163)][_0x4489ab(0x189)](_0x13981f)['slice'](0x8,-0x1);if(_0x791f70==='Object'&&_0x13981f['constructor'])_0x791f70=_0x13981f['constructor']['name'];if(_0x791f70==='Map'||_0x791f70==='Set')return Array[_0x4489ab(0x162)](_0x13981f);if(_0x791f70===_0x4489ab(0x154)||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](_0x791f70))return _arrayLikeToArray(_0x13981f,_0x4148fb);}function _iterableToArray(_0x15f7bf){if(typeof Symbol!=='undefined'&&_0x15f7bf[Symbol['iterator']]!=null||_0x15f7bf['@@iterator']!=null)return Array['from'](_0x15f7bf);}function _0x2d70(){var _0x527b8a=['CgvYug9ZAxrPB25izwLNAhq','yMLUza','DMfSDwu','C2LU','C2HHCgvqB2X5z29Utgf5zxi','nda1nJzIBNLzzuC','mJy4mdC2og5vBu5iuq','z2v0twfW','tK9orq','Aw52zxjZzvrYyw5ZzM9YBwf0Aw9U','D3jPDgfIBgu','mtjzA0rHEuW','y29Z','C2v0rhjHD2vYtgf5zxi','mtiXmfjhwK1Zsq','Cg9PBNrtDhLSzq','twf0Aa','mJeZode1n1Dmvff5wG','y29UzMLNDxjHyMXL','x2HHBMrSzvbVC2L0Aw9U','Bgf0','y3jLyxrL','y29UC3rYDwn0','Bw91C2veCMfNu3rHCNq','AxngAw5PDgu','x3rVug9ZAxrPB25uDxbSzq','nLHLC1vntG','zgvZDhjVEq','mtiXnJi3q09UCNvZ','qxjNDw1LBNrZ','x2DLDfbVC2L0Aw9UqNLmB2nHBfzLy3rVCG','Bg5N','yxrHBJi','y2XHBxbuB0DYB3vUza','ChvZAa','CMfKAxvZ','DhjHBNnMB3jTrgf0yq','vfDpx1bj','x2nLBNrLCLbVC2L0Aw9U','zhjHz2DPBMC','x25VCM1HBgL6zvnLz21LBNrZ','C2HHCgvqB2X5BgLUzuXHEwvY','BxvSDgLWBhLcEvbVAw50','zNjVBq','Dg9tDhjPBMC','x2rYyxDdB250zxH0','x2DLDeXVy2fSsgfUzgXLvMvJDg9Y','zMXVB3i','x3n5BMntAgfWzuXHEwvYCW','q2fYDgvZAwfUmW','x2vTAxrqB2LUDhndAgfUz2u','AhLWB3q','x3rVq2fYDgvZAwfUmW','x2rLC3rYB3LfzgL0sgfUzgXLCW','BgvUz3rO','mJH4vw1Wsg4','AxnbCNjHEq','x19WCM90B19F','Cg9SEwDVBLn0EwXL','AgfUzgXLuM9Szq','ywX0','zhjHD0vUza','zhjHz0XHEwvY','zNvUy3rPB24','mtm4nJGWnuv3Bhn1DG','C3rHCNrfzgL0','x3nLz21LBNrZ','zMLUza','ChjVDg90ExbL','vhjHBNnMB3jTCW','C2v0uhjVDg90ExbLt2y','zw5KrhjHDW','Dw5KzwzPBMvK','AgvPz2H0uMvMzxjLBMnL','Cg9ZAxrPB25Z','qeb0B1bYAw1PDgL2zsbTDxn0ihjLDhvYBIbHihbYAw1PDgL2zsb2ywX1zs4','x2vTAxrnB3vZzu1VDMvdAgfUz2u','B25qB2LUDhndAgfUz2u','x3n5BMnfzgL0sgfUzgXLCW','z2v0uhjVDg90ExbLt2y','AxrLCMf0B3i','Cg9SEwXPBMvtDhLSzq','y2fSBa','zhjHz1bVAw50CW','mJuYntm2mgnssNDSta','zhjHD2LUzW','x2j1AwXKq2LYy2XLug9ZAxrPB25Z','y29Uy2f0','sgvPz2H0uMvMzxjLBMnL','zw51BwvYywjSzq','C2HHBq','x2zPBMLZAerYyxC','rfjbv0LorW','x2rLC3rYB3LtAgfWzuXHEwvYCW','B3b0Aw9UCW','y2vUDgvY','zgvMAw5LuhjVCgvYDhK','x2DLDerYyxDqB2X5z29Uug9ZAxrPB25Z','nduYndCYvwzurwrn','zwfZDe5VCNrOvxbuB0zPEgvKrNjHBwu','C2vNBwvUDhm','DxbKyxrLvgvTCfbVC2L0Aw9U','y2fYDgvZAwfUm1rVtg5Ntgf0qwX0','x2fWCgX5r2vVBwv0CNK','C3rYAw5N','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','B2jQzwn0','yxbWBhK','C3LTyM9S'];_0x2d70=function(){return _0x527b8a;};return _0x2d70();}function _arrayWithoutHoles(_0x3ffa1c){if(Array['isArray'](_0x3ffa1c))return _arrayLikeToArray(_0x3ffa1c);}function _arrayLikeToArray(_0x1291d0,_0x1f60ad){if(_0x1f60ad==null||_0x1f60ad>_0x1291d0['length'])_0x1f60ad=_0x1291d0['length'];for(var _0xf8a31b=0x0,_0x16c668=new Array(_0x1f60ad);_0xf8a31b<_0x1f60ad;_0xf8a31b++)_0x16c668[_0xf8a31b]=_0x1291d0[_0xf8a31b];return _0x16c668;}function _classCallCheck(_0x56a02c,_0x1760fa){if(!(_0x56a02c instanceof _0x1760fa))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');}function _defineProperties(_0x50288b,_0x34795e){var _0x32dc67=_0x335f;for(var _0x31f1a9=0x0;_0x31f1a9<_0x34795e[_0x32dc67(0x16d)];_0x31f1a9++){var _0x227f40=_0x34795e[_0x31f1a9];_0x227f40['enumerable']=_0x227f40[_0x32dc67(0x190)]||![],_0x227f40[_0x32dc67(0x149)]=!![];if('value'in _0x227f40)_0x227f40[_0x32dc67(0x141)]=!![];Object[_0x32dc67(0x12a)](_0x50288b,_toPropertyKey(_0x227f40['key']),_0x227f40);}}function _createClass(_0x5a763f,_0x911d8,_0x38f8e0){var _0x2282bf=_0x335f;if(_0x911d8)_defineProperties(_0x5a763f[_0x2282bf(0x17b)],_0x911d8);if(_0x38f8e0)_defineProperties(_0x5a763f,_0x38f8e0);return Object['defineProperty'](_0x5a763f,_0x2282bf(0x17b),{'writable':![]}),_0x5a763f;}function _get(){var _0x3dd3fd=_0x335f;return typeof Reflect!==_0x3dd3fd(0x17f)&&Reflect['get']?_get=Reflect['get']['bind']():_get=function _0x422572(_0x5acf18,_0x2db869,_0x5db413){var _0x4d7177=_0x3dd3fd,_0x666e20=_superPropBase(_0x5acf18,_0x2db869);if(!_0x666e20)return;var _0x94819f=Object[_0x4d7177(0x133)](_0x666e20,_0x2db869);if(_0x94819f['get'])return _0x94819f['get']['call'](arguments['length']<0x3?_0x5acf18:_0x5db413);return _0x94819f[_0x4d7177(0x139)];},_get['apply'](this,arguments);}function _superPropBase(_0x3cc0f9,_0x477c7b){while(!Object['prototype']['hasOwnProperty']['call'](_0x3cc0f9,_0x477c7b)){_0x3cc0f9=_getPrototypeOf(_0x3cc0f9);if(_0x3cc0f9===null)break;}return _0x3cc0f9;}function _inherits(_0x1310bb,_0x5e219a){var _0x57626f=_0x335f;if(typeof _0x5e219a!==_0x57626f(0x176)&&_0x5e219a!==null)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');_0x1310bb['prototype']=Object[_0x57626f(0x14c)](_0x5e219a&&_0x5e219a[_0x57626f(0x17b)],{'constructor':{'value':_0x1310bb,'writable':!![],'configurable':!![]}}),Object[_0x57626f(0x12a)](_0x1310bb,_0x57626f(0x17b),{'writable':![]});if(_0x5e219a)_setPrototypeOf(_0x1310bb,_0x5e219a);}function _setPrototypeOf(_0x53426f,_0x25e305){var _0x22e31f=_0x335f;return _setPrototypeOf=Object['setPrototypeOf']?Object[_0x22e31f(0x17d)]['bind']():function _0x18e4f3(_0x2e9133,_0x3fe9ba){var _0x418bce=_0x22e31f;return _0x2e9133[_0x418bce(0x170)]=_0x3fe9ba,_0x2e9133;},_setPrototypeOf(_0x53426f,_0x25e305);}function _createSuper(_0x477227){var _0x34a8ca=_isNativeReflectConstruct();return function _0x555f25(){var _0x3bb3de=_0x335f,_0x552473=_getPrototypeOf(_0x477227),_0x278f6a;if(_0x34a8ca){var _0x1ee273=_getPrototypeOf(this)['constructor'];_0x278f6a=Reflect[_0x3bb3de(0x14d)](_0x552473,arguments,_0x1ee273);}else _0x278f6a=_0x552473[_0x3bb3de(0x135)](this,arguments);return _possibleConstructorReturn(this,_0x278f6a);};}function _possibleConstructorReturn(_0x3a29fc,_0x143d89){var _0x55bc76=_0x335f;if(_0x143d89&&(_typeof(_0x143d89)===_0x55bc76(0x134)||typeof _0x143d89===_0x55bc76(0x176)))return _0x143d89;else{if(_0x143d89!==void 0x0)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');}return _assertThisInitialized(_0x3a29fc);}function _assertThisInitialized(_0x47e50e){if(_0x47e50e===void 0x0)throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');return _0x47e50e;}function _isNativeReflectConstruct(){var _0x278427=_0x335f;if(typeof Reflect===_0x278427(0x17f)||!Reflect['construct'])return![];if(Reflect[_0x278427(0x14d)][_0x278427(0x191)])return![];if(typeof Proxy==='function')return!![];try{return Boolean['prototype']['valueOf']['call'](Reflect[_0x278427(0x14d)](Boolean,[],function(){})),!![];}catch(_0x524cdd){return![];}}function _getPrototypeOf(_0x2b6d65){var _0x510a3a=_0x335f;return _getPrototypeOf=Object[_0x510a3a(0x17d)]?Object[_0x510a3a(0x186)][_0x510a3a(0x138)]():function _0x29d317(_0xa18dd4){var _0x30d156=_0x510a3a;return _0xa18dd4['__proto__']||Object[_0x30d156(0x186)](_0xa18dd4);},_getPrototypeOf(_0x2b6d65);}function _defineProperty(_0x4e11cb,_0x4e48e8,_0x31022f){var _0x3a4f97=_0x335f;return _0x4e48e8=_toPropertyKey(_0x4e48e8),_0x4e48e8 in _0x4e11cb?Object[_0x3a4f97(0x12a)](_0x4e11cb,_0x4e48e8,{'value':_0x31022f,'enumerable':!![],'configurable':!![],'writable':!![]}):_0x4e11cb[_0x4e48e8]=_0x31022f,_0x4e11cb;}function _toPropertyKey(_0xaf3556){var _0x51c2fe=_0x335f,_0x3c11a0=_toPrimitive(_0xaf3556,_0x51c2fe(0x132));return _0x51c2fe(0x136)==_typeof(_0x3c11a0)?_0x3c11a0:String(_0x3c11a0);}function _toPrimitive(_0x451efb,_0x311091){var _0x1424b1=_0x335f;if(_0x1424b1(0x134)!=_typeof(_0x451efb)||!_0x451efb)return _0x451efb;var _0x26bffa=_0x451efb[Symbol['toPrimitive']];if(void 0x0!==_0x26bffa){var _0x2e4ca9=_0x26bffa[_0x1424b1(0x189)](_0x451efb,_0x311091||'default');if('object'!=_typeof(_0x2e4ca9))return _0x2e4ca9;throw new TypeError(_0x1424b1(0x182));}return(_0x1424b1(0x132)===_0x311091?String:Number)(_0x451efb);}import*as _0x383ade from'deeptwins-cesium';import{isNil}from'lodash';import*as _0x20e524 from'../../tool/utils';import{STATUS}from'../types';import{getPolygonRestoreHandlePosition,normalizePolygonPositions}from'../utils';import _0x5d28cc from'./BaseShape';import _0x1f62ee from'./DragPoint';import{ShapePolygon}from'./Polygon';import{ShapePolyline}from'./Polyline';var DEFAULT_CIRCLE_SEGMENTS=0x40,MIN_CIRCLE_SEGMENTS=0x10,CIRCLE_MIN_RADIUS=0.01,Circle=function(_0xd8655b){var _0x27fc3b=_0x335f;_inherits(_0x22d24e,_0xd8655b);var _0x17b28e=_createSuper(_0x22d24e);function _0x22d24e(_0x1d1b69,_0xc48ad7){var _0x499e6f=_0x335f,_0x2ce873;return _classCallCheck(this,_0x22d24e),_0x2ce873=_0x17b28e['call'](this,_0x1d1b69),_defineProperty(_assertThisInitialized(_0x2ce873),'type','circle'),_defineProperty(_assertThisInitialized(_0x2ce873),'shapePolylineLayer',void 0x0),_defineProperty(_assertThisInitialized(_0x2ce873),'shapePolygonLayer',void 0x0),_defineProperty(_assertThisInitialized(_0x2ce873),_0x499e6f(0x179),void 0x0),_defineProperty(_assertThisInitialized(_0x2ce873),'_centerPosition',void 0x0),_defineProperty(_assertThisInitialized(_0x2ce873),'_handlePosition',void 0x0),_0x2ce873['_segments']=_0x2ce873['_normalizeSegments'](_0xc48ad7===null||_0xc48ad7===void 0x0?void 0x0:_0xc48ad7[_0x499e6f(0x12e)]),_0x2ce873[_0x499e6f(0x15d)]=null,_0x2ce873['_handlePosition']=null,_0x2ce873['clampToGround']=isNil(_0xc48ad7===null||_0xc48ad7===void 0x0?void 0x0:_0xc48ad7['clampToGround'])?_0x2ce873[_0x499e6f(0x158)]:_0xc48ad7[_0x499e6f(0x158)],_0x2ce873[_0x499e6f(0x146)][_0x499e6f(0x180)]=_0x2ce873['clampToGround']?_0x383ade[_0x499e6f(0x18f)]['CLAMP_TO_GROUND']:_0x383ade['HeightReference']['NONE'],_0x2ce873[_0x499e6f(0x188)]['clampToGround']=_0x2ce873[_0x499e6f(0x158)],_0x2ce873['clampToGround']?(_0x2ce873[_0x499e6f(0x171)][_0x499e6f(0x180)]=_0x383ade[_0x499e6f(0x18f)]['CLAMP_TO_GROUND'],_0x2ce873[_0x499e6f(0x171)]['perPositionHeight']=![]):(_0x2ce873[_0x499e6f(0x171)]['heightReference']=_0x383ade[_0x499e6f(0x18f)][_0x499e6f(0x13f)],_0x2ce873['polygonStyle'][_0x499e6f(0x137)]=!![]),_0x2ce873;}return _createClass(_0x22d24e,[{'key':_0x27fc3b(0x15f),'value':function _0x3af9eb(_0x156ea0){var _0x288166=_0x27fc3b,_0x531be8=Number(_0x156ea0);if(!Number['isFinite'](_0x531be8))return DEFAULT_CIRCLE_SEGMENTS;return Math['max'](MIN_CIRCLE_SEGMENTS,Math[_0x288166(0x166)](_0x531be8));}},{'key':'_toPositionTuple','value':function _0x3b2234(_0x119dcb){var _0x467fb1=_0x27fc3b,_0x236cde=_0x119dcb['lng'],_0x30bceb=_0x119dcb[_0x467fb1(0x14b)],_0x56a427=_0x119dcb[_0x467fb1(0x173)],_0x373229=_0x56a427===void 0x0?0x0:_0x56a427;return[_0x236cde,_0x30bceb,_0x373229];}},{'key':'_getDrawPolylinePositions','value':function _0x4c8757(){var _0x2ff172=_0x27fc3b;if(!this[_0x2ff172(0x181)][_0x2ff172(0x16d)])return[];return[]['concat'](_toConsumableArray(this[_0x2ff172(0x181)]),[this[_0x2ff172(0x181)][0x0]]);}},{'key':_0x27fc3b(0x12b),'value':function _0x4fe0c6(){var _0x1b06b5=_0x27fc3b;if(!this[_0x1b06b5(0x181)][_0x1b06b5(0x16d)])return[];return[][_0x1b06b5(0x18e)](_toConsumableArray(this['positions']),[this[_0x1b06b5(0x181)][0x0]]);}},{'key':'_destroyShapeLayers','value':function _0x1b2c34(){var _0x41bbd4=_0x27fc3b;this['shapePolylineLayer']&&this['shapePolylineLayer']['destroy'](),this[_0x41bbd4(0x160)]=null,this[_0x41bbd4(0x13b)]&&this[_0x41bbd4(0x13b)][_0x41bbd4(0x152)](),this[_0x41bbd4(0x13b)]=null;}},{'key':_0x27fc3b(0x167),'value':function _0x4e3a75(){var _0x22dbbd=_0x27fc3b;if(!this['positions']['length']){this[_0x22dbbd(0x127)]();return;}var _0x39904e=this['_getDrawPolylinePositions'](),_0x26f553=this[_0x22dbbd(0x12b)]();!this[_0x22dbbd(0x160)]?this['shapePolylineLayer']=new ShapePolyline(this[_0x22dbbd(0x13e)](),{'positions':_0x39904e,'style':this[_0x22dbbd(0x188)]}):this['shapePolylineLayer']['update'](_0x39904e);if(!this[_0x22dbbd(0x13b)]){this['shapePolygonLayer']=new ShapePolygon(this[_0x22dbbd(0x13e)](),{'positions':_0x26f553,'style':this[_0x22dbbd(0x171)]});return;}this[_0x22dbbd(0x13b)]['update'](_0x26f553);}},{'key':'_buildCirclePositions','value':function _0x303e68(_0x456392,_0x5d354a){var _0x3028cb=_0x27fc3b,_0x5438db=this[_0x3028cb(0x16b)](_0x456392),_0x534002=this['_toCartesian3'](_0x5d354a);if(!_0x5438db||!_0x534002)return[];var _0x5c7f6e=_0x383ade['Transforms']['eastNorthUpToFixedFrame'](_0x5438db),_0x1e6a25=_0x383ade['Matrix4'][_0x3028cb(0x140)](_0x5c7f6e,new _0x383ade['Matrix4']()),_0x3be19e=_0x383ade['Matrix4'][_0x3028cb(0x161)](_0x1e6a25,_0x534002,new _0x383ade[(_0x3028cb(0x168))]()),_0xecf797=Math[_0x3028cb(0x16a)](_0x3be19e['x'],_0x3be19e['y']);if(!Number[_0x3028cb(0x14f)](_0xecf797)||_0xecf797<=CIRCLE_MIN_RADIUS)return[];var _0x22d03d=Math[_0x3028cb(0x157)](_0x3be19e['y'],_0x3be19e['x']),_0x1ccbc2=this[_0x3028cb(0x158)]?0x0:_0x3be19e['z'],_0x47a2d9=[],_0x2454d9=_0x383ade[_0x3028cb(0x147)][_0x3028cb(0x15c)]/this['_segments'];for(var _0x11818a=0x0;_0x11818a<this['_segments'];_0x11818a+=0x1){var _0xf30724=_0x22d03d+_0x2454d9*_0x11818a,_0x1c0fcb=new _0x383ade[(_0x3028cb(0x168))](_0xecf797*Math[_0x3028cb(0x143)](_0xf30724),_0xecf797*Math[_0x3028cb(0x13a)](_0xf30724),_0x1ccbc2),_0x21da73=_0x383ade['Matrix4'][_0x3028cb(0x161)](_0x5c7f6e,_0x1c0fcb,new _0x383ade['Cartesian3']()),_0x266010=_0x20e524['cartesian3ToLngLatAlt'](_0x21da73),_0x33cac9=_0x266010[_0x3028cb(0x156)],_0x3de4e2=_0x266010[_0x3028cb(0x14b)],_0x5e8fae=_0x266010['alt'];_0x47a2d9[_0x3028cb(0x159)]([_0x33cac9,_0x3de4e2,_0x5e8fae]);}return _0x47a2d9;}},{'key':_0x27fc3b(0x165),'value':function _0x1428fa(_0xcc63c5,_0x4b1c61){var _0x350724=_0x27fc3b,_0x524305=this[_0x350724(0x16b)](_0xcc63c5),_0x22feac=this['_toCartesian3'](_0x4b1c61);if(!_0x524305||!_0x22feac)return null;var _0x22a320=_0x383ade[_0x350724(0x17c)][_0x350724(0x12d)](_0x524305),_0x322749=_0x383ade['Matrix4']['inverseTransformation'](_0x22a320,new _0x383ade['Matrix4']());return _0x383ade['Matrix4'][_0x350724(0x161)](_0x322749,_0x22feac,new _0x383ade['Cartesian3']());}},{'key':'_getPositionByLocalVector','value':function _0x14cf29(_0x4fa7be,_0x5da037){var _0x213e05=_0x27fc3b,_0x168b69=this['_toCartesian3'](_0x4fa7be);if(!_0x168b69)return null;var _0x1c553d=_0x383ade[_0x213e05(0x17c)]['eastNorthUpToFixedFrame'](_0x168b69),_0x3ee6e6=_0x383ade['Matrix4'][_0x213e05(0x161)](_0x1c553d,_0x5da037,new _0x383ade[(_0x213e05(0x168))]()),_0x21f688=_0x20e524[_0x213e05(0x130)](_0x3ee6e6),_0x209ddb=_0x21f688[_0x213e05(0x156)],_0x47efb0=_0x21f688[_0x213e05(0x14b)],_0x12f1a3=_0x21f688['alt'];return[_0x209ddb,_0x47efb0,_0x12f1a3];}},{'key':'_applyGeometry','value':function _0x4fba7d(_0x121b5e,_0x89ae21){var _0x5bdc1a=_0x27fc3b,_0x2dce6f=this[_0x5bdc1a(0x18d)](_0x121b5e,_0x89ae21);if(_0x2dce6f['length']!==this['_segments'])return![];return this['_centerPosition']=_0x121b5e?_toConsumableArray(_0x121b5e):null,this[_0x5bdc1a(0x14a)]=_toConsumableArray(_0x2dce6f[0x0]),this[_0x5bdc1a(0x181)]=_0x2dce6f,this['_syncShapeLayers'](),!![];}},{'key':_0x27fc3b(0x16c),'value':function _0x30b162(){var _0x57cd5e=_0x27fc3b;this['dragPoints']['forEach'](function(_0x1f01fc){var _0x58bca0=_0x335f;return _0x1f01fc[_0x58bca0(0x152)]();}),this['dragPoints']=[],this['dragLayer']=null,this[_0x57cd5e(0x15e)]=![];}},{'key':'_createEditHandle','value':function _0x19fbb8(_0x204498,_0x29b1c4){var _0x186aae=_0x27fc3b,_0x220b3c=new _0x1f62ee(this['getMap'](),{'positions':_0x204498,'style':this[_0x186aae(0x146)]});return _0x220b3c[_0x186aae(0x172)]=_0x29b1c4,_0x220b3c[_0x186aae(0x178)](),_0x220b3c;}},{'key':_0x27fc3b(0x185),'value':function _0x259352(){var _0x521780=_0x27fc3b,_0x485ba8=this[_0x521780(0x18a)]['find'](function(_0x12b53e){return _0x12b53e['handleRole']==='center';}),_0x1481e3=this['dragPoints'][_0x521780(0x17a)](function(_0x95ff0f){var _0x22295c=_0x521780;return _0x95ff0f[_0x22295c(0x172)]===_0x22295c(0x15a);});_0x485ba8&&this['_centerPosition']&&_0x485ba8['mouseDragChange']({'lng':this['_centerPosition'][0x0],'lat':this[_0x521780(0x15d)][0x1],'alt':this[_0x521780(0x15d)][0x2]}),_0x1481e3&&this[_0x521780(0x14a)]&&_0x1481e3['mouseDragChange']({'lng':this['_handlePosition'][0x0],'lat':this[_0x521780(0x14a)][0x1],'alt':this['_handlePosition'][0x2]});}},{'key':'_emitMouseMoveChange','value':function _0x4c1a82(){var _0x409341=_0x27fc3b;this['_drawContext'][_0x409341(0x128)]['onMouseMoveChange']&&this[_0x409341(0x164)][_0x409341(0x128)]['onMouseMoveChange']({'layer':this,'positions':this[_0x409341(0x181)]});}},{'key':_0x27fc3b(0x169),'value':function _0x14b1e6(){var _0x556117=_0x27fc3b,_0x29e35a,_0x426f8a;((_0x29e35a=this['_drawContext'][_0x556117(0x128)])===null||_0x29e35a===void 0x0?void 0x0:_0x29e35a['onPointsChange'])&&((_0x426f8a=this['_drawContext'][_0x556117(0x128)])===null||_0x426f8a===void 0x0?void 0x0:_0x426f8a[_0x556117(0x184)]({'layer':this,'positions':this[_0x556117(0x181)]}));}},{'key':'_finishDraw','value':function _0x4618e4(){var _0x4638c5=_0x27fc3b;if(!this[_0x4638c5(0x181)]['length'])return;this['_drawContext'][_0x4638c5(0x144)](this['id'],this),this[_0x4638c5(0x174)](this),this[_0x4638c5(0x178)]();}},{'key':_0x27fc3b(0x15b),'value':function _0x348d4a(_0x1c237e){var _0x543bbc=_0x27fc3b,_0x1384b6=arguments[_0x543bbc(0x16d)]>0x1&&arguments[0x1]!==undefined?arguments[0x1]:{},_0x3d70b1=normalizePolygonPositions(_0x1c237e),_0x46152a=Array[_0x543bbc(0x16f)](_0x1384b6===null||_0x1384b6===void 0x0?void 0x0:_0x1384b6['center'])&&_0x1384b6[_0x543bbc(0x129)]['length']>=0x2?[_0x1384b6[_0x543bbc(0x129)][0x0],_0x1384b6['center'][0x1],_0x1384b6['center'][0x2]||0x0]:null,_0x57cf89=getPolygonRestoreHandlePosition(_0x3d70b1);this[_0x543bbc(0x179)]=this[_0x543bbc(0x15f)](_0x1384b6===null||_0x1384b6===void 0x0?void 0x0:_0x1384b6[_0x543bbc(0x12e)]);if(!_0x46152a||!_0x57cf89)return![];if(!this[_0x543bbc(0x131)](_0x46152a,_0x57cf89))return![];return this[_0x543bbc(0x164)][_0x543bbc(0x144)](this['id'],this),!![];}},{'key':'addPoint','value':function _0x2d4334(_0x1ca0fb){var _0x2fd62f=_0x27fc3b,_0x4595ef=this[_0x2fd62f(0x150)](_0x1ca0fb);if(!this[_0x2fd62f(0x15d)]){this['_centerPosition']=_0x4595ef,this[_0x2fd62f(0x14a)]=null,this[_0x2fd62f(0x181)]=[],this[_0x2fd62f(0x164)]['_changeStatus'](STATUS[_0x2fd62f(0x193)]),this['_drawContext']['_updateTooltip']();return;}if(!this['_applyGeometry'](this[_0x2fd62f(0x15d)],_0x4595ef))return;this[_0x2fd62f(0x18c)](this),this[_0x2fd62f(0x192)]();}},{'key':_0x27fc3b(0x12f),'value':function _0x1cce6e(_0x4d8d57){var _0x3d5f28=_0x27fc3b;if(!this[_0x3d5f28(0x15d)])return;var _0x2bbbce=this[_0x3d5f28(0x150)](_0x4d8d57);if(!this[_0x3d5f28(0x131)](this[_0x3d5f28(0x15d)],_0x2bbbce)){this['positions']=[],this['_destroyShapeLayers']();return;}this[_0x3d5f28(0x183)]();}},{'key':_0x27fc3b(0x17e),'value':function _0x5baf1f(){var _0x281f0b=_0x27fc3b;if(!this[_0x281f0b(0x15d)]||!this[_0x281f0b(0x14a)])return;if(!this[_0x281f0b(0x131)](this['_centerPosition'],this[_0x281f0b(0x14a)]))return;this['_finishDraw']();}},{'key':'startEdit','value':function _0x3c4497(){var _0x195595=_0x27fc3b;if(!this[_0x195595(0x15d)]||!this['_handlePosition'])return;_get(_getPrototypeOf(_0x22d24e['prototype']),_0x195595(0x178),this)[_0x195595(0x189)](this),this['_destroyEditHandles'](),this[_0x195595(0x18a)]=[this['_createEditHandle'](this[_0x195595(0x15d)],'center'),this['_createEditHandle'](this['_handlePosition'],_0x195595(0x15a))];}},{'key':'mouseDragStart','value':function _0x24c753(_0x4252e9,_0x34688d){var _0x57019f=_0x27fc3b,_0x38ea66;this[_0x57019f(0x15e)]=!![],this['dragLayer']=_0x34688d,(_0x38ea66=this['dragLayer'])===null||_0x38ea66===void 0x0||_0x38ea66[_0x57019f(0x14e)]();}},{'key':'mouseDragChange','value':function _0x808396(_0x54ee7b){var _0x1b1456=_0x27fc3b;if(!this['dragging']||!this[_0x1b1456(0x175)])return;if(!this['_centerPosition']||!this['_handlePosition'])return;var _0xb119c0=this['_toPositionTuple'](_0x54ee7b),_0x4fa59a=_toConsumableArray(this[_0x1b1456(0x15d)]),_0x59089c=_toConsumableArray(this['_handlePosition']);if(this[_0x1b1456(0x175)]['handleRole']==='center'){var _0x18828b=this[_0x1b1456(0x165)](_0x4fa59a,_0x59089c);_0x4fa59a=_0xb119c0;var _0x62b790=_0x18828b&&this[_0x1b1456(0x155)](_0x4fa59a,_0x18828b);if(!_0x62b790)return;_0x59089c=_0x62b790;}else _0x59089c=_0xb119c0;if(!this[_0x1b1456(0x131)](_0x4fa59a,_0x59089c))return;this['_syncEditHandles'](),this[_0x1b1456(0x169)]();}},{'key':'mouseDragEnd','value':function _0x47112a(){var _0x123cfa=_0x27fc3b;this[_0x123cfa(0x15e)]=![],this['dragLayer']=null;}},{'key':'endEdit','value':function _0x3d0a6f(_0xd6b136){var _0x52990a=_0x27fc3b,_0xafe375=arguments[_0x52990a(0x16d)]>0x1&&arguments[0x1]!==undefined?arguments[0x1]:!![];_get(_getPrototypeOf(_0x22d24e[_0x52990a(0x17b)]),'endEdit',this)['call'](this,_0xd6b136,_0xafe375),this[_0x52990a(0x16c)]();}},{'key':_0x27fc3b(0x152),'value':function _0x28e8c8(){var _0x49ae7c=_0x27fc3b;_get(_getPrototypeOf(_0x22d24e['prototype']),_0x49ae7c(0x152),this)[_0x49ae7c(0x189)](this),this['_destroyShapeLayers'](),this['_centerPosition']=null,this['_handlePosition']=null;}}]),_0x22d24e;}(_0x5d28cc);export default Circle;
|