@rtzh/engine 0.0.7 → 0.0.9
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/Build/Workers/chunk-2B7VLWK3.js +58 -0
- package/Build/Workers/chunk-2CZLDPAQ.js +101 -0
- package/Build/Workers/chunk-2LMIHR6B.js +73 -0
- package/Build/Workers/chunk-2ZR6KBRW.js +8366 -0
- package/Build/Workers/chunk-32GOIUYC.js +139 -0
- package/Build/Workers/chunk-37WPNI52.js +55 -0
- package/Build/Workers/chunk-3L7XBXFS.js +124 -0
- package/Build/Workers/chunk-3QLIXW6V.js +778 -0
- package/Build/Workers/chunk-3SVEN5QG.js +288 -0
- package/Build/Workers/chunk-3YO7HM5H.js +476 -0
- package/Build/Workers/chunk-3ZDA3MBK.js +114 -0
- package/Build/Workers/chunk-45SKJP37.js +102 -0
- package/Build/Workers/chunk-4C4UR2S6.js +682 -0
- package/Build/Workers/chunk-4DQ3ODGO.js +629 -0
- package/Build/Workers/chunk-4SZJ3KRD.js +497 -0
- package/Build/Workers/chunk-4UBPBH32.js +162 -0
- package/Build/Workers/chunk-5A4OWIAY.js +511 -0
- package/Build/Workers/chunk-5D3ECYS3.js +97 -0
- package/Build/Workers/chunk-5IOA3NCI.js +8366 -0
- package/Build/Workers/chunk-5UKR42KW.js +1483 -0
- package/Build/Workers/chunk-5WAMP6Z4.js +299 -0
- package/Build/Workers/chunk-6F4HKBHD.js +352 -0
- package/Build/Workers/chunk-6HB2DMC2.js +2719 -0
- package/Build/Workers/chunk-6J63N735.js +171 -0
- package/Build/Workers/chunk-72YPCD72.js +1067 -0
- package/Build/Workers/chunk-7AS3X42P.js +682 -0
- package/Build/Workers/chunk-7BQLJI3P.js +692 -0
- package/Build/Workers/chunk-7EU3DIKZ.js +3514 -0
- package/Build/Workers/chunk-AFZVC5JN.js +778 -0
- package/Build/Workers/chunk-ASGXCLGL.js +97 -0
- package/Build/Workers/chunk-BGG3BP2R.js +280 -0
- package/Build/Workers/chunk-BQRZMSMM.js +102 -0
- package/Build/Workers/chunk-BYTLHM7N.js +414 -0
- package/Build/Workers/chunk-CR6BZUQC.js +1443 -0
- package/Build/Workers/chunk-CV5JLCHF.js +387 -0
- package/Build/Workers/chunk-CXDJ7YNS.js +305 -0
- package/Build/Workers/chunk-DBM2NHJ5.js +352 -0
- package/Build/Workers/chunk-DLRIAMQF.js +1800 -0
- package/Build/Workers/chunk-DPTYP7J3.js +75 -0
- package/Build/Workers/chunk-E7SFSMUX.js +44 -0
- package/Build/Workers/chunk-EE4T7VKT.js +368 -0
- package/Build/Workers/chunk-ENIF6OQ5.js +139 -0
- package/Build/Workers/chunk-ET7K6FSD.js +398 -0
- package/Build/Workers/chunk-F6JVBOM5.js +788 -0
- package/Build/Workers/chunk-F7IITURY.js +497 -0
- package/Build/Workers/chunk-FRF5LWIM.js +299 -0
- package/Build/Workers/chunk-GMOKUODV.js +352 -0
- package/Build/Workers/chunk-GPWELPVQ.js +198 -0
- package/Build/Workers/chunk-H3BSU65R.js +1067 -0
- package/Build/Workers/chunk-HEFUSHA6.js +3514 -0
- package/Build/Workers/chunk-HKSICPYV.js +55 -0
- package/Build/Workers/chunk-I7LWED3Z.js +101 -0
- package/Build/Workers/chunk-IHOM6QXV.js +439 -0
- package/Build/Workers/chunk-IK4D64GY.js +439 -0
- package/Build/Workers/chunk-IVDXHQYL.js +124 -0
- package/Build/Workers/chunk-J2S3WMUZ.js +642 -0
- package/Build/Workers/chunk-JM4TFRYQ.js +163 -0
- package/Build/Workers/chunk-JNNIPGJU.js +163 -0
- package/Build/Workers/chunk-JQ7IQ56G.js +837 -0
- package/Build/Workers/chunk-K2PUGKEO.js +2058 -0
- package/Build/Workers/chunk-KMJD5APO.js +162 -0
- package/Build/Workers/chunk-KWX3CJFT.js +198 -0
- package/Build/Workers/chunk-L33HPENB.js +75 -0
- package/Build/Workers/chunk-LFQ63ZU4.js +455 -0
- package/Build/Workers/chunk-LHJDLAZT.js +1483 -0
- package/Build/Workers/chunk-LSGHTNF5.js +511 -0
- package/Build/Workers/chunk-LVU4AZC6.js +219 -0
- package/Build/Workers/chunk-LXOUU2I5.js +219 -0
- package/Build/Workers/chunk-M7EEEKQE.js +476 -0
- package/Build/Workers/chunk-MXKQUDTP.js +55 -0
- package/Build/Workers/chunk-NEF7XO5W.js +940 -0
- package/Build/Workers/chunk-NL7US44X.js +171 -0
- package/Build/Workers/chunk-NSRZZEHH.js +455 -0
- package/Build/Workers/chunk-NUMQ72QV.js +55 -0
- package/Build/Workers/chunk-O4MZOV3C.js +414 -0
- package/Build/Workers/chunk-OOIZ7CHP.js +114 -0
- package/Build/Workers/chunk-OX4DGIUJ.js +788 -0
- package/Build/Workers/chunk-PEEYBEL5.js +2058 -0
- package/Build/Workers/chunk-PEUDXOFI.js +241 -0
- package/Build/Workers/chunk-PKXFFIEZ.js +57 -0
- package/Build/Workers/chunk-Q2X2Z7JH.js +241 -0
- package/Build/Workers/chunk-QFN5B75P.js +1054 -0
- package/Build/Workers/chunk-QOLOPE4O.js +1317 -0
- package/Build/Workers/chunk-RGD6RGTH.js +138 -0
- package/Build/Workers/chunk-RJ564LVX.js +398 -0
- package/Build/Workers/chunk-RNZ5L3W4.js +387 -0
- package/Build/Workers/chunk-SPPYSEH2.js +1460 -0
- package/Build/Workers/chunk-SSE2O2SB.js +1460 -0
- package/Build/Workers/chunk-SX6GJD6B.js +837 -0
- package/Build/Workers/chunk-SXISWCV7.js +58 -0
- package/Build/Workers/chunk-TBEKWAR5.js +73 -0
- package/Build/Workers/chunk-TE277WT3.js +280 -0
- package/Build/Workers/chunk-TFL2ZV77.js +692 -0
- package/Build/Workers/chunk-THWXTO7B.js +57 -0
- package/Build/Workers/chunk-TSNKYHSC.js +305 -0
- package/Build/Workers/chunk-TYQ7MNMK.js +37 -0
- package/Build/Workers/chunk-ULWO6TCN.js +352 -0
- package/Build/Workers/chunk-UQSQNTEF.js +368 -0
- package/Build/Workers/chunk-USWXYJRX.js +1045 -0
- package/Build/Workers/chunk-UTDSEOTC.js +288 -0
- package/Build/Workers/chunk-UUKLWTJC.js +2719 -0
- package/Build/Workers/chunk-V7QHEF6O.js +1317 -0
- package/Build/Workers/chunk-VFC54WB7.js +940 -0
- package/Build/Workers/chunk-VG7NX64T.js +37 -0
- package/Build/Workers/chunk-VIMRGSM5.js +256 -0
- package/Build/Workers/chunk-VL4QTEZC.js +138 -0
- package/Build/Workers/chunk-W3LNGBJU.js +44 -0
- package/Build/Workers/chunk-WDMHDACX.js +1800 -0
- package/Build/Workers/chunk-WF224D4A.js +642 -0
- package/Build/Workers/chunk-WZJEAPEP.js +629 -0
- package/Build/Workers/chunk-XHGB5IOL.js +1045 -0
- package/Build/Workers/chunk-XZN7KCY3.js +1054 -0
- package/Build/Workers/chunk-YWPKCFKZ.js +1443 -0
- package/Build/Workers/chunk-ZEEVOFG2.js +256 -0
- package/Build/Workers/combineGeometry.js +24 -24
- package/Build/Workers/createBoxGeometry.js +18 -18
- package/Build/Workers/createBoxOutlineGeometry.js +16 -16
- package/Build/Workers/createCircleGeometry.js +26 -26
- package/Build/Workers/createCircleOutlineGeometry.js +19 -19
- package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
- package/Build/Workers/createCorridorGeometry.js +29 -29
- package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
- package/Build/Workers/createCylinderGeometry.js +20 -20
- package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
- package/Build/Workers/createEllipseGeometry.js +26 -26
- package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
- package/Build/Workers/createEllipsoidGeometry.js +19 -19
- package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
- package/Build/Workers/createFrustumGeometry.js +18 -18
- package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
- package/Build/Workers/createGeometry.js +24 -24
- package/Build/Workers/createGroundPolylineGeometry.js +22 -22
- package/Build/Workers/createPlaneGeometry.js +16 -16
- package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
- package/Build/Workers/createPolygonGeometry.js +32 -32
- package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
- package/Build/Workers/createPolylineGeometry.js +25 -25
- package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
- package/Build/Workers/createRectangleGeometry.js +27 -27
- package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
- package/Build/Workers/createSimplePolylineGeometry.js +23 -23
- package/Build/Workers/createSphereGeometry.js +19 -19
- package/Build/Workers/createSphereOutlineGeometry.js +18 -18
- package/Build/Workers/createTaskProcessorWorker.js +3 -3
- package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
- package/Build/Workers/createVectorTileGeometries.js +24 -24
- package/Build/Workers/createVectorTilePoints.js +13 -13
- package/Build/Workers/createVectorTilePolygons.js +22 -22
- package/Build/Workers/createVectorTilePolylines.js +14 -14
- package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
- package/Build/Workers/createVerticesFromHeightmap.js +22 -22
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
- package/Build/Workers/createWallGeometry.js +24 -24
- package/Build/Workers/createWallOutlineGeometry.js +23 -23
- package/Build/Workers/decodeDraco.js +10 -10
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
- package/Build/Workers/decodeI3S.js +10 -10
- package/Build/Workers/gaussianSplatSorter.js +4 -4
- package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
- package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
- package/Build/Workers/transcodeKTX2.js +6 -6
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
- package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
- package/Source/Scene/Cesium3DTileset.js +1 -7
- package/Source/Scene/Model/BarycentricWireframePipelineStage.js +79 -95
- package/Source/Scene/Model/Model.js +15 -15
- package/Source/Scene/Model/Model3DTileContent.js +16 -33
- package/Source/Shaders/Model/ModelFS.glsl +7 -10
- package/Source/Shaders/Model/ModelFS.js +7 -10
- package/Source/Shaders/Model/ModelVS.glsl +2 -1
- package/Source/Shaders/Model/ModelVS.js +2 -1
- package/index.js +136 -136
- package/package.json +1 -1
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Cesium - https://github.com/CesiumGS/cesium
|
|
4
|
+
* Version 0.0.10
|
|
5
|
+
*
|
|
6
|
+
* Copyright 2011-2022 Cesium Contributors
|
|
7
|
+
*
|
|
8
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
* you may not use this file except in compliance with the License.
|
|
10
|
+
* You may obtain a copy of the License at
|
|
11
|
+
*
|
|
12
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
+
*
|
|
14
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
15
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
17
|
+
* See the License for the specific language governing permissions and
|
|
18
|
+
* limitations under the License.
|
|
19
|
+
*
|
|
20
|
+
* Columbus View (Pat. Pend.)
|
|
21
|
+
*
|
|
22
|
+
* Portions licensed separately.
|
|
23
|
+
* See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
var __create = Object.create;
|
|
27
|
+
var __defProp = Object.defineProperty;
|
|
28
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
29
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
30
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
31
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
32
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
33
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
34
|
+
}) : x)(function(x) {
|
|
35
|
+
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
36
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
37
|
+
});
|
|
38
|
+
var __glob = (map) => (path) => {
|
|
39
|
+
var fn = map[path];
|
|
40
|
+
if (fn) return fn();
|
|
41
|
+
throw new Error("Module not found in bundle: " + path);
|
|
42
|
+
};
|
|
43
|
+
var __commonJS = (cb, mod) => function __require2() {
|
|
44
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
45
|
+
};
|
|
46
|
+
var __copyProps = (to, from, except, desc) => {
|
|
47
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
48
|
+
for (let key of __getOwnPropNames(from))
|
|
49
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
50
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
51
|
+
}
|
|
52
|
+
return to;
|
|
53
|
+
};
|
|
54
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
55
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
56
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
57
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
58
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
59
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
60
|
+
mod
|
|
61
|
+
));
|
|
62
|
+
|
|
63
|
+
// packages/engine/Source/Core/defined.js
|
|
64
|
+
function defined(value) {
|
|
65
|
+
return value !== void 0 && value !== null;
|
|
66
|
+
}
|
|
67
|
+
var defined_default = defined;
|
|
68
|
+
|
|
69
|
+
export {
|
|
70
|
+
__require,
|
|
71
|
+
__glob,
|
|
72
|
+
__commonJS,
|
|
73
|
+
__toESM,
|
|
74
|
+
defined_default
|
|
75
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Cesium - https://github.com/CesiumGS/cesium
|
|
4
|
+
* Version 0.0.10
|
|
5
|
+
*
|
|
6
|
+
* Copyright 2011-2022 Cesium Contributors
|
|
7
|
+
*
|
|
8
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
* you may not use this file except in compliance with the License.
|
|
10
|
+
* You may obtain a copy of the License at
|
|
11
|
+
*
|
|
12
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
+
*
|
|
14
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
15
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
17
|
+
* See the License for the specific language governing permissions and
|
|
18
|
+
* limitations under the License.
|
|
19
|
+
*
|
|
20
|
+
* Columbus View (Pat. Pend.)
|
|
21
|
+
*
|
|
22
|
+
* Portions licensed separately.
|
|
23
|
+
* See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
import {
|
|
27
|
+
Frozen_default
|
|
28
|
+
} from "./chunk-YWPKCFKZ.js";
|
|
29
|
+
|
|
30
|
+
// packages/engine/Source/Core/GeometryAttributes.js
|
|
31
|
+
function GeometryAttributes(options) {
|
|
32
|
+
options = options ?? Frozen_default.EMPTY_OBJECT;
|
|
33
|
+
this.position = options.position;
|
|
34
|
+
this.normal = options.normal;
|
|
35
|
+
this.st = options.st;
|
|
36
|
+
this.bitangent = options.bitangent;
|
|
37
|
+
this.tangent = options.tangent;
|
|
38
|
+
this.color = options.color;
|
|
39
|
+
}
|
|
40
|
+
var GeometryAttributes_default = GeometryAttributes;
|
|
41
|
+
|
|
42
|
+
export {
|
|
43
|
+
GeometryAttributes_default
|
|
44
|
+
};
|
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Cesium - https://github.com/CesiumGS/cesium
|
|
4
|
+
* Version 0.0.10
|
|
5
|
+
*
|
|
6
|
+
* Copyright 2011-2022 Cesium Contributors
|
|
7
|
+
*
|
|
8
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
* you may not use this file except in compliance with the License.
|
|
10
|
+
* You may obtain a copy of the License at
|
|
11
|
+
*
|
|
12
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
+
*
|
|
14
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
15
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
17
|
+
* See the License for the specific language governing permissions and
|
|
18
|
+
* limitations under the License.
|
|
19
|
+
*
|
|
20
|
+
* Columbus View (Pat. Pend.)
|
|
21
|
+
*
|
|
22
|
+
* Portions licensed separately.
|
|
23
|
+
* See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
import {
|
|
27
|
+
GeometryOffsetAttribute_default
|
|
28
|
+
} from "./chunk-TYQ7MNMK.js";
|
|
29
|
+
import {
|
|
30
|
+
IndexDatatype_default
|
|
31
|
+
} from "./chunk-32GOIUYC.js";
|
|
32
|
+
import {
|
|
33
|
+
GeometryAttributes_default
|
|
34
|
+
} from "./chunk-E7SFSMUX.js";
|
|
35
|
+
import {
|
|
36
|
+
GeometryAttribute_default,
|
|
37
|
+
Geometry_default,
|
|
38
|
+
PrimitiveType_default
|
|
39
|
+
} from "./chunk-FRF5LWIM.js";
|
|
40
|
+
import {
|
|
41
|
+
BoundingSphere_default
|
|
42
|
+
} from "./chunk-VFC54WB7.js";
|
|
43
|
+
import {
|
|
44
|
+
ComponentDatatype_default
|
|
45
|
+
} from "./chunk-VIMRGSM5.js";
|
|
46
|
+
import {
|
|
47
|
+
Ellipsoid_default
|
|
48
|
+
} from "./chunk-SSE2O2SB.js";
|
|
49
|
+
import {
|
|
50
|
+
Cartesian3_default,
|
|
51
|
+
Frozen_default
|
|
52
|
+
} from "./chunk-YWPKCFKZ.js";
|
|
53
|
+
import {
|
|
54
|
+
Math_default
|
|
55
|
+
} from "./chunk-F7IITURY.js";
|
|
56
|
+
import {
|
|
57
|
+
DeveloperError_default
|
|
58
|
+
} from "./chunk-JNNIPGJU.js";
|
|
59
|
+
import {
|
|
60
|
+
defined_default
|
|
61
|
+
} from "./chunk-DPTYP7J3.js";
|
|
62
|
+
|
|
63
|
+
// packages/engine/Source/Core/EllipsoidOutlineGeometry.js
|
|
64
|
+
var defaultRadii = new Cartesian3_default(1, 1, 1);
|
|
65
|
+
var cos = Math.cos;
|
|
66
|
+
var sin = Math.sin;
|
|
67
|
+
function EllipsoidOutlineGeometry(options) {
|
|
68
|
+
options = options ?? Frozen_default.EMPTY_OBJECT;
|
|
69
|
+
const radii = options.radii ?? defaultRadii;
|
|
70
|
+
const innerRadii = options.innerRadii ?? radii;
|
|
71
|
+
const minimumClock = options.minimumClock ?? 0;
|
|
72
|
+
const maximumClock = options.maximumClock ?? Math_default.TWO_PI;
|
|
73
|
+
const minimumCone = options.minimumCone ?? 0;
|
|
74
|
+
const maximumCone = options.maximumCone ?? Math_default.PI;
|
|
75
|
+
const stackPartitions = Math.round(options.stackPartitions ?? 10);
|
|
76
|
+
const slicePartitions = Math.round(options.slicePartitions ?? 8);
|
|
77
|
+
const subdivisions = Math.round(options.subdivisions ?? 128);
|
|
78
|
+
if (stackPartitions < 1) {
|
|
79
|
+
throw new DeveloperError_default("options.stackPartitions cannot be less than 1");
|
|
80
|
+
}
|
|
81
|
+
if (slicePartitions < 0) {
|
|
82
|
+
throw new DeveloperError_default("options.slicePartitions cannot be less than 0");
|
|
83
|
+
}
|
|
84
|
+
if (subdivisions < 0) {
|
|
85
|
+
throw new DeveloperError_default(
|
|
86
|
+
"options.subdivisions must be greater than or equal to zero."
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
if (defined_default(options.offsetAttribute) && options.offsetAttribute === GeometryOffsetAttribute_default.TOP) {
|
|
90
|
+
throw new DeveloperError_default(
|
|
91
|
+
"GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry."
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
this._radii = Cartesian3_default.clone(radii);
|
|
95
|
+
this._innerRadii = Cartesian3_default.clone(innerRadii);
|
|
96
|
+
this._minimumClock = minimumClock;
|
|
97
|
+
this._maximumClock = maximumClock;
|
|
98
|
+
this._minimumCone = minimumCone;
|
|
99
|
+
this._maximumCone = maximumCone;
|
|
100
|
+
this._stackPartitions = stackPartitions;
|
|
101
|
+
this._slicePartitions = slicePartitions;
|
|
102
|
+
this._subdivisions = subdivisions;
|
|
103
|
+
this._offsetAttribute = options.offsetAttribute;
|
|
104
|
+
this._workerName = "createEllipsoidOutlineGeometry";
|
|
105
|
+
}
|
|
106
|
+
EllipsoidOutlineGeometry.packedLength = 2 * Cartesian3_default.packedLength + 8;
|
|
107
|
+
EllipsoidOutlineGeometry.pack = function(value, array, startingIndex) {
|
|
108
|
+
if (!defined_default(value)) {
|
|
109
|
+
throw new DeveloperError_default("value is required");
|
|
110
|
+
}
|
|
111
|
+
if (!defined_default(array)) {
|
|
112
|
+
throw new DeveloperError_default("array is required");
|
|
113
|
+
}
|
|
114
|
+
startingIndex = startingIndex ?? 0;
|
|
115
|
+
Cartesian3_default.pack(value._radii, array, startingIndex);
|
|
116
|
+
startingIndex += Cartesian3_default.packedLength;
|
|
117
|
+
Cartesian3_default.pack(value._innerRadii, array, startingIndex);
|
|
118
|
+
startingIndex += Cartesian3_default.packedLength;
|
|
119
|
+
array[startingIndex++] = value._minimumClock;
|
|
120
|
+
array[startingIndex++] = value._maximumClock;
|
|
121
|
+
array[startingIndex++] = value._minimumCone;
|
|
122
|
+
array[startingIndex++] = value._maximumCone;
|
|
123
|
+
array[startingIndex++] = value._stackPartitions;
|
|
124
|
+
array[startingIndex++] = value._slicePartitions;
|
|
125
|
+
array[startingIndex++] = value._subdivisions;
|
|
126
|
+
array[startingIndex] = value._offsetAttribute ?? -1;
|
|
127
|
+
return array;
|
|
128
|
+
};
|
|
129
|
+
var scratchRadii = new Cartesian3_default();
|
|
130
|
+
var scratchInnerRadii = new Cartesian3_default();
|
|
131
|
+
var scratchOptions = {
|
|
132
|
+
radii: scratchRadii,
|
|
133
|
+
innerRadii: scratchInnerRadii,
|
|
134
|
+
minimumClock: void 0,
|
|
135
|
+
maximumClock: void 0,
|
|
136
|
+
minimumCone: void 0,
|
|
137
|
+
maximumCone: void 0,
|
|
138
|
+
stackPartitions: void 0,
|
|
139
|
+
slicePartitions: void 0,
|
|
140
|
+
subdivisions: void 0,
|
|
141
|
+
offsetAttribute: void 0
|
|
142
|
+
};
|
|
143
|
+
EllipsoidOutlineGeometry.unpack = function(array, startingIndex, result) {
|
|
144
|
+
if (!defined_default(array)) {
|
|
145
|
+
throw new DeveloperError_default("array is required");
|
|
146
|
+
}
|
|
147
|
+
startingIndex = startingIndex ?? 0;
|
|
148
|
+
const radii = Cartesian3_default.unpack(array, startingIndex, scratchRadii);
|
|
149
|
+
startingIndex += Cartesian3_default.packedLength;
|
|
150
|
+
const innerRadii = Cartesian3_default.unpack(array, startingIndex, scratchInnerRadii);
|
|
151
|
+
startingIndex += Cartesian3_default.packedLength;
|
|
152
|
+
const minimumClock = array[startingIndex++];
|
|
153
|
+
const maximumClock = array[startingIndex++];
|
|
154
|
+
const minimumCone = array[startingIndex++];
|
|
155
|
+
const maximumCone = array[startingIndex++];
|
|
156
|
+
const stackPartitions = array[startingIndex++];
|
|
157
|
+
const slicePartitions = array[startingIndex++];
|
|
158
|
+
const subdivisions = array[startingIndex++];
|
|
159
|
+
const offsetAttribute = array[startingIndex];
|
|
160
|
+
if (!defined_default(result)) {
|
|
161
|
+
scratchOptions.minimumClock = minimumClock;
|
|
162
|
+
scratchOptions.maximumClock = maximumClock;
|
|
163
|
+
scratchOptions.minimumCone = minimumCone;
|
|
164
|
+
scratchOptions.maximumCone = maximumCone;
|
|
165
|
+
scratchOptions.stackPartitions = stackPartitions;
|
|
166
|
+
scratchOptions.slicePartitions = slicePartitions;
|
|
167
|
+
scratchOptions.subdivisions = subdivisions;
|
|
168
|
+
scratchOptions.offsetAttribute = offsetAttribute === -1 ? void 0 : offsetAttribute;
|
|
169
|
+
return new EllipsoidOutlineGeometry(scratchOptions);
|
|
170
|
+
}
|
|
171
|
+
result._radii = Cartesian3_default.clone(radii, result._radii);
|
|
172
|
+
result._innerRadii = Cartesian3_default.clone(innerRadii, result._innerRadii);
|
|
173
|
+
result._minimumClock = minimumClock;
|
|
174
|
+
result._maximumClock = maximumClock;
|
|
175
|
+
result._minimumCone = minimumCone;
|
|
176
|
+
result._maximumCone = maximumCone;
|
|
177
|
+
result._stackPartitions = stackPartitions;
|
|
178
|
+
result._slicePartitions = slicePartitions;
|
|
179
|
+
result._subdivisions = subdivisions;
|
|
180
|
+
result._offsetAttribute = offsetAttribute === -1 ? void 0 : offsetAttribute;
|
|
181
|
+
return result;
|
|
182
|
+
};
|
|
183
|
+
EllipsoidOutlineGeometry.createGeometry = function(ellipsoidGeometry) {
|
|
184
|
+
const radii = ellipsoidGeometry._radii;
|
|
185
|
+
if (radii.x <= 0 || radii.y <= 0 || radii.z <= 0) {
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
const innerRadii = ellipsoidGeometry._innerRadii;
|
|
189
|
+
if (innerRadii.x <= 0 || innerRadii.y <= 0 || innerRadii.z <= 0) {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
const minimumClock = ellipsoidGeometry._minimumClock;
|
|
193
|
+
const maximumClock = ellipsoidGeometry._maximumClock;
|
|
194
|
+
const minimumCone = ellipsoidGeometry._minimumCone;
|
|
195
|
+
const maximumCone = ellipsoidGeometry._maximumCone;
|
|
196
|
+
const subdivisions = ellipsoidGeometry._subdivisions;
|
|
197
|
+
const ellipsoid = Ellipsoid_default.fromCartesian3(radii);
|
|
198
|
+
let slicePartitions = ellipsoidGeometry._slicePartitions + 1;
|
|
199
|
+
let stackPartitions = ellipsoidGeometry._stackPartitions + 1;
|
|
200
|
+
slicePartitions = Math.round(
|
|
201
|
+
slicePartitions * Math.abs(maximumClock - minimumClock) / Math_default.TWO_PI
|
|
202
|
+
);
|
|
203
|
+
stackPartitions = Math.round(
|
|
204
|
+
stackPartitions * Math.abs(maximumCone - minimumCone) / Math_default.PI
|
|
205
|
+
);
|
|
206
|
+
if (slicePartitions < 2) {
|
|
207
|
+
slicePartitions = 2;
|
|
208
|
+
}
|
|
209
|
+
if (stackPartitions < 2) {
|
|
210
|
+
stackPartitions = 2;
|
|
211
|
+
}
|
|
212
|
+
let extraIndices = 0;
|
|
213
|
+
let vertexMultiplier = 1;
|
|
214
|
+
const hasInnerSurface = innerRadii.x !== radii.x || innerRadii.y !== radii.y || innerRadii.z !== radii.z;
|
|
215
|
+
let isTopOpen = false;
|
|
216
|
+
let isBotOpen = false;
|
|
217
|
+
if (hasInnerSurface) {
|
|
218
|
+
vertexMultiplier = 2;
|
|
219
|
+
if (minimumCone > 0) {
|
|
220
|
+
isTopOpen = true;
|
|
221
|
+
extraIndices += slicePartitions;
|
|
222
|
+
}
|
|
223
|
+
if (maximumCone < Math.PI) {
|
|
224
|
+
isBotOpen = true;
|
|
225
|
+
extraIndices += slicePartitions;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
const vertexCount = subdivisions * vertexMultiplier * (stackPartitions + slicePartitions);
|
|
229
|
+
const positions = new Float64Array(vertexCount * 3);
|
|
230
|
+
const numIndices = 2 * (vertexCount + extraIndices - (slicePartitions + stackPartitions) * vertexMultiplier);
|
|
231
|
+
const indices = IndexDatatype_default.createTypedArray(vertexCount, numIndices);
|
|
232
|
+
let i;
|
|
233
|
+
let j;
|
|
234
|
+
let theta;
|
|
235
|
+
let phi;
|
|
236
|
+
let index = 0;
|
|
237
|
+
const sinPhi = new Array(stackPartitions);
|
|
238
|
+
const cosPhi = new Array(stackPartitions);
|
|
239
|
+
for (i = 0; i < stackPartitions; i++) {
|
|
240
|
+
phi = minimumCone + i * (maximumCone - minimumCone) / (stackPartitions - 1);
|
|
241
|
+
sinPhi[i] = sin(phi);
|
|
242
|
+
cosPhi[i] = cos(phi);
|
|
243
|
+
}
|
|
244
|
+
const sinTheta = new Array(subdivisions);
|
|
245
|
+
const cosTheta = new Array(subdivisions);
|
|
246
|
+
for (i = 0; i < subdivisions; i++) {
|
|
247
|
+
theta = minimumClock + i * (maximumClock - minimumClock) / (subdivisions - 1);
|
|
248
|
+
sinTheta[i] = sin(theta);
|
|
249
|
+
cosTheta[i] = cos(theta);
|
|
250
|
+
}
|
|
251
|
+
for (i = 0; i < stackPartitions; i++) {
|
|
252
|
+
for (j = 0; j < subdivisions; j++) {
|
|
253
|
+
positions[index++] = radii.x * sinPhi[i] * cosTheta[j];
|
|
254
|
+
positions[index++] = radii.y * sinPhi[i] * sinTheta[j];
|
|
255
|
+
positions[index++] = radii.z * cosPhi[i];
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
if (hasInnerSurface) {
|
|
259
|
+
for (i = 0; i < stackPartitions; i++) {
|
|
260
|
+
for (j = 0; j < subdivisions; j++) {
|
|
261
|
+
positions[index++] = innerRadii.x * sinPhi[i] * cosTheta[j];
|
|
262
|
+
positions[index++] = innerRadii.y * sinPhi[i] * sinTheta[j];
|
|
263
|
+
positions[index++] = innerRadii.z * cosPhi[i];
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
sinPhi.length = subdivisions;
|
|
268
|
+
cosPhi.length = subdivisions;
|
|
269
|
+
for (i = 0; i < subdivisions; i++) {
|
|
270
|
+
phi = minimumCone + i * (maximumCone - minimumCone) / (subdivisions - 1);
|
|
271
|
+
sinPhi[i] = sin(phi);
|
|
272
|
+
cosPhi[i] = cos(phi);
|
|
273
|
+
}
|
|
274
|
+
sinTheta.length = slicePartitions;
|
|
275
|
+
cosTheta.length = slicePartitions;
|
|
276
|
+
for (i = 0; i < slicePartitions; i++) {
|
|
277
|
+
theta = minimumClock + i * (maximumClock - minimumClock) / (slicePartitions - 1);
|
|
278
|
+
sinTheta[i] = sin(theta);
|
|
279
|
+
cosTheta[i] = cos(theta);
|
|
280
|
+
}
|
|
281
|
+
for (i = 0; i < subdivisions; i++) {
|
|
282
|
+
for (j = 0; j < slicePartitions; j++) {
|
|
283
|
+
positions[index++] = radii.x * sinPhi[i] * cosTheta[j];
|
|
284
|
+
positions[index++] = radii.y * sinPhi[i] * sinTheta[j];
|
|
285
|
+
positions[index++] = radii.z * cosPhi[i];
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
if (hasInnerSurface) {
|
|
289
|
+
for (i = 0; i < subdivisions; i++) {
|
|
290
|
+
for (j = 0; j < slicePartitions; j++) {
|
|
291
|
+
positions[index++] = innerRadii.x * sinPhi[i] * cosTheta[j];
|
|
292
|
+
positions[index++] = innerRadii.y * sinPhi[i] * sinTheta[j];
|
|
293
|
+
positions[index++] = innerRadii.z * cosPhi[i];
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
index = 0;
|
|
298
|
+
for (i = 0; i < stackPartitions * vertexMultiplier; i++) {
|
|
299
|
+
const topOffset = i * subdivisions;
|
|
300
|
+
for (j = 0; j < subdivisions - 1; j++) {
|
|
301
|
+
indices[index++] = topOffset + j;
|
|
302
|
+
indices[index++] = topOffset + j + 1;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
let offset = stackPartitions * subdivisions * vertexMultiplier;
|
|
306
|
+
for (i = 0; i < slicePartitions; i++) {
|
|
307
|
+
for (j = 0; j < subdivisions - 1; j++) {
|
|
308
|
+
indices[index++] = offset + i + j * slicePartitions;
|
|
309
|
+
indices[index++] = offset + i + (j + 1) * slicePartitions;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
if (hasInnerSurface) {
|
|
313
|
+
offset = stackPartitions * subdivisions * vertexMultiplier + slicePartitions * subdivisions;
|
|
314
|
+
for (i = 0; i < slicePartitions; i++) {
|
|
315
|
+
for (j = 0; j < subdivisions - 1; j++) {
|
|
316
|
+
indices[index++] = offset + i + j * slicePartitions;
|
|
317
|
+
indices[index++] = offset + i + (j + 1) * slicePartitions;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
if (hasInnerSurface) {
|
|
322
|
+
let outerOffset = stackPartitions * subdivisions * vertexMultiplier;
|
|
323
|
+
let innerOffset = outerOffset + subdivisions * slicePartitions;
|
|
324
|
+
if (isTopOpen) {
|
|
325
|
+
for (i = 0; i < slicePartitions; i++) {
|
|
326
|
+
indices[index++] = outerOffset + i;
|
|
327
|
+
indices[index++] = innerOffset + i;
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
if (isBotOpen) {
|
|
331
|
+
outerOffset += subdivisions * slicePartitions - slicePartitions;
|
|
332
|
+
innerOffset += subdivisions * slicePartitions - slicePartitions;
|
|
333
|
+
for (i = 0; i < slicePartitions; i++) {
|
|
334
|
+
indices[index++] = outerOffset + i;
|
|
335
|
+
indices[index++] = innerOffset + i;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
const attributes = new GeometryAttributes_default({
|
|
340
|
+
position: new GeometryAttribute_default({
|
|
341
|
+
componentDatatype: ComponentDatatype_default.DOUBLE,
|
|
342
|
+
componentsPerAttribute: 3,
|
|
343
|
+
values: positions
|
|
344
|
+
})
|
|
345
|
+
});
|
|
346
|
+
if (defined_default(ellipsoidGeometry._offsetAttribute)) {
|
|
347
|
+
const length = positions.length;
|
|
348
|
+
const offsetValue = ellipsoidGeometry._offsetAttribute === GeometryOffsetAttribute_default.NONE ? 0 : 1;
|
|
349
|
+
const applyOffset = new Uint8Array(length / 3).fill(offsetValue);
|
|
350
|
+
attributes.applyOffset = new GeometryAttribute_default({
|
|
351
|
+
componentDatatype: ComponentDatatype_default.UNSIGNED_BYTE,
|
|
352
|
+
componentsPerAttribute: 1,
|
|
353
|
+
values: applyOffset
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
return new Geometry_default({
|
|
357
|
+
attributes,
|
|
358
|
+
indices,
|
|
359
|
+
primitiveType: PrimitiveType_default.LINES,
|
|
360
|
+
boundingSphere: BoundingSphere_default.fromEllipsoid(ellipsoid),
|
|
361
|
+
offsetAttribute: ellipsoidGeometry._offsetAttribute
|
|
362
|
+
});
|
|
363
|
+
};
|
|
364
|
+
var EllipsoidOutlineGeometry_default = EllipsoidOutlineGeometry;
|
|
365
|
+
|
|
366
|
+
export {
|
|
367
|
+
EllipsoidOutlineGeometry_default
|
|
368
|
+
};
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Cesium - https://github.com/CesiumGS/cesium
|
|
4
|
+
* Version 0.0.9
|
|
5
|
+
*
|
|
6
|
+
* Copyright 2011-2022 Cesium Contributors
|
|
7
|
+
*
|
|
8
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
* you may not use this file except in compliance with the License.
|
|
10
|
+
* You may obtain a copy of the License at
|
|
11
|
+
*
|
|
12
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
+
*
|
|
14
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
15
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
17
|
+
* See the License for the specific language governing permissions and
|
|
18
|
+
* limitations under the License.
|
|
19
|
+
*
|
|
20
|
+
* Columbus View (Pat. Pend.)
|
|
21
|
+
*
|
|
22
|
+
* Portions licensed separately.
|
|
23
|
+
* See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
import {
|
|
27
|
+
WebGLConstants_default
|
|
28
|
+
} from "./chunk-WZJEAPEP.js";
|
|
29
|
+
import {
|
|
30
|
+
Math_default
|
|
31
|
+
} from "./chunk-4SZJ3KRD.js";
|
|
32
|
+
import {
|
|
33
|
+
DeveloperError_default
|
|
34
|
+
} from "./chunk-JM4TFRYQ.js";
|
|
35
|
+
import {
|
|
36
|
+
defined_default
|
|
37
|
+
} from "./chunk-L33HPENB.js";
|
|
38
|
+
|
|
39
|
+
// packages/engine/Source/Core/IndexDatatype.js
|
|
40
|
+
var IndexDatatype = {
|
|
41
|
+
/**
|
|
42
|
+
* 8-bit unsigned byte corresponding to <code>UNSIGNED_BYTE</code> and the type
|
|
43
|
+
* of an element in <code>Uint8Array</code>.
|
|
44
|
+
*
|
|
45
|
+
* @type {number}
|
|
46
|
+
* @constant
|
|
47
|
+
*/
|
|
48
|
+
UNSIGNED_BYTE: WebGLConstants_default.UNSIGNED_BYTE,
|
|
49
|
+
/**
|
|
50
|
+
* 16-bit unsigned short corresponding to <code>UNSIGNED_SHORT</code> and the type
|
|
51
|
+
* of an element in <code>Uint16Array</code>.
|
|
52
|
+
*
|
|
53
|
+
* @type {number}
|
|
54
|
+
* @constant
|
|
55
|
+
*/
|
|
56
|
+
UNSIGNED_SHORT: WebGLConstants_default.UNSIGNED_SHORT,
|
|
57
|
+
/**
|
|
58
|
+
* 32-bit unsigned int corresponding to <code>UNSIGNED_INT</code> and the type
|
|
59
|
+
* of an element in <code>Uint32Array</code>.
|
|
60
|
+
*
|
|
61
|
+
* @type {number}
|
|
62
|
+
* @constant
|
|
63
|
+
*/
|
|
64
|
+
UNSIGNED_INT: WebGLConstants_default.UNSIGNED_INT
|
|
65
|
+
};
|
|
66
|
+
IndexDatatype.getSizeInBytes = function(indexDatatype) {
|
|
67
|
+
switch (indexDatatype) {
|
|
68
|
+
case IndexDatatype.UNSIGNED_BYTE:
|
|
69
|
+
return Uint8Array.BYTES_PER_ELEMENT;
|
|
70
|
+
case IndexDatatype.UNSIGNED_SHORT:
|
|
71
|
+
return Uint16Array.BYTES_PER_ELEMENT;
|
|
72
|
+
case IndexDatatype.UNSIGNED_INT:
|
|
73
|
+
return Uint32Array.BYTES_PER_ELEMENT;
|
|
74
|
+
}
|
|
75
|
+
throw new DeveloperError_default(
|
|
76
|
+
"indexDatatype is required and must be a valid IndexDatatype constant."
|
|
77
|
+
);
|
|
78
|
+
};
|
|
79
|
+
IndexDatatype.fromSizeInBytes = function(sizeInBytes) {
|
|
80
|
+
switch (sizeInBytes) {
|
|
81
|
+
case 2:
|
|
82
|
+
return IndexDatatype.UNSIGNED_SHORT;
|
|
83
|
+
case 4:
|
|
84
|
+
return IndexDatatype.UNSIGNED_INT;
|
|
85
|
+
case 1:
|
|
86
|
+
return IndexDatatype.UNSIGNED_BYTE;
|
|
87
|
+
//>>includeStart('debug', pragmas.debug);
|
|
88
|
+
default:
|
|
89
|
+
throw new DeveloperError_default(
|
|
90
|
+
"Size in bytes cannot be mapped to an IndexDatatype"
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
IndexDatatype.validate = function(indexDatatype) {
|
|
95
|
+
return defined_default(indexDatatype) && (indexDatatype === IndexDatatype.UNSIGNED_BYTE || indexDatatype === IndexDatatype.UNSIGNED_SHORT || indexDatatype === IndexDatatype.UNSIGNED_INT);
|
|
96
|
+
};
|
|
97
|
+
IndexDatatype.createTypedArray = function(numberOfVertices, indicesLengthOrArray) {
|
|
98
|
+
if (!defined_default(numberOfVertices)) {
|
|
99
|
+
throw new DeveloperError_default("numberOfVertices is required.");
|
|
100
|
+
}
|
|
101
|
+
if (numberOfVertices >= Math_default.SIXTY_FOUR_KILOBYTES) {
|
|
102
|
+
return new Uint32Array(indicesLengthOrArray);
|
|
103
|
+
}
|
|
104
|
+
return new Uint16Array(indicesLengthOrArray);
|
|
105
|
+
};
|
|
106
|
+
IndexDatatype.createTypedArrayFromArrayBuffer = function(numberOfVertices, sourceArray, byteOffset, length) {
|
|
107
|
+
if (!defined_default(numberOfVertices)) {
|
|
108
|
+
throw new DeveloperError_default("numberOfVertices is required.");
|
|
109
|
+
}
|
|
110
|
+
if (!defined_default(sourceArray)) {
|
|
111
|
+
throw new DeveloperError_default("sourceArray is required.");
|
|
112
|
+
}
|
|
113
|
+
if (!defined_default(byteOffset)) {
|
|
114
|
+
throw new DeveloperError_default("byteOffset is required.");
|
|
115
|
+
}
|
|
116
|
+
if (numberOfVertices >= Math_default.SIXTY_FOUR_KILOBYTES) {
|
|
117
|
+
return new Uint32Array(sourceArray, byteOffset, length);
|
|
118
|
+
}
|
|
119
|
+
return new Uint16Array(sourceArray, byteOffset, length);
|
|
120
|
+
};
|
|
121
|
+
IndexDatatype.fromTypedArray = function(array) {
|
|
122
|
+
if (array instanceof Uint8Array) {
|
|
123
|
+
return IndexDatatype.UNSIGNED_BYTE;
|
|
124
|
+
}
|
|
125
|
+
if (array instanceof Uint16Array) {
|
|
126
|
+
return IndexDatatype.UNSIGNED_SHORT;
|
|
127
|
+
}
|
|
128
|
+
if (array instanceof Uint32Array) {
|
|
129
|
+
return IndexDatatype.UNSIGNED_INT;
|
|
130
|
+
}
|
|
131
|
+
throw new DeveloperError_default(
|
|
132
|
+
"array must be a Uint8Array, Uint16Array, or Uint32Array."
|
|
133
|
+
);
|
|
134
|
+
};
|
|
135
|
+
var IndexDatatype_default = Object.freeze(IndexDatatype);
|
|
136
|
+
|
|
137
|
+
export {
|
|
138
|
+
IndexDatatype_default
|
|
139
|
+
};
|