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,314 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 几何算法
|
|
3
|
-
*/
|
|
4
|
-
import * as Cesium from 'deeptwins-cesium';
|
|
5
|
-
import P from "./plotUtil";
|
|
6
|
-
var xp = {};
|
|
7
|
-
var doubleArrowDefualParam = {
|
|
8
|
-
type: 'doublearrow',
|
|
9
|
-
headHeightFactor: 0.25,
|
|
10
|
-
headWidthFactor: 0.3,
|
|
11
|
-
neckHeightFactor: 0.85,
|
|
12
|
-
fixPointCount: 4,
|
|
13
|
-
neckWidthFactor: 0.15
|
|
14
|
-
};
|
|
15
|
-
var tailedAttackArrowDefualParam = {
|
|
16
|
-
headHeightFactor: 0.18,
|
|
17
|
-
headWidthFactor: 0.3,
|
|
18
|
-
neckHeightFactor: 0.85,
|
|
19
|
-
neckWidthFactor: 0.15,
|
|
20
|
-
tailWidthFactor: 0.1,
|
|
21
|
-
headTailFactor: 0.8,
|
|
22
|
-
swallowTailFactor: 1
|
|
23
|
-
};
|
|
24
|
-
var fineArrowDefualParam = {
|
|
25
|
-
tailWidthFactor: 0.15,
|
|
26
|
-
neckWidthFactor: 0.2,
|
|
27
|
-
headWidthFactor: 0.25,
|
|
28
|
-
headAngle: Math.PI / 8.5,
|
|
29
|
-
neckAngle: Math.PI / 13
|
|
30
|
-
};
|
|
31
|
-
xp.algorithm = {};
|
|
32
|
-
xp.algorithm.doubleArrow = function (inputPoint) {
|
|
33
|
-
this.connPoint = null;
|
|
34
|
-
this.tempPoint4 = null;
|
|
35
|
-
this.points = inputPoint;
|
|
36
|
-
var result = {
|
|
37
|
-
controlPoint: null,
|
|
38
|
-
polygonalPoint: null
|
|
39
|
-
};
|
|
40
|
-
//获取已经点击的坐标数
|
|
41
|
-
var t = inputPoint.length;
|
|
42
|
-
if (!(2 > t)) {
|
|
43
|
-
if (2 == t) return inputPoint;
|
|
44
|
-
var o = this.points[0],
|
|
45
|
-
//第一个点
|
|
46
|
-
e = this.points[1],
|
|
47
|
-
//第二个点
|
|
48
|
-
r = this.points[2]; //第三个点
|
|
49
|
-
//下面的是移动点位后的坐标
|
|
50
|
-
3 == t ? this.tempPoint4 = xp.algorithm.getTempPoint4(o, e, r) : this.tempPoint4 = this.points[3], 3 == t || 4 == t ? this.connPoint = P.PlotUtils.mid(o, e) : this.connPoint = this.points[4];
|
|
51
|
-
var n, g;
|
|
52
|
-
P.PlotUtils.isClockWise(o, e, r) ? (n = xp.algorithm.getArrowPoints(o, this.connPoint, this.tempPoint4, !1), g = xp.algorithm.getArrowPoints(this.connPoint, e, r, !0)) : (n = xp.algorithm.getArrowPoints(e, this.connPoint, r, !1), g = xp.algorithm.getArrowPoints(this.connPoint, o, this.tempPoint4, !0));
|
|
53
|
-
var i = n.length,
|
|
54
|
-
s = (i - 5) / 2,
|
|
55
|
-
a = n.slice(0, s),
|
|
56
|
-
l = n.slice(s, s + 5),
|
|
57
|
-
p = g.slice(s, s + 5),
|
|
58
|
-
h = g.slice(s + 5, i);
|
|
59
|
-
var c = g.slice(0, s);
|
|
60
|
-
var u = n.slice(s + 5, i);
|
|
61
|
-
c = P.PlotUtils.getBezierPoints(c);
|
|
62
|
-
var d = P.PlotUtils.getBezierPoints(h.concat(a.slice(1)));
|
|
63
|
-
u = P.PlotUtils.getBezierPoints(u);
|
|
64
|
-
var f = c.concat(p, d, l, u);
|
|
65
|
-
var newArray = xp.algorithm.array2Dto1D(f);
|
|
66
|
-
result.controlPoint = [o, e, r, this.tempPoint4, this.connPoint];
|
|
67
|
-
result.polygonalPoint = Cesium.Cartesian3.fromDegreesArray(newArray);
|
|
68
|
-
}
|
|
69
|
-
return result;
|
|
70
|
-
};
|
|
71
|
-
xp.algorithm.threeArrow = function (inputPoint) {
|
|
72
|
-
this.connPoint = null;
|
|
73
|
-
this.tempPoint4 = null;
|
|
74
|
-
this.tempPoint5 = null;
|
|
75
|
-
this.points = inputPoint;
|
|
76
|
-
var result = {
|
|
77
|
-
controlPoint: null,
|
|
78
|
-
polygonalPoint: null
|
|
79
|
-
};
|
|
80
|
-
//获取已经点击的坐标数
|
|
81
|
-
var t = inputPoint.length;
|
|
82
|
-
if (t >= 2) {
|
|
83
|
-
if (t == 2) {
|
|
84
|
-
return inputPoint;
|
|
85
|
-
}
|
|
86
|
-
var o = this.points[0],
|
|
87
|
-
//第一个点
|
|
88
|
-
e = this.points[1],
|
|
89
|
-
//第二个点
|
|
90
|
-
r = this.points[2]; //第三个点
|
|
91
|
-
//下面的是移动点位后的坐标
|
|
92
|
-
if (t == 3) {
|
|
93
|
-
this.tempPoint4 = xp.algorithm.getTempPoint4(o, e, r);
|
|
94
|
-
this.tempPoint5 = P.PlotUtils.mid(r, this.tempPoint4);
|
|
95
|
-
} else {
|
|
96
|
-
this.tempPoint4 = this.points[3];
|
|
97
|
-
this.tempPoint5 = this.points[4];
|
|
98
|
-
}
|
|
99
|
-
if (t < 6) {
|
|
100
|
-
this.connPoint = P.PlotUtils.mid(o, e);
|
|
101
|
-
} else {
|
|
102
|
-
this.connPoint = this.points[5];
|
|
103
|
-
}
|
|
104
|
-
var n, g;
|
|
105
|
-
if (P.PlotUtils.isClockWise(o, e, r)) {
|
|
106
|
-
n = xp.algorithm.getArrowPoints(o, this.connPoint, this.tempPoint4, !1);
|
|
107
|
-
g = xp.algorithm.getArrowPoints(this.connPoint, e, r, !0);
|
|
108
|
-
} else {
|
|
109
|
-
n = xp.algorithm.getArrowPoints(e, this.connPoint, r, !1);
|
|
110
|
-
g = xp.algorithm.getArrowPoints(this.connPoint, o, this.tempPoint4, !0);
|
|
111
|
-
}
|
|
112
|
-
var i = n.length,
|
|
113
|
-
s = (i - 5) / 2,
|
|
114
|
-
a = n.slice(0, s),
|
|
115
|
-
l = n.slice(s, s + 5),
|
|
116
|
-
p = g.slice(s, s + 5),
|
|
117
|
-
h = g.slice(s + 5, i);
|
|
118
|
-
var c = g.slice(0, s);
|
|
119
|
-
var u = n.slice(s + 5, i);
|
|
120
|
-
c = P.PlotUtils.getBezierPoints(c);
|
|
121
|
-
var d = P.PlotUtils.getBezierPoints(h.concat(a.slice(1)));
|
|
122
|
-
u = P.PlotUtils.getBezierPoints(u);
|
|
123
|
-
var f = c.concat(p, d, l, u);
|
|
124
|
-
var newArray = xp.algorithm.array2Dto1D(f);
|
|
125
|
-
result.controlPoint = [o, e, r, this.tempPoint4, this.tempPoint5, this.connPoint];
|
|
126
|
-
result.polygonalPoint = Cesium.Cartesian3.fromDegreesArray(newArray);
|
|
127
|
-
}
|
|
128
|
-
return result;
|
|
129
|
-
};
|
|
130
|
-
xp.algorithm.array2Dto1D = function (array) {
|
|
131
|
-
var newArray = [];
|
|
132
|
-
array.forEach(function (elt) {
|
|
133
|
-
newArray.push(elt[0]);
|
|
134
|
-
newArray.push(elt[1]);
|
|
135
|
-
});
|
|
136
|
-
return newArray;
|
|
137
|
-
};
|
|
138
|
-
xp.algorithm.getArrowPoints = function (t, o, e, r) {
|
|
139
|
-
this.type = doubleArrowDefualParam.type, this.headHeightFactor = doubleArrowDefualParam.headHeightFactor, this.headWidthFactor = doubleArrowDefualParam.headWidthFactor, this.neckHeightFactor = doubleArrowDefualParam.neckHeightFactor, this.neckWidthFactor = doubleArrowDefualParam.neckWidthFactor;
|
|
140
|
-
var n = P.PlotUtils.mid(t, o),
|
|
141
|
-
g = P.PlotUtils.distance(n, e);
|
|
142
|
-
var i = P.PlotUtils.getThirdPoint(e, n, 0, 0.3 * g, !0);
|
|
143
|
-
var s = P.PlotUtils.getThirdPoint(e, n, 0, 0.5 * g, !0);
|
|
144
|
-
i = P.PlotUtils.getThirdPoint(n, i, P.Constants.HALF_PI, g / 5, r), s = P.PlotUtils.getThirdPoint(n, s, P.Constants.HALF_PI, g / 4, r);
|
|
145
|
-
var a = [n, i, s, e],
|
|
146
|
-
l = xp.algorithm.getArrowHeadPoints(a, this.headHeightFactor, this.headWidthFactor, this.neckHeightFactor, this.neckWidthFactor),
|
|
147
|
-
u = l[0],
|
|
148
|
-
c = l[4],
|
|
149
|
-
p = P.PlotUtils.distance(t, o) / P.PlotUtils.getBaseLength(a) / 2,
|
|
150
|
-
h = xp.algorithm.getArrowBodyPoints(a, u, c, p),
|
|
151
|
-
d = h.length;
|
|
152
|
-
var f = h.slice(0, d / 2);
|
|
153
|
-
var E = h.slice(d / 2, d);
|
|
154
|
-
return f.push(u), E.push(c), f = f.reverse(), f.push(o), E = E.reverse(), E.push(t), f.reverse().concat(l, E);
|
|
155
|
-
};
|
|
156
|
-
xp.algorithm.getArrowHeadPoints = function (t, o, e) {
|
|
157
|
-
this.type = doubleArrowDefualParam.type, this.headHeightFactor = doubleArrowDefualParam.headHeightFactor, this.headWidthFactor = doubleArrowDefualParam.headWidthFactor, this.neckHeightFactor = doubleArrowDefualParam.neckHeightFactor, this.neckWidthFactor = doubleArrowDefualParam.neckWidthFactor;
|
|
158
|
-
var r = P.PlotUtils.getBaseLength(t),
|
|
159
|
-
n = r * this.headHeightFactor,
|
|
160
|
-
g = t[t.length - 1],
|
|
161
|
-
i = (P.PlotUtils.distance(o, e), n * this.headWidthFactor),
|
|
162
|
-
s = n * this.neckWidthFactor,
|
|
163
|
-
a = n * this.neckHeightFactor,
|
|
164
|
-
l = P.PlotUtils.getThirdPoint(t[t.length - 2], g, 0, n, !0),
|
|
165
|
-
u = P.PlotUtils.getThirdPoint(t[t.length - 2], g, 0, a, !0),
|
|
166
|
-
c = P.PlotUtils.getThirdPoint(g, l, P.Constants.HALF_PI, i, !1),
|
|
167
|
-
p = P.PlotUtils.getThirdPoint(g, l, P.Constants.HALF_PI, i, !0),
|
|
168
|
-
h = P.PlotUtils.getThirdPoint(g, u, P.Constants.HALF_PI, s, !1),
|
|
169
|
-
d = P.PlotUtils.getThirdPoint(g, u, P.Constants.HALF_PI, s, !0);
|
|
170
|
-
return [h, c, g, p, d];
|
|
171
|
-
};
|
|
172
|
-
xp.algorithm.getArrowBodyPoints = function (t, o, e, r) {
|
|
173
|
-
var u = [];
|
|
174
|
-
var c = [];
|
|
175
|
-
for (var p = 1, n = P.PlotUtils.wholeDistance(t), g = P.PlotUtils.getBaseLength(t), i = g * r, s = P.PlotUtils.distance(o, e), a = (i - s) / 2, l = 0; p < t.length - 1; p++) {
|
|
176
|
-
var h = P.PlotUtils.getAngleOfThreePoints(t[p - 1], t[p], t[p + 1]) / 2;
|
|
177
|
-
l += P.PlotUtils.distance(t[p - 1], t[p]);
|
|
178
|
-
var d = (i / 2 - l / n * a) / Math.sin(h),
|
|
179
|
-
f = P.PlotUtils.getThirdPoint(t[p - 1], t[p], Math.PI - h, d, !0),
|
|
180
|
-
E = P.PlotUtils.getThirdPoint(t[p - 1], t[p], h, d, !1);
|
|
181
|
-
u.push(f), c.push(E);
|
|
182
|
-
}
|
|
183
|
-
return u.concat(c);
|
|
184
|
-
};
|
|
185
|
-
xp.algorithm.getTempPoint4 = function (t, o, e) {
|
|
186
|
-
var r, n, g, i;
|
|
187
|
-
var s = P.PlotUtils.mid(t, o),
|
|
188
|
-
a = P.PlotUtils.distance(s, e),
|
|
189
|
-
l = P.PlotUtils.getAngleOfThreePoints(t, s, e);
|
|
190
|
-
return l < P.Constants.HALF_PI ? (n = a * Math.sin(l), g = a * Math.cos(l), i = P.PlotUtils.getThirdPoint(t, s, P.Constants.HALF_PI, n, !1), r = P.PlotUtils.getThirdPoint(s, i, P.Constants.HALF_PI, g, !0)) : l >= P.Constants.HALF_PI && l < Math.PI ? (n = a * Math.sin(Math.PI - l), g = a * Math.cos(Math.PI - l), i = P.PlotUtils.getThirdPoint(t, s, P.Constants.HALF_PI, n, !1), r = P.PlotUtils.getThirdPoint(s, i, P.Constants.HALF_PI, g, !1)) : l >= Math.PI && l < 1.5 * Math.PI ? (n = a * Math.sin(l - Math.PI), g = a * Math.cos(l - Math.PI), i = P.PlotUtils.getThirdPoint(t, s, P.Constants.HALF_PI, n, !0), r = P.PlotUtils.getThirdPoint(s, i, P.Constants.HALF_PI, g, !0)) : (n = a * Math.sin(2 * Math.PI - l), g = a * Math.cos(2 * Math.PI - l), i = P.PlotUtils.getThirdPoint(t, s, P.Constants.HALF_PI, n, !0), r = P.PlotUtils.getThirdPoint(s, i, P.Constants.HALF_PI, g, !1)), r;
|
|
191
|
-
};
|
|
192
|
-
xp.algorithm.tailedAttackArrow = function (inputPoint) {
|
|
193
|
-
inputPoint = xp.algorithm.dereplication(inputPoint);
|
|
194
|
-
this.tailWidthFactor = tailedAttackArrowDefualParam.tailWidthFactor;
|
|
195
|
-
this.swallowTailFactor = tailedAttackArrowDefualParam.swallowTailFactor;
|
|
196
|
-
this.swallowTailPnt = tailedAttackArrowDefualParam.swallowTailPnt;
|
|
197
|
-
//控制点
|
|
198
|
-
var result = {
|
|
199
|
-
controlPoint: null,
|
|
200
|
-
polygonalPoint: []
|
|
201
|
-
};
|
|
202
|
-
result.controlPoint = inputPoint;
|
|
203
|
-
var t = inputPoint.length;
|
|
204
|
-
if (!(2 > t)) {
|
|
205
|
-
if (2 == inputPoint.length) {
|
|
206
|
-
result.polygonalPoint = inputPoint;
|
|
207
|
-
return result;
|
|
208
|
-
}
|
|
209
|
-
var o = inputPoint;
|
|
210
|
-
var e = o[0],
|
|
211
|
-
r = o[1];
|
|
212
|
-
P.PlotUtils.isClockWise(o[0], o[1], o[2]) && (e = o[1], r = o[0]);
|
|
213
|
-
var n = P.PlotUtils.mid(e, r),
|
|
214
|
-
g = [n].concat(o.slice(2)),
|
|
215
|
-
i = xp.algorithm.getAttackArrowHeadPoints(g, e, r, tailedAttackArrowDefualParam),
|
|
216
|
-
s = i[0],
|
|
217
|
-
a = i[4],
|
|
218
|
-
l = P.PlotUtils.distance(e, r),
|
|
219
|
-
u = P.PlotUtils.getBaseLength(g),
|
|
220
|
-
c = u * this.tailWidthFactor * this.swallowTailFactor;
|
|
221
|
-
this.swallowTailPnt = P.PlotUtils.getThirdPoint(g[1], g[0], 0, c, !0);
|
|
222
|
-
var p = l / u,
|
|
223
|
-
h = xp.algorithm.getAttackArrowBodyPoints(g, s, a, p),
|
|
224
|
-
_t = h.length;
|
|
225
|
-
var d = [e].concat(h.slice(0, _t / 2));
|
|
226
|
-
d.push(s);
|
|
227
|
-
var f = [r].concat(h.slice(_t / 2, _t));
|
|
228
|
-
var newArray = [];
|
|
229
|
-
f.push(a), d = P.PlotUtils.getQBSplinePoints(d), f = P.PlotUtils.getQBSplinePoints(f), newArray = xp.algorithm.array2Dto1D(d.concat(i, f.reverse(), [this.swallowTailPnt, d[0]]));
|
|
230
|
-
result.polygonalPoint = Cesium.Cartesian3.fromDegreesArray(newArray);
|
|
231
|
-
}
|
|
232
|
-
return result;
|
|
233
|
-
};
|
|
234
|
-
xp.algorithm.getAttackArrowHeadPoints = function (t, o, e, defaultParam) {
|
|
235
|
-
this.headHeightFactor = defaultParam.headHeightFactor;
|
|
236
|
-
this.headTailFactor = defaultParam.headTailFactor;
|
|
237
|
-
this.headWidthFactor = defaultParam.headWidthFactor;
|
|
238
|
-
this.neckWidthFactor = defaultParam.neckWidthFactor;
|
|
239
|
-
this.neckHeightFactor = defaultParam.neckHeightFactor;
|
|
240
|
-
var r = P.PlotUtils.getBaseLength(t),
|
|
241
|
-
n = r * this.headHeightFactor;
|
|
242
|
-
var g = t[t.length - 1];
|
|
243
|
-
r = P.PlotUtils.distance(g, t[t.length - 2]);
|
|
244
|
-
var i = P.PlotUtils.distance(o, e);
|
|
245
|
-
n > i * this.headTailFactor && (n = i * this.headTailFactor);
|
|
246
|
-
var s = n * this.headWidthFactor,
|
|
247
|
-
a = n * this.neckWidthFactor;
|
|
248
|
-
n = n > r ? r : n;
|
|
249
|
-
var l = n * this.neckHeightFactor,
|
|
250
|
-
u = P.PlotUtils.getThirdPoint(t[t.length - 2], g, 0, n, !0),
|
|
251
|
-
c = P.PlotUtils.getThirdPoint(t[t.length - 2], g, 0, l, !0),
|
|
252
|
-
p = P.PlotUtils.getThirdPoint(g, u, P.Constants.HALF_PI, s, !1),
|
|
253
|
-
h = P.PlotUtils.getThirdPoint(g, u, P.Constants.HALF_PI, s, !0),
|
|
254
|
-
d = P.PlotUtils.getThirdPoint(g, c, P.Constants.HALF_PI, a, !1),
|
|
255
|
-
f = P.PlotUtils.getThirdPoint(g, c, P.Constants.HALF_PI, a, !0);
|
|
256
|
-
return [d, p, g, h, f];
|
|
257
|
-
};
|
|
258
|
-
xp.algorithm.getAttackArrowBodyPoints = function (t, o, e, r) {
|
|
259
|
-
var u = [];
|
|
260
|
-
var c = [];
|
|
261
|
-
for (var p = 1, n = P.PlotUtils.wholeDistance(t), g = P.PlotUtils.getBaseLength(t), i = g * r, s = P.PlotUtils.distance(o, e), a = (i - s) / 2, l = 0; p < t.length - 1; p++) {
|
|
262
|
-
var h = P.PlotUtils.getAngleOfThreePoints(t[p - 1], t[p], t[p + 1]) / 2;
|
|
263
|
-
l += P.PlotUtils.distance(t[p - 1], t[p]);
|
|
264
|
-
var d = (i / 2 - l / n * a) / Math.sin(h),
|
|
265
|
-
f = P.PlotUtils.getThirdPoint(t[p - 1], t[p], Math.PI - h, d, !0),
|
|
266
|
-
E = P.PlotUtils.getThirdPoint(t[p - 1], t[p], h, d, !1);
|
|
267
|
-
u.push(f), c.push(E);
|
|
268
|
-
}
|
|
269
|
-
return u.concat(c);
|
|
270
|
-
};
|
|
271
|
-
xp.algorithm.dereplication = function (array) {
|
|
272
|
-
var last = array[array.length - 1];
|
|
273
|
-
var change = false;
|
|
274
|
-
var newArray = [];
|
|
275
|
-
newArray = array.filter(function (i) {
|
|
276
|
-
if (i[0] != last[0] && i[1] != last[1]) {
|
|
277
|
-
return i;
|
|
278
|
-
}
|
|
279
|
-
change = true;
|
|
280
|
-
});
|
|
281
|
-
if (change) newArray.push(last);
|
|
282
|
-
return newArray;
|
|
283
|
-
};
|
|
284
|
-
xp.algorithm.fineArrow = function (tailPoint, headerPoint) {
|
|
285
|
-
if (tailPoint.length < 2 || headerPoint.length < 2) return;
|
|
286
|
-
//画箭头的函数
|
|
287
|
-
var tailWidthFactor = fineArrowDefualParam.tailWidthFactor;
|
|
288
|
-
var neckWidthFactor = fineArrowDefualParam.neckWidthFactor;
|
|
289
|
-
var headWidthFactor = fineArrowDefualParam.headWidthFactor;
|
|
290
|
-
var headAngle = fineArrowDefualParam.headAngle;
|
|
291
|
-
var neckAngle = fineArrowDefualParam.neckAngle;
|
|
292
|
-
var o = [];
|
|
293
|
-
o[0] = tailPoint;
|
|
294
|
-
o[1] = headerPoint;
|
|
295
|
-
var e = o[0],
|
|
296
|
-
r = o[1],
|
|
297
|
-
n = P.PlotUtils.getBaseLength(o),
|
|
298
|
-
g = n * tailWidthFactor,
|
|
299
|
-
//尾部宽度因子
|
|
300
|
-
i = n * neckWidthFactor,
|
|
301
|
-
//脖子宽度银子
|
|
302
|
-
s = n * headWidthFactor,
|
|
303
|
-
//头部宽度因子
|
|
304
|
-
a = P.PlotUtils.getThirdPoint(r, e, P.Constants.HALF_PI, g, !0),
|
|
305
|
-
l = P.PlotUtils.getThirdPoint(r, e, P.Constants.HALF_PI, g, !1),
|
|
306
|
-
u = P.PlotUtils.getThirdPoint(e, r, headAngle, s, !1),
|
|
307
|
-
c = P.PlotUtils.getThirdPoint(e, r, headAngle, s, !0),
|
|
308
|
-
p = P.PlotUtils.getThirdPoint(e, r, neckAngle, i, !1),
|
|
309
|
-
h = P.PlotUtils.getThirdPoint(e, r, neckAngle, i, !0),
|
|
310
|
-
d = [];
|
|
311
|
-
d.push(a[0], a[1], p[0], p[1], u[0], u[1], r[0], r[1], c[0], c[1], h[0], h[1], l[0], l[1], e[0], e[1]);
|
|
312
|
-
return Cesium.Cartesian3.fromDegreesArray(d);
|
|
313
|
-
};
|
|
314
|
-
export default xp;
|
|
1
|
+
var _0x266e7e=_0x336e;(function(_0x5a8f9d,_0x17dee2){var _0x1387f8=_0x336e,_0x49e7cf=_0x5a8f9d();while(!![]){try{var _0xea75b5=parseInt(_0x1387f8(0x136))/0x1+-parseInt(_0x1387f8(0x12e))/0x2+parseInt(_0x1387f8(0x12c))/0x3+-parseInt(_0x1387f8(0x137))/0x4+parseInt(_0x1387f8(0x134))/0x5*(parseInt(_0x1387f8(0x138))/0x6)+-parseInt(_0x1387f8(0x158))/0x7*(-parseInt(_0x1387f8(0x146))/0x8)+parseInt(_0x1387f8(0x13c))/0x9*(-parseInt(_0x1387f8(0x145))/0xa);if(_0xea75b5===_0x17dee2)break;else _0x49e7cf['push'](_0x49e7cf['shift']());}catch(_0x104255){_0x49e7cf['push'](_0x49e7cf['shift']());}}}(_0x35d2,0x9d788));function _0x336e(_0x264f85,_0x5ccc4f){_0x264f85=_0x264f85-0x128;var _0x35d21e=_0x35d2();var _0x336e8c=_0x35d21e[_0x264f85];if(_0x336e['vVIjDX']===undefined){var _0x4708de=function(_0x1e0e64){var _0x5782f4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x1ebe16='',_0x5664a2='';for(var _0x3b9cd5=0x0,_0x4b9350,_0x59121d,_0x2fc190=0x0;_0x59121d=_0x1e0e64['charAt'](_0x2fc190++);~_0x59121d&&(_0x4b9350=_0x3b9cd5%0x4?_0x4b9350*0x40+_0x59121d:_0x59121d,_0x3b9cd5++%0x4)?_0x1ebe16+=String['fromCharCode'](0xff&_0x4b9350>>(-0x2*_0x3b9cd5&0x6)):0x0){_0x59121d=_0x5782f4['indexOf'](_0x59121d);}for(var _0x4a5e89=0x0,_0x34aa71=_0x1ebe16['length'];_0x4a5e89<_0x34aa71;_0x4a5e89++){_0x5664a2+='%'+('00'+_0x1ebe16['charCodeAt'](_0x4a5e89)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5664a2);};_0x336e['SeNDzh']=_0x4708de,_0x336e['IxGfVg']={},_0x336e['vVIjDX']=!![];}var _0x383aa9=_0x35d21e[0x0],_0x48ac11=_0x264f85+_0x383aa9,_0x1a20ed=_0x336e['IxGfVg'][_0x48ac11];return!_0x1a20ed?(_0x336e8c=_0x336e['SeNDzh'](_0x336e8c),_0x336e['IxGfVg'][_0x48ac11]=_0x336e8c):_0x336e8c=_0x1a20ed,_0x336e8c;}import*as _0x1ebe16 from'deeptwins-cesium';import _0x5664a2 from'./plotUtil';var xp={},doubleArrowDefualParam={'type':_0x266e7e(0x151),'headHeightFactor':0.25,'headWidthFactor':0.3,'neckHeightFactor':0.85,'fixPointCount':0x4,'neckWidthFactor':0.15},tailedAttackArrowDefualParam={'headHeightFactor':0.18,'headWidthFactor':0.3,'neckHeightFactor':0.85,'neckWidthFactor':0.15,'tailWidthFactor':0.1,'headTailFactor':0.8,'swallowTailFactor':0x1},fineArrowDefualParam={'tailWidthFactor':0.15,'neckWidthFactor':0.2,'headWidthFactor':0.25,'headAngle':Math['PI']/8.5,'neckAngle':Math['PI']/0xd};xp['algorithm']={},xp['algorithm']['doubleArrow']=function(_0x3b9cd5){var _0x513622=_0x266e7e;this[_0x513622(0x15c)]=null,this[_0x513622(0x14c)]=null,this['points']=_0x3b9cd5;var _0x4b9350={'controlPoint':null,'polygonalPoint':null},_0x59121d=_0x3b9cd5['length'];if(!(0x2>_0x59121d)){if(0x2==_0x59121d)return _0x3b9cd5;var _0x2fc190=this[_0x513622(0x159)][0x0],_0x4a5e89=this[_0x513622(0x159)][0x1],_0x34aa71=this['points'][0x2];0x3==_0x59121d?this[_0x513622(0x14c)]=xp[_0x513622(0x142)][_0x513622(0x12f)](_0x2fc190,_0x4a5e89,_0x34aa71):this[_0x513622(0x14c)]=this[_0x513622(0x159)][0x3],0x3==_0x59121d||0x4==_0x59121d?this['connPoint']=_0x5664a2[_0x513622(0x140)]['mid'](_0x2fc190,_0x4a5e89):this['connPoint']=this[_0x513622(0x159)][0x4];var _0x5dc677,_0x41c730;_0x5664a2['PlotUtils'][_0x513622(0x148)](_0x2fc190,_0x4a5e89,_0x34aa71)?(_0x5dc677=xp['algorithm'][_0x513622(0x14e)](_0x2fc190,this[_0x513622(0x15c)],this['tempPoint4'],!0x1),_0x41c730=xp[_0x513622(0x142)][_0x513622(0x14e)](this[_0x513622(0x15c)],_0x4a5e89,_0x34aa71,!0x0)):(_0x5dc677=xp['algorithm'][_0x513622(0x14e)](_0x4a5e89,this[_0x513622(0x15c)],_0x34aa71,!0x1),_0x41c730=xp[_0x513622(0x142)][_0x513622(0x14e)](this['connPoint'],_0x2fc190,this[_0x513622(0x14c)],!0x0));var _0x5ca499=_0x5dc677['length'],_0x439338=(_0x5ca499-0x5)/0x2,_0x231c55=_0x5dc677[_0x513622(0x152)](0x0,_0x439338),_0x207999=_0x5dc677[_0x513622(0x152)](_0x439338,_0x439338+0x5),_0x5e06c6=_0x41c730['slice'](_0x439338,_0x439338+0x5),_0xa4372=_0x41c730['slice'](_0x439338+0x5,_0x5ca499),_0x1d6de1=_0x41c730[_0x513622(0x152)](0x0,_0x439338),_0x50d994=_0x5dc677['slice'](_0x439338+0x5,_0x5ca499);_0x1d6de1=_0x5664a2[_0x513622(0x140)][_0x513622(0x15b)](_0x1d6de1);var _0x3c9f1e=_0x5664a2['PlotUtils'][_0x513622(0x15b)](_0xa4372[_0x513622(0x131)](_0x231c55[_0x513622(0x152)](0x1)));_0x50d994=_0x5664a2['PlotUtils']['getBezierPoints'](_0x50d994);var _0x4bd819=_0x1d6de1['concat'](_0x5e06c6,_0x3c9f1e,_0x207999,_0x50d994),_0x5095c4=xp['algorithm']['array2Dto1D'](_0x4bd819);_0x4b9350[_0x513622(0x149)]=[_0x2fc190,_0x4a5e89,_0x34aa71,this[_0x513622(0x14c)],this['connPoint']],_0x4b9350[_0x513622(0x15a)]=_0x1ebe16[_0x513622(0x150)]['fromDegreesArray'](_0x5095c4);}return _0x4b9350;},xp[_0x266e7e(0x142)]['threeArrow']=function(_0x5d2668){var _0x4cb522=_0x266e7e;this['connPoint']=null,this['tempPoint4']=null,this['tempPoint5']=null,this['points']=_0x5d2668;var _0x2811d6={'controlPoint':null,'polygonalPoint':null},_0x2e99c5=_0x5d2668['length'];if(_0x2e99c5>=0x2){if(_0x2e99c5==0x2)return _0x5d2668;var _0x475d02=this['points'][0x0],_0x2b1476=this[_0x4cb522(0x159)][0x1],_0x218af0=this['points'][0x2];_0x2e99c5==0x3?(this[_0x4cb522(0x14c)]=xp[_0x4cb522(0x142)][_0x4cb522(0x12f)](_0x475d02,_0x2b1476,_0x218af0),this[_0x4cb522(0x132)]=_0x5664a2[_0x4cb522(0x140)][_0x4cb522(0x135)](_0x218af0,this[_0x4cb522(0x14c)])):(this[_0x4cb522(0x14c)]=this['points'][0x3],this[_0x4cb522(0x132)]=this['points'][0x4]);_0x2e99c5<0x6?this[_0x4cb522(0x15c)]=_0x5664a2['PlotUtils']['mid'](_0x475d02,_0x2b1476):this['connPoint']=this['points'][0x5];var _0x2b5347,_0x141592;_0x5664a2[_0x4cb522(0x140)][_0x4cb522(0x148)](_0x475d02,_0x2b1476,_0x218af0)?(_0x2b5347=xp['algorithm']['getArrowPoints'](_0x475d02,this['connPoint'],this['tempPoint4'],!0x1),_0x141592=xp['algorithm'][_0x4cb522(0x14e)](this['connPoint'],_0x2b1476,_0x218af0,!0x0)):(_0x2b5347=xp[_0x4cb522(0x142)]['getArrowPoints'](_0x2b1476,this[_0x4cb522(0x15c)],_0x218af0,!0x1),_0x141592=xp['algorithm']['getArrowPoints'](this['connPoint'],_0x475d02,this['tempPoint4'],!0x0));var _0x1322b0=_0x2b5347['length'],_0x157f9c=(_0x1322b0-0x5)/0x2,_0x569eca=_0x2b5347['slice'](0x0,_0x157f9c),_0x39af1c=_0x2b5347['slice'](_0x157f9c,_0x157f9c+0x5),_0x1f8bf3=_0x141592['slice'](_0x157f9c,_0x157f9c+0x5),_0x210efc=_0x141592['slice'](_0x157f9c+0x5,_0x1322b0),_0x26a233=_0x141592[_0x4cb522(0x152)](0x0,_0x157f9c),_0x362e0e=_0x2b5347[_0x4cb522(0x152)](_0x157f9c+0x5,_0x1322b0);_0x26a233=_0x5664a2[_0x4cb522(0x140)][_0x4cb522(0x15b)](_0x26a233);var _0x4093f4=_0x5664a2['PlotUtils'][_0x4cb522(0x15b)](_0x210efc[_0x4cb522(0x131)](_0x569eca['slice'](0x1)));_0x362e0e=_0x5664a2['PlotUtils']['getBezierPoints'](_0x362e0e);var _0x4dd3f4=_0x26a233['concat'](_0x1f8bf3,_0x4093f4,_0x39af1c,_0x362e0e),_0x26f10e=xp['algorithm'][_0x4cb522(0x13d)](_0x4dd3f4);_0x2811d6[_0x4cb522(0x149)]=[_0x475d02,_0x2b1476,_0x218af0,this['tempPoint4'],this['tempPoint5'],this[_0x4cb522(0x15c)]],_0x2811d6['polygonalPoint']=_0x1ebe16[_0x4cb522(0x150)][_0x4cb522(0x144)](_0x26f10e);}return _0x2811d6;},xp['algorithm'][_0x266e7e(0x13d)]=function(_0x110ef8){var _0x10806c=[];return _0x110ef8['forEach'](function(_0x5c3706){var _0x58e33f=_0x336e;_0x10806c[_0x58e33f(0x15e)](_0x5c3706[0x0]),_0x10806c[_0x58e33f(0x15e)](_0x5c3706[0x1]);}),_0x10806c;},xp[_0x266e7e(0x142)]['getArrowPoints']=function(_0x21604e,_0x1e0999,_0x14f19c,_0x1b9049){var _0x5d1b47=_0x266e7e;this[_0x5d1b47(0x139)]=doubleArrowDefualParam['type'],this[_0x5d1b47(0x156)]=doubleArrowDefualParam[_0x5d1b47(0x156)],this[_0x5d1b47(0x12b)]=doubleArrowDefualParam[_0x5d1b47(0x12b)],this['neckHeightFactor']=doubleArrowDefualParam['neckHeightFactor'],this[_0x5d1b47(0x155)]=doubleArrowDefualParam[_0x5d1b47(0x155)];var _0x4fe87c=_0x5664a2['PlotUtils']['mid'](_0x21604e,_0x1e0999),_0x373a42=_0x5664a2['PlotUtils']['distance'](_0x4fe87c,_0x14f19c),_0x681277=_0x5664a2[_0x5d1b47(0x140)][_0x5d1b47(0x157)](_0x14f19c,_0x4fe87c,0x0,0.3*_0x373a42,!0x0),_0x224c5e=_0x5664a2['PlotUtils'][_0x5d1b47(0x157)](_0x14f19c,_0x4fe87c,0x0,0.5*_0x373a42,!0x0);_0x681277=_0x5664a2[_0x5d1b47(0x140)]['getThirdPoint'](_0x4fe87c,_0x681277,_0x5664a2[_0x5d1b47(0x130)]['HALF_PI'],_0x373a42/0x5,_0x1b9049),_0x224c5e=_0x5664a2[_0x5d1b47(0x140)][_0x5d1b47(0x157)](_0x4fe87c,_0x224c5e,_0x5664a2['Constants']['HALF_PI'],_0x373a42/0x4,_0x1b9049);var _0x130da2=[_0x4fe87c,_0x681277,_0x224c5e,_0x14f19c],_0x4a6991=xp['algorithm'][_0x5d1b47(0x13a)](_0x130da2,this[_0x5d1b47(0x156)],this[_0x5d1b47(0x12b)],this[_0x5d1b47(0x15d)],this[_0x5d1b47(0x155)]),_0x21e445=_0x4a6991[0x0],_0x33dfde=_0x4a6991[0x4],_0x377db8=_0x5664a2['PlotUtils']['distance'](_0x21604e,_0x1e0999)/_0x5664a2[_0x5d1b47(0x140)][_0x5d1b47(0x154)](_0x130da2)/0x2,_0x52f05a=xp['algorithm'][_0x5d1b47(0x14f)](_0x130da2,_0x21e445,_0x33dfde,_0x377db8),_0x2d867d=_0x52f05a[_0x5d1b47(0x147)],_0x17ae0d=_0x52f05a['slice'](0x0,_0x2d867d/0x2),_0x283a73=_0x52f05a[_0x5d1b47(0x152)](_0x2d867d/0x2,_0x2d867d);return _0x17ae0d['push'](_0x21e445),_0x283a73[_0x5d1b47(0x15e)](_0x33dfde),_0x17ae0d=_0x17ae0d['reverse'](),_0x17ae0d['push'](_0x1e0999),_0x283a73=_0x283a73['reverse'](),_0x283a73[_0x5d1b47(0x15e)](_0x21604e),_0x17ae0d[_0x5d1b47(0x143)]()[_0x5d1b47(0x131)](_0x4a6991,_0x283a73);},xp['algorithm']['getArrowHeadPoints']=function(_0x586ec1,_0xd51448,_0xdee080){var _0x240eca=_0x266e7e;this[_0x240eca(0x139)]=doubleArrowDefualParam['type'],this[_0x240eca(0x156)]=doubleArrowDefualParam[_0x240eca(0x156)],this[_0x240eca(0x12b)]=doubleArrowDefualParam[_0x240eca(0x12b)],this[_0x240eca(0x15d)]=doubleArrowDefualParam['neckHeightFactor'],this[_0x240eca(0x155)]=doubleArrowDefualParam['neckWidthFactor'];var _0xf6440=_0x5664a2[_0x240eca(0x140)][_0x240eca(0x154)](_0x586ec1),_0x591702=_0xf6440*this[_0x240eca(0x156)],_0x3b8b37=_0x586ec1[_0x586ec1['length']-0x1],_0xface27=(_0x5664a2['PlotUtils']['distance'](_0xd51448,_0xdee080),_0x591702*this[_0x240eca(0x12b)]),_0x31c661=_0x591702*this[_0x240eca(0x155)],_0x26477f=_0x591702*this['neckHeightFactor'],_0x2676d6=_0x5664a2['PlotUtils']['getThirdPoint'](_0x586ec1[_0x586ec1['length']-0x2],_0x3b8b37,0x0,_0x591702,!0x0),_0x2b2c5c=_0x5664a2[_0x240eca(0x140)]['getThirdPoint'](_0x586ec1[_0x586ec1[_0x240eca(0x147)]-0x2],_0x3b8b37,0x0,_0x26477f,!0x0),_0x4bb080=_0x5664a2[_0x240eca(0x140)]['getThirdPoint'](_0x3b8b37,_0x2676d6,_0x5664a2[_0x240eca(0x130)][_0x240eca(0x12d)],_0xface27,!0x1),_0x103056=_0x5664a2[_0x240eca(0x140)]['getThirdPoint'](_0x3b8b37,_0x2676d6,_0x5664a2[_0x240eca(0x130)]['HALF_PI'],_0xface27,!0x0),_0x27f4f1=_0x5664a2['PlotUtils'][_0x240eca(0x157)](_0x3b8b37,_0x2b2c5c,_0x5664a2[_0x240eca(0x130)][_0x240eca(0x12d)],_0x31c661,!0x1),_0x4ce674=_0x5664a2[_0x240eca(0x140)][_0x240eca(0x157)](_0x3b8b37,_0x2b2c5c,_0x5664a2[_0x240eca(0x130)]['HALF_PI'],_0x31c661,!0x0);return[_0x27f4f1,_0x4bb080,_0x3b8b37,_0x103056,_0x4ce674];},xp['algorithm']['getArrowBodyPoints']=function(_0x227c80,_0x410021,_0x13bca6,_0x56117a){var _0x4b051d=_0x266e7e,_0x3937ff=[],_0x11b307=[];for(var _0x4eb544=0x1,_0x39de98=_0x5664a2['PlotUtils'][_0x4b051d(0x14a)](_0x227c80),_0x25d91c=_0x5664a2['PlotUtils'][_0x4b051d(0x154)](_0x227c80),_0x1b71ff=_0x25d91c*_0x56117a,_0x41da88=_0x5664a2['PlotUtils'][_0x4b051d(0x12a)](_0x410021,_0x13bca6),_0x390fd4=(_0x1b71ff-_0x41da88)/0x2,_0x1bcfd8=0x0;_0x4eb544<_0x227c80[_0x4b051d(0x147)]-0x1;_0x4eb544++){var _0x2f9c41=_0x5664a2[_0x4b051d(0x140)]['getAngleOfThreePoints'](_0x227c80[_0x4eb544-0x1],_0x227c80[_0x4eb544],_0x227c80[_0x4eb544+0x1])/0x2;_0x1bcfd8+=_0x5664a2['PlotUtils']['distance'](_0x227c80[_0x4eb544-0x1],_0x227c80[_0x4eb544]);var _0x4ae229=(_0x1b71ff/0x2-_0x1bcfd8/_0x39de98*_0x390fd4)/Math['sin'](_0x2f9c41),_0x53de01=_0x5664a2['PlotUtils'][_0x4b051d(0x157)](_0x227c80[_0x4eb544-0x1],_0x227c80[_0x4eb544],Math['PI']-_0x2f9c41,_0x4ae229,!0x0),_0x8d7a69=_0x5664a2[_0x4b051d(0x140)]['getThirdPoint'](_0x227c80[_0x4eb544-0x1],_0x227c80[_0x4eb544],_0x2f9c41,_0x4ae229,!0x1);_0x3937ff[_0x4b051d(0x15e)](_0x53de01),_0x11b307[_0x4b051d(0x15e)](_0x8d7a69);}return _0x3937ff['concat'](_0x11b307);},xp['algorithm'][_0x266e7e(0x12f)]=function(_0x56862c,_0x479189,_0x398854){var _0x30cbab=_0x266e7e,_0x332d5d,_0x252512,_0x97deef,_0x4943e6,_0x2a8648=_0x5664a2['PlotUtils']['mid'](_0x56862c,_0x479189),_0x3549ab=_0x5664a2[_0x30cbab(0x140)][_0x30cbab(0x12a)](_0x2a8648,_0x398854),_0x774853=_0x5664a2[_0x30cbab(0x140)][_0x30cbab(0x129)](_0x56862c,_0x2a8648,_0x398854);return _0x774853<_0x5664a2[_0x30cbab(0x130)][_0x30cbab(0x12d)]?(_0x252512=_0x3549ab*Math[_0x30cbab(0x128)](_0x774853),_0x97deef=_0x3549ab*Math['cos'](_0x774853),_0x4943e6=_0x5664a2[_0x30cbab(0x140)]['getThirdPoint'](_0x56862c,_0x2a8648,_0x5664a2['Constants'][_0x30cbab(0x12d)],_0x252512,!0x1),_0x332d5d=_0x5664a2[_0x30cbab(0x140)][_0x30cbab(0x157)](_0x2a8648,_0x4943e6,_0x5664a2['Constants']['HALF_PI'],_0x97deef,!0x0)):_0x774853>=_0x5664a2[_0x30cbab(0x130)]['HALF_PI']&&_0x774853<Math['PI']?(_0x252512=_0x3549ab*Math[_0x30cbab(0x128)](Math['PI']-_0x774853),_0x97deef=_0x3549ab*Math[_0x30cbab(0x14d)](Math['PI']-_0x774853),_0x4943e6=_0x5664a2[_0x30cbab(0x140)]['getThirdPoint'](_0x56862c,_0x2a8648,_0x5664a2[_0x30cbab(0x130)]['HALF_PI'],_0x252512,!0x1),_0x332d5d=_0x5664a2['PlotUtils'][_0x30cbab(0x157)](_0x2a8648,_0x4943e6,_0x5664a2['Constants']['HALF_PI'],_0x97deef,!0x1)):_0x774853>=Math['PI']&&_0x774853<1.5*Math['PI']?(_0x252512=_0x3549ab*Math['sin'](_0x774853-Math['PI']),_0x97deef=_0x3549ab*Math[_0x30cbab(0x14d)](_0x774853-Math['PI']),_0x4943e6=_0x5664a2['PlotUtils']['getThirdPoint'](_0x56862c,_0x2a8648,_0x5664a2[_0x30cbab(0x130)]['HALF_PI'],_0x252512,!0x0),_0x332d5d=_0x5664a2[_0x30cbab(0x140)]['getThirdPoint'](_0x2a8648,_0x4943e6,_0x5664a2[_0x30cbab(0x130)][_0x30cbab(0x12d)],_0x97deef,!0x0)):(_0x252512=_0x3549ab*Math[_0x30cbab(0x128)](0x2*Math['PI']-_0x774853),_0x97deef=_0x3549ab*Math['cos'](0x2*Math['PI']-_0x774853),_0x4943e6=_0x5664a2[_0x30cbab(0x140)][_0x30cbab(0x157)](_0x56862c,_0x2a8648,_0x5664a2[_0x30cbab(0x130)][_0x30cbab(0x12d)],_0x252512,!0x0),_0x332d5d=_0x5664a2[_0x30cbab(0x140)]['getThirdPoint'](_0x2a8648,_0x4943e6,_0x5664a2['Constants'][_0x30cbab(0x12d)],_0x97deef,!0x1)),_0x332d5d;},xp['algorithm']['tailedAttackArrow']=function(_0x1ce5cf){var _0x153be7=_0x266e7e;_0x1ce5cf=xp[_0x153be7(0x142)]['dereplication'](_0x1ce5cf),this['tailWidthFactor']=tailedAttackArrowDefualParam['tailWidthFactor'],this['swallowTailFactor']=tailedAttackArrowDefualParam[_0x153be7(0x13f)],this['swallowTailPnt']=tailedAttackArrowDefualParam[_0x153be7(0x13e)];var _0x2d6219={'controlPoint':null,'polygonalPoint':[]};_0x2d6219['controlPoint']=_0x1ce5cf;var _0x1460c0=_0x1ce5cf['length'];if(!(0x2>_0x1460c0)){if(0x2==_0x1ce5cf[_0x153be7(0x147)])return _0x2d6219['polygonalPoint']=_0x1ce5cf,_0x2d6219;var _0x153e9c=_0x1ce5cf,_0x2e7850=_0x153e9c[0x0],_0x94e04b=_0x153e9c[0x1];_0x5664a2['PlotUtils']['isClockWise'](_0x153e9c[0x0],_0x153e9c[0x1],_0x153e9c[0x2])&&(_0x2e7850=_0x153e9c[0x1],_0x94e04b=_0x153e9c[0x0]);var _0x52798f=_0x5664a2[_0x153be7(0x140)]['mid'](_0x2e7850,_0x94e04b),_0x11f1a7=[_0x52798f][_0x153be7(0x131)](_0x153e9c['slice'](0x2)),_0x55f723=xp['algorithm'][_0x153be7(0x153)](_0x11f1a7,_0x2e7850,_0x94e04b,tailedAttackArrowDefualParam),_0x4fdb0f=_0x55f723[0x0],_0x5011c5=_0x55f723[0x4],_0x5d34bb=_0x5664a2[_0x153be7(0x140)]['distance'](_0x2e7850,_0x94e04b),_0x5b14b2=_0x5664a2[_0x153be7(0x140)]['getBaseLength'](_0x11f1a7),_0x2805c8=_0x5b14b2*this[_0x153be7(0x13b)]*this[_0x153be7(0x13f)];this['swallowTailPnt']=_0x5664a2[_0x153be7(0x140)]['getThirdPoint'](_0x11f1a7[0x1],_0x11f1a7[0x0],0x0,_0x2805c8,!0x0);var _0x2cbac6=_0x5d34bb/_0x5b14b2,_0x368656=xp['algorithm']['getAttackArrowBodyPoints'](_0x11f1a7,_0x4fdb0f,_0x5011c5,_0x2cbac6),_0x46338c=_0x368656['length'],_0x542c12=[_0x2e7850]['concat'](_0x368656[_0x153be7(0x152)](0x0,_0x46338c/0x2));_0x542c12['push'](_0x4fdb0f);var _0x107b62=[_0x94e04b]['concat'](_0x368656[_0x153be7(0x152)](_0x46338c/0x2,_0x46338c)),_0x4b6629=[];_0x107b62['push'](_0x5011c5),_0x542c12=_0x5664a2['PlotUtils'][_0x153be7(0x14b)](_0x542c12),_0x107b62=_0x5664a2[_0x153be7(0x140)]['getQBSplinePoints'](_0x107b62),_0x4b6629=xp[_0x153be7(0x142)][_0x153be7(0x13d)](_0x542c12['concat'](_0x55f723,_0x107b62[_0x153be7(0x143)](),[this['swallowTailPnt'],_0x542c12[0x0]])),_0x2d6219[_0x153be7(0x15a)]=_0x1ebe16['Cartesian3']['fromDegreesArray'](_0x4b6629);}return _0x2d6219;},xp[_0x266e7e(0x142)]['getAttackArrowHeadPoints']=function(_0x235b4a,_0x1de048,_0x213c36,_0x1ba7ac){var _0x29e014=_0x266e7e;this[_0x29e014(0x156)]=_0x1ba7ac['headHeightFactor'],this['headTailFactor']=_0x1ba7ac['headTailFactor'],this['headWidthFactor']=_0x1ba7ac['headWidthFactor'],this['neckWidthFactor']=_0x1ba7ac[_0x29e014(0x155)],this[_0x29e014(0x15d)]=_0x1ba7ac['neckHeightFactor'];var _0x5ee64b=_0x5664a2[_0x29e014(0x140)][_0x29e014(0x154)](_0x235b4a),_0x47c95e=_0x5ee64b*this['headHeightFactor'],_0xbb7a7b=_0x235b4a[_0x235b4a[_0x29e014(0x147)]-0x1];_0x5ee64b=_0x5664a2[_0x29e014(0x140)][_0x29e014(0x12a)](_0xbb7a7b,_0x235b4a[_0x235b4a[_0x29e014(0x147)]-0x2]);var _0x2eb3b5=_0x5664a2['PlotUtils']['distance'](_0x1de048,_0x213c36);_0x47c95e>_0x2eb3b5*this['headTailFactor']&&(_0x47c95e=_0x2eb3b5*this[_0x29e014(0x141)]);var _0xb2b24c=_0x47c95e*this[_0x29e014(0x12b)],_0x4d2189=_0x47c95e*this[_0x29e014(0x155)];_0x47c95e=_0x47c95e>_0x5ee64b?_0x5ee64b:_0x47c95e;var _0x2ac91d=_0x47c95e*this['neckHeightFactor'],_0x17bbfc=_0x5664a2[_0x29e014(0x140)][_0x29e014(0x157)](_0x235b4a[_0x235b4a['length']-0x2],_0xbb7a7b,0x0,_0x47c95e,!0x0),_0x4071d3=_0x5664a2[_0x29e014(0x140)]['getThirdPoint'](_0x235b4a[_0x235b4a[_0x29e014(0x147)]-0x2],_0xbb7a7b,0x0,_0x2ac91d,!0x0),_0x375f7f=_0x5664a2['PlotUtils'][_0x29e014(0x157)](_0xbb7a7b,_0x17bbfc,_0x5664a2['Constants']['HALF_PI'],_0xb2b24c,!0x1),_0x3e0f41=_0x5664a2['PlotUtils']['getThirdPoint'](_0xbb7a7b,_0x17bbfc,_0x5664a2[_0x29e014(0x130)]['HALF_PI'],_0xb2b24c,!0x0),_0x46b634=_0x5664a2[_0x29e014(0x140)][_0x29e014(0x157)](_0xbb7a7b,_0x4071d3,_0x5664a2['Constants']['HALF_PI'],_0x4d2189,!0x1),_0x31ef10=_0x5664a2[_0x29e014(0x140)]['getThirdPoint'](_0xbb7a7b,_0x4071d3,_0x5664a2[_0x29e014(0x130)][_0x29e014(0x12d)],_0x4d2189,!0x0);return[_0x46b634,_0x375f7f,_0xbb7a7b,_0x3e0f41,_0x31ef10];},xp['algorithm']['getAttackArrowBodyPoints']=function(_0x42d940,_0x381366,_0x502330,_0x33c173){var _0x3b165c=_0x266e7e,_0x23e3fe=[],_0x312f65=[];for(var _0xa28714=0x1,_0x31fd4b=_0x5664a2['PlotUtils']['wholeDistance'](_0x42d940),_0x4a0df3=_0x5664a2['PlotUtils'][_0x3b165c(0x154)](_0x42d940),_0x47a6d0=_0x4a0df3*_0x33c173,_0x29d4a0=_0x5664a2['PlotUtils'][_0x3b165c(0x12a)](_0x381366,_0x502330),_0x3e707b=(_0x47a6d0-_0x29d4a0)/0x2,_0x208ec3=0x0;_0xa28714<_0x42d940['length']-0x1;_0xa28714++){var _0xd35578=_0x5664a2[_0x3b165c(0x140)]['getAngleOfThreePoints'](_0x42d940[_0xa28714-0x1],_0x42d940[_0xa28714],_0x42d940[_0xa28714+0x1])/0x2;_0x208ec3+=_0x5664a2[_0x3b165c(0x140)]['distance'](_0x42d940[_0xa28714-0x1],_0x42d940[_0xa28714]);var _0xbe1767=(_0x47a6d0/0x2-_0x208ec3/_0x31fd4b*_0x3e707b)/Math[_0x3b165c(0x128)](_0xd35578),_0x1f56f8=_0x5664a2[_0x3b165c(0x140)][_0x3b165c(0x157)](_0x42d940[_0xa28714-0x1],_0x42d940[_0xa28714],Math['PI']-_0xd35578,_0xbe1767,!0x0),_0x2f0ac1=_0x5664a2[_0x3b165c(0x140)][_0x3b165c(0x157)](_0x42d940[_0xa28714-0x1],_0x42d940[_0xa28714],_0xd35578,_0xbe1767,!0x1);_0x23e3fe[_0x3b165c(0x15e)](_0x1f56f8),_0x312f65['push'](_0x2f0ac1);}return _0x23e3fe[_0x3b165c(0x131)](_0x312f65);},xp['algorithm']['dereplication']=function(_0x5517a6){var _0x29e4b5=_0x5517a6[_0x5517a6['length']-0x1],_0x3ad586=![],_0x3dd34d=[];_0x3dd34d=_0x5517a6['filter'](function(_0x374a7a){if(_0x374a7a[0x0]!=_0x29e4b5[0x0]&&_0x374a7a[0x1]!=_0x29e4b5[0x1])return _0x374a7a;_0x3ad586=!![];});if(_0x3ad586)_0x3dd34d['push'](_0x29e4b5);return _0x3dd34d;},xp[_0x266e7e(0x142)]['fineArrow']=function(_0x42bf41,_0x30d952){var _0x4ecf4c=_0x266e7e;if(_0x42bf41[_0x4ecf4c(0x147)]<0x2||_0x30d952[_0x4ecf4c(0x147)]<0x2)return;var _0x3d930c=fineArrowDefualParam['tailWidthFactor'],_0x5499d7=fineArrowDefualParam[_0x4ecf4c(0x155)],_0x42a62c=fineArrowDefualParam[_0x4ecf4c(0x12b)],_0x2dbdf9=fineArrowDefualParam['headAngle'],_0x284161=fineArrowDefualParam[_0x4ecf4c(0x133)],_0x2d9aa6=[];_0x2d9aa6[0x0]=_0x42bf41,_0x2d9aa6[0x1]=_0x30d952;var _0x5c4f07=_0x2d9aa6[0x0],_0x35b398=_0x2d9aa6[0x1],_0x246fea=_0x5664a2['PlotUtils']['getBaseLength'](_0x2d9aa6),_0x53ba27=_0x246fea*_0x3d930c,_0x2bf1c1=_0x246fea*_0x5499d7,_0x3f4b9b=_0x246fea*_0x42a62c,_0x56af3b=_0x5664a2['PlotUtils']['getThirdPoint'](_0x35b398,_0x5c4f07,_0x5664a2[_0x4ecf4c(0x130)][_0x4ecf4c(0x12d)],_0x53ba27,!0x0),_0x353963=_0x5664a2[_0x4ecf4c(0x140)][_0x4ecf4c(0x157)](_0x35b398,_0x5c4f07,_0x5664a2['Constants'][_0x4ecf4c(0x12d)],_0x53ba27,!0x1),_0x179ac3=_0x5664a2[_0x4ecf4c(0x140)]['getThirdPoint'](_0x5c4f07,_0x35b398,_0x2dbdf9,_0x3f4b9b,!0x1),_0x2fdb41=_0x5664a2[_0x4ecf4c(0x140)][_0x4ecf4c(0x157)](_0x5c4f07,_0x35b398,_0x2dbdf9,_0x3f4b9b,!0x0),_0x100696=_0x5664a2[_0x4ecf4c(0x140)][_0x4ecf4c(0x157)](_0x5c4f07,_0x35b398,_0x284161,_0x2bf1c1,!0x1),_0x4729a9=_0x5664a2[_0x4ecf4c(0x140)][_0x4ecf4c(0x157)](_0x5c4f07,_0x35b398,_0x284161,_0x2bf1c1,!0x0),_0x55988d=[];return _0x55988d['push'](_0x56af3b[0x0],_0x56af3b[0x1],_0x100696[0x0],_0x100696[0x1],_0x179ac3[0x0],_0x179ac3[0x1],_0x35b398[0x0],_0x35b398[0x1],_0x2fdb41[0x0],_0x2fdb41[0x1],_0x4729a9[0x0],_0x4729a9[0x1],_0x353963[0x0],_0x353963[0x1],_0x5c4f07[0x0],_0x5c4f07[0x1]),_0x1ebe16[_0x4ecf4c(0x150)][_0x4ecf4c(0x144)](_0x55988d);};function _0x35d2(){var _0xaeed82=['C2XPy2u','z2v0qxr0ywnRqxjYB3DizwfKug9PBNrZ','z2v0qMfZzuXLBMD0Aa','BMvJA1DPzhrOrMfJDg9Y','AgvHzeHLAwDODezHy3rVCG','z2v0vgHPCMrqB2LUDa','nZa4mteZENjTt29u','Cg9PBNrZ','Cg9SEwDVBMfSug9PBNq','z2v0qMv6AwvYug9PBNrZ','y29UBLbVAw50','BMvJA0HLAwDODezHy3rVCG','ChvZAa','C2LU','z2v0qw5NBgvpzLrOCMvLug9PBNrZ','zgLZDgfUy2u','AgvHzfDPzhrOrMfJDg9Y','mJKXoteYm2Pfzvb0sW','sefmrL9qsq','mJq2odaXoez6AMrTvW','z2v0vgvTCfbVAw50na','q29UC3rHBNrZ','y29Uy2f0','DgvTCfbVAw50nq','BMvJA0fUz2XL','mJGXotbgB3fywui','BwLK','mZy3nZm3yxn1r29t','ndq2nZC2me9Zq3zsDG','mta2mNHWr05rzG','DhLWzq','z2v0qxjYB3DizwfKug9PBNrZ','DgfPBfDPzhrOrMfJDg9Y','ndKZotj2DxjIrwu','yxjYyxKYrhrVmuq','C3DHBgXVD1rHAwXqBNq','C3DHBgXVD1rHAwXgywn0B3i','ugXVDfv0AwXZ','AgvHzfrHAwXgywn0B3i','ywXNB3jPDgHT','CMv2zxjZzq','zNjVBurLz3jLzxnbCNjHEq','odmWCeTYrefA','odHYA0LOzuG','BgvUz3rO','AxndBg9JA1DPC2u','y29UDhjVBfbVAw50','D2HVBgveAxn0yw5Jzq','z2v0uujtCgXPBMvqB2LUDhm','DgvTCfbVAw50na','y29Z','z2v0qxjYB3DqB2LUDhm','z2v0qxjYB3DcB2r5ug9PBNrZ','q2fYDgvZAwfUmW','zg91yMXLyxjYB3C'];_0x35d2=function(){return _0xaeed82;};return _0x35d2();}export default xp;
|