@vcmap/ui 6.0.0-rc.1 → 6.0.0-rc.2
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/config/base.config.json +4 -4
- package/dist/assets/cesium/Assets/approximateTerrainHeights.json +1 -1
- package/dist/assets/cesium/ThirdParty/Workers/z-worker-pako.js +1 -1
- package/dist/assets/cesium/Workers/{chunk-ZA25DG4Y.js → chunk-3DRPXHZ4.js} +11 -11
- package/dist/assets/cesium/Workers/{chunk-OAVNIRB4.js → chunk-3GI7DWF7.js} +5 -7
- package/dist/assets/cesium/Workers/{chunk-TFC6TZ3S.js → chunk-4EW3HFFI.js} +33 -22
- package/dist/assets/cesium/Workers/{chunk-LLUNNUJV.js → chunk-4OX4RYLB.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-66QLLS45.js → chunk-4RJH3H6D.js} +11 -9
- package/dist/assets/cesium/Workers/{chunk-MPAZH4BF.js → chunk-5OUTANXX.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-WXTV4ATB.js → chunk-6DH5PLFD.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-A4JVFBQ3.js → chunk-6DXIYFX3.js} +2 -2
- package/dist/assets/cesium/Workers/chunk-A5C2A5O5.js +963 -0
- package/dist/assets/cesium/Workers/{chunk-HQF437NJ.js → chunk-AGTH5JMJ.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-RP2A7BR5.js → chunk-AVFIYUKX.js} +12 -14
- package/dist/assets/cesium/Workers/{chunk-227AJNOA.js → chunk-BAJAVGUF.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-N3JIFFX2.js → chunk-BPY4HDAK.js} +5 -6
- package/dist/assets/cesium/Workers/{chunk-ABADGKYE.js → chunk-D6PDWQXW.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-34YUDLRP.js → chunk-DR7LK6PG.js} +13 -13
- package/dist/assets/cesium/Workers/{chunk-OYFCF4PL.js → chunk-DTACCQDR.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-C3SXRKRW.js → chunk-EVU2UNBD.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-6BTKZDRG.js → chunk-F7IEM66T.js} +3 -5
- package/dist/assets/cesium/Workers/{chunk-QT3MPEMI.js → chunk-FSXNF76Y.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-PCJWUS4M.js → chunk-FYYT5EVH.js} +830 -14
- package/dist/assets/cesium/Workers/{chunk-QMEMZIJI.js → chunk-FZDKIUDT.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-XTY7B2N6.js → chunk-G6346EDR.js} +16 -16
- package/dist/assets/cesium/Workers/{chunk-CHHNOC2C.js → chunk-H7PSTL64.js} +95 -155
- package/dist/assets/cesium/Workers/{chunk-2R5O53JW.js → chunk-I67V66MN.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-JS3AW5BK.js → chunk-IALQGTA2.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-K36FEYS7.js → chunk-KNMGSIIN.js} +16 -12
- package/dist/assets/cesium/Workers/{chunk-J3JY6I2C.js → chunk-L4XQPD6P.js} +49 -88
- package/dist/assets/cesium/Workers/{chunk-X4SU25DT.js → chunk-LMTN7R7M.js} +10 -12
- package/dist/assets/cesium/Workers/{chunk-JB2LWGH4.js → chunk-LUYI3XCB.js} +14 -14
- package/dist/assets/cesium/Workers/{chunk-AFFLIKOH.js → chunk-N5MIFVXJ.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-MYZB7C4T.js → chunk-O7OUBDMZ.js} +10 -10
- package/dist/assets/cesium/Workers/{chunk-VLGOATD6.js → chunk-P24I5VUS.js} +22 -22
- package/dist/assets/cesium/Workers/{chunk-KD4Y7CZL.js → chunk-PIOKSAZH.js} +15 -17
- package/dist/assets/cesium/Workers/{chunk-3W63OHNJ.js → chunk-PRKEY4QK.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-O5AMBQ36.js → chunk-Q7PM4W34.js} +8 -8
- package/dist/assets/cesium/Workers/{chunk-GLZBE3ML.js → chunk-QLC66ZRL.js} +13 -13
- package/dist/assets/cesium/Workers/{chunk-OZJDGN5F.js → chunk-RRLGJV3Q.js} +16 -16
- package/dist/assets/cesium/Workers/{chunk-CCFQRR6D.js → chunk-S2UEXF6T.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-QIKODV5G.js → chunk-S4VTLNAJ.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-EW2GWJYB.js → chunk-SJC5PRDX.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-KTJSNCK4.js → chunk-T6TZXGG5.js} +230 -20
- package/dist/assets/cesium/Workers/{chunk-RW6LU2CJ.js → chunk-TLGODPEV.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-CTELOFLA.js → chunk-UC566ISB.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-ZFOBYDGF.js → chunk-UMX265HW.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-Z24VKNDO.js → chunk-V7WJDCPA.js} +12 -12
- package/dist/assets/cesium/Workers/{chunk-4MFFIWUA.js → chunk-VD6G7UPU.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-XY7MGBKC.js → chunk-WMVCLETM.js} +14 -16
- package/dist/assets/cesium/Workers/{chunk-IPA4EACJ.js → chunk-WOA6WSHH.js} +12 -12
- package/dist/assets/cesium/Workers/{chunk-PFQBCKBM.js → chunk-X67EJ6X6.js} +4398 -2722
- package/dist/assets/cesium/Workers/{chunk-V3NGATMV.js → chunk-XGI4FRXF.js} +11 -13
- package/dist/assets/cesium/Workers/{chunk-AHKEZ2OE.js → chunk-YFVI4SQI.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-HARLBUOL.js → chunk-YFYPR4MW.js} +11 -8
- package/dist/assets/cesium/Workers/combineGeometry.js +22 -23
- package/dist/assets/cesium/Workers/createBoxGeometry.js +16 -17
- package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +14 -15
- package/dist/assets/cesium/Workers/createCircleGeometry.js +29 -26
- package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +17 -18
- package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +35 -36
- package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +29 -30
- package/dist/assets/cesium/Workers/createCorridorGeometry.js +29 -30
- package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +27 -28
- package/dist/assets/cesium/Workers/createCylinderGeometry.js +18 -19
- package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +17 -19
- package/dist/assets/cesium/Workers/createEllipseGeometry.js +24 -25
- package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +17 -18
- package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +17 -18
- package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +16 -17
- package/dist/assets/cesium/Workers/createFrustumGeometry.js +16 -17
- package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +18 -18
- package/dist/assets/cesium/Workers/createGeometry.js +52 -33
- package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +28 -29
- package/dist/assets/cesium/Workers/createPlaneGeometry.js +14 -15
- package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +13 -14
- package/dist/assets/cesium/Workers/createPolygonGeometry.js +451 -176
- package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +29 -30
- package/dist/assets/cesium/Workers/createPolylineGeometry.js +24 -25
- package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +31 -33
- package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +27 -29
- package/dist/assets/cesium/Workers/createRectangleGeometry.js +30 -31
- package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +21 -24
- package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +22 -23
- package/dist/assets/cesium/Workers/createSphereGeometry.js +17 -18
- package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +16 -17
- package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +3 -3
- package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +14 -16
- package/dist/assets/cesium/Workers/createVectorTileGeometries.js +22 -23
- package/dist/assets/cesium/Workers/createVectorTilePoints.js +12 -12
- package/dist/assets/cesium/Workers/createVectorTilePolygons.js +20 -21
- package/dist/assets/cesium/Workers/createVectorTilePolylines.js +14 -16
- package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +24 -25
- package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +25 -26
- package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +19 -21
- package/dist/assets/cesium/Workers/createWallGeometry.js +23 -24
- package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +22 -23
- package/dist/assets/cesium/Workers/decodeDraco.js +11 -11
- package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +12 -19
- package/dist/assets/cesium/Workers/decodeI3S.js +600 -92
- package/dist/assets/cesium/Workers/transcodeKTX2.js +46 -82
- package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
- package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +21 -22
- package/dist/assets/{cesium.6b12b4.js → cesium.0b750d.js} +151166 -145641
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core.074b78.js → core.cbf44a.js} +1944 -1902
- package/dist/assets/core.js +1 -1
- package/dist/assets/index-8eGauqjA.js +1 -0
- package/dist/assets/ol.js +1 -1
- package/dist/assets/ui.7c276c.css +1 -0
- package/dist/assets/{ui.715986.js → ui.7c276c.js} +13826 -12887
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue.js +1 -1
- package/dist/assets/{vuetify.28d881.js → vuetify.4d18fe.js} +1 -1
- package/dist/assets/vuetify.js +1 -1
- package/dist/index.html +1 -1
- package/index.d.ts +2 -0
- package/index.js +1 -0
- package/package.json +7 -6
- package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +24 -86
- package/plugins/@vcmap-show-case/vector-properties-example/src/VectorPropertiesExample.vue +35 -10
- package/plugins/@vcmap-show-case/wizard-example/src/WizardExample.vue +40 -54
- package/src/application/VcsApp.vue +1 -2
- package/src/application/VcsCustomScreen.vue +4 -4
- package/src/application/VcsCustomScreen.vue.d.ts +1 -1
- package/src/application/VcsNavbar.vue.d.ts +1 -1
- package/src/application/VcsSplashScreen.vue +18 -21
- package/src/application/VcsSplashScreen.vue.d.ts +5 -5
- package/src/application/VcsTextPage.vue +4 -4
- package/src/application/VcsTextPage.vue.d.ts +1 -1
- package/src/application/markdownHelper.js +2 -17
- package/src/components/buttons/VcsButton.vue +1 -1
- package/src/components/buttons/VcsButton.vue.d.ts +3 -3
- package/src/components/buttons/VcsFormButton.vue +1 -1
- package/src/components/buttons/VcsFormButton.vue.d.ts +2 -2
- package/src/components/buttons/VcsToolButton.vue +1 -1
- package/src/components/buttons/VcsToolButton.vue.d.ts +4 -4
- package/src/components/composables.d.ts +7 -0
- package/src/components/composables.js +35 -1
- package/src/components/form-inputs-controls/VcsCheckbox.vue +12 -8
- package/src/components/form-inputs-controls/VcsCheckbox.vue.d.ts +1 -0
- package/src/components/form-inputs-controls/VcsChipArrayInput.vue +1 -1
- package/src/components/form-inputs-controls/VcsDatePicker.vue.d.ts +1 -1
- package/src/components/form-inputs-controls/VcsFileInput.vue +2 -2
- package/src/components/form-inputs-controls/VcsFormSection.vue.d.ts +1 -1
- package/src/components/form-inputs-controls/VcsLabel.vue +31 -1
- package/src/components/form-inputs-controls/VcsLabel.vue.d.ts +21 -1
- package/src/components/form-inputs-controls/VcsRadio.vue +2 -2
- package/src/components/form-inputs-controls/VcsSelect.vue +7 -16
- package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +2 -2
- package/src/components/form-inputs-controls/VcsSlider.vue +36 -10
- package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +25 -2
- package/src/components/form-inputs-controls/VcsTextArea.vue +35 -20
- package/src/components/form-inputs-controls/VcsTextField.vue +17 -12
- package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +1 -0
- package/src/components/form-inputs-controls/VcsWizard.vue +89 -112
- package/src/components/form-inputs-controls/VcsWizard.vue.d.ts +3 -13
- package/src/components/form-inputs-controls/VcsWizardStep.vue +75 -57
- package/src/components/form-inputs-controls/VcsWizardStep.vue.d.ts +24 -11
- package/src/components/form-inputs-controls/vcsTextField.scss +5 -0
- package/src/components/form-output/VcsFormattedNumber.vue +25 -9
- package/src/components/form-output/VcsFormattedNumber.vue.d.ts +18 -0
- package/src/components/form-output/VcsMarkdown.vue +53 -0
- package/src/components/form-output/VcsMarkdown.vue.d.ts +16 -0
- package/src/components/lists/VcsActionList.vue +43 -27
- package/src/components/lists/VcsActionList.vue.d.ts +3 -1
- package/src/components/lists/VcsList.vue +82 -151
- package/src/components/lists/VcsList.vue.d.ts +5 -8
- package/src/components/lists/VcsListItem.vue +154 -0
- package/src/components/lists/VcsListItem.vue.d.ts +21 -0
- package/src/components/lists/VcsTreeviewLeaf.vue +1 -1
- package/src/components/modelHelper.d.ts +11 -0
- package/src/components/modelHelper.js +42 -2
- package/src/components/vector-properties/VcsFeatureEditingWindow.vue +14 -6
- package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +3 -3
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +474 -585
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +193 -22
- package/src/manager/window/windowManager.d.ts +4 -4
- package/src/manager/window/windowManager.js +2 -2
- package/src/navigation/MapNavigation.vue +6 -3
- package/src/navigation/OrientationToolsButton.vue +39 -26
- package/src/navigation/OrientationToolsButton.vue.d.ts +5 -1
- package/src/navigation/TiltSlider.vue +83 -88
- package/src/navigation/TiltSlider.vue.d.ts +10 -7
- package/src/navigation/VcsCompass.vue +17 -11
- package/src/navigation/VcsCompass.vue.d.ts +2 -0
- package/src/styles/_typography.scss +1 -0
- package/src/vcsUiApp.d.ts +11 -17
- package/src/vcsUiApp.js +10 -3
- package/src/vuePlugins/i18n.js +7 -0
- package/src/vuePlugins/vuetify.js +4 -0
- package/dist/assets/cesium/Workers/chunk-DUHWWBQQ.js +0 -3273
- package/dist/assets/cesium/Workers/chunk-QJ3DFBH3.js +0 -73
- package/dist/assets/index-ca7EmZ3d.js +0 -1
- package/dist/assets/ui.715986.css +0 -1
- package/src/components/vector-properties/composables.d.ts +0 -33
- package/src/components/vector-properties/composables.js +0 -100
- /package/dist/assets/{ol.8b2e3a.js → ol.86e93c.js} +0 -0
- /package/dist/assets/{vue.0f2c53.js → vue.a3cd64.js} +0 -0
- /package/dist/assets/{vuetify.28d881.css → vuetify.4d18fe.css} +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
/**
|
2
2
|
* @license
|
3
3
|
* Cesium - https://github.com/CesiumGS/cesium
|
4
|
-
* Version 1.
|
4
|
+
* Version 1.119.1
|
5
5
|
*
|
6
6
|
* Copyright 2011-2022 Cesium Contributors
|
7
7
|
*
|
@@ -25,83 +25,250 @@
|
|
25
25
|
|
26
26
|
import {
|
27
27
|
BoundingRectangle_default
|
28
|
-
} from "./chunk-
|
28
|
+
} from "./chunk-4RJH3H6D.js";
|
29
29
|
import {
|
30
30
|
PolygonGeometryLibrary_default
|
31
|
-
} from "./chunk-
|
31
|
+
} from "./chunk-T6TZXGG5.js";
|
32
32
|
import {
|
33
33
|
ArcType_default
|
34
|
-
} from "./chunk-
|
34
|
+
} from "./chunk-S2UEXF6T.js";
|
35
35
|
import {
|
36
36
|
GeometryInstance_default
|
37
|
-
} from "./chunk-
|
37
|
+
} from "./chunk-BAJAVGUF.js";
|
38
38
|
import {
|
39
39
|
GeometryPipeline_default
|
40
|
-
} from "./chunk-
|
41
|
-
import "./chunk-
|
42
|
-
import "./chunk-
|
43
|
-
import {
|
44
|
-
EllipsoidGeodesic_default
|
45
|
-
} from "./chunk-AFFLIKOH.js";
|
40
|
+
} from "./chunk-G6346EDR.js";
|
41
|
+
import "./chunk-Q7PM4W34.js";
|
42
|
+
import "./chunk-FSXNF76Y.js";
|
46
43
|
import {
|
47
44
|
GeometryOffsetAttribute_default
|
48
|
-
} from "./chunk-
|
45
|
+
} from "./chunk-5OUTANXX.js";
|
49
46
|
import {
|
50
47
|
VertexFormat_default
|
51
|
-
} from "./chunk-
|
48
|
+
} from "./chunk-FZDKIUDT.js";
|
52
49
|
import {
|
53
50
|
EllipsoidTangentPlane_default
|
54
|
-
} from "./chunk-
|
55
|
-
import "./chunk-
|
51
|
+
} from "./chunk-AVFIYUKX.js";
|
52
|
+
import "./chunk-I67V66MN.js";
|
56
53
|
import {
|
57
54
|
PolygonPipeline_default,
|
58
55
|
WindingOrder_default
|
59
|
-
} from "./chunk-
|
60
|
-
import "./chunk-
|
61
|
-
import "./chunk-
|
62
|
-
import
|
63
|
-
|
56
|
+
} from "./chunk-L4XQPD6P.js";
|
57
|
+
import "./chunk-PRKEY4QK.js";
|
58
|
+
import "./chunk-KNMGSIIN.js";
|
59
|
+
import {
|
60
|
+
IntersectionTests_default,
|
61
|
+
Ray_default
|
62
|
+
} from "./chunk-O7OUBDMZ.js";
|
63
|
+
import "./chunk-DTACCQDR.js";
|
64
64
|
import {
|
65
65
|
IndexDatatype_default
|
66
|
-
} from "./chunk-
|
67
|
-
import "./chunk-
|
66
|
+
} from "./chunk-TLGODPEV.js";
|
67
|
+
import "./chunk-SJC5PRDX.js";
|
68
68
|
import {
|
69
69
|
GeometryAttribute_default,
|
70
70
|
Geometry_default
|
71
|
-
} from "./chunk-
|
71
|
+
} from "./chunk-LMTN7R7M.js";
|
72
72
|
import {
|
73
|
-
BoundingSphere_default
|
74
|
-
|
75
|
-
} from "./chunk-PFQBCKBM.js";
|
76
|
-
import "./chunk-QJ3DFBH3.js";
|
73
|
+
BoundingSphere_default
|
74
|
+
} from "./chunk-A5C2A5O5.js";
|
77
75
|
import {
|
78
|
-
|
76
|
+
Quaternion_default,
|
79
77
|
Rectangle_default
|
80
|
-
} from "./chunk-
|
78
|
+
} from "./chunk-X67EJ6X6.js";
|
81
79
|
import {
|
82
80
|
ComponentDatatype_default
|
83
|
-
} from "./chunk-
|
81
|
+
} from "./chunk-4OX4RYLB.js";
|
84
82
|
import {
|
83
|
+
Cartesian2_default,
|
85
84
|
Cartesian3_default,
|
86
85
|
Cartographic_default,
|
87
86
|
Ellipsoid_default,
|
88
87
|
Matrix3_default
|
89
|
-
} from "./chunk-
|
88
|
+
} from "./chunk-FYYT5EVH.js";
|
90
89
|
import {
|
91
90
|
Math_default
|
92
|
-
} from "./chunk-
|
93
|
-
import "./chunk-
|
94
|
-
import "./chunk-
|
91
|
+
} from "./chunk-BPY4HDAK.js";
|
92
|
+
import "./chunk-YFVI4SQI.js";
|
93
|
+
import "./chunk-D6PDWQXW.js";
|
95
94
|
import {
|
96
95
|
defaultValue_default
|
97
|
-
} from "./chunk-
|
96
|
+
} from "./chunk-6DH5PLFD.js";
|
98
97
|
import {
|
99
98
|
Check_default,
|
100
99
|
DeveloperError_default
|
101
|
-
} from "./chunk-
|
100
|
+
} from "./chunk-VD6G7UPU.js";
|
102
101
|
import {
|
103
102
|
defined_default
|
104
|
-
} from "./chunk-
|
103
|
+
} from "./chunk-F7IEM66T.js";
|
104
|
+
|
105
|
+
// packages/engine/Source/Core/Stereographic.js
|
106
|
+
function Stereographic(position, tangentPlane) {
|
107
|
+
this.position = position;
|
108
|
+
if (!defined_default(this.position)) {
|
109
|
+
this.position = new Cartesian2_default();
|
110
|
+
}
|
111
|
+
this.tangentPlane = tangentPlane;
|
112
|
+
if (!defined_default(this.tangentPlane)) {
|
113
|
+
this.tangentPlane = Stereographic.NORTH_POLE_TANGENT_PLANE;
|
114
|
+
}
|
115
|
+
}
|
116
|
+
Object.defineProperties(Stereographic.prototype, {
|
117
|
+
/**
|
118
|
+
* Gets the ellipsoid.
|
119
|
+
* @memberof Stereographic.prototype
|
120
|
+
* @type {Ellipsoid}
|
121
|
+
*/
|
122
|
+
ellipsoid: {
|
123
|
+
get: function() {
|
124
|
+
return this.tangentPlane.ellipsoid;
|
125
|
+
}
|
126
|
+
},
|
127
|
+
/**
|
128
|
+
* Gets the x coordinate
|
129
|
+
* @memberof Stereographic.prototype
|
130
|
+
* @type {number}
|
131
|
+
*/
|
132
|
+
x: {
|
133
|
+
get: function() {
|
134
|
+
return this.position.x;
|
135
|
+
}
|
136
|
+
},
|
137
|
+
/**
|
138
|
+
* Gets the y coordinate
|
139
|
+
* @memberof Stereographic.prototype
|
140
|
+
* @type {number}
|
141
|
+
*/
|
142
|
+
y: {
|
143
|
+
get: function() {
|
144
|
+
return this.position.y;
|
145
|
+
}
|
146
|
+
},
|
147
|
+
/**
|
148
|
+
* Computes the conformal latitude, or the ellipsoidal latitude projected onto an arbitrary sphere.
|
149
|
+
* @memberof Stereographic.prototype
|
150
|
+
* @type {number}
|
151
|
+
*/
|
152
|
+
conformalLatitude: {
|
153
|
+
get: function() {
|
154
|
+
const r = Cartesian2_default.magnitude(this.position);
|
155
|
+
const d = 2 * this.ellipsoid.maximumRadius;
|
156
|
+
const sign = this.tangentPlane.plane.normal.z;
|
157
|
+
return sign * (Math_default.PI_OVER_TWO - 2 * Math.atan2(r, d));
|
158
|
+
}
|
159
|
+
},
|
160
|
+
/**
|
161
|
+
* Computes the longitude
|
162
|
+
* @memberof Stereographic.prototype
|
163
|
+
* @type {number}
|
164
|
+
*/
|
165
|
+
longitude: {
|
166
|
+
get: function() {
|
167
|
+
let longitude = Math_default.PI_OVER_TWO + Math.atan2(this.y, this.x);
|
168
|
+
if (longitude > Math.PI) {
|
169
|
+
longitude -= Math_default.TWO_PI;
|
170
|
+
}
|
171
|
+
return longitude;
|
172
|
+
}
|
173
|
+
}
|
174
|
+
});
|
175
|
+
var scratchCartographic = new Cartographic_default();
|
176
|
+
var scratchCartesian = new Cartesian3_default();
|
177
|
+
Stereographic.prototype.getLatitude = function(ellipsoid) {
|
178
|
+
if (!defined_default(ellipsoid)) {
|
179
|
+
ellipsoid = Ellipsoid_default.default;
|
180
|
+
}
|
181
|
+
scratchCartographic.latitude = this.conformalLatitude;
|
182
|
+
scratchCartographic.longitude = this.longitude;
|
183
|
+
scratchCartographic.height = 0;
|
184
|
+
const cartesian = this.ellipsoid.cartographicToCartesian(
|
185
|
+
scratchCartographic,
|
186
|
+
scratchCartesian
|
187
|
+
);
|
188
|
+
ellipsoid.cartesianToCartographic(cartesian, scratchCartographic);
|
189
|
+
return scratchCartographic.latitude;
|
190
|
+
};
|
191
|
+
var scratchProjectPointOntoPlaneRay = new Ray_default();
|
192
|
+
var scratchProjectPointOntoPlaneRayDirection = new Cartesian3_default();
|
193
|
+
var scratchProjectPointOntoPlaneCartesian3 = new Cartesian3_default();
|
194
|
+
Stereographic.fromCartesian = function(cartesian, result) {
|
195
|
+
Check_default.defined("cartesian", cartesian);
|
196
|
+
const sign = Math_default.signNotZero(cartesian.z);
|
197
|
+
let tangentPlane = Stereographic.NORTH_POLE_TANGENT_PLANE;
|
198
|
+
let origin = Stereographic.SOUTH_POLE;
|
199
|
+
if (sign < 0) {
|
200
|
+
tangentPlane = Stereographic.SOUTH_POLE_TANGENT_PLANE;
|
201
|
+
origin = Stereographic.NORTH_POLE;
|
202
|
+
}
|
203
|
+
const ray = scratchProjectPointOntoPlaneRay;
|
204
|
+
ray.origin = tangentPlane.ellipsoid.scaleToGeocentricSurface(
|
205
|
+
cartesian,
|
206
|
+
ray.origin
|
207
|
+
);
|
208
|
+
ray.direction = Cartesian3_default.subtract(
|
209
|
+
ray.origin,
|
210
|
+
origin,
|
211
|
+
scratchProjectPointOntoPlaneRayDirection
|
212
|
+
);
|
213
|
+
Cartesian3_default.normalize(ray.direction, ray.direction);
|
214
|
+
const intersectionPoint = IntersectionTests_default.rayPlane(
|
215
|
+
ray,
|
216
|
+
tangentPlane.plane,
|
217
|
+
scratchProjectPointOntoPlaneCartesian3
|
218
|
+
);
|
219
|
+
const v = Cartesian3_default.subtract(intersectionPoint, origin, intersectionPoint);
|
220
|
+
const x = Cartesian3_default.dot(tangentPlane.xAxis, v);
|
221
|
+
const y = sign * Cartesian3_default.dot(tangentPlane.yAxis, v);
|
222
|
+
if (!defined_default(result)) {
|
223
|
+
return new Stereographic(new Cartesian2_default(x, y), tangentPlane);
|
224
|
+
}
|
225
|
+
result.position = new Cartesian2_default(x, y);
|
226
|
+
result.tangentPlane = tangentPlane;
|
227
|
+
return result;
|
228
|
+
};
|
229
|
+
Stereographic.fromCartesianArray = function(cartesians, result) {
|
230
|
+
Check_default.defined("cartesians", cartesians);
|
231
|
+
const length = cartesians.length;
|
232
|
+
if (!defined_default(result)) {
|
233
|
+
result = new Array(length);
|
234
|
+
} else {
|
235
|
+
result.length = length;
|
236
|
+
}
|
237
|
+
for (let i = 0; i < length; i++) {
|
238
|
+
result[i] = Stereographic.fromCartesian(cartesians[i], result[i]);
|
239
|
+
}
|
240
|
+
return result;
|
241
|
+
};
|
242
|
+
Stereographic.clone = function(stereographic, result) {
|
243
|
+
if (!defined_default(stereographic)) {
|
244
|
+
return void 0;
|
245
|
+
}
|
246
|
+
if (!defined_default(result)) {
|
247
|
+
return new Stereographic(
|
248
|
+
stereographic.position,
|
249
|
+
stereographic.tangentPlane
|
250
|
+
);
|
251
|
+
}
|
252
|
+
result.position = stereographic.position;
|
253
|
+
result.tangentPlane = stereographic.tangentPlane;
|
254
|
+
return result;
|
255
|
+
};
|
256
|
+
Stereographic.HALF_UNIT_SPHERE = Object.freeze(new Ellipsoid_default(0.5, 0.5, 0.5));
|
257
|
+
Stereographic.NORTH_POLE = Object.freeze(new Cartesian3_default(0, 0, 0.5));
|
258
|
+
Stereographic.SOUTH_POLE = Object.freeze(new Cartesian3_default(0, 0, -0.5));
|
259
|
+
Stereographic.NORTH_POLE_TANGENT_PLANE = Object.freeze(
|
260
|
+
new EllipsoidTangentPlane_default(
|
261
|
+
Stereographic.NORTH_POLE,
|
262
|
+
Stereographic.HALF_UNIT_SPHERE
|
263
|
+
)
|
264
|
+
);
|
265
|
+
Stereographic.SOUTH_POLE_TANGENT_PLANE = Object.freeze(
|
266
|
+
new EllipsoidTangentPlane_default(
|
267
|
+
Stereographic.SOUTH_POLE,
|
268
|
+
Stereographic.HALF_UNIT_SPHERE
|
269
|
+
)
|
270
|
+
);
|
271
|
+
var Stereographic_default = Stereographic;
|
105
272
|
|
106
273
|
// packages/engine/Source/Core/PolygonGeometry.js
|
107
274
|
var scratchCarto1 = new Cartographic_default();
|
@@ -144,7 +311,8 @@ function computeAttributes(options) {
|
|
144
311
|
const bottom = options.bottom || wall;
|
145
312
|
if (vertexFormat.st || vertexFormat.normal || vertexFormat.tangent || vertexFormat.bitangent || shadowVolume) {
|
146
313
|
const boundingRectangle = options.boundingRectangle;
|
147
|
-
const
|
314
|
+
const rotationAxis = options.rotationAxis;
|
315
|
+
const projectTo2d = options.projectTo2d;
|
148
316
|
const ellipsoid = options.ellipsoid;
|
149
317
|
const stRotation = options.stRotation;
|
150
318
|
const perPositionHeight = options.perPositionHeight;
|
@@ -173,13 +341,13 @@ function computeAttributes(options) {
|
|
173
341
|
let tangentRotationMatrix = tangentMatrixScratch;
|
174
342
|
if (stRotation !== 0) {
|
175
343
|
let rotation = Quaternion_default.fromAxisAngle(
|
176
|
-
|
344
|
+
rotationAxis,
|
177
345
|
stRotation,
|
178
346
|
appendTextureCoordinatesQuaternion
|
179
347
|
);
|
180
348
|
textureMatrix = Matrix3_default.fromQuaternion(rotation, textureMatrix);
|
181
349
|
rotation = Quaternion_default.fromAxisAngle(
|
182
|
-
|
350
|
+
rotationAxis,
|
183
351
|
-stRotation,
|
184
352
|
appendTextureCoordinatesQuaternion
|
185
353
|
);
|
@@ -215,10 +383,7 @@ function computeAttributes(options) {
|
|
215
383
|
scratchPosition
|
216
384
|
);
|
217
385
|
p = ellipsoid.scaleToGeodeticSurface(p, p);
|
218
|
-
const st =
|
219
|
-
p,
|
220
|
-
appendTextureCoordinatesCartesian2
|
221
|
-
);
|
386
|
+
const st = projectTo2d([p], appendTextureCoordinatesCartesian2)[0];
|
222
387
|
Cartesian2_default.subtract(st, origin, st);
|
223
388
|
const stx = Math_default.clamp(st.x / boundingRectangle.width, 0, 1);
|
224
389
|
const sty = Math_default.clamp(st.y / boundingRectangle.height, 0, 1);
|
@@ -439,101 +604,8 @@ function computeAttributes(options) {
|
|
439
604
|
}
|
440
605
|
return geometry;
|
441
606
|
}
|
442
|
-
var startCartographicScratch = new Cartographic_default();
|
443
|
-
var endCartographicScratch = new Cartographic_default();
|
444
|
-
var idlCross = {
|
445
|
-
westOverIDL: 0,
|
446
|
-
eastOverIDL: 0
|
447
|
-
};
|
448
|
-
var ellipsoidGeodesic = new EllipsoidGeodesic_default();
|
449
|
-
function computeRectangle(positions, ellipsoid, arcType, granularity, result) {
|
450
|
-
result = defaultValue_default(result, new Rectangle_default());
|
451
|
-
if (!defined_default(positions) || positions.length < 3) {
|
452
|
-
result.west = 0;
|
453
|
-
result.north = 0;
|
454
|
-
result.south = 0;
|
455
|
-
result.east = 0;
|
456
|
-
return result;
|
457
|
-
}
|
458
|
-
if (arcType === ArcType_default.RHUMB) {
|
459
|
-
return Rectangle_default.fromCartesianArray(positions, ellipsoid, result);
|
460
|
-
}
|
461
|
-
if (!ellipsoidGeodesic.ellipsoid.equals(ellipsoid)) {
|
462
|
-
ellipsoidGeodesic = new EllipsoidGeodesic_default(void 0, void 0, ellipsoid);
|
463
|
-
}
|
464
|
-
result.west = Number.POSITIVE_INFINITY;
|
465
|
-
result.east = Number.NEGATIVE_INFINITY;
|
466
|
-
result.south = Number.POSITIVE_INFINITY;
|
467
|
-
result.north = Number.NEGATIVE_INFINITY;
|
468
|
-
idlCross.westOverIDL = Number.POSITIVE_INFINITY;
|
469
|
-
idlCross.eastOverIDL = Number.NEGATIVE_INFINITY;
|
470
|
-
const inverseChordLength = 1 / Math_default.chordLength(granularity, ellipsoid.maximumRadius);
|
471
|
-
const positionsLength = positions.length;
|
472
|
-
let endCartographic = ellipsoid.cartesianToCartographic(
|
473
|
-
positions[0],
|
474
|
-
endCartographicScratch
|
475
|
-
);
|
476
|
-
let startCartographic = startCartographicScratch;
|
477
|
-
let swap;
|
478
|
-
for (let i = 1; i < positionsLength; i++) {
|
479
|
-
swap = startCartographic;
|
480
|
-
startCartographic = endCartographic;
|
481
|
-
endCartographic = ellipsoid.cartesianToCartographic(positions[i], swap);
|
482
|
-
ellipsoidGeodesic.setEndPoints(startCartographic, endCartographic);
|
483
|
-
interpolateAndGrowRectangle(
|
484
|
-
ellipsoidGeodesic,
|
485
|
-
inverseChordLength,
|
486
|
-
result,
|
487
|
-
idlCross
|
488
|
-
);
|
489
|
-
}
|
490
|
-
swap = startCartographic;
|
491
|
-
startCartographic = endCartographic;
|
492
|
-
endCartographic = ellipsoid.cartesianToCartographic(positions[0], swap);
|
493
|
-
ellipsoidGeodesic.setEndPoints(startCartographic, endCartographic);
|
494
|
-
interpolateAndGrowRectangle(
|
495
|
-
ellipsoidGeodesic,
|
496
|
-
inverseChordLength,
|
497
|
-
result,
|
498
|
-
idlCross
|
499
|
-
);
|
500
|
-
if (result.east - result.west > idlCross.eastOverIDL - idlCross.westOverIDL) {
|
501
|
-
result.west = idlCross.westOverIDL;
|
502
|
-
result.east = idlCross.eastOverIDL;
|
503
|
-
if (result.east > Math_default.PI) {
|
504
|
-
result.east = result.east - Math_default.TWO_PI;
|
505
|
-
}
|
506
|
-
if (result.west > Math_default.PI) {
|
507
|
-
result.west = result.west - Math_default.TWO_PI;
|
508
|
-
}
|
509
|
-
}
|
510
|
-
return result;
|
511
|
-
}
|
512
|
-
var interpolatedCartographicScratch = new Cartographic_default();
|
513
|
-
function interpolateAndGrowRectangle(ellipsoidGeodesic2, inverseChordLength, result, idlCross2) {
|
514
|
-
const segmentLength = ellipsoidGeodesic2.surfaceDistance;
|
515
|
-
const numPoints = Math.ceil(segmentLength * inverseChordLength);
|
516
|
-
const subsegmentDistance = numPoints > 0 ? segmentLength / (numPoints - 1) : Number.POSITIVE_INFINITY;
|
517
|
-
let interpolationDistance = 0;
|
518
|
-
for (let i = 0; i < numPoints; i++) {
|
519
|
-
const interpolatedCartographic = ellipsoidGeodesic2.interpolateUsingSurfaceDistance(
|
520
|
-
interpolationDistance,
|
521
|
-
interpolatedCartographicScratch
|
522
|
-
);
|
523
|
-
interpolationDistance += subsegmentDistance;
|
524
|
-
const longitude = interpolatedCartographic.longitude;
|
525
|
-
const latitude = interpolatedCartographic.latitude;
|
526
|
-
result.west = Math.min(result.west, longitude);
|
527
|
-
result.east = Math.max(result.east, longitude);
|
528
|
-
result.south = Math.min(result.south, latitude);
|
529
|
-
result.north = Math.max(result.north, latitude);
|
530
|
-
const lonAdjusted = longitude >= 0 ? longitude : longitude + Math_default.TWO_PI;
|
531
|
-
idlCross2.westOverIDL = Math.min(idlCross2.westOverIDL, lonAdjusted);
|
532
|
-
idlCross2.eastOverIDL = Math.max(idlCross2.eastOverIDL, lonAdjusted);
|
533
|
-
}
|
534
|
-
}
|
535
607
|
var createGeometryFromPositionsExtrudedPositions = [];
|
536
|
-
function createGeometryFromPositionsExtruded(ellipsoid,
|
608
|
+
function createGeometryFromPositionsExtruded(ellipsoid, polygon2, textureCoordinates, granularity, hierarchy, perPositionHeight, closeTop, closeBottom, vertexFormat, arcType) {
|
537
609
|
const geos = {
|
538
610
|
walls: []
|
539
611
|
};
|
@@ -541,7 +613,7 @@ function createGeometryFromPositionsExtruded(ellipsoid, polygon, textureCoordina
|
|
541
613
|
if (closeTop || closeBottom) {
|
542
614
|
const topGeo = PolygonGeometryLibrary_default.createGeometryFromPositions(
|
543
615
|
ellipsoid,
|
544
|
-
|
616
|
+
polygon2,
|
545
617
|
textureCoordinates,
|
546
618
|
granularity,
|
547
619
|
perPositionHeight,
|
@@ -599,7 +671,7 @@ function createGeometryFromPositionsExtruded(ellipsoid, polygon, textureCoordina
|
|
599
671
|
});
|
600
672
|
}
|
601
673
|
let outerRing = hierarchy.outerRing;
|
602
|
-
|
674
|
+
const tangentPlane = EllipsoidTangentPlane_default.fromPoints(outerRing, ellipsoid);
|
603
675
|
let positions2D = tangentPlane.projectPointsOntoPlane(
|
604
676
|
outerRing,
|
605
677
|
createGeometryFromPositionsExtrudedPositions
|
@@ -624,7 +696,6 @@ function createGeometryFromPositionsExtruded(ellipsoid, polygon, textureCoordina
|
|
624
696
|
const holes = hierarchy.holes;
|
625
697
|
for (i = 0; i < holes.length; i++) {
|
626
698
|
let hole = holes[i];
|
627
|
-
tangentPlane = EllipsoidTangentPlane_default.fromPoints(hole, ellipsoid);
|
628
699
|
positions2D = tangentPlane.projectPointsOntoPlane(
|
629
700
|
hole,
|
630
701
|
createGeometryFromPositionsExtrudedPositions
|
@@ -664,7 +735,7 @@ function PolygonGeometry(options) {
|
|
664
735
|
}
|
665
736
|
const polygonHierarchy = options.polygonHierarchy;
|
666
737
|
const vertexFormat = defaultValue_default(options.vertexFormat, VertexFormat_default.DEFAULT);
|
667
|
-
const ellipsoid = defaultValue_default(options.ellipsoid, Ellipsoid_default.
|
738
|
+
const ellipsoid = defaultValue_default(options.ellipsoid, Ellipsoid_default.default);
|
668
739
|
const granularity = defaultValue_default(
|
669
740
|
options.granularity,
|
670
741
|
Math_default.RADIANS_PER_DEGREE
|
@@ -833,29 +904,235 @@ PolygonGeometry.unpack = function(array, startingIndex, result) {
|
|
833
904
|
result.packedLength = packedLength;
|
834
905
|
return result;
|
835
906
|
};
|
836
|
-
|
837
|
-
|
838
|
-
|
839
|
-
|
840
|
-
|
841
|
-
|
907
|
+
var scratchCartesian0 = new Cartesian2_default();
|
908
|
+
var scratchCartesian1 = new Cartesian2_default();
|
909
|
+
var scratchPolarClosest = new Stereographic_default();
|
910
|
+
function expandRectangle(polar, lastPolar, ellipsoid, arcType, polygon2, result) {
|
911
|
+
const longitude = polar.longitude;
|
912
|
+
const lonAdjusted = longitude >= 0 ? longitude : longitude + Math_default.TWO_PI;
|
913
|
+
polygon2.westOverIdl = Math.min(polygon2.westOverIdl, lonAdjusted);
|
914
|
+
polygon2.eastOverIdl = Math.max(polygon2.eastOverIdl, lonAdjusted);
|
915
|
+
result.west = Math.min(result.west, longitude);
|
916
|
+
result.east = Math.max(result.east, longitude);
|
917
|
+
const latitude = polar.getLatitude(ellipsoid);
|
918
|
+
let segmentLatitude = latitude;
|
919
|
+
result.south = Math.min(result.south, latitude);
|
920
|
+
result.north = Math.max(result.north, latitude);
|
921
|
+
if (arcType !== ArcType_default.RHUMB) {
|
922
|
+
const segment = Cartesian2_default.subtract(
|
923
|
+
lastPolar.position,
|
924
|
+
polar.position,
|
925
|
+
scratchCartesian0
|
926
|
+
);
|
927
|
+
const t = Cartesian2_default.dot(lastPolar.position, segment) / Cartesian2_default.dot(segment, segment);
|
928
|
+
if (t > 0 && t < 1) {
|
929
|
+
const projected = Cartesian2_default.add(
|
930
|
+
lastPolar.position,
|
931
|
+
Cartesian2_default.multiplyByScalar(segment, -t, segment),
|
932
|
+
scratchCartesian1
|
933
|
+
);
|
934
|
+
const closestPolar = Stereographic_default.clone(lastPolar, scratchPolarClosest);
|
935
|
+
closestPolar.position = projected;
|
936
|
+
const adjustedLatitude = closestPolar.getLatitude(ellipsoid);
|
937
|
+
result.south = Math.min(result.south, adjustedLatitude);
|
938
|
+
result.north = Math.max(result.north, adjustedLatitude);
|
939
|
+
if (Math.abs(latitude) > Math.abs(adjustedLatitude)) {
|
940
|
+
segmentLatitude = adjustedLatitude;
|
941
|
+
}
|
942
|
+
}
|
943
|
+
}
|
944
|
+
const direction = lastPolar.x * polar.y - polar.x * lastPolar.y;
|
945
|
+
let angle = Math.sign(direction);
|
946
|
+
if (angle !== 0) {
|
947
|
+
angle *= Cartesian2_default.angleBetween(lastPolar.position, polar.position);
|
948
|
+
}
|
949
|
+
if (segmentLatitude >= 0) {
|
950
|
+
polygon2.northAngle += angle;
|
951
|
+
}
|
952
|
+
if (segmentLatitude <= 0) {
|
953
|
+
polygon2.southAngle += angle;
|
954
|
+
}
|
955
|
+
}
|
956
|
+
var scratchPolar = new Stereographic_default();
|
957
|
+
var scratchPolarPrevious = new Stereographic_default();
|
958
|
+
var polygon = {
|
959
|
+
northAngle: 0,
|
960
|
+
southAngle: 0,
|
961
|
+
westOverIdl: 0,
|
962
|
+
eastOverIdl: 0
|
963
|
+
};
|
964
|
+
PolygonGeometry.computeRectangleFromPositions = function(positions, ellipsoid, arcType, result) {
|
965
|
+
Check_default.defined("positions", positions);
|
966
|
+
if (!defined_default(result)) {
|
967
|
+
result = new Rectangle_default();
|
968
|
+
}
|
969
|
+
if (positions.length < 3) {
|
970
|
+
return result;
|
971
|
+
}
|
972
|
+
result.west = Number.POSITIVE_INFINITY;
|
973
|
+
result.east = Number.NEGATIVE_INFINITY;
|
974
|
+
result.south = Number.POSITIVE_INFINITY;
|
975
|
+
result.north = Number.NEGATIVE_INFINITY;
|
976
|
+
polygon.northAngle = 0;
|
977
|
+
polygon.southAngle = 0;
|
978
|
+
polygon.westOverIdl = Number.POSITIVE_INFINITY;
|
979
|
+
polygon.eastOverIdl = Number.NEGATIVE_INFINITY;
|
980
|
+
const positionsLength = positions.length;
|
981
|
+
let lastPolarPosition = Stereographic_default.fromCartesian(
|
982
|
+
positions[0],
|
983
|
+
scratchPolarPrevious
|
842
984
|
);
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
|
985
|
+
for (let i = 1; i < positionsLength; i++) {
|
986
|
+
const polarPosition = Stereographic_default.fromCartesian(
|
987
|
+
positions[i],
|
988
|
+
scratchPolar
|
989
|
+
);
|
990
|
+
expandRectangle(
|
991
|
+
polarPosition,
|
992
|
+
lastPolarPosition,
|
993
|
+
ellipsoid,
|
994
|
+
arcType,
|
995
|
+
polygon,
|
996
|
+
result
|
847
997
|
);
|
998
|
+
lastPolarPosition = Stereographic_default.clone(polarPosition, lastPolarPosition);
|
848
999
|
}
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
polygonHierarchy.positions,
|
1000
|
+
expandRectangle(
|
1001
|
+
Stereographic_default.fromCartesian(positions[0], scratchPolar),
|
1002
|
+
lastPolarPosition,
|
853
1003
|
ellipsoid,
|
854
1004
|
arcType,
|
855
|
-
|
1005
|
+
polygon,
|
856
1006
|
result
|
857
1007
|
);
|
1008
|
+
if (result.east - result.west > polygon.eastOverIdl - polygon.westOverIdl) {
|
1009
|
+
result.west = polygon.westOverIdl;
|
1010
|
+
result.east = polygon.eastOverIdl;
|
1011
|
+
if (result.east > Math_default.PI) {
|
1012
|
+
result.east = result.east - Math_default.TWO_PI;
|
1013
|
+
}
|
1014
|
+
if (result.west > Math_default.PI) {
|
1015
|
+
result.west = result.west - Math_default.TWO_PI;
|
1016
|
+
}
|
1017
|
+
}
|
1018
|
+
if (Math_default.equalsEpsilon(
|
1019
|
+
Math.abs(polygon.northAngle),
|
1020
|
+
Math_default.TWO_PI,
|
1021
|
+
Math_default.EPSILON10
|
1022
|
+
)) {
|
1023
|
+
result.north = Math_default.PI_OVER_TWO;
|
1024
|
+
result.east = Math_default.PI;
|
1025
|
+
result.west = -Math_default.PI;
|
1026
|
+
}
|
1027
|
+
if (Math_default.equalsEpsilon(
|
1028
|
+
Math.abs(polygon.southAngle),
|
1029
|
+
Math_default.TWO_PI,
|
1030
|
+
Math_default.EPSILON10
|
1031
|
+
)) {
|
1032
|
+
result.south = -Math_default.PI_OVER_TWO;
|
1033
|
+
result.east = Math_default.PI;
|
1034
|
+
result.west = -Math_default.PI;
|
1035
|
+
}
|
1036
|
+
return result;
|
858
1037
|
};
|
1038
|
+
var scratchPolarForPlane = new Stereographic_default();
|
1039
|
+
function getTangentPlane(rectangle, positions, ellipsoid) {
|
1040
|
+
if (rectangle.height >= Math_default.PI || rectangle.width >= Math_default.PI) {
|
1041
|
+
const polar = Stereographic_default.fromCartesian(
|
1042
|
+
positions[0],
|
1043
|
+
scratchPolarForPlane
|
1044
|
+
);
|
1045
|
+
return polar.tangentPlane;
|
1046
|
+
}
|
1047
|
+
return EllipsoidTangentPlane_default.fromPoints(positions, ellipsoid);
|
1048
|
+
}
|
1049
|
+
var scratchCartographicCyllindrical = new Cartographic_default();
|
1050
|
+
function createProjectTo2d(rectangle, outerPositions, ellipsoid) {
|
1051
|
+
return (positions, results) => {
|
1052
|
+
if (rectangle.height >= Math_default.PI || rectangle.width >= Math_default.PI) {
|
1053
|
+
if (rectangle.south < 0 && rectangle.north > 0) {
|
1054
|
+
if (!defined_default(results)) {
|
1055
|
+
results = [];
|
1056
|
+
}
|
1057
|
+
for (let i = 0; i < positions.length; ++i) {
|
1058
|
+
const cartographic = ellipsoid.cartesianToCartographic(
|
1059
|
+
positions[i],
|
1060
|
+
scratchCartographicCyllindrical
|
1061
|
+
);
|
1062
|
+
results[i] = new Cartesian2_default(
|
1063
|
+
cartographic.longitude / Math_default.PI,
|
1064
|
+
cartographic.latitude / Math_default.PI_OVER_TWO
|
1065
|
+
);
|
1066
|
+
}
|
1067
|
+
results.length = positions.length;
|
1068
|
+
return results;
|
1069
|
+
}
|
1070
|
+
return Stereographic_default.fromCartesianArray(positions, results);
|
1071
|
+
}
|
1072
|
+
const tangentPlane = EllipsoidTangentPlane_default.fromPoints(
|
1073
|
+
outerPositions,
|
1074
|
+
ellipsoid
|
1075
|
+
);
|
1076
|
+
return tangentPlane.projectPointsOntoPlane(positions, results);
|
1077
|
+
};
|
1078
|
+
}
|
1079
|
+
function createProjectPositionTo2d(rectangle, outerRing, ellipsoid) {
|
1080
|
+
if (rectangle.height >= Math_default.PI || rectangle.width >= Math_default.PI) {
|
1081
|
+
return (position, result) => {
|
1082
|
+
if (rectangle.south < 0 && rectangle.north > 0) {
|
1083
|
+
const cartographic = ellipsoid.cartesianToCartographic(
|
1084
|
+
position,
|
1085
|
+
scratchCartographicCyllindrical
|
1086
|
+
);
|
1087
|
+
if (!defined_default(result)) {
|
1088
|
+
result = new Cartesian2_default();
|
1089
|
+
}
|
1090
|
+
result.x = cartographic.longitude / Math_default.PI;
|
1091
|
+
result.y = cartographic.latitude / Math_default.PI_OVER_TWO;
|
1092
|
+
return result;
|
1093
|
+
}
|
1094
|
+
return Stereographic_default.fromCartesian(position, result);
|
1095
|
+
};
|
1096
|
+
}
|
1097
|
+
const tangentPlane = EllipsoidTangentPlane_default.fromPoints(outerRing, ellipsoid);
|
1098
|
+
return (position, result) => {
|
1099
|
+
return tangentPlane.projectPointsOntoPlane(position, result);
|
1100
|
+
};
|
1101
|
+
}
|
1102
|
+
function createSplitPolygons(rectangle, ellipsoid, arcType, perPositionHeight) {
|
1103
|
+
return (polygons, results) => {
|
1104
|
+
if (!perPositionHeight && (rectangle.height >= Math_default.PI_OVER_TWO || rectangle.width >= 2 * Math_default.PI_OVER_THREE)) {
|
1105
|
+
return PolygonGeometryLibrary_default.splitPolygonsOnEquator(
|
1106
|
+
polygons,
|
1107
|
+
ellipsoid,
|
1108
|
+
arcType,
|
1109
|
+
results
|
1110
|
+
);
|
1111
|
+
}
|
1112
|
+
return polygons;
|
1113
|
+
};
|
1114
|
+
}
|
1115
|
+
function computeBoundingRectangle(outerRing, rectangle, ellipsoid, stRotation) {
|
1116
|
+
if (rectangle.height >= Math_default.PI || rectangle.width >= Math_default.PI) {
|
1117
|
+
return BoundingRectangle_default.fromRectangle(
|
1118
|
+
rectangle,
|
1119
|
+
void 0,
|
1120
|
+
scratchBoundingRectangle
|
1121
|
+
);
|
1122
|
+
}
|
1123
|
+
const outerPositions = outerRing;
|
1124
|
+
const tangentPlane = EllipsoidTangentPlane_default.fromPoints(
|
1125
|
+
outerPositions,
|
1126
|
+
ellipsoid
|
1127
|
+
);
|
1128
|
+
return PolygonGeometryLibrary_default.computeBoundingRectangle(
|
1129
|
+
tangentPlane.plane.normal,
|
1130
|
+
tangentPlane.projectPointOntoPlane.bind(tangentPlane),
|
1131
|
+
outerPositions,
|
1132
|
+
stRotation,
|
1133
|
+
scratchBoundingRectangle
|
1134
|
+
);
|
1135
|
+
}
|
859
1136
|
PolygonGeometry.createGeometry = function(polygonGeometry) {
|
860
1137
|
const vertexFormat = polygonGeometry._vertexFormat;
|
861
1138
|
const ellipsoid = polygonGeometry._ellipsoid;
|
@@ -868,20 +1145,18 @@ PolygonGeometry.createGeometry = function(polygonGeometry) {
|
|
868
1145
|
const arcType = polygonGeometry._arcType;
|
869
1146
|
const textureCoordinates = polygonGeometry._textureCoordinates;
|
870
1147
|
const hasTextureCoordinates = defined_default(textureCoordinates);
|
871
|
-
|
1148
|
+
const outerPositions = polygonHierarchy.positions;
|
872
1149
|
if (outerPositions.length < 3) {
|
873
1150
|
return;
|
874
1151
|
}
|
875
|
-
const
|
876
|
-
outerPositions,
|
877
|
-
ellipsoid
|
878
|
-
);
|
1152
|
+
const rectangle = polygonGeometry.rectangle;
|
879
1153
|
const results = PolygonGeometryLibrary_default.polygonsFromHierarchy(
|
880
1154
|
polygonHierarchy,
|
881
1155
|
hasTextureCoordinates,
|
882
|
-
|
1156
|
+
createProjectTo2d(rectangle, outerPositions, ellipsoid),
|
883
1157
|
!perPositionHeight,
|
884
|
-
ellipsoid
|
1158
|
+
ellipsoid,
|
1159
|
+
createSplitPolygons(rectangle, ellipsoid, arcType, perPositionHeight)
|
885
1160
|
);
|
886
1161
|
const hierarchy = results.hierarchy;
|
887
1162
|
const polygons = results.polygons;
|
@@ -892,18 +1167,18 @@ PolygonGeometry.createGeometry = function(polygonGeometry) {
|
|
892
1167
|
textureCoordinates,
|
893
1168
|
true,
|
894
1169
|
dummyFunction,
|
895
|
-
false
|
1170
|
+
false,
|
1171
|
+
ellipsoid
|
896
1172
|
).polygons : void 0;
|
897
1173
|
if (hierarchy.length === 0) {
|
898
1174
|
return;
|
899
1175
|
}
|
900
|
-
|
901
|
-
const boundingRectangle =
|
902
|
-
|
903
|
-
|
904
|
-
|
905
|
-
stRotation
|
906
|
-
scratchBoundingRectangle
|
1176
|
+
const outerRing = hierarchy[0].outerRing;
|
1177
|
+
const boundingRectangle = computeBoundingRectangle(
|
1178
|
+
outerRing,
|
1179
|
+
rectangle,
|
1180
|
+
ellipsoid,
|
1181
|
+
stRotation
|
907
1182
|
);
|
908
1183
|
const geometries = [];
|
909
1184
|
const height = polygonGeometry._height;
|
@@ -913,7 +1188,8 @@ PolygonGeometry.createGeometry = function(polygonGeometry) {
|
|
913
1188
|
perPositionHeight,
|
914
1189
|
vertexFormat,
|
915
1190
|
geometry: void 0,
|
916
|
-
|
1191
|
+
rotationAxis: getTangentPlane(rectangle, outerRing, ellipsoid).plane.normal,
|
1192
|
+
projectTo2d: createProjectPositionTo2d(rectangle, outerRing, ellipsoid),
|
917
1193
|
boundingRectangle,
|
918
1194
|
ellipsoid,
|
919
1195
|
stRotation,
|
@@ -1093,11 +1369,10 @@ Object.defineProperties(PolygonGeometry.prototype, {
|
|
1093
1369
|
get: function() {
|
1094
1370
|
if (!defined_default(this._rectangle)) {
|
1095
1371
|
const positions = this._polygonHierarchy.positions;
|
1096
|
-
this._rectangle =
|
1372
|
+
this._rectangle = PolygonGeometry.computeRectangleFromPositions(
|
1097
1373
|
positions,
|
1098
1374
|
this._ellipsoid,
|
1099
|
-
this._arcType
|
1100
|
-
this._granularity
|
1375
|
+
this._arcType
|
1101
1376
|
);
|
1102
1377
|
}
|
1103
1378
|
return this._rectangle;
|