deeptwins-engine-3d 0.1.76 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/Build/DeepTwins/Image/noise.png +0 -0
- package/dist/assets/Build/DeepTwins/Workers/CustomRasterClip.worker.js +1 -2
- package/dist/assets/Build/DeepTwins/Workers/MvtVector.worker.js +1 -1
- package/dist/assets/Build/Map3d/ThirdParty/Workers/zip-web-worker.js +640 -0
- package/dist/assets/Build/Map3d/ThirdParty/wasm_splats_bg.wasm +0 -0
- package/dist/assets/Build/Map3d/ThirdParty/zip-module.wasm +0 -0
- package/dist/assets/Build/Map3d/Workers/chunk-27NG6PQR.js +456 -0
- package/dist/assets/Build/Map3d/Workers/chunk-2JVMMMWT.js +353 -0
- package/dist/assets/Build/Map3d/Workers/chunk-2Y2XYQCS.js +1481 -0
- package/dist/assets/Build/Map3d/Workers/chunk-34RF3V5G.js +220 -0
- package/dist/assets/Build/Map3d/Workers/chunk-35H7BYLJ.js +1800 -0
- package/dist/assets/Build/Map3d/Workers/chunk-57OGEF5V.js +435 -0
- package/dist/assets/Build/Map3d/Workers/chunk-5PX3DYJA.js +196 -0
- package/dist/assets/Build/Map3d/Workers/chunk-7B5XGQRN.js +171 -0
- package/dist/assets/Build/Map3d/Workers/chunk-ATLWOZFF.js +39 -0
- package/dist/assets/Build/Map3d/Workers/chunk-BMSUECTA.js +1055 -0
- package/dist/assets/Build/Map3d/Workers/chunk-C6IA4TKW.js +476 -0
- package/dist/assets/Build/Map3d/Workers/chunk-CZ44I32U.js +157 -0
- package/dist/assets/Build/Map3d/Workers/chunk-DE6UV44R.js +122 -0
- package/dist/assets/Build/Map3d/Workers/chunk-DUCCKVOG.js +834 -0
- package/dist/assets/Build/Map3d/Workers/chunk-EBJBPIYX.js +239 -0
- package/dist/assets/Build/Map3d/Workers/chunk-EYSYQ2R6.js +138 -0
- package/dist/assets/Build/Map3d/Workers/chunk-FMCAAUQI.js +368 -0
- package/dist/assets/Build/Map3d/Workers/chunk-GMYZNRRQ.js +2717 -0
- package/dist/assets/Build/Map3d/Workers/chunk-GWPNZZV4.js +781 -0
- package/dist/assets/Build/Map3d/Workers/chunk-HLP2U4KW.js +758 -0
- package/dist/assets/Build/Map3d/Workers/chunk-HSJSUPQV.js +500 -0
- package/dist/assets/Build/Map3d/Workers/chunk-I73Q3AG7.js +58 -0
- package/dist/assets/Build/Map3d/Workers/chunk-IMZ4YIMV.js +511 -0
- package/dist/assets/Build/Map3d/Workers/chunk-IZSK4DVF.js +421 -0
- package/dist/assets/Build/Map3d/Workers/chunk-JKLMRPKK.js +75 -0
- package/dist/assets/Build/Map3d/Workers/chunk-KGM345JM.js +691 -0
- package/dist/assets/Build/Map3d/Workers/chunk-L4IR5U4G.js +102 -0
- package/dist/assets/Build/Map3d/Workers/chunk-MG4EVQH2.js +44 -0
- package/dist/assets/Build/Map3d/Workers/chunk-NXWEFAZJ.js +300 -0
- package/dist/assets/Build/Map3d/Workers/chunk-PDFAJISJ.js +59 -0
- package/dist/assets/Build/Map3d/Workers/chunk-PHWZFJR5.js +100 -0
- package/dist/assets/Build/Map3d/Workers/chunk-PLE7CHBE.js +101 -0
- package/dist/assets/Build/Map3d/Workers/chunk-PN3GIZ5Q.js +163 -0
- package/dist/assets/Build/Map3d/Workers/chunk-PXL5XLHV.js +1073 -0
- package/dist/assets/Build/Map3d/Workers/chunk-QYXOF5JC.js +959 -0
- package/dist/assets/Build/Map3d/Workers/chunk-R2LIFXV3.js +115 -0
- package/dist/assets/Build/Map3d/Workers/chunk-R4W6IRJZ.js +10357 -0
- package/dist/assets/Build/Map3d/Workers/chunk-R5PZXG56.js +1258 -0
- package/dist/assets/Build/Map3d/Workers/chunk-RZQLZIUI.js +629 -0
- package/dist/assets/Build/Map3d/Workers/chunk-SIBDD6Y4.js +390 -0
- package/dist/assets/Build/Map3d/Workers/chunk-U5NN6JTQ.js +398 -0
- package/dist/assets/Build/Map3d/Workers/chunk-UA5RPPP3.js +73 -0
- package/dist/assets/Build/Map3d/Workers/chunk-UXLKFS3C.js +305 -0
- package/dist/assets/Build/Map3d/Workers/chunk-VUX4BQIM.js +37 -0
- package/dist/assets/Build/Map3d/Workers/chunk-WJDUUUJS.js +684 -0
- package/dist/assets/Build/Map3d/Workers/chunk-XBJOJHWX.js +139 -0
- package/dist/assets/Build/Map3d/Workers/chunk-XJDMTNKD.js +634 -0
- package/dist/assets/Build/Map3d/Workers/chunk-XUCXZZE5.js +963 -0
- package/dist/assets/Build/Map3d/Workers/chunk-YIKGVMJ5.js +287 -0
- package/dist/assets/Build/Map3d/Workers/chunk-YTNCIBPQ.js +262 -0
- package/dist/assets/Build/Map3d/Workers/chunk-ZMDUYETO.js +55 -0
- package/dist/assets/Build/Map3d/Workers/chunk-ZW52HXFN.js +2857 -0
- package/dist/esm/analyze/LineOfSightAnalysis.js +1 -326
- package/dist/esm/analyze/SubmergenceAnalysis.js +1 -137
- package/dist/esm/analyze/SunLightAnalysis.js +1 -91
- package/dist/esm/analyze/TerrainExcavationAnalysis.js +1 -612
- package/dist/esm/analyze/ViewshedAnalysis.js +1 -292
- package/dist/esm/cameraControl/ModelRoamHistory.js +1 -639
- package/dist/esm/cameraControl/ModelRoamRealTime.js +1 -874
- package/dist/esm/cameraControl/Roam.js +1 -418
- package/dist/esm/cameraControl/Rotate.js +1 -134
- package/dist/esm/cameraControl/RotateInPlace.js +1 -99
- package/dist/esm/constant.d.ts +90 -0
- package/dist/esm/constant.js +1 -1287
- package/dist/esm/deepTwins/index.js +1 -121
- package/dist/esm/drawCommand/index.js +1 -3
- package/dist/esm/drawCommand/viewShed/Event.js +1 -142
- package/dist/esm/drawCommand/viewShed/RectangularSensorPrimitive.js +1 -1306
- package/dist/esm/drawCommand/viewShed/ViewShadowPrimitive.js +1 -66
- package/dist/esm/drawCommand/viewShed/ViewShedAnalyserLayer.js +1 -466
- package/dist/esm/drawCommand/viewShed/ViewShedMap.js +1 -1238
- package/dist/esm/drawCommand/viewShed/config.js +1 -21
- package/dist/esm/drawCommand/volumeCloud/GeometryPrimitive.js +1 -89
- package/dist/esm/drawCommand/volumeCloud/ImprovedNoise.js +1 -112
- package/dist/esm/drawCommand/volumeCloud/VolumeClouds.js +1 -91
- package/dist/esm/drawer/algorithm.js +1 -314
- package/dist/esm/drawer/common.js +1 -965
- package/dist/esm/drawer/coordinate.js +1 -184
- package/dist/esm/drawer/index.d.ts +1 -1
- package/dist/esm/drawer/index.js +1 -688
- package/dist/esm/drawer/plotUtil.js +1 -266
- package/dist/esm/drawer/shape/Assemble.js +1 -415
- package/dist/esm/drawer/shape/AttackArrow.js +1 -442
- package/dist/esm/drawer/shape/BaseShape.js +1 -383
- package/dist/esm/drawer/shape/Bow.js +1 -375
- package/dist/esm/drawer/shape/Circle.js +1 -461
- package/dist/esm/drawer/shape/Curve.js +1 -386
- package/dist/esm/drawer/shape/DragPoint.js +1 -211
- package/dist/esm/drawer/shape/Elliptic.js +1 -491
- package/dist/esm/drawer/shape/Formation.js +1 -395
- package/dist/esm/drawer/shape/PincerArrow.js +1 -445
- package/dist/esm/drawer/shape/Point.js +1 -131
- package/dist/esm/drawer/shape/Polygon.js +1 -368
- package/dist/esm/drawer/shape/Polyline.js +1 -325
- package/dist/esm/drawer/shape/RegularPolygon.js +1 -468
- package/dist/esm/drawer/shape/RightAngleArrow.js +1 -423
- package/dist/esm/drawer/shape/Sector.js +1 -568
- package/dist/esm/drawer/shape/StraightArrow.js +1 -422
- package/dist/esm/drawer/shape/SwallowtailArrow.js +1 -438
- package/dist/esm/drawer/types.js +1 -11
- package/dist/esm/drawer/utils.js +1 -381
- package/dist/esm/global.css +22 -1
- package/dist/esm/graphicLayer/BaseEntity.js +1 -51
- package/dist/esm/graphicLayer/BaseLayer.js +1 -730
- package/dist/esm/graphicLayer/BasePointPrimitive.js +1 -45
- package/dist/esm/graphicLayer/BasePrimitive.js +1 -36
- package/dist/esm/graphicLayer/BasePrimitiveInstance.js +1 -37
- package/dist/esm/graphicLayer/BaseSource.d.ts +1 -1
- package/dist/esm/graphicLayer/BaseSource.js +1 -630
- package/dist/esm/graphicLayer/BillboardEntity.js +1 -106
- package/dist/esm/graphicLayer/BillboardPrimitive.js +1 -119
- package/dist/esm/graphicLayer/BoxEntity.js +1 -99
- package/dist/esm/graphicLayer/BoxPrimitive.js +1 -48
- package/dist/esm/graphicLayer/BoxPrimitiveInstance.js +1 -91
- package/dist/esm/graphicLayer/EllipseEntity.js +1 -110
- package/dist/esm/graphicLayer/EllipsePrimitive.js +1 -47
- package/dist/esm/graphicLayer/EllipsePrimitiveInstance.js +1 -98
- package/dist/esm/graphicLayer/EllipsoidEntity.js +1 -118
- package/dist/esm/graphicLayer/EllipsoidPrimitive.js +1 -48
- package/dist/esm/graphicLayer/EllipsoidPrimitiveInstance.js +1 -113
- package/dist/esm/graphicLayer/GraphicLayerCollection.js +1 -491
- package/dist/esm/graphicLayer/HtmlEntity.d.ts +4 -0
- package/dist/esm/graphicLayer/HtmlEntity.js +1 -189
- package/dist/esm/graphicLayer/LabelEntity.js +1 -110
- package/dist/esm/graphicLayer/LabelPrimitive.js +1 -127
- package/dist/esm/graphicLayer/ModelEntity.js +1 -122
- package/dist/esm/graphicLayer/ModelPrimitive.js +1 -59
- package/dist/esm/graphicLayer/ModelPrimitiveInstance.js +1 -86
- package/dist/esm/graphicLayer/PointEntity.js +1 -94
- package/dist/esm/graphicLayer/PointPrimitive.js +1 -107
- package/dist/esm/graphicLayer/PolygonEntity.js +1 -103
- package/dist/esm/graphicLayer/PolygonGroundPrimitive.js +1 -49
- package/dist/esm/graphicLayer/PolygonGroundPrimitiveImageMaterialInstance.js +1 -87
- package/dist/esm/graphicLayer/PolygonPrimitive.js +1 -60
- package/dist/esm/graphicLayer/PolygonPrimitiveImageMaterialInstance.js +1 -84
- package/dist/esm/graphicLayer/PolygonPrimitiveInstance.js +1 -101
- package/dist/esm/graphicLayer/PolylineEntity.js +1 -96
- package/dist/esm/graphicLayer/PolylineGroundPrimitive.js +1 -55
- package/dist/esm/graphicLayer/PolylineGroundPrimitiveInstance.js +1 -85
- package/dist/esm/graphicLayer/PolylinePrimitive.js +1 -53
- package/dist/esm/graphicLayer/PolylinePrimitiveInstance.js +1 -85
- package/dist/esm/graphicLayer/PolylineVolumeEntity.js +1 -105
- package/dist/esm/graphicLayer/PolylineVolumePrimitive.js +1 -47
- package/dist/esm/graphicLayer/PolylineVolumePrimitiveInstance.js +1 -94
- package/dist/esm/graphicLayer/WallEntity.js +1 -96
- package/dist/esm/graphicLayer/WallPrimitive.js +1 -47
- package/dist/esm/graphicLayer/WallPrimitiveInstance.js +1 -88
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +1 -175
- package/dist/esm/lowAltitude/BarrierLayer.js +1 -172
- package/dist/esm/lowAltitude/BaseGridMvtLayer.js +1 -122
- package/dist/esm/lowAltitude/FactorLayer.js +1 -199
- package/dist/esm/lowAltitude/FlightPlanning.js +1 -411
- package/dist/esm/lowAltitude/FlightRiskEvaluation.js +1 -543
- package/dist/esm/lowAltitude/GridDraw.js +1 -137
- package/dist/esm/lowAltitude/PoiLayer.js +1 -74
- package/dist/esm/lowAltitude/RoutePlanning.js +1 -318
- package/dist/esm/lowAltitude/VisitLayer.js +1 -180
- package/dist/esm/map/Event.js +1 -377
- package/dist/esm/map/GroundSkyBox.js +1 -166
- package/dist/esm/map/Map.js +1 -881
- package/dist/esm/map/Property.js +1 -35
- package/dist/esm/material/AtmosphericDispersion.js +1 -569
- package/dist/esm/material/GlobalVolumetricCloud.js +1 -377
- package/dist/esm/material/VolumeCloud.js +1 -115
- package/dist/esm/material/WeatherEffects.js +1 -351
- package/dist/esm/material/entity/BaseMaterialProperty.js +1 -51
- package/dist/esm/material/entity/CircleWaveMaterialProperty.js +1 -101
- package/dist/esm/material/entity/DynamicWallMaterialProperty.js +1 -101
- package/dist/esm/material/entity/ImageGlowingMaterialProperty.js +1 -89
- package/dist/esm/material/entity/ImageMaterialProperty.js +1 -34
- package/dist/esm/material/entity/PolylineTrailLinkMaterialProperty.js +1 -132
- package/dist/esm/material/primitive/BaseMaterialAppearance.js +1 -28
- package/dist/esm/material/primitive/ImageGlowingMaterialAppearance.js +1 -77
- package/dist/esm/material/primitive/ImageMaterialAppearance.js +1 -77
- package/dist/esm/measure/Area.js +1 -220
- package/dist/esm/measure/BaseDraw.js +1 -105
- package/dist/esm/measure/Distance.js +1 -223
- package/dist/esm/measure/index.js +1 -266
- package/dist/esm/measure/types.js +1 -17
- package/dist/esm/measure/utils.js +1 -319
- package/dist/esm/particle/BaseParticle.js +1 -196
- package/dist/esm/particle/FireParticle.js +1 -65
- package/dist/esm/particle/FountainParticle.js +1 -80
- package/dist/esm/particle/SmokeParticle.js +1 -65
- package/dist/esm/particle/common.js +1 -23
- package/dist/esm/particle/index.js +1 -5
- package/dist/esm/property/PositionProperty.js +1 -56
- package/dist/esm/tileLayer/ArcGisLayer.js +1 -41
- package/dist/esm/tileLayer/CustomRasterClipWorkerClient.js +1 -147
- package/dist/esm/tileLayer/CustomRasterLayer.js +1 -1136
- package/dist/esm/tileLayer/ImageryLayer.js +1 -44
- package/dist/esm/tileLayer/MvtVectorLoad.js +1 -1549
- package/dist/esm/tileLayer/MvtVectorWorkerClient.js +1 -126
- package/dist/esm/tileLayer/RasterLayer.js +1 -23
- package/dist/esm/tileLayer/WmsLayer.js +1 -26
- package/dist/esm/tileLayer/WmtsLayer.js +1 -23
- package/dist/esm/tool/BuildClampedPolygonGrid.js +1 -278
- package/dist/esm/tool/Compass.js +1 -282
- package/dist/esm/tool/PrimitiveCluster.js +1 -706
- package/dist/esm/tool/TimerInterval.js +1 -58
- package/dist/esm/tool/common.js +1 -405
- package/dist/esm/tool/fetch.js +1 -222
- package/dist/esm/tool/heatmap.js +1 -631
- package/dist/esm/tool/utils.d.ts +1 -0
- package/dist/esm/tool/utils.js +1 -501
- package/dist/esm/toolTip/index.js +1 -79
- package/dist/esm/videoFusion/BaseVideo.d.ts +7 -0
- package/dist/esm/videoFusion/BaseVideo.js +1 -330
- package/dist/esm/videoFusion/VideoProject.js +1 -230
- package/dist/esm/videoFusion/VideoTexture.js +1 -163
- package/dist/esm/visualization/BaseHeatmap.js +1 -271
- package/dist/esm/visualization/BoundaryHighlight.d.ts +136 -0
- package/dist/esm/visualization/BoundaryHighlight.js +1 -0
- package/dist/esm/visualization/DynamicWater.js +1 -289
- package/dist/esm/visualization/Frustum.js +1 -248
- package/dist/esm/visualization/Heatmap2d.js +1 -97
- package/dist/esm/visualization/Heatmap3d.js +1 -281
- package/dist/esm/visualization/MigrationEffect.js +1 -397
- package/dist/esm/visualization/PointCluster.js +1 -220
- package/dist/esm/visualization/RadarScan.js +1 -333
- package/dist/esm/visualization/SampledTerrainRiver.d.ts +180 -0
- package/dist/esm/visualization/SampledTerrainRiver.js +1 -0
- package/dist/esm/visualization/SampledTerrainWater.d.ts +170 -0
- package/dist/esm/visualization/SampledTerrainWater.js +1 -0
- package/dist/esm/visualization/WindField.d.ts +72 -0
- package/dist/esm/visualization/WindField.js +1 -0
- package/dist/esm/visualization/windCore.d.ts +161 -0
- package/dist/esm/visualization/windCore.js +8 -0
- package/dist/umd/deeptwins-engine-3d.min.css +1 -1
- package/dist/umd/deeptwins-engine-3d.min.js +1 -1
- package/package.json +6 -4
|
@@ -1,266 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 绘制方法
|
|
3
|
-
*/
|
|
4
|
-
var P = {};
|
|
5
|
-
P.Constants = {
|
|
6
|
-
TWO_PI: 2 * Math.PI,
|
|
7
|
-
HALF_PI: Math.PI / 2,
|
|
8
|
-
FITTING_COUNT: 100,
|
|
9
|
-
ZERO_TOLERANCE: 1e-4
|
|
10
|
-
};
|
|
11
|
-
P.PlotUtils = {};
|
|
12
|
-
P.PlotUtils.distance = function (t, o) {
|
|
13
|
-
return Math.sqrt(Math.pow(t[0] - o[0], 2) + Math.pow(t[1] - o[1], 2));
|
|
14
|
-
};
|
|
15
|
-
P.PlotUtils.wholeDistance = function (t) {
|
|
16
|
-
var distance = 0;
|
|
17
|
-
for (var e = 0; e < t.length - 1; e++) {
|
|
18
|
-
distance += P.PlotUtils.distance(t[e], t[e + 1]);
|
|
19
|
-
}
|
|
20
|
-
return distance;
|
|
21
|
-
};
|
|
22
|
-
P.PlotUtils.getBaseLength = function (t) {
|
|
23
|
-
return Math.pow(P.PlotUtils.wholeDistance(t), 0.99);
|
|
24
|
-
};
|
|
25
|
-
P.PlotUtils.mid = function (t, o) {
|
|
26
|
-
return [(t[0] + o[0]) / 2, (t[1] + o[1]) / 2];
|
|
27
|
-
};
|
|
28
|
-
P.PlotUtils.getCircleCenterOfThreePoints = function (t, o, e) {
|
|
29
|
-
var r = [(t[0] + o[0]) / 2, (t[1] + o[1]) / 2];
|
|
30
|
-
var n = [r[0] - t[1] + o[1], r[1] + t[0] - o[0]];
|
|
31
|
-
var g = [(t[0] + e[0]) / 2, (t[1] + e[1]) / 2];
|
|
32
|
-
var i = [g[0] - t[1] + e[1], g[1] + t[0] - e[0]];
|
|
33
|
-
return P.PlotUtils.getIntersectPoint(r, n, g, i);
|
|
34
|
-
};
|
|
35
|
-
P.PlotUtils.getIntersectPoint = function (t, o, e, r) {
|
|
36
|
-
var g, n, i, s;
|
|
37
|
-
if (t[1] == o[1]) {
|
|
38
|
-
n = (r[0] - e[0]) / (r[1] - e[1]);
|
|
39
|
-
g = n * (t[1] - e[1]) + e[0];
|
|
40
|
-
i = t[1];
|
|
41
|
-
return [g, i];
|
|
42
|
-
}
|
|
43
|
-
if (e[1] == r[1]) {
|
|
44
|
-
s = (o[0] - t[0]) / (o[1] - t[1]);
|
|
45
|
-
g = s * (e[1] - t[1]) + t[0];
|
|
46
|
-
i = e[1];
|
|
47
|
-
return [g, i];
|
|
48
|
-
}
|
|
49
|
-
s = (o[0] - t[0]) / (o[1] - t[1]);
|
|
50
|
-
n = (r[0] - e[0]) / (r[1] - e[1]);
|
|
51
|
-
i = (s * t[1] - t[0] - n * e[1] + e[0]) / (s - n);
|
|
52
|
-
g = s * i - s * t[1] + t[0];
|
|
53
|
-
return [g, i];
|
|
54
|
-
};
|
|
55
|
-
P.PlotUtils.getAzimuth = function (t, o) {
|
|
56
|
-
var e = 0;
|
|
57
|
-
var r = Math.asin(Math.abs(o[1] - t[1]) / P.PlotUtils.distance(t, o));
|
|
58
|
-
o[1] >= t[1] && o[0] >= t[0] ? e = r + Math.PI : o[1] >= t[1] && o[0] < t[0] ? e = P.Constants.TWO_PI - r : o[1] < t[1] && o[0] < t[0] ? e = r : o[1] < t[1] && o[0] >= t[0] && (e = Math.PI - r);
|
|
59
|
-
return e;
|
|
60
|
-
};
|
|
61
|
-
P.PlotUtils.getAngleOfThreePoints = function (t, o, e) {
|
|
62
|
-
var r = P.PlotUtils.getAzimuth(o, t) - P.PlotUtils.getAzimuth(o, e);
|
|
63
|
-
return 0 > r ? r + P.Constants.TWO_PI : r;
|
|
64
|
-
};
|
|
65
|
-
P.PlotUtils.isClockWise = function (t, o, e) {
|
|
66
|
-
return (e[1] - t[1]) * (o[0] - t[0]) > (o[1] - t[1]) * (e[0] - t[0]);
|
|
67
|
-
};
|
|
68
|
-
P.PlotUtils.getPointOnLine = function (t, o, e) {
|
|
69
|
-
var r = o[0] + t * (e[0] - o[0]),
|
|
70
|
-
n = o[1] + t * (e[1] - o[1]);
|
|
71
|
-
return [r, n];
|
|
72
|
-
};
|
|
73
|
-
P.PlotUtils.getCubicValue = function (t, o, e, r, n) {
|
|
74
|
-
t = Math.max(Math.min(t, 1), 0);
|
|
75
|
-
var g = 1 - t,
|
|
76
|
-
i = t * t,
|
|
77
|
-
s = i * t,
|
|
78
|
-
a = g * g,
|
|
79
|
-
l = a * g,
|
|
80
|
-
u = l * o[0] + 3 * a * t * e[0] + 3 * g * i * r[0] + s * n[0],
|
|
81
|
-
c = l * o[1] + 3 * a * t * e[1] + 3 * g * i * r[1] + s * n[1];
|
|
82
|
-
return [u, c];
|
|
83
|
-
};
|
|
84
|
-
P.PlotUtils.getThirdPoint = function (t, o, e, r, n) {
|
|
85
|
-
var g = P.PlotUtils.getAzimuth(t, o),
|
|
86
|
-
i = n ? g + e : g - e,
|
|
87
|
-
s = r * Math.cos(i),
|
|
88
|
-
a = r * Math.sin(i);
|
|
89
|
-
return [o[0] + s, o[1] + a];
|
|
90
|
-
};
|
|
91
|
-
P.PlotUtils.getArcPoints = function (t, o, e, r) {
|
|
92
|
-
var n = [];
|
|
93
|
-
var g = [];
|
|
94
|
-
var i = [];
|
|
95
|
-
var s = r - e;
|
|
96
|
-
s = 0 > s ? s + P.Constants.TWO_PI : s;
|
|
97
|
-
for (var a = 0; a <= P.Constants.FITTING_COUNT; a++) {
|
|
98
|
-
var l = e + s * a / P.Constants.FITTING_COUNT;
|
|
99
|
-
n = t[0] + o * Math.cos(l), g = t[1] + o * Math.sin(l), i.push([n, g]);
|
|
100
|
-
}
|
|
101
|
-
return i;
|
|
102
|
-
};
|
|
103
|
-
P.PlotUtils.getBisectorNormals = function (t, o, e, r) {
|
|
104
|
-
var n = P.PlotUtils.getNormal(o, e, r),
|
|
105
|
-
g = Math.sqrt(n[0] * n[0] + n[1] * n[1]),
|
|
106
|
-
i = n[0] / g,
|
|
107
|
-
s = n[1] / g,
|
|
108
|
-
a = P.PlotUtils.distance(o, e),
|
|
109
|
-
l = P.PlotUtils.distance(e, r);
|
|
110
|
-
var u, c, p, h, d;
|
|
111
|
-
if (g > P.Constants.ZERO_TOLERANCE) {
|
|
112
|
-
if (P.PlotUtils.isClockWise(o, e, r)) {
|
|
113
|
-
u = t * a, c = e[0] - u * s, p = e[1] + u * i, h = [c, p];
|
|
114
|
-
u = t * l, c = e[0] + u * s, p = e[1] - u * i;
|
|
115
|
-
d = [c, p];
|
|
116
|
-
} else u = t * a, c = e[0] + u * s, p = e[1] - u * i, h = [c, p], u = t * l, c = e[0] - u * s, p = e[1] + u * i, d = [c, p];
|
|
117
|
-
} else c = e[0] + t * (o[0] - e[0]), p = e[1] + t * (o[1] - e[1]), h = [c, p], c = e[0] + t * (r[0] - e[0]), p = e[1] + t * (r[1] - e[1]), d = [c, p];
|
|
118
|
-
return [h, d];
|
|
119
|
-
};
|
|
120
|
-
P.PlotUtils.getNormal = function (t, o, e) {
|
|
121
|
-
var r = t[0] - o[0];
|
|
122
|
-
var n = t[1] - o[1];
|
|
123
|
-
var g = Math.sqrt(r * r + n * n);
|
|
124
|
-
r /= g, n /= g;
|
|
125
|
-
var i = e[0] - o[0];
|
|
126
|
-
var s = e[1] - o[1];
|
|
127
|
-
var a = Math.sqrt(i * i + s * s);
|
|
128
|
-
i /= a, s /= a;
|
|
129
|
-
var l = r + i;
|
|
130
|
-
var u = n + s;
|
|
131
|
-
return [l, u];
|
|
132
|
-
};
|
|
133
|
-
P.PlotUtils.getCurvePoints = function (t, o) {
|
|
134
|
-
var e = P.PlotUtils.getLeftMostControlPoint(o);
|
|
135
|
-
var r = [e];
|
|
136
|
-
var g, i;
|
|
137
|
-
for (var n = 0; n < o.length - 2; n++) {
|
|
138
|
-
g = o[n];
|
|
139
|
-
i = o[n + 1];
|
|
140
|
-
var s = o[n + 2];
|
|
141
|
-
var a = P.PlotUtils.getBisectorNormals(t, g, i, s);
|
|
142
|
-
r = r.concat(a);
|
|
143
|
-
}
|
|
144
|
-
var l = P.PlotUtils.getRightMostControlPoint(o);
|
|
145
|
-
r.push(l);
|
|
146
|
-
var u = [];
|
|
147
|
-
for (var _n = 0; _n < o.length - 1; _n++) {
|
|
148
|
-
g = o[_n], i = o[_n + 1], u.push(g);
|
|
149
|
-
for (var _t = 0; _t < P.Constants.FITTING_COUNT; _t++) {
|
|
150
|
-
var c = P.PlotUtils.getCubicValue(_t / P.Constants.FITTING_COUNT, g, r[2 * _n], r[2 * _n + 1], i);
|
|
151
|
-
u.push(c);
|
|
152
|
-
}
|
|
153
|
-
u.push(i);
|
|
154
|
-
}
|
|
155
|
-
return u;
|
|
156
|
-
};
|
|
157
|
-
P.PlotUtils.getLeftMostControlPoint = function (o) {
|
|
158
|
-
var e = o[0],
|
|
159
|
-
r = o[1],
|
|
160
|
-
n = o[2],
|
|
161
|
-
g = P.PlotUtils.getBisectorNormals(0, e, r, n),
|
|
162
|
-
i = g[0],
|
|
163
|
-
s = P.PlotUtils.getNormal(e, r, n),
|
|
164
|
-
a = Math.sqrt(s[0] * s[0] + s[1] * s[1]);
|
|
165
|
-
var m = e[0],
|
|
166
|
-
O = e[1];
|
|
167
|
-
if (a > P.Constants.ZERO_TOLERANCE) {
|
|
168
|
-
var l = P.PlotUtils.mid(e, r);
|
|
169
|
-
var u = e[0] - l[0];
|
|
170
|
-
var c = e[1] - l[1];
|
|
171
|
-
var p = P.PlotUtils.distance(e, r);
|
|
172
|
-
var h = 2 / p;
|
|
173
|
-
var d = -h * c;
|
|
174
|
-
var f = h * u;
|
|
175
|
-
var E = d * d - f * f;
|
|
176
|
-
var v = 2 * d * f;
|
|
177
|
-
var A = f * f - d * d;
|
|
178
|
-
var _ = i[0] - l[0];
|
|
179
|
-
var y = i[1] - l[1];
|
|
180
|
-
m = l[0] + E * _ + v * y;
|
|
181
|
-
O = l[1] + v * _ + A * y;
|
|
182
|
-
}
|
|
183
|
-
return [m, O];
|
|
184
|
-
};
|
|
185
|
-
P.PlotUtils.getRightMostControlPoint = function (o) {
|
|
186
|
-
var e = o.length;
|
|
187
|
-
var r = o[e - 3];
|
|
188
|
-
var n = o[e - 2];
|
|
189
|
-
var g = o[e - 1];
|
|
190
|
-
var i = P.PlotUtils.getBisectorNormals(0, r, n, g);
|
|
191
|
-
var s = i[1];
|
|
192
|
-
var a = P.PlotUtils.getNormal(r, n, g);
|
|
193
|
-
var l = Math.sqrt(a[0] * a[0] + a[1] * a[1]);
|
|
194
|
-
var O = g[0];
|
|
195
|
-
var T = g[1];
|
|
196
|
-
if (l > P.Constants.ZERO_TOLERANCE) {
|
|
197
|
-
var u = P.PlotUtils.mid(n, g);
|
|
198
|
-
var c = g[0] - u[0];
|
|
199
|
-
var p = g[1] - u[1];
|
|
200
|
-
var h = P.PlotUtils.distance(n, g);
|
|
201
|
-
var d = 2 / h;
|
|
202
|
-
var f = -d * p;
|
|
203
|
-
var E = d * c;
|
|
204
|
-
var v = f * f - E * E;
|
|
205
|
-
var A = 2 * f * E;
|
|
206
|
-
var _ = E * E - f * f;
|
|
207
|
-
var y = s[0] - u[0];
|
|
208
|
-
var m = s[1] - u[1];
|
|
209
|
-
O = u[0] + v * y + A * m;
|
|
210
|
-
T = u[1] + A * y + _ * m;
|
|
211
|
-
}
|
|
212
|
-
return [O, T];
|
|
213
|
-
};
|
|
214
|
-
P.PlotUtils.getBezierPoints = function (t) {
|
|
215
|
-
if (t.length <= 2) return t;
|
|
216
|
-
var o = [];
|
|
217
|
-
var e = t.length - 1;
|
|
218
|
-
for (var r = 0; 1 >= r; r += 0.01) {
|
|
219
|
-
var n = 0,
|
|
220
|
-
y = 0;
|
|
221
|
-
for (var g = 0; e >= g; g++) {
|
|
222
|
-
var i = P.PlotUtils.getBinomialFactor(e, g),
|
|
223
|
-
s = Math.pow(r, g),
|
|
224
|
-
a = Math.pow(1 - r, e - g);
|
|
225
|
-
n += i * s * a * t[g][0], y += i * s * a * t[g][1];
|
|
226
|
-
}
|
|
227
|
-
o.push([n, y]);
|
|
228
|
-
}
|
|
229
|
-
return o.push(t[e]), o;
|
|
230
|
-
};
|
|
231
|
-
P.PlotUtils.getBinomialFactor = function (t, o) {
|
|
232
|
-
return P.PlotUtils.getFactorial(t) / (P.PlotUtils.getFactorial(o) * P.PlotUtils.getFactorial(t - o));
|
|
233
|
-
};
|
|
234
|
-
P.PlotUtils.getFactorial = function (t) {
|
|
235
|
-
if (1 >= t) return 1;
|
|
236
|
-
if (2 == t) return 2;
|
|
237
|
-
if (3 == t) return 6;
|
|
238
|
-
if (4 == t) return 24;
|
|
239
|
-
if (5 == t) return 120;
|
|
240
|
-
var o = 1;
|
|
241
|
-
for (var e = 1; t >= e; e++) {
|
|
242
|
-
o *= e;
|
|
243
|
-
}
|
|
244
|
-
return o;
|
|
245
|
-
};
|
|
246
|
-
P.PlotUtils.getQBSplinePoints = function (t) {
|
|
247
|
-
if (t.length <= 2) return t;
|
|
248
|
-
var o = 2;
|
|
249
|
-
var e = [];
|
|
250
|
-
var r = t.length - o - 1;
|
|
251
|
-
e.push(t[0]);
|
|
252
|
-
for (var n = 0; r >= n; n++) for (var g = 0; 1 >= g; g += 0.05) {
|
|
253
|
-
var i = 0,
|
|
254
|
-
y = 0;
|
|
255
|
-
for (var s = 0; o >= s; s++) {
|
|
256
|
-
var a = P.PlotUtils.getQuadricBSplineFactor(s, g);
|
|
257
|
-
i += a * t[n + s][0], y += a * t[n + s][1];
|
|
258
|
-
}
|
|
259
|
-
e.push([i, y]);
|
|
260
|
-
}
|
|
261
|
-
return e.push(t[t.length - 1]), e;
|
|
262
|
-
};
|
|
263
|
-
P.PlotUtils.getQuadricBSplineFactor = function (t, o) {
|
|
264
|
-
return 0 == t ? Math.pow(o - 1, 2) / 2 : 1 == t ? (-2 * Math.pow(o, 2) + 2 * o + 1) / 2 : 2 == t ? Math.pow(o, 2) / 2 : 0;
|
|
265
|
-
};
|
|
266
|
-
export default P;
|
|
1
|
+
var _0x28bc16=_0x10af;function _0x10af(_0x594846,_0x489ad8){_0x594846=_0x594846-0x95;var _0x52416b=_0x5241();var _0x10af07=_0x52416b[_0x594846];if(_0x10af['kEcwuw']===undefined){var _0x3957ca=function(_0x3a5500){var _0x15ee52='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x1e3a42='',_0x562e9d='';for(var _0x44d0a6=0x0,_0x35cf53,_0x422317,_0x44c567=0x0;_0x422317=_0x3a5500['charAt'](_0x44c567++);~_0x422317&&(_0x35cf53=_0x44d0a6%0x4?_0x35cf53*0x40+_0x422317:_0x422317,_0x44d0a6++%0x4)?_0x1e3a42+=String['fromCharCode'](0xff&_0x35cf53>>(-0x2*_0x44d0a6&0x6)):0x0){_0x422317=_0x15ee52['indexOf'](_0x422317);}for(var _0x5ef9b4=0x0,_0x547bad=_0x1e3a42['length'];_0x5ef9b4<_0x547bad;_0x5ef9b4++){_0x562e9d+='%'+('00'+_0x1e3a42['charCodeAt'](_0x5ef9b4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x562e9d);};_0x10af['rMtiEZ']=_0x3957ca,_0x10af['xtwyhO']={},_0x10af['kEcwuw']=!![];}var _0x51f0e1=_0x52416b[0x0],_0x2d6884=_0x594846+_0x51f0e1,_0x1053b7=_0x10af['xtwyhO'][_0x2d6884];return!_0x1053b7?(_0x10af07=_0x10af['rMtiEZ'](_0x10af07),_0x10af['xtwyhO'][_0x2d6884]=_0x10af07):_0x10af07=_0x1053b7,_0x10af07;}(function(_0x2f7228,_0x3fe793){var _0x2ec38e=_0x10af,_0x319b5d=_0x2f7228();while(!![]){try{var _0x2d3f34=-parseInt(_0x2ec38e(0x9a))/0x1*(parseInt(_0x2ec38e(0xb5))/0x2)+parseInt(_0x2ec38e(0xa0))/0x3+-parseInt(_0x2ec38e(0x96))/0x4*(-parseInt(_0x2ec38e(0x99))/0x5)+-parseInt(_0x2ec38e(0x9b))/0x6+-parseInt(_0x2ec38e(0xa5))/0x7+parseInt(_0x2ec38e(0xb7))/0x8+parseInt(_0x2ec38e(0xaa))/0x9;if(_0x2d3f34===_0x3fe793)break;else _0x319b5d['push'](_0x319b5d['shift']());}catch(_0x5d51df){_0x319b5d['push'](_0x319b5d['shift']());}}}(_0x5241,0xf3d29));function _0x5241(){var _0x4de322=['z2v0tM9YBwfS','mtaWmtHMuw92BK0','BgvUz3rO','mtqXndeYotzXD2XWy00','AxndBg9JA1DPC2u','yxnPBG','mZG5odrPAKDWweC','z2v0tgvMDe1VC3rdB250CM9Sug9PBNq','z2v0qxPPBxv0Aa','nJGWtMvcwuLe','mtbUtNrAqMC','otu0odC3mKndzg9Vtq','Cg93','wKvst19ut0XfuKfoq0u','z2v0uxvHzhjPy0jtCgXPBMvgywn0B3i','z2v0qxjJug9PBNrZ','mty2mdK3nhnArKzlva','z2v0vgHPCMrqB2LUDa','z2v0ug9PBNrpBKXPBMu','vfDpx1bj','ugXVDfv0AwXZ','mtiYodu5mJrLwNveAxi','C3fYDa','ChvZAa','z2v0q2LYy2XLq2vUDgvYt2zuAhjLzvbVAw50CW','y29Uy2f0','nJCZnZq0nuvywuLXzW','rKLuveLor19dt1vova','z2v0qMLZzwn0B3joB3jTywXZ','y29Z','z2v0qMfZzuXLBMD0Aa','q29UC3rHBNrZ','z2v0rMfJDg9YAwfS','BwLK','zgLZDgfUy2u','z2v0uMLNAhrnB3n0q29UDhjVBfbVAw50'];_0x5241=function(){return _0x4de322;};return _0x5241();}var P={};P[_0x28bc16(0xaf)]={'TWO_PI':0x2*Math['PI'],'HALF_PI':Math['PI']/0x2,'FITTING_COUNT':0x64,'ZERO_TOLERANCE':0.0001},P[_0x28bc16(0xa4)]={},P['PlotUtils'][_0x28bc16(0xb2)]=function(_0x1e3a42,_0x562e9d){var _0x10681e=_0x28bc16;return Math['sqrt'](Math[_0x10681e(0x9c)](_0x1e3a42[0x0]-_0x562e9d[0x0],0x2)+Math['pow'](_0x1e3a42[0x1]-_0x562e9d[0x1],0x2));},P['PlotUtils']['wholeDistance']=function(_0x44d0a6){var _0x57b837=_0x28bc16,_0x35cf53=0x0;for(var _0x422317=0x0;_0x422317<_0x44d0a6['length']-0x1;_0x422317++){_0x35cf53+=P['PlotUtils'][_0x57b837(0xb2)](_0x44d0a6[_0x422317],_0x44d0a6[_0x422317+0x1]);}return _0x35cf53;},P['PlotUtils'][_0x28bc16(0xae)]=function(_0x44c567){var _0x57412d=_0x28bc16;return Math['pow'](P[_0x57412d(0xa4)]['wholeDistance'](_0x44c567),0.99);},P[_0x28bc16(0xa4)][_0x28bc16(0xb1)]=function(_0x5ef9b4,_0x547bad){return[(_0x5ef9b4[0x0]+_0x547bad[0x0])/0x2,(_0x5ef9b4[0x1]+_0x547bad[0x1])/0x2];},P[_0x28bc16(0xa4)][_0x28bc16(0xa8)]=function(_0x32846b,_0x31df15,_0x56b1d5){var _0x45014f=_0x28bc16,_0x1357a9=[(_0x32846b[0x0]+_0x31df15[0x0])/0x2,(_0x32846b[0x1]+_0x31df15[0x1])/0x2],_0x454c5c=[_0x1357a9[0x0]-_0x32846b[0x1]+_0x31df15[0x1],_0x1357a9[0x1]+_0x32846b[0x0]-_0x31df15[0x0]],_0x3ecd98=[(_0x32846b[0x0]+_0x56b1d5[0x0])/0x2,(_0x32846b[0x1]+_0x56b1d5[0x1])/0x2],_0x71c3b5=[_0x3ecd98[0x0]-_0x32846b[0x1]+_0x56b1d5[0x1],_0x3ecd98[0x1]+_0x32846b[0x0]-_0x56b1d5[0x0]];return P[_0x45014f(0xa4)]['getIntersectPoint'](_0x1357a9,_0x454c5c,_0x3ecd98,_0x71c3b5);},P[_0x28bc16(0xa4)]['getIntersectPoint']=function(_0x70e753,_0x2a8c71,_0x50442d,_0x4675c4){var _0x5075b5,_0x44d69e,_0x27452a,_0x1e682e;if(_0x70e753[0x1]==_0x2a8c71[0x1])return _0x44d69e=(_0x4675c4[0x0]-_0x50442d[0x0])/(_0x4675c4[0x1]-_0x50442d[0x1]),_0x5075b5=_0x44d69e*(_0x70e753[0x1]-_0x50442d[0x1])+_0x50442d[0x0],_0x27452a=_0x70e753[0x1],[_0x5075b5,_0x27452a];if(_0x50442d[0x1]==_0x4675c4[0x1])return _0x1e682e=(_0x2a8c71[0x0]-_0x70e753[0x0])/(_0x2a8c71[0x1]-_0x70e753[0x1]),_0x5075b5=_0x1e682e*(_0x50442d[0x1]-_0x70e753[0x1])+_0x70e753[0x0],_0x27452a=_0x50442d[0x1],[_0x5075b5,_0x27452a];return _0x1e682e=(_0x2a8c71[0x0]-_0x70e753[0x0])/(_0x2a8c71[0x1]-_0x70e753[0x1]),_0x44d69e=(_0x4675c4[0x0]-_0x50442d[0x0])/(_0x4675c4[0x1]-_0x50442d[0x1]),_0x27452a=(_0x1e682e*_0x70e753[0x1]-_0x70e753[0x0]-_0x44d69e*_0x50442d[0x1]+_0x50442d[0x0])/(_0x1e682e-_0x44d69e),_0x5075b5=_0x1e682e*_0x27452a-_0x1e682e*_0x70e753[0x1]+_0x70e753[0x0],[_0x5075b5,_0x27452a];},P[_0x28bc16(0xa4)]['getAzimuth']=function(_0xc1cc02,_0x41425e){var _0x22424f=_0x28bc16,_0x3977c0=0x0,_0x1d8f61=Math[_0x22424f(0x95)](Math['abs'](_0x41425e[0x1]-_0xc1cc02[0x1])/P['PlotUtils']['distance'](_0xc1cc02,_0x41425e));return _0x41425e[0x1]>=_0xc1cc02[0x1]&&_0x41425e[0x0]>=_0xc1cc02[0x0]?_0x3977c0=_0x1d8f61+Math['PI']:_0x41425e[0x1]>=_0xc1cc02[0x1]&&_0x41425e[0x0]<_0xc1cc02[0x0]?_0x3977c0=P['Constants'][_0x22424f(0xa3)]-_0x1d8f61:_0x41425e[0x1]<_0xc1cc02[0x1]&&_0x41425e[0x0]<_0xc1cc02[0x0]?_0x3977c0=_0x1d8f61:_0x41425e[0x1]<_0xc1cc02[0x1]&&_0x41425e[0x0]>=_0xc1cc02[0x0]&&(_0x3977c0=Math['PI']-_0x1d8f61),_0x3977c0;},P['PlotUtils']['getAngleOfThreePoints']=function(_0xaa2a70,_0x180245,_0xb4e3da){var _0x1e2342=_0x28bc16,_0x2710ea=P['PlotUtils'][_0x1e2342(0x98)](_0x180245,_0xaa2a70)-P[_0x1e2342(0xa4)][_0x1e2342(0x98)](_0x180245,_0xb4e3da);return 0x0>_0x2710ea?_0x2710ea+P[_0x1e2342(0xaf)]['TWO_PI']:_0x2710ea;},P[_0x28bc16(0xa4)][_0x28bc16(0xb8)]=function(_0x4debe2,_0x5093cc,_0x238b2e){return(_0x238b2e[0x1]-_0x4debe2[0x1])*(_0x5093cc[0x0]-_0x4debe2[0x0])>(_0x5093cc[0x1]-_0x4debe2[0x1])*(_0x238b2e[0x0]-_0x4debe2[0x0]);},P[_0x28bc16(0xa4)][_0x28bc16(0xa2)]=function(_0x529614,_0x3152b7,_0x7ba242){var _0x44e39c=_0x3152b7[0x0]+_0x529614*(_0x7ba242[0x0]-_0x3152b7[0x0]),_0x48be03=_0x3152b7[0x1]+_0x529614*(_0x7ba242[0x1]-_0x3152b7[0x1]);return[_0x44e39c,_0x48be03];},P[_0x28bc16(0xa4)]['getCubicValue']=function(_0x422ec4,_0x2f9c10,_0xcaae43,_0x20c22,_0x28ed4a){_0x422ec4=Math['max'](Math['min'](_0x422ec4,0x1),0x0);var _0x4f972c=0x1-_0x422ec4,_0x22012e=_0x422ec4*_0x422ec4,_0x300f35=_0x22012e*_0x422ec4,_0x4c45be=_0x4f972c*_0x4f972c,_0x3c2709=_0x4c45be*_0x4f972c,_0x4dfeef=_0x3c2709*_0x2f9c10[0x0]+0x3*_0x4c45be*_0x422ec4*_0xcaae43[0x0]+0x3*_0x4f972c*_0x22012e*_0x20c22[0x0]+_0x300f35*_0x28ed4a[0x0],_0x2a9ecf=_0x3c2709*_0x2f9c10[0x1]+0x3*_0x4c45be*_0x422ec4*_0xcaae43[0x1]+0x3*_0x4f972c*_0x22012e*_0x20c22[0x1]+_0x300f35*_0x28ed4a[0x1];return[_0x4dfeef,_0x2a9ecf];},P[_0x28bc16(0xa4)][_0x28bc16(0xa1)]=function(_0x269195,_0x1602a8,_0xb068e3,_0x275fb7,_0x3df2a8){var _0xaf3c84=_0x28bc16,_0x4fd6a7=P['PlotUtils'][_0xaf3c84(0x98)](_0x269195,_0x1602a8),_0x5b5c3b=_0x3df2a8?_0x4fd6a7+_0xb068e3:_0x4fd6a7-_0xb068e3,_0x5ec286=_0x275fb7*Math['cos'](_0x5b5c3b),_0x4b6b3b=_0x275fb7*Math['sin'](_0x5b5c3b);return[_0x1602a8[0x0]+_0x5ec286,_0x1602a8[0x1]+_0x4b6b3b];},P[_0x28bc16(0xa4)][_0x28bc16(0x9f)]=function(_0x13a1bf,_0x2219a1,_0x325037,_0xd8e875){var _0x598d7b=_0x28bc16,_0x384b3c=[],_0x5d510b=[],_0x2b0fa3=[],_0x15798a=_0xd8e875-_0x325037;_0x15798a=0x0>_0x15798a?_0x15798a+P['Constants'][_0x598d7b(0xa3)]:_0x15798a;for(var _0x411f54=0x0;_0x411f54<=P['Constants'][_0x598d7b(0xab)];_0x411f54++){var _0x54f5ae=_0x325037+_0x15798a*_0x411f54/P['Constants']['FITTING_COUNT'];_0x384b3c=_0x13a1bf[0x0]+_0x2219a1*Math[_0x598d7b(0xad)](_0x54f5ae),_0x5d510b=_0x13a1bf[0x1]+_0x2219a1*Math['sin'](_0x54f5ae),_0x2b0fa3[_0x598d7b(0xa7)]([_0x384b3c,_0x5d510b]);}return _0x2b0fa3;},P[_0x28bc16(0xa4)]['getBisectorNormals']=function(_0xd6bb4f,_0x5019e8,_0x556153,_0xa04b0b){var _0x31c41c=_0x28bc16,_0x20f4ae=P[_0x31c41c(0xa4)][_0x31c41c(0xb4)](_0x5019e8,_0x556153,_0xa04b0b),_0x2ad683=Math['sqrt'](_0x20f4ae[0x0]*_0x20f4ae[0x0]+_0x20f4ae[0x1]*_0x20f4ae[0x1]),_0x25bdf5=_0x20f4ae[0x0]/_0x2ad683,_0x39fb70=_0x20f4ae[0x1]/_0x2ad683,_0x1915ce=P['PlotUtils']['distance'](_0x5019e8,_0x556153),_0x1b028b=P['PlotUtils']['distance'](_0x556153,_0xa04b0b),_0x25f44a,_0x2f69dc,_0x449ca4,_0x3e591a,_0x3053ba;if(_0x2ad683>P['Constants'][_0x31c41c(0x9d)]){if(P[_0x31c41c(0xa4)][_0x31c41c(0xb8)](_0x5019e8,_0x556153,_0xa04b0b))_0x25f44a=_0xd6bb4f*_0x1915ce,_0x2f69dc=_0x556153[0x0]-_0x25f44a*_0x39fb70,_0x449ca4=_0x556153[0x1]+_0x25f44a*_0x25bdf5,_0x3e591a=[_0x2f69dc,_0x449ca4],(_0x25f44a=_0xd6bb4f*_0x1b028b,_0x2f69dc=_0x556153[0x0]+_0x25f44a*_0x39fb70,_0x449ca4=_0x556153[0x1]-_0x25f44a*_0x25bdf5),_0x3053ba=[_0x2f69dc,_0x449ca4];else _0x25f44a=_0xd6bb4f*_0x1915ce,_0x2f69dc=_0x556153[0x0]+_0x25f44a*_0x39fb70,_0x449ca4=_0x556153[0x1]-_0x25f44a*_0x25bdf5,_0x3e591a=[_0x2f69dc,_0x449ca4],_0x25f44a=_0xd6bb4f*_0x1b028b,_0x2f69dc=_0x556153[0x0]-_0x25f44a*_0x39fb70,_0x449ca4=_0x556153[0x1]+_0x25f44a*_0x25bdf5,_0x3053ba=[_0x2f69dc,_0x449ca4];}else _0x2f69dc=_0x556153[0x0]+_0xd6bb4f*(_0x5019e8[0x0]-_0x556153[0x0]),_0x449ca4=_0x556153[0x1]+_0xd6bb4f*(_0x5019e8[0x1]-_0x556153[0x1]),_0x3e591a=[_0x2f69dc,_0x449ca4],_0x2f69dc=_0x556153[0x0]+_0xd6bb4f*(_0xa04b0b[0x0]-_0x556153[0x0]),_0x449ca4=_0x556153[0x1]+_0xd6bb4f*(_0xa04b0b[0x1]-_0x556153[0x1]),_0x3053ba=[_0x2f69dc,_0x449ca4];return[_0x3e591a,_0x3053ba];},P[_0x28bc16(0xa4)]['getNormal']=function(_0x4bc9b1,_0x543e9b,_0x1725ac){var _0x10cec8=_0x4bc9b1[0x0]-_0x543e9b[0x0],_0xd252c0=_0x4bc9b1[0x1]-_0x543e9b[0x1],_0x164542=Math['sqrt'](_0x10cec8*_0x10cec8+_0xd252c0*_0xd252c0);_0x10cec8/=_0x164542,_0xd252c0/=_0x164542;var _0x13bfc0=_0x1725ac[0x0]-_0x543e9b[0x0],_0x3d167b=_0x1725ac[0x1]-_0x543e9b[0x1],_0x3d9d75=Math['sqrt'](_0x13bfc0*_0x13bfc0+_0x3d167b*_0x3d167b);_0x13bfc0/=_0x3d9d75,_0x3d167b/=_0x3d9d75;var _0x1d8568=_0x10cec8+_0x13bfc0,_0x42aa51=_0xd252c0+_0x3d167b;return[_0x1d8568,_0x42aa51];},P['PlotUtils']['getCurvePoints']=function(_0x13f5a3,_0x3c7402){var _0x25a8e5=_0x28bc16,_0x35355f=P['PlotUtils']['getLeftMostControlPoint'](_0x3c7402),_0xbf3082=[_0x35355f],_0x305fcd,_0x446246;for(var _0x39ed9a=0x0;_0x39ed9a<_0x3c7402[_0x25a8e5(0xb6)]-0x2;_0x39ed9a++){_0x305fcd=_0x3c7402[_0x39ed9a],_0x446246=_0x3c7402[_0x39ed9a+0x1];var _0x2e2418=_0x3c7402[_0x39ed9a+0x2],_0x1842b8=P[_0x25a8e5(0xa4)][_0x25a8e5(0xac)](_0x13f5a3,_0x305fcd,_0x446246,_0x2e2418);_0xbf3082=_0xbf3082[_0x25a8e5(0xa9)](_0x1842b8);}var _0x637210=P['PlotUtils'][_0x25a8e5(0xb3)](_0x3c7402);_0xbf3082[_0x25a8e5(0xa7)](_0x637210);var _0x4479b3=[];for(var _0x37d807=0x0;_0x37d807<_0x3c7402[_0x25a8e5(0xb6)]-0x1;_0x37d807++){_0x305fcd=_0x3c7402[_0x37d807],_0x446246=_0x3c7402[_0x37d807+0x1],_0x4479b3[_0x25a8e5(0xa7)](_0x305fcd);for(var _0x5de4ab=0x0;_0x5de4ab<P[_0x25a8e5(0xaf)][_0x25a8e5(0xab)];_0x5de4ab++){var _0x402a3e=P[_0x25a8e5(0xa4)]['getCubicValue'](_0x5de4ab/P[_0x25a8e5(0xaf)][_0x25a8e5(0xab)],_0x305fcd,_0xbf3082[0x2*_0x37d807],_0xbf3082[0x2*_0x37d807+0x1],_0x446246);_0x4479b3[_0x25a8e5(0xa7)](_0x402a3e);}_0x4479b3['push'](_0x446246);}return _0x4479b3;},P['PlotUtils'][_0x28bc16(0x97)]=function(_0x2a3eb3){var _0x29ffa9=_0x28bc16,_0x5ee36e=_0x2a3eb3[0x0],_0x202c17=_0x2a3eb3[0x1],_0x1fc690=_0x2a3eb3[0x2],_0x463154=P[_0x29ffa9(0xa4)][_0x29ffa9(0xac)](0x0,_0x5ee36e,_0x202c17,_0x1fc690),_0x2e2b15=_0x463154[0x0],_0x1cfdc6=P[_0x29ffa9(0xa4)]['getNormal'](_0x5ee36e,_0x202c17,_0x1fc690),_0xd684f=Math['sqrt'](_0x1cfdc6[0x0]*_0x1cfdc6[0x0]+_0x1cfdc6[0x1]*_0x1cfdc6[0x1]),_0x1a04e4=_0x5ee36e[0x0],_0x270d1c=_0x5ee36e[0x1];if(_0xd684f>P['Constants']['ZERO_TOLERANCE']){var _0x58b52d=P[_0x29ffa9(0xa4)][_0x29ffa9(0xb1)](_0x5ee36e,_0x202c17),_0xfa559d=_0x5ee36e[0x0]-_0x58b52d[0x0],_0x11c3c3=_0x5ee36e[0x1]-_0x58b52d[0x1],_0x382100=P['PlotUtils']['distance'](_0x5ee36e,_0x202c17),_0x3c9c83=0x2/_0x382100,_0x552c47=-_0x3c9c83*_0x11c3c3,_0x5d991d=_0x3c9c83*_0xfa559d,_0x49280f=_0x552c47*_0x552c47-_0x5d991d*_0x5d991d,_0x2b52ee=0x2*_0x552c47*_0x5d991d,_0x1a3fa1=_0x5d991d*_0x5d991d-_0x552c47*_0x552c47,_0x186ca2=_0x2e2b15[0x0]-_0x58b52d[0x0],_0x52e8f0=_0x2e2b15[0x1]-_0x58b52d[0x1];_0x1a04e4=_0x58b52d[0x0]+_0x49280f*_0x186ca2+_0x2b52ee*_0x52e8f0,_0x270d1c=_0x58b52d[0x1]+_0x2b52ee*_0x186ca2+_0x1a3fa1*_0x52e8f0;}return[_0x1a04e4,_0x270d1c];},P['PlotUtils']['getRightMostControlPoint']=function(_0x48ad02){var _0x257ff0=_0x28bc16,_0x209110=_0x48ad02['length'],_0x557502=_0x48ad02[_0x209110-0x3],_0x23b432=_0x48ad02[_0x209110-0x2],_0x48df9e=_0x48ad02[_0x209110-0x1],_0x3d8f04=P['PlotUtils']['getBisectorNormals'](0x0,_0x557502,_0x23b432,_0x48df9e),_0x57e46f=_0x3d8f04[0x1],_0x120e90=P['PlotUtils'][_0x257ff0(0xb4)](_0x557502,_0x23b432,_0x48df9e),_0x321da4=Math[_0x257ff0(0xa6)](_0x120e90[0x0]*_0x120e90[0x0]+_0x120e90[0x1]*_0x120e90[0x1]),_0x476409=_0x48df9e[0x0],_0x352885=_0x48df9e[0x1];if(_0x321da4>P['Constants'][_0x257ff0(0x9d)]){var _0x5f1adc=P[_0x257ff0(0xa4)][_0x257ff0(0xb1)](_0x23b432,_0x48df9e),_0x315db4=_0x48df9e[0x0]-_0x5f1adc[0x0],_0x5ad266=_0x48df9e[0x1]-_0x5f1adc[0x1],_0x3d5e09=P[_0x257ff0(0xa4)]['distance'](_0x23b432,_0x48df9e),_0x5a704e=0x2/_0x3d5e09,_0x2ab141=-_0x5a704e*_0x5ad266,_0x572fd9=_0x5a704e*_0x315db4,_0x9c8305=_0x2ab141*_0x2ab141-_0x572fd9*_0x572fd9,_0xfe98d1=0x2*_0x2ab141*_0x572fd9,_0x40faaa=_0x572fd9*_0x572fd9-_0x2ab141*_0x2ab141,_0x384bfb=_0x57e46f[0x0]-_0x5f1adc[0x0],_0x46fb75=_0x57e46f[0x1]-_0x5f1adc[0x1];_0x476409=_0x5f1adc[0x0]+_0x9c8305*_0x384bfb+_0xfe98d1*_0x46fb75,_0x352885=_0x5f1adc[0x1]+_0xfe98d1*_0x384bfb+_0x40faaa*_0x46fb75;}return[_0x476409,_0x352885];},P[_0x28bc16(0xa4)]['getBezierPoints']=function(_0x3d298d){var _0x438c21=_0x28bc16;if(_0x3d298d[_0x438c21(0xb6)]<=0x2)return _0x3d298d;var _0x129749=[],_0x1b7a0e=_0x3d298d[_0x438c21(0xb6)]-0x1;for(var _0x47bb43=0x0;0x1>=_0x47bb43;_0x47bb43+=0.01){var _0x4cc92d=0x0,_0x1eee16=0x0;for(var _0x12bcd4=0x0;_0x1b7a0e>=_0x12bcd4;_0x12bcd4++){var _0x2a4582=P['PlotUtils']['getBinomialFactor'](_0x1b7a0e,_0x12bcd4),_0x469f04=Math[_0x438c21(0x9c)](_0x47bb43,_0x12bcd4),_0x3f2ff5=Math['pow'](0x1-_0x47bb43,_0x1b7a0e-_0x12bcd4);_0x4cc92d+=_0x2a4582*_0x469f04*_0x3f2ff5*_0x3d298d[_0x12bcd4][0x0],_0x1eee16+=_0x2a4582*_0x469f04*_0x3f2ff5*_0x3d298d[_0x12bcd4][0x1];}_0x129749[_0x438c21(0xa7)]([_0x4cc92d,_0x1eee16]);}return _0x129749[_0x438c21(0xa7)](_0x3d298d[_0x1b7a0e]),_0x129749;},P[_0x28bc16(0xa4)]['getBinomialFactor']=function(_0x40e393,_0x1c39e1){var _0x80c6a=_0x28bc16;return P['PlotUtils']['getFactorial'](_0x40e393)/(P['PlotUtils'][_0x80c6a(0xb0)](_0x1c39e1)*P['PlotUtils']['getFactorial'](_0x40e393-_0x1c39e1));},P[_0x28bc16(0xa4)]['getFactorial']=function(_0x27efb9){if(0x1>=_0x27efb9)return 0x1;if(0x2==_0x27efb9)return 0x2;if(0x3==_0x27efb9)return 0x6;if(0x4==_0x27efb9)return 0x18;if(0x5==_0x27efb9)return 0x78;var _0x1d9f4b=0x1;for(var _0x3b3098=0x1;_0x27efb9>=_0x3b3098;_0x3b3098++){_0x1d9f4b*=_0x3b3098;}return _0x1d9f4b;},P[_0x28bc16(0xa4)]['getQBSplinePoints']=function(_0x508103){var _0x26d4ac=_0x28bc16;if(_0x508103[_0x26d4ac(0xb6)]<=0x2)return _0x508103;var _0x2139fb=0x2,_0x1f2f3f=[],_0xea959f=_0x508103['length']-_0x2139fb-0x1;_0x1f2f3f[_0x26d4ac(0xa7)](_0x508103[0x0]);for(var _0x7dab1d=0x0;_0xea959f>=_0x7dab1d;_0x7dab1d++)for(var _0x2c457f=0x0;0x1>=_0x2c457f;_0x2c457f+=0.05){var _0x50b599=0x0,_0x17475d=0x0;for(var _0x3ca626=0x0;_0x2139fb>=_0x3ca626;_0x3ca626++){var _0xfd45b3=P['PlotUtils']['getQuadricBSplineFactor'](_0x3ca626,_0x2c457f);_0x50b599+=_0xfd45b3*_0x508103[_0x7dab1d+_0x3ca626][0x0],_0x17475d+=_0xfd45b3*_0x508103[_0x7dab1d+_0x3ca626][0x1];}_0x1f2f3f['push']([_0x50b599,_0x17475d]);}return _0x1f2f3f['push'](_0x508103[_0x508103['length']-0x1]),_0x1f2f3f;},P[_0x28bc16(0xa4)][_0x28bc16(0x9e)]=function(_0x52d523,_0x37ebbb){var _0x387ada=_0x28bc16;return 0x0==_0x52d523?Math['pow'](_0x37ebbb-0x1,0x2)/0x2:0x1==_0x52d523?(-0x2*Math['pow'](_0x37ebbb,0x2)+0x2*_0x37ebbb+0x1)/0x2:0x2==_0x52d523?Math[_0x387ada(0x9c)](_0x37ebbb,0x2)/0x2:0x0;};export default P;
|