@loaders.gl/3d-tiles 3.1.3 → 4.0.0-alpha.5
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/bundle.js +2 -2
- package/dist/bundle.js.map +1 -0
- package/dist/cesium-ion-loader.js +32 -36
- package/dist/cesium-ion-loader.js.map +1 -0
- package/dist/dist.min.js +88 -40
- package/dist/index.js +9 -26
- package/dist/index.js.map +1 -0
- package/dist/lib/classes/helpers/tile-3d-accessor-utils.js +89 -106
- package/dist/lib/classes/helpers/tile-3d-accessor-utils.js.map +1 -0
- package/dist/lib/classes/tile-3d-batch-table-hierarchy.js +202 -184
- package/dist/lib/classes/tile-3d-batch-table-hierarchy.js.map +1 -0
- package/dist/lib/classes/tile-3d-batch-table.js +282 -223
- package/dist/lib/classes/tile-3d-batch-table.js.map +1 -0
- package/dist/lib/classes/tile-3d-feature-table.js +86 -64
- package/dist/lib/classes/tile-3d-feature-table.js.map +1 -0
- package/dist/lib/constants.js +19 -23
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/encoders/encode-3d-tile-batched-model.js +45 -45
- package/dist/lib/encoders/encode-3d-tile-batched-model.js.map +1 -0
- package/dist/lib/encoders/encode-3d-tile-composite.js +24 -23
- package/dist/lib/encoders/encode-3d-tile-composite.js.map +1 -0
- package/dist/lib/encoders/encode-3d-tile-instanced-model.js +37 -37
- package/dist/lib/encoders/encode-3d-tile-instanced-model.js.map +1 -0
- package/dist/lib/encoders/encode-3d-tile-point-cloud.js +38 -36
- package/dist/lib/encoders/encode-3d-tile-point-cloud.js.map +1 -0
- package/dist/lib/encoders/encode-3d-tile.js +32 -30
- package/dist/lib/encoders/encode-3d-tile.js.map +1 -0
- package/dist/lib/encoders/helpers/encode-3d-tile-header.js +29 -28
- package/dist/lib/encoders/helpers/encode-3d-tile-header.js.map +1 -0
- package/dist/lib/ion/ion.js +69 -60
- package/dist/lib/ion/ion.js.map +1 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js +62 -60
- package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js.map +1 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js +26 -26
- package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js.map +1 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js +28 -39
- package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.d.ts +18 -11
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.js +203 -170
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js +63 -82
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-header.js +15 -26
- package/dist/lib/parsers/helpers/parse-3d-tile-header.js.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js +57 -68
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-tables.js +80 -84
- package/dist/lib/parsers/helpers/parse-3d-tile-tables.js.map +1 -0
- package/dist/lib/parsers/helpers/parse-utils.js +16 -29
- package/dist/lib/parsers/helpers/parse-utils.js.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-batched-model.js +26 -30
- package/dist/lib/parsers/parse-3d-tile-batched-model.js.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-composite.js +16 -25
- package/dist/lib/parsers/parse-3d-tile-composite.js.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-gltf.js +9 -17
- package/dist/lib/parsers/parse-3d-tile-gltf.js.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-header.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-header.js +139 -122
- package/dist/lib/parsers/parse-3d-tile-header.js.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-instanced-model.js +170 -179
- package/dist/{es5/lib → lib}/parsers/parse-3d-tile-instanced-model.js.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-point-cloud.js +184 -350
- package/dist/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -0
- package/dist/lib/parsers/parse-3d-tile.js +31 -36
- package/dist/lib/parsers/parse-3d-tile.js.map +1 -0
- package/dist/lib/utils/version.js +2 -7
- package/dist/lib/utils/version.js.map +1 -0
- package/dist/tile-3d-subtree-loader.js +13 -22
- package/dist/tile-3d-subtree-loader.js.map +1 -0
- package/dist/tile-3d-writer.js +17 -24
- package/dist/tile-3d-writer.js.map +1 -0
- package/dist/tiles-3d-loader.js +66 -67
- package/dist/tiles-3d-loader.js.map +1 -0
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -2
- package/dist/{es5/types.js.map → types.js.map} +0 -0
- package/package.json +10 -10
- package/src/lib/parsers/helpers/parse-3d-implicit-tiles.ts +95 -31
- package/src/lib/parsers/parse-3d-tile-header.ts +3 -1
- package/src/types.ts +2 -1
- package/dist/es5/bundle.js +0 -7
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/cesium-ion-loader.js +0 -100
- package/dist/es5/cesium-ion-loader.js.map +0 -1
- package/dist/es5/index.js +0 -72
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js +0 -120
- package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js.map +0 -1
- package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js +0 -225
- package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js.map +0 -1
- package/dist/es5/lib/classes/tile-3d-batch-table.js +0 -349
- package/dist/es5/lib/classes/tile-3d-batch-table.js.map +0 -1
- package/dist/es5/lib/classes/tile-3d-feature-table.js +0 -119
- package/dist/es5/lib/classes/tile-3d-feature-table.js.map +0 -1
- package/dist/es5/lib/constants.js +0 -32
- package/dist/es5/lib/constants.js.map +0 -1
- package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js +0 -63
- package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js.map +0 -1
- package/dist/es5/lib/encoders/encode-3d-tile-composite.js +0 -41
- package/dist/es5/lib/encoders/encode-3d-tile-composite.js.map +0 -1
- package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js +0 -57
- package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js.map +0 -1
- package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js +0 -59
- package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js.map +0 -1
- package/dist/es5/lib/encoders/encode-3d-tile.js +0 -48
- package/dist/es5/lib/encoders/encode-3d-tile.js.map +0 -1
- package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js +0 -41
- package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js.map +0 -1
- package/dist/es5/lib/ion/ion.js +0 -219
- package/dist/es5/lib/ion/ion.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js +0 -76
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js +0 -40
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js +0 -40
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-implicit-tiles.js +0 -270
- package/dist/es5/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js +0 -123
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js +0 -25
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js +0 -161
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js +0 -98
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-utils.js +0 -32
- package/dist/es5/lib/parsers/helpers/parse-utils.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js +0 -69
- package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile-composite.js +0 -61
- package/dist/es5/lib/parsers/parse-3d-tile-composite.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile-gltf.js +0 -45
- package/dist/es5/lib/parsers/parse-3d-tile-gltf.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile-header.js +0 -233
- package/dist/es5/lib/parsers/parse-3d-tile-header.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile-instanced-model.js +0 -220
- package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js +0 -346
- package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile.js +0 -100
- package/dist/es5/lib/parsers/parse-3d-tile.js.map +0 -1
- package/dist/es5/lib/utils/version.js +0 -9
- package/dist/es5/lib/utils/version.js.map +0 -1
- package/dist/es5/tile-3d-subtree-loader.js +0 -26
- package/dist/es5/tile-3d-subtree-loader.js.map +0 -1
- package/dist/es5/tile-3d-writer.js +0 -32
- package/dist/es5/tile-3d-writer.js.map +0 -1
- package/dist/es5/tiles-3d-loader.js +0 -190
- package/dist/es5/tiles-3d-loader.js.map +0 -1
- package/dist/es5/types.js +0 -2
- package/dist/esm/bundle.js +0 -5
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/cesium-ion-loader.js +0 -36
- package/dist/esm/cesium-ion-loader.js.map +0 -1
- package/dist/esm/index.js +0 -9
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lib/classes/helpers/tile-3d-accessor-utils.js +0 -96
- package/dist/esm/lib/classes/helpers/tile-3d-accessor-utils.js.map +0 -1
- package/dist/esm/lib/classes/tile-3d-batch-table-hierarchy.js +0 -215
- package/dist/esm/lib/classes/tile-3d-batch-table-hierarchy.js.map +0 -1
- package/dist/esm/lib/classes/tile-3d-batch-table.js +0 -304
- package/dist/esm/lib/classes/tile-3d-batch-table.js.map +0 -1
- package/dist/esm/lib/classes/tile-3d-feature-table.js +0 -94
- package/dist/esm/lib/classes/tile-3d-feature-table.js.map +0 -1
- package/dist/esm/lib/constants.js +0 -22
- package/dist/esm/lib/constants.js.map +0 -1
- package/dist/esm/lib/encoders/encode-3d-tile-batched-model.js +0 -46
- package/dist/esm/lib/encoders/encode-3d-tile-batched-model.js.map +0 -1
- package/dist/esm/lib/encoders/encode-3d-tile-composite.js +0 -25
- package/dist/esm/lib/encoders/encode-3d-tile-composite.js.map +0 -1
- package/dist/esm/lib/encoders/encode-3d-tile-instanced-model.js +0 -38
- package/dist/esm/lib/encoders/encode-3d-tile-instanced-model.js.map +0 -1
- package/dist/esm/lib/encoders/encode-3d-tile-point-cloud.js +0 -41
- package/dist/esm/lib/encoders/encode-3d-tile-point-cloud.js.map +0 -1
- package/dist/esm/lib/encoders/encode-3d-tile.js +0 -35
- package/dist/esm/lib/encoders/encode-3d-tile.js.map +0 -1
- package/dist/esm/lib/encoders/helpers/encode-3d-tile-header.js +0 -31
- package/dist/esm/lib/encoders/helpers/encode-3d-tile-header.js.map +0 -1
- package/dist/esm/lib/ion/ion.js +0 -77
- package/dist/esm/lib/ion/ion.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-colors.js +0 -67
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-colors.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-normals.js +0 -30
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-normals.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-positions.js +0 -31
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-positions.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-implicit-tiles.js +0 -173
- package/dist/esm/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js +0 -69
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-header.js +0 -17
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-header.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-subtree.js +0 -64
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-subtree.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-tables.js +0 -89
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-tables.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-utils.js +0 -19
- package/dist/esm/lib/parsers/helpers/parse-utils.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-batched-model.js +0 -29
- package/dist/esm/lib/parsers/parse-3d-tile-batched-model.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-composite.js +0 -17
- package/dist/esm/lib/parsers/parse-3d-tile-composite.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-gltf.js +0 -10
- package/dist/esm/lib/parsers/parse-3d-tile-gltf.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-header.js +0 -144
- package/dist/esm/lib/parsers/parse-3d-tile-header.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-instanced-model.js +0 -177
- package/dist/esm/lib/parsers/parse-3d-tile-instanced-model.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js +0 -245
- package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile.js +0 -32
- package/dist/esm/lib/parsers/parse-3d-tile.js.map +0 -1
- package/dist/esm/lib/utils/version.js +0 -2
- package/dist/esm/lib/utils/version.js.map +0 -1
- package/dist/esm/tile-3d-subtree-loader.js +0 -14
- package/dist/esm/tile-3d-subtree-loader.js.map +0 -1
- package/dist/esm/tile-3d-writer.js +0 -20
- package/dist/esm/tile-3d-writer.js.map +0 -1
- package/dist/esm/tiles-3d-loader.js +0 -79
- package/dist/esm/tiles-3d-loader.js.map +0 -1
- package/dist/esm/types.js +0 -2
- package/dist/esm/types.js.map +0 -1
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
|
|
16
|
-
var _math = require("@loaders.gl/math");
|
|
17
|
-
|
|
18
|
-
var Tile3DFeatureTable = function () {
|
|
19
|
-
function Tile3DFeatureTable(featureTableJson, featureTableBinary) {
|
|
20
|
-
(0, _classCallCheck2.default)(this, Tile3DFeatureTable);
|
|
21
|
-
(0, _defineProperty2.default)(this, "json", void 0);
|
|
22
|
-
(0, _defineProperty2.default)(this, "buffer", void 0);
|
|
23
|
-
(0, _defineProperty2.default)(this, "featuresLength", 0);
|
|
24
|
-
(0, _defineProperty2.default)(this, "_cachedTypedArrays", {});
|
|
25
|
-
this.json = featureTableJson;
|
|
26
|
-
this.buffer = featureTableBinary;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
(0, _createClass2.default)(Tile3DFeatureTable, [{
|
|
30
|
-
key: "getExtension",
|
|
31
|
-
value: function getExtension(extensionName) {
|
|
32
|
-
return this.json.extensions && this.json.extensions[extensionName];
|
|
33
|
-
}
|
|
34
|
-
}, {
|
|
35
|
-
key: "hasProperty",
|
|
36
|
-
value: function hasProperty(propertyName) {
|
|
37
|
-
return Boolean(this.json[propertyName]);
|
|
38
|
-
}
|
|
39
|
-
}, {
|
|
40
|
-
key: "getGlobalProperty",
|
|
41
|
-
value: function getGlobalProperty(propertyName) {
|
|
42
|
-
var componentType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _math.GL.UNSIGNED_INT;
|
|
43
|
-
var componentLength = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
44
|
-
var jsonValue = this.json[propertyName];
|
|
45
|
-
|
|
46
|
-
if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {
|
|
47
|
-
return this._getTypedArrayFromBinary(propertyName, componentType, componentLength, 1, jsonValue.byteOffset);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
return jsonValue;
|
|
51
|
-
}
|
|
52
|
-
}, {
|
|
53
|
-
key: "getPropertyArray",
|
|
54
|
-
value: function getPropertyArray(propertyName, componentType, componentLength) {
|
|
55
|
-
var jsonValue = this.json[propertyName];
|
|
56
|
-
|
|
57
|
-
if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {
|
|
58
|
-
if ('componentType' in jsonValue) {
|
|
59
|
-
componentType = _math.GLType.fromName(jsonValue.componentType);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
return this._getTypedArrayFromBinary(propertyName, componentType, componentLength, this.featuresLength, jsonValue.byteOffset);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
return this._getTypedArrayFromArray(propertyName, componentType, jsonValue);
|
|
66
|
-
}
|
|
67
|
-
}, {
|
|
68
|
-
key: "getProperty",
|
|
69
|
-
value: function getProperty(propertyName, componentType, componentLength, featureId, result) {
|
|
70
|
-
var jsonValue = this.json[propertyName];
|
|
71
|
-
|
|
72
|
-
if (!jsonValue) {
|
|
73
|
-
return jsonValue;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
var typedArray = this.getPropertyArray(propertyName, componentType, componentLength);
|
|
77
|
-
|
|
78
|
-
if (componentLength === 1) {
|
|
79
|
-
return typedArray[featureId];
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
for (var i = 0; i < componentLength; ++i) {
|
|
83
|
-
result[i] = typedArray[componentLength * featureId + i];
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
return result;
|
|
87
|
-
}
|
|
88
|
-
}, {
|
|
89
|
-
key: "_getTypedArrayFromBinary",
|
|
90
|
-
value: function _getTypedArrayFromBinary(propertyName, componentType, componentLength, count, byteOffset) {
|
|
91
|
-
var cachedTypedArrays = this._cachedTypedArrays;
|
|
92
|
-
var typedArray = cachedTypedArrays[propertyName];
|
|
93
|
-
|
|
94
|
-
if (!typedArray) {
|
|
95
|
-
typedArray = _math.GLType.createTypedArray(componentType, this.buffer.buffer, this.buffer.byteOffset + byteOffset, count * componentLength);
|
|
96
|
-
cachedTypedArrays[propertyName] = typedArray;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
return typedArray;
|
|
100
|
-
}
|
|
101
|
-
}, {
|
|
102
|
-
key: "_getTypedArrayFromArray",
|
|
103
|
-
value: function _getTypedArrayFromArray(propertyName, componentType, array) {
|
|
104
|
-
var cachedTypedArrays = this._cachedTypedArrays;
|
|
105
|
-
var typedArray = cachedTypedArrays[propertyName];
|
|
106
|
-
|
|
107
|
-
if (!typedArray) {
|
|
108
|
-
typedArray = _math.GLType.createTypedArray(componentType, array);
|
|
109
|
-
cachedTypedArrays[propertyName] = typedArray;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
return typedArray;
|
|
113
|
-
}
|
|
114
|
-
}]);
|
|
115
|
-
return Tile3DFeatureTable;
|
|
116
|
-
}();
|
|
117
|
-
|
|
118
|
-
exports.default = Tile3DFeatureTable;
|
|
119
|
-
//# sourceMappingURL=tile-3d-feature-table.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/classes/tile-3d-feature-table.ts"],"names":["Tile3DFeatureTable","featureTableJson","featureTableBinary","json","buffer","extensionName","extensions","propertyName","Boolean","componentType","GL","UNSIGNED_INT","componentLength","jsonValue","Number","isFinite","byteOffset","_getTypedArrayFromBinary","GLType","fromName","featuresLength","_getTypedArrayFromArray","featureId","result","typedArray","getPropertyArray","i","count","cachedTypedArrays","_cachedTypedArrays","createTypedArray","array"],"mappings":";;;;;;;;;;;;;;;AAGA;;IAIqBA,kB;AAMnB,8BAAYC,gBAAZ,EAA8BC,kBAA9B,EAAkD;AAAA;AAAA;AAAA;AAAA,0DAHjC,CAGiC;AAAA,8DAF7B,EAE6B;AAChD,SAAKC,IAAL,GAAYF,gBAAZ;AACA,SAAKG,MAAL,GAAcF,kBAAd;AACD;;;;WAED,sBAAaG,aAAb,EAA4B;AAC1B,aAAO,KAAKF,IAAL,CAAUG,UAAV,IAAwB,KAAKH,IAAL,CAAUG,UAAV,CAAqBD,aAArB,CAA/B;AACD;;;WAED,qBAAYE,YAAZ,EAA0B;AACxB,aAAOC,OAAO,CAAC,KAAKL,IAAL,CAAUI,YAAV,CAAD,CAAd;AACD;;;WAED,2BAAkBA,YAAlB,EAAsF;AAAA,UAAtDE,aAAsD,uEAAtCC,SAAGC,YAAmC;AAAA,UAArBC,eAAqB,uEAAH,CAAG;AACpF,UAAMC,SAAS,GAAG,KAAKV,IAAL,CAAUI,YAAV,CAAlB;;AAEA,UAAIM,SAAS,IAAIC,MAAM,CAACC,QAAP,CAAgBF,SAAS,CAACG,UAA1B,CAAjB,EAAwD;AACtD,eAAO,KAAKC,wBAAL,CACLV,YADK,EAELE,aAFK,EAGLG,eAHK,EAIL,CAJK,EAKLC,SAAS,CAACG,UALL,CAAP;AAOD;;AAED,aAAOH,SAAP;AACD;;;WAED,0BAAiBN,YAAjB,EAA+BE,aAA/B,EAA8CG,eAA9C,EAA+D;AAC7D,UAAMC,SAAS,GAAG,KAAKV,IAAL,CAAUI,YAAV,CAAlB;;AAEA,UAAIM,SAAS,IAAIC,MAAM,CAACC,QAAP,CAAgBF,SAAS,CAACG,UAA1B,CAAjB,EAAwD;AACtD,YAAI,mBAAmBH,SAAvB,EAAkC;AAChCJ,UAAAA,aAAa,GAAGS,aAAOC,QAAP,CAAgBN,SAAS,CAACJ,aAA1B,CAAhB;AACD;;AACD,eAAO,KAAKQ,wBAAL,CACLV,YADK,EAELE,aAFK,EAGLG,eAHK,EAIL,KAAKQ,cAJA,EAKLP,SAAS,CAACG,UALL,CAAP;AAOD;;AAED,aAAO,KAAKK,uBAAL,CAA6Bd,YAA7B,EAA2CE,aAA3C,EAA0DI,SAA1D,CAAP;AACD;;;WAED,qBAAYN,YAAZ,EAA0BE,aAA1B,EAAyCG,eAAzC,EAA0DU,SAA1D,EAAqEC,MAArE,EAA6E;AAC3E,UAAMV,SAAS,GAAG,KAAKV,IAAL,CAAUI,YAAV,CAAlB;;AACA,UAAI,CAACM,SAAL,EAAgB;AACd,eAAOA,SAAP;AACD;;AAED,UAAMW,UAAU,GAAG,KAAKC,gBAAL,CAAsBlB,YAAtB,EAAoCE,aAApC,EAAmDG,eAAnD,CAAnB;;AAEA,UAAIA,eAAe,KAAK,CAAxB,EAA2B;AACzB,eAAOY,UAAU,CAACF,SAAD,CAAjB;AACD;;AAED,WAAK,IAAII,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGd,eAApB,EAAqC,EAAEc,CAAvC,EAA0C;AACxCH,QAAAA,MAAM,CAACG,CAAD,CAAN,GAAYF,UAAU,CAACZ,eAAe,GAAGU,SAAlB,GAA8BI,CAA/B,CAAtB;AACD;;AAED,aAAOH,MAAP;AACD;;;WAID,kCAAyBhB,YAAzB,EAAuCE,aAAvC,EAAsDG,eAAtD,EAAuEe,KAAvE,EAA8EX,UAA9E,EAA0F;AACxF,UAAMY,iBAAiB,GAAG,KAAKC,kBAA/B;AACA,UAAIL,UAAU,GAAGI,iBAAiB,CAACrB,YAAD,CAAlC;;AACA,UAAI,CAACiB,UAAL,EAAiB;AACfA,QAAAA,UAAU,GAAGN,aAAOY,gBAAP,CACXrB,aADW,EAEX,KAAKL,MAAL,CAAYA,MAFD,EAGX,KAAKA,MAAL,CAAYY,UAAZ,GAAyBA,UAHd,EAIXW,KAAK,GAAGf,eAJG,CAAb;AAMAgB,QAAAA,iBAAiB,CAACrB,YAAD,CAAjB,GAAkCiB,UAAlC;AACD;;AACD,aAAOA,UAAP;AACD;;;WAED,iCAAwBjB,YAAxB,EAAsCE,aAAtC,EAAqDsB,KAArD,EAA4D;AAC1D,UAAMH,iBAAiB,GAAG,KAAKC,kBAA/B;AACA,UAAIL,UAAU,GAAGI,iBAAiB,CAACrB,YAAD,CAAlC;;AACA,UAAI,CAACiB,UAAL,EAAiB;AACfA,QAAAA,UAAU,GAAGN,aAAOY,gBAAP,CAAwBrB,aAAxB,EAAuCsB,KAAvC,CAAb;AACAH,QAAAA,iBAAiB,CAACrB,YAAD,CAAjB,GAAkCiB,UAAlC;AACD;;AACD,aAAOA,UAAP;AACD","sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\nimport {GL, GLType} from '@loaders.gl/math';\n\n// Reference:\n// https://github.com/AnalyticalGraphicsInc/cesium/blob/1de96d087f0b17575eb1a3f736407b348c765d59/Source/Scene/Cesium3DTileFeatureTable.js\nexport default class Tile3DFeatureTable {\n json;\n buffer;\n featuresLength = 0;\n _cachedTypedArrays = {};\n\n constructor(featureTableJson, featureTableBinary) {\n this.json = featureTableJson;\n this.buffer = featureTableBinary;\n }\n\n getExtension(extensionName) {\n return this.json.extensions && this.json.extensions[extensionName];\n }\n\n hasProperty(propertyName) {\n return Boolean(this.json[propertyName]);\n }\n\n getGlobalProperty(propertyName, componentType = GL.UNSIGNED_INT, componentLength = 1) {\n const jsonValue = this.json[propertyName];\n\n if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {\n return this._getTypedArrayFromBinary(\n propertyName,\n componentType,\n componentLength,\n 1,\n jsonValue.byteOffset\n );\n }\n\n return jsonValue;\n }\n\n getPropertyArray(propertyName, componentType, componentLength) {\n const jsonValue = this.json[propertyName];\n\n if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {\n if ('componentType' in jsonValue) {\n componentType = GLType.fromName(jsonValue.componentType);\n }\n return this._getTypedArrayFromBinary(\n propertyName,\n componentType,\n componentLength,\n this.featuresLength,\n jsonValue.byteOffset\n );\n }\n\n return this._getTypedArrayFromArray(propertyName, componentType, jsonValue);\n }\n\n getProperty(propertyName, componentType, componentLength, featureId, result) {\n const jsonValue = this.json[propertyName];\n if (!jsonValue) {\n return jsonValue;\n }\n\n const typedArray = this.getPropertyArray(propertyName, componentType, componentLength);\n\n if (componentLength === 1) {\n return typedArray[featureId];\n }\n\n for (let i = 0; i < componentLength; ++i) {\n result[i] = typedArray[componentLength * featureId + i];\n }\n\n return result;\n }\n\n // HELPERS\n\n _getTypedArrayFromBinary(propertyName, componentType, componentLength, count, byteOffset) {\n const cachedTypedArrays = this._cachedTypedArrays;\n let typedArray = cachedTypedArrays[propertyName];\n if (!typedArray) {\n typedArray = GLType.createTypedArray(\n componentType,\n this.buffer.buffer,\n this.buffer.byteOffset + byteOffset,\n count * componentLength\n );\n cachedTypedArrays[propertyName] = typedArray;\n }\n return typedArray;\n }\n\n _getTypedArrayFromArray(propertyName, componentType, array) {\n const cachedTypedArrays = this._cachedTypedArrays;\n let typedArray = cachedTypedArrays[propertyName];\n if (!typedArray) {\n typedArray = GLType.createTypedArray(componentType, array);\n cachedTypedArrays[propertyName] = typedArray;\n }\n return typedArray;\n }\n}\n"],"file":"tile-3d-feature-table.js"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.TILE3D_OPTIMIZATION_HINT = exports.MAGIC_ARRAY = exports.TILE3D_TYPES = exports.TILE3D_TYPE = void 0;
|
|
7
|
-
var TILE3D_TYPE = {
|
|
8
|
-
COMPOSITE: 'cmpt',
|
|
9
|
-
POINT_CLOUD: 'pnts',
|
|
10
|
-
BATCHED_3D_MODEL: 'b3dm',
|
|
11
|
-
INSTANCED_3D_MODEL: 'i3dm',
|
|
12
|
-
GEOMETRY: 'geom',
|
|
13
|
-
VECTOR: 'vect',
|
|
14
|
-
GLTF: 'glTF'
|
|
15
|
-
};
|
|
16
|
-
exports.TILE3D_TYPE = TILE3D_TYPE;
|
|
17
|
-
var TILE3D_TYPES = Object.keys(TILE3D_TYPE);
|
|
18
|
-
exports.TILE3D_TYPES = TILE3D_TYPES;
|
|
19
|
-
var MAGIC_ARRAY = {
|
|
20
|
-
BATCHED_MODEL: [98, 51, 100, 109],
|
|
21
|
-
INSTANCED_MODEL: [105, 51, 100, 109],
|
|
22
|
-
POINT_CLOUD: [112, 110, 116, 115],
|
|
23
|
-
COMPOSITE: [99, 109, 112, 116]
|
|
24
|
-
};
|
|
25
|
-
exports.MAGIC_ARRAY = MAGIC_ARRAY;
|
|
26
|
-
var TILE3D_OPTIMIZATION_HINT = {
|
|
27
|
-
NOT_COMPUTED: -1,
|
|
28
|
-
USE_OPTIMIZATION: 1,
|
|
29
|
-
SKIP_OPTIMIZATION: 0
|
|
30
|
-
};
|
|
31
|
-
exports.TILE3D_OPTIMIZATION_HINT = TILE3D_OPTIMIZATION_HINT;
|
|
32
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/constants.ts"],"names":["TILE3D_TYPE","COMPOSITE","POINT_CLOUD","BATCHED_3D_MODEL","INSTANCED_3D_MODEL","GEOMETRY","VECTOR","GLTF","TILE3D_TYPES","Object","keys","MAGIC_ARRAY","BATCHED_MODEL","INSTANCED_MODEL","TILE3D_OPTIMIZATION_HINT","NOT_COMPUTED","USE_OPTIMIZATION","SKIP_OPTIMIZATION"],"mappings":";;;;;;AAEO,IAAMA,WAAW,GAAG;AACzBC,EAAAA,SAAS,EAAE,MADc;AAEzBC,EAAAA,WAAW,EAAE,MAFY;AAGzBC,EAAAA,gBAAgB,EAAE,MAHO;AAIzBC,EAAAA,kBAAkB,EAAE,MAJK;AAKzBC,EAAAA,QAAQ,EAAE,MALe;AAMzBC,EAAAA,MAAM,EAAE,MANiB;AAOzBC,EAAAA,IAAI,EAAE;AAPmB,CAApB;;AAUA,IAAMC,YAAY,GAAGC,MAAM,CAACC,IAAP,CAAYV,WAAZ,CAArB;;AAEA,IAAMW,WAAW,GAAG;AACzBC,EAAAA,aAAa,EAAE,CAAC,EAAD,EAAK,EAAL,EAAS,GAAT,EAAc,GAAd,CADU;AAEzBC,EAAAA,eAAe,EAAE,CAAC,GAAD,EAAM,EAAN,EAAU,GAAV,EAAe,GAAf,CAFQ;AAGzBX,EAAAA,WAAW,EAAE,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,CAHY;AAIzBD,EAAAA,SAAS,EAAE,CAAC,EAAD,EAAK,GAAL,EAAU,GAAV,EAAe,GAAf;AAJc,CAApB;;AAQA,IAAMa,wBAAwB,GAAG;AACtCC,EAAAA,YAAY,EAAE,CAAC,CADuB;AAEtCC,EAAAA,gBAAgB,EAAE,CAFoB;AAGtCC,EAAAA,iBAAiB,EAAE;AAHmB,CAAjC","sourcesContent":["// TILE TYPES\n\nexport const TILE3D_TYPE = {\n COMPOSITE: 'cmpt',\n POINT_CLOUD: 'pnts',\n BATCHED_3D_MODEL: 'b3dm',\n INSTANCED_3D_MODEL: 'i3dm',\n GEOMETRY: 'geom',\n VECTOR: 'vect',\n GLTF: 'glTF'\n};\n\nexport const TILE3D_TYPES = Object.keys(TILE3D_TYPE);\n\nexport const MAGIC_ARRAY = {\n BATCHED_MODEL: [98, 51, 100, 109],\n INSTANCED_MODEL: [105, 51, 100, 109],\n POINT_CLOUD: [112, 110, 116, 115],\n COMPOSITE: [99, 109, 112, 116]\n};\n\n// TILE CONSTANTS\nexport const TILE3D_OPTIMIZATION_HINT = {\n NOT_COMPUTED: -1,\n USE_OPTIMIZATION: 1,\n SKIP_OPTIMIZATION: 0\n};\n"],"file":"constants.js"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.encodeBatchedModel3DTile = encodeBatchedModel3DTile;
|
|
9
|
-
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
|
-
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
13
|
-
|
|
14
|
-
var _constants = require("../constants");
|
|
15
|
-
|
|
16
|
-
var _encode3dTileHeader = require("./helpers/encode-3d-tile-header");
|
|
17
|
-
|
|
18
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
19
|
-
|
|
20
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
21
|
-
|
|
22
|
-
function encodeBatchedModel3DTile(tile, dataView, byteOffset, options) {
|
|
23
|
-
var _tile = tile,
|
|
24
|
-
_tile$featuresLength = _tile.featuresLength,
|
|
25
|
-
featuresLength = _tile$featuresLength === void 0 ? 0 : _tile$featuresLength,
|
|
26
|
-
batchTable = _tile.batchTable;
|
|
27
|
-
var featureTableJson = {
|
|
28
|
-
BATCH_LENGTH: featuresLength
|
|
29
|
-
};
|
|
30
|
-
var featureTableJsonString = JSON.stringify(featureTableJson);
|
|
31
|
-
var batchTableJsonString = batchTable ? JSON.stringify(batchTable) : '';
|
|
32
|
-
var featureTableJsonByteLength = (0, _loaderUtils.padToNBytes)(featureTableJsonString.length, 8);
|
|
33
|
-
var batchTableJsonByteLength = batchTableJsonString ? (0, _loaderUtils.padToNBytes)(batchTableJsonString.length, 8) : 0;
|
|
34
|
-
tile = _objectSpread({
|
|
35
|
-
magic: _constants.MAGIC_ARRAY.BATCHED_MODEL
|
|
36
|
-
}, tile);
|
|
37
|
-
var byteOffsetStart = byteOffset;
|
|
38
|
-
byteOffset = (0, _encode3dTileHeader.encode3DTileHeader)(tile, dataView, byteOffset);
|
|
39
|
-
|
|
40
|
-
if (dataView) {
|
|
41
|
-
dataView.setUint32(12, featureTableJsonByteLength, true);
|
|
42
|
-
dataView.setUint32(16, 0, true);
|
|
43
|
-
dataView.setUint32(20, batchTableJsonByteLength, true);
|
|
44
|
-
dataView.setUint32(24, 0, true);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
byteOffset += 16;
|
|
48
|
-
byteOffset = (0, _loaderUtils.copyPaddedStringToDataView)(dataView, byteOffset, featureTableJsonString, 8);
|
|
49
|
-
|
|
50
|
-
if (batchTable) {
|
|
51
|
-
byteOffset = (0, _loaderUtils.copyPaddedStringToDataView)(dataView, byteOffset, batchTableJsonString, 8);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
var gltfEncoded = tile.gltfEncoded;
|
|
55
|
-
|
|
56
|
-
if (gltfEncoded) {
|
|
57
|
-
byteOffset = (0, _loaderUtils.copyBinaryToDataView)(dataView, byteOffset, gltfEncoded, gltfEncoded.byteLength);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
(0, _encode3dTileHeader.encode3DTileByteLength)(dataView, byteOffsetStart, byteOffset - byteOffsetStart);
|
|
61
|
-
return byteOffset;
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=encode-3d-tile-batched-model.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/encoders/encode-3d-tile-batched-model.ts"],"names":["encodeBatchedModel3DTile","tile","dataView","byteOffset","options","featuresLength","batchTable","featureTableJson","BATCH_LENGTH","featureTableJsonString","JSON","stringify","batchTableJsonString","featureTableJsonByteLength","length","batchTableJsonByteLength","magic","MAGIC_ARRAY","BATCHED_MODEL","byteOffsetStart","setUint32","gltfEncoded","byteLength"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;;;;;AAGO,SAASA,wBAAT,CAAkCC,IAAlC,EAAwCC,QAAxC,EAAkDC,UAAlD,EAA8DC,OAA9D,EAAuE;AAC5E,cAAyCH,IAAzC;AAAA,mCAAOI,cAAP;AAAA,MAAOA,cAAP,qCAAwB,CAAxB;AAAA,MAA2BC,UAA3B,SAA2BA,UAA3B;AAEA,MAAMC,gBAAgB,GAAG;AACvBC,IAAAA,YAAY,EAAEH;AADS,GAAzB;AAGA,MAAMI,sBAAsB,GAAGC,IAAI,CAACC,SAAL,CAAeJ,gBAAf,CAA/B;AACA,MAAMK,oBAAoB,GAAGN,UAAU,GAAGI,IAAI,CAACC,SAAL,CAAeL,UAAf,CAAH,GAAgC,EAAvE;AACA,MAAMO,0BAA0B,GAAG,8BAAYJ,sBAAsB,CAACK,MAAnC,EAA2C,CAA3C,CAAnC;AACA,MAAMC,wBAAwB,GAAGH,oBAAoB,GACjD,8BAAYA,oBAAoB,CAACE,MAAjC,EAAyC,CAAzC,CADiD,GAEjD,CAFJ;AAKAb,EAAAA,IAAI;AAAIe,IAAAA,KAAK,EAAEC,uBAAYC;AAAvB,KAAyCjB,IAAzC,CAAJ;AAEA,MAAMkB,eAAe,GAAGhB,UAAxB;AAEAA,EAAAA,UAAU,GAAG,4CAAmBF,IAAnB,EAAyBC,QAAzB,EAAmCC,UAAnC,CAAb;;AAEA,MAAID,QAAJ,EAAc;AACZA,IAAAA,QAAQ,CAACkB,SAAT,CAAmB,EAAnB,EAAuBP,0BAAvB,EAAmD,IAAnD;AACAX,IAAAA,QAAQ,CAACkB,SAAT,CAAmB,EAAnB,EAAuB,CAAvB,EAA0B,IAA1B;AACAlB,IAAAA,QAAQ,CAACkB,SAAT,CAAmB,EAAnB,EAAuBL,wBAAvB,EAAiD,IAAjD;AACAb,IAAAA,QAAQ,CAACkB,SAAT,CAAmB,EAAnB,EAAuB,CAAvB,EAA0B,IAA1B;AACD;;AACDjB,EAAAA,UAAU,IAAI,EAAd;AAGAA,EAAAA,UAAU,GAAG,6CAA2BD,QAA3B,EAAqCC,UAArC,EAAiDM,sBAAjD,EAAyE,CAAzE,CAAb;;AAEA,MAAIH,UAAJ,EAAgB;AACdH,IAAAA,UAAU,GAAG,6CAA2BD,QAA3B,EAAqCC,UAArC,EAAiDS,oBAAjD,EAAuE,CAAvE,CAAb;AACD;;AAGD,MAAMS,WAAW,GAAGpB,IAAI,CAACoB,WAAzB;;AACA,MAAIA,WAAJ,EAAiB;AACflB,IAAAA,UAAU,GAAG,uCAAqBD,QAArB,EAA+BC,UAA/B,EAA2CkB,WAA3C,EAAwDA,WAAW,CAACC,UAApE,CAAb;AACD;;AAGD,kDAAuBpB,QAAvB,EAAiCiB,eAAjC,EAAkDhB,UAAU,GAAGgB,eAA/D;AAEA,SAAOhB,UAAP;AACD","sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\nimport {\n padToNBytes,\n copyBinaryToDataView,\n copyPaddedStringToDataView\n} from '@loaders.gl/loader-utils';\nimport {MAGIC_ARRAY} from '../constants';\nimport {encode3DTileHeader, encode3DTileByteLength} from './helpers/encode-3d-tile-header';\n\n// Procedurally encode the tile array dataView for testing purposes\nexport function encodeBatchedModel3DTile(tile, dataView, byteOffset, options) {\n const {featuresLength = 0, batchTable} = tile;\n\n const featureTableJson = {\n BATCH_LENGTH: featuresLength\n };\n const featureTableJsonString = JSON.stringify(featureTableJson);\n const batchTableJsonString = batchTable ? JSON.stringify(batchTable) : '';\n const featureTableJsonByteLength = padToNBytes(featureTableJsonString.length, 8);\n const batchTableJsonByteLength = batchTableJsonString\n ? padToNBytes(batchTableJsonString.length, 8)\n : 0;\n\n // Add default magic for this tile type\n tile = {magic: MAGIC_ARRAY.BATCHED_MODEL, ...tile};\n\n const byteOffsetStart = byteOffset;\n\n byteOffset = encode3DTileHeader(tile, dataView, byteOffset);\n\n if (dataView) {\n dataView.setUint32(12, featureTableJsonByteLength, true); // featureTableJsonByteLength\n dataView.setUint32(16, 0, true); // featureTableBinaryByteLength\n dataView.setUint32(20, batchTableJsonByteLength, true); // batchTableJsonByteLength\n dataView.setUint32(24, 0, true); // batchTableBinaryByteLength\n }\n byteOffset += 16;\n\n // TODO feature table binary\n byteOffset = copyPaddedStringToDataView(dataView, byteOffset, featureTableJsonString, 8);\n\n if (batchTable) {\n byteOffset = copyPaddedStringToDataView(dataView, byteOffset, batchTableJsonString, 8);\n }\n\n // Add encoded GLTF to the end of data\n const gltfEncoded = tile.gltfEncoded;\n if (gltfEncoded) {\n byteOffset = copyBinaryToDataView(dataView, byteOffset, gltfEncoded, gltfEncoded.byteLength);\n }\n\n // Go \"back\" and rewrite the tile's `byteLength` now that we know the value\n encode3DTileByteLength(dataView, byteOffsetStart, byteOffset - byteOffsetStart);\n\n return byteOffset;\n}\n"],"file":"encode-3d-tile-batched-model.js"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.encodeComposite3DTile = encodeComposite3DTile;
|
|
9
|
-
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
|
-
var _constants = require("../constants");
|
|
13
|
-
|
|
14
|
-
var _encode3dTileHeader = require("./helpers/encode-3d-tile-header");
|
|
15
|
-
|
|
16
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
17
|
-
|
|
18
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
19
|
-
|
|
20
|
-
function encodeComposite3DTile(tile, dataView, byteOffset, options, encode3DTile) {
|
|
21
|
-
tile = _objectSpread({
|
|
22
|
-
magic: _constants.MAGIC_ARRAY.COMPOSITE,
|
|
23
|
-
tiles: []
|
|
24
|
-
}, tile);
|
|
25
|
-
var byteOffsetStart = byteOffset;
|
|
26
|
-
byteOffset += (0, _encode3dTileHeader.encode3DTileHeader)(tile, dataView, byteOffset);
|
|
27
|
-
|
|
28
|
-
if (dataView) {
|
|
29
|
-
dataView.setUint32(byteOffset, tile.tiles.length, true);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
byteOffset += 4;
|
|
33
|
-
|
|
34
|
-
for (var i = 0; i < tile.tiles.length; ++i) {
|
|
35
|
-
byteOffset += encode3DTile(tile.tiles[i], dataView, byteOffset, options);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
(0, _encode3dTileHeader.encode3DTileByteLength)(dataView, byteOffsetStart, byteOffset - byteOffsetStart);
|
|
39
|
-
return byteOffset;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=encode-3d-tile-composite.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/encoders/encode-3d-tile-composite.ts"],"names":["encodeComposite3DTile","tile","dataView","byteOffset","options","encode3DTile","magic","MAGIC_ARRAY","COMPOSITE","tiles","byteOffsetStart","setUint32","length","i"],"mappings":";;;;;;;;;;;AAGA;;AACA;;;;;;AAEO,SAASA,qBAAT,CAA+BC,IAA/B,EAAqCC,QAArC,EAA+CC,UAA/C,EAA2DC,OAA3D,EAAoEC,YAApE,EAAkF;AAEvFJ,EAAAA,IAAI;AAAIK,IAAAA,KAAK,EAAEC,uBAAYC,SAAvB;AAAkCC,IAAAA,KAAK,EAAE;AAAzC,KAAgDR,IAAhD,CAAJ;AAEA,MAAMS,eAAe,GAAGP,UAAxB;AAEAA,EAAAA,UAAU,IAAI,4CAAmBF,IAAnB,EAAyBC,QAAzB,EAAmCC,UAAnC,CAAd;;AAEA,MAAID,QAAJ,EAAc;AACZA,IAAAA,QAAQ,CAACS,SAAT,CAAmBR,UAAnB,EAA+BF,IAAI,CAACQ,KAAL,CAAWG,MAA1C,EAAkD,IAAlD;AACD;;AACDT,EAAAA,UAAU,IAAI,CAAd;;AAEA,OAAK,IAAIU,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGZ,IAAI,CAACQ,KAAL,CAAWG,MAA/B,EAAuC,EAAEC,CAAzC,EAA4C;AAC1CV,IAAAA,UAAU,IAAIE,YAAY,CAACJ,IAAI,CAACQ,KAAL,CAAWI,CAAX,CAAD,EAAgBX,QAAhB,EAA0BC,UAA1B,EAAsCC,OAAtC,CAA1B;AACD;;AAGD,kDAAuBF,QAAvB,EAAiCQ,eAAjC,EAAkDP,UAAU,GAAGO,eAA/D;AAEA,SAAOP,UAAP;AACD","sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\nimport {MAGIC_ARRAY} from '../constants';\nimport {encode3DTileHeader, encode3DTileByteLength} from './helpers/encode-3d-tile-header';\n\nexport function encodeComposite3DTile(tile, dataView, byteOffset, options, encode3DTile) {\n // Add default magic for this tile type\n tile = {magic: MAGIC_ARRAY.COMPOSITE, tiles: [], ...tile};\n\n const byteOffsetStart = byteOffset;\n\n byteOffset += encode3DTileHeader(tile, dataView, byteOffset);\n\n if (dataView) {\n dataView.setUint32(byteOffset, tile.tiles.length, true); // tilesLength\n }\n byteOffset += 4;\n\n for (let i = 0; i < tile.tiles.length; ++i) {\n byteOffset += encode3DTile(tile.tiles[i], dataView, byteOffset, options);\n }\n\n // Go \"back\" and rewrite the tile's `byteLength` now that we know the value\n encode3DTileByteLength(dataView, byteOffsetStart, byteOffset - byteOffsetStart);\n\n return byteOffset;\n}\n"],"file":"encode-3d-tile-composite.js"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.encodeInstancedModel3DTile = encodeInstancedModel3DTile;
|
|
9
|
-
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
|
-
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
13
|
-
|
|
14
|
-
var _constants = require("../constants");
|
|
15
|
-
|
|
16
|
-
var _encode3dTileHeader = require("./helpers/encode-3d-tile-header");
|
|
17
|
-
|
|
18
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
19
|
-
|
|
20
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
21
|
-
|
|
22
|
-
function encodeInstancedModel3DTile(tile, dataView, byteOffset, options) {
|
|
23
|
-
var _tile = tile,
|
|
24
|
-
_tile$featuresLength = _tile.featuresLength,
|
|
25
|
-
featuresLength = _tile$featuresLength === void 0 ? 1 : _tile$featuresLength,
|
|
26
|
-
_tile$gltfFormat = _tile.gltfFormat,
|
|
27
|
-
gltfFormat = _tile$gltfFormat === void 0 ? 1 : _tile$gltfFormat,
|
|
28
|
-
_tile$gltfUri = _tile.gltfUri,
|
|
29
|
-
gltfUri = _tile$gltfUri === void 0 ? '' : _tile$gltfUri;
|
|
30
|
-
var gltfUriByteLength = gltfUri.length;
|
|
31
|
-
var featureTableJson = {
|
|
32
|
-
INSTANCES_LENGTH: featuresLength,
|
|
33
|
-
POSITION: new Array(featuresLength * 3).fill(0)
|
|
34
|
-
};
|
|
35
|
-
var featureTableJsonString = JSON.stringify(featureTableJson);
|
|
36
|
-
var featureTableJsonByteLength = featureTableJsonString.length;
|
|
37
|
-
tile = _objectSpread({
|
|
38
|
-
magic: _constants.MAGIC_ARRAY.INSTANCED_MODEL
|
|
39
|
-
}, tile);
|
|
40
|
-
var byteOffsetStart = byteOffset;
|
|
41
|
-
byteOffset = (0, _encode3dTileHeader.encode3DTileHeader)(tile, dataView, 0);
|
|
42
|
-
|
|
43
|
-
if (dataView) {
|
|
44
|
-
dataView.setUint32(12, featureTableJsonByteLength, true);
|
|
45
|
-
dataView.setUint32(16, 0, true);
|
|
46
|
-
dataView.setUint32(20, 0, true);
|
|
47
|
-
dataView.setUint32(24, 0, true);
|
|
48
|
-
dataView.setUint32(28, gltfFormat, true);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
byteOffset += 20;
|
|
52
|
-
byteOffset += (0, _loaderUtils.copyStringToDataView)(dataView, byteOffset, featureTableJsonString, featureTableJsonByteLength);
|
|
53
|
-
byteOffset += (0, _loaderUtils.copyStringToDataView)(dataView, byteOffset, gltfUri, gltfUriByteLength);
|
|
54
|
-
(0, _encode3dTileHeader.encode3DTileByteLength)(dataView, byteOffsetStart, byteOffset - byteOffsetStart);
|
|
55
|
-
return byteOffset;
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=encode-3d-tile-instanced-model.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/encoders/encode-3d-tile-instanced-model.ts"],"names":["encodeInstancedModel3DTile","tile","dataView","byteOffset","options","featuresLength","gltfFormat","gltfUri","gltfUriByteLength","length","featureTableJson","INSTANCES_LENGTH","POSITION","Array","fill","featureTableJsonString","JSON","stringify","featureTableJsonByteLength","magic","MAGIC_ARRAY","INSTANCED_MODEL","byteOffsetStart","setUint32"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;;;;;AAIO,SAASA,0BAAT,CAAoCC,IAApC,EAA0CC,QAA1C,EAAoDC,UAApD,EAAgEC,OAAhE,EAAyE;AAC9E,cAA2DH,IAA3D;AAAA,mCAAOI,cAAP;AAAA,MAAOA,cAAP,qCAAwB,CAAxB;AAAA,+BAA2BC,UAA3B;AAAA,MAA2BA,UAA3B,iCAAwC,CAAxC;AAAA,4BAA2CC,OAA3C;AAAA,MAA2CA,OAA3C,8BAAqD,EAArD;AAEA,MAAMC,iBAAiB,GAAGD,OAAO,CAACE,MAAlC;AAEA,MAAMC,gBAAgB,GAAG;AACvBC,IAAAA,gBAAgB,EAAEN,cADK;AAEvBO,IAAAA,QAAQ,EAAE,IAAIC,KAAJ,CAAUR,cAAc,GAAG,CAA3B,EAA8BS,IAA9B,CAAmC,CAAnC;AAFa,GAAzB;AAIA,MAAMC,sBAAsB,GAAGC,IAAI,CAACC,SAAL,CAAeP,gBAAf,CAA/B;AACA,MAAMQ,0BAA0B,GAAGH,sBAAsB,CAACN,MAA1D;AAGAR,EAAAA,IAAI;AAAIkB,IAAAA,KAAK,EAAEC,uBAAYC;AAAvB,KAA2CpB,IAA3C,CAAJ;AAEA,MAAMqB,eAAe,GAAGnB,UAAxB;AAEAA,EAAAA,UAAU,GAAG,4CAAmBF,IAAnB,EAAyBC,QAAzB,EAAmC,CAAnC,CAAb;;AAEA,MAAIA,QAAJ,EAAc;AACZA,IAAAA,QAAQ,CAACqB,SAAT,CAAmB,EAAnB,EAAuBL,0BAAvB,EAAmD,IAAnD;AACAhB,IAAAA,QAAQ,CAACqB,SAAT,CAAmB,EAAnB,EAAuB,CAAvB,EAA0B,IAA1B;AACArB,IAAAA,QAAQ,CAACqB,SAAT,CAAmB,EAAnB,EAAuB,CAAvB,EAA0B,IAA1B;AACArB,IAAAA,QAAQ,CAACqB,SAAT,CAAmB,EAAnB,EAAuB,CAAvB,EAA0B,IAA1B;AACArB,IAAAA,QAAQ,CAACqB,SAAT,CAAmB,EAAnB,EAAuBjB,UAAvB,EAAmC,IAAnC;AACD;;AAEDH,EAAAA,UAAU,IAAI,EAAd;AAEAA,EAAAA,UAAU,IAAI,uCACZD,QADY,EAEZC,UAFY,EAGZY,sBAHY,EAIZG,0BAJY,CAAd;AAMAf,EAAAA,UAAU,IAAI,uCAAqBD,QAArB,EAA+BC,UAA/B,EAA2CI,OAA3C,EAAoDC,iBAApD,CAAd;AAGA,kDAAuBN,QAAvB,EAAiCoB,eAAjC,EAAkDnB,UAAU,GAAGmB,eAA/D;AAEA,SAAOnB,UAAP;AACD","sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\nimport {copyStringToDataView} from '@loaders.gl/loader-utils';\nimport {MAGIC_ARRAY} from '../constants';\nimport {encode3DTileHeader, encode3DTileByteLength} from './helpers/encode-3d-tile-header';\n\n// Procedurally encode the tile array buffer for testing purposes\n// eslint-disable-next-line max-statements\nexport function encodeInstancedModel3DTile(tile, dataView, byteOffset, options) {\n const {featuresLength = 1, gltfFormat = 1, gltfUri = ''} = tile;\n\n const gltfUriByteLength = gltfUri.length;\n\n const featureTableJson = {\n INSTANCES_LENGTH: featuresLength,\n POSITION: new Array(featuresLength * 3).fill(0)\n };\n const featureTableJsonString = JSON.stringify(featureTableJson);\n const featureTableJsonByteLength = featureTableJsonString.length;\n\n // Add default magic for this tile type\n tile = {magic: MAGIC_ARRAY.INSTANCED_MODEL, ...tile};\n\n const byteOffsetStart = byteOffset;\n\n byteOffset = encode3DTileHeader(tile, dataView, 0);\n\n if (dataView) {\n dataView.setUint32(12, featureTableJsonByteLength, true); // featureTableJsonByteLength\n dataView.setUint32(16, 0, true); // featureTableBinaryByteLength\n dataView.setUint32(20, 0, true); // batchTableJsonByteLength\n dataView.setUint32(24, 0, true); // batchTableBinaryByteLength\n dataView.setUint32(28, gltfFormat, true); // gltfFormat\n }\n\n byteOffset += 20;\n\n byteOffset += copyStringToDataView(\n dataView,\n byteOffset,\n featureTableJsonString,\n featureTableJsonByteLength\n );\n byteOffset += copyStringToDataView(dataView, byteOffset, gltfUri, gltfUriByteLength);\n\n // Go \"back\" and rewrite the tile's `byteLength` now that we know the value\n encode3DTileByteLength(dataView, byteOffsetStart, byteOffset - byteOffsetStart);\n\n return byteOffset;\n}\n"],"file":"encode-3d-tile-instanced-model.js"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.encodePointCloud3DTile = encodePointCloud3DTile;
|
|
9
|
-
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
|
-
var _constants = require("../constants");
|
|
13
|
-
|
|
14
|
-
var _encode3dTileHeader = require("./helpers/encode-3d-tile-header");
|
|
15
|
-
|
|
16
|
-
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
17
|
-
|
|
18
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
19
|
-
|
|
20
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
21
|
-
|
|
22
|
-
var DEFAULT_FEATURE_TABLE_JSON = {
|
|
23
|
-
POINTS_LENGTH: 1,
|
|
24
|
-
POSITIONS: {
|
|
25
|
-
byteOffset: 0
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
function encodePointCloud3DTile(tile, dataView, byteOffset, options) {
|
|
30
|
-
var _tile = tile,
|
|
31
|
-
_tile$featureTableJso = _tile.featureTableJson,
|
|
32
|
-
featureTableJson = _tile$featureTableJso === void 0 ? DEFAULT_FEATURE_TABLE_JSON : _tile$featureTableJso;
|
|
33
|
-
var featureTableJsonString = JSON.stringify(featureTableJson);
|
|
34
|
-
featureTableJsonString = (0, _loaderUtils.padStringToByteAlignment)(featureTableJsonString, 4);
|
|
35
|
-
var _tile2 = tile,
|
|
36
|
-
_tile2$featureTableJs = _tile2.featureTableJsonByteLength,
|
|
37
|
-
featureTableJsonByteLength = _tile2$featureTableJs === void 0 ? featureTableJsonString.length : _tile2$featureTableJs;
|
|
38
|
-
var featureTableBinary = new ArrayBuffer(12);
|
|
39
|
-
var featureTableBinaryByteLength = featureTableBinary.byteLength;
|
|
40
|
-
tile = _objectSpread({
|
|
41
|
-
magic: _constants.MAGIC_ARRAY.POINT_CLOUD
|
|
42
|
-
}, tile);
|
|
43
|
-
var byteOffsetStart = byteOffset;
|
|
44
|
-
byteOffset += (0, _encode3dTileHeader.encode3DTileHeader)(tile, dataView, 0);
|
|
45
|
-
|
|
46
|
-
if (dataView) {
|
|
47
|
-
dataView.setUint32(byteOffset + 0, featureTableJsonByteLength, true);
|
|
48
|
-
dataView.setUint32(byteOffset + 4, featureTableBinaryByteLength, true);
|
|
49
|
-
dataView.setUint32(byteOffset + 8, 0, true);
|
|
50
|
-
dataView.setUint32(byteOffset + 12, 0, true);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
byteOffset += 16;
|
|
54
|
-
byteOffset += (0, _loaderUtils.copyStringToDataView)(dataView, byteOffset, featureTableJsonString, featureTableJsonByteLength);
|
|
55
|
-
byteOffset += (0, _loaderUtils.copyBinaryToDataView)(dataView, byteOffset, featureTableBinary, featureTableBinaryByteLength);
|
|
56
|
-
(0, _encode3dTileHeader.encode3DTileByteLength)(dataView, byteOffsetStart, byteOffset - byteOffsetStart);
|
|
57
|
-
return byteOffset;
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=encode-3d-tile-point-cloud.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/encoders/encode-3d-tile-point-cloud.ts"],"names":["DEFAULT_FEATURE_TABLE_JSON","POINTS_LENGTH","POSITIONS","byteOffset","encodePointCloud3DTile","tile","dataView","options","featureTableJson","featureTableJsonString","JSON","stringify","featureTableJsonByteLength","length","featureTableBinary","ArrayBuffer","featureTableBinaryByteLength","byteLength","magic","MAGIC_ARRAY","POINT_CLOUD","byteOffsetStart","setUint32"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;;;;;AAMA,IAAMA,0BAA0B,GAAG;AACjCC,EAAAA,aAAa,EAAE,CADkB;AAEjCC,EAAAA,SAAS,EAAE;AACTC,IAAAA,UAAU,EAAE;AADH;AAFsB,CAAnC;;AAOO,SAASC,sBAAT,CAAgCC,IAAhC,EAAsCC,QAAtC,EAAgDH,UAAhD,EAA4DI,OAA5D,EAAqE;AAC1E,cAAwDF,IAAxD;AAAA,oCAAOG,gBAAP;AAAA,MAAOA,gBAAP,sCAA0BR,0BAA1B;AAEA,MAAIS,sBAAsB,GAAGC,IAAI,CAACC,SAAL,CAAeH,gBAAf,CAA7B;AACAC,EAAAA,sBAAsB,GAAG,2CAAyBA,sBAAzB,EAAiD,CAAjD,CAAzB;AAEA,eAAqEJ,IAArE;AAAA,qCAAOO,0BAAP;AAAA,MAAOA,0BAAP,sCAAoCH,sBAAsB,CAACI,MAA3D;AAEA,MAAMC,kBAAkB,GAAG,IAAIC,WAAJ,CAAgB,EAAhB,CAA3B;AACA,MAAMC,4BAA4B,GAAGF,kBAAkB,CAACG,UAAxD;AAGAZ,EAAAA,IAAI;AAAIa,IAAAA,KAAK,EAAEC,uBAAYC;AAAvB,KAAuCf,IAAvC,CAAJ;AAEA,MAAMgB,eAAe,GAAGlB,UAAxB;AAEAA,EAAAA,UAAU,IAAI,4CAAmBE,IAAnB,EAAyBC,QAAzB,EAAmC,CAAnC,CAAd;;AAEA,MAAIA,QAAJ,EAAc;AACZA,IAAAA,QAAQ,CAACgB,SAAT,CAAmBnB,UAAU,GAAG,CAAhC,EAAmCS,0BAAnC,EAA+D,IAA/D;AACAN,IAAAA,QAAQ,CAACgB,SAAT,CAAmBnB,UAAU,GAAG,CAAhC,EAAmCa,4BAAnC,EAAiE,IAAjE;AACAV,IAAAA,QAAQ,CAACgB,SAAT,CAAmBnB,UAAU,GAAG,CAAhC,EAAmC,CAAnC,EAAsC,IAAtC;AACAG,IAAAA,QAAQ,CAACgB,SAAT,CAAmBnB,UAAU,GAAG,EAAhC,EAAoC,CAApC,EAAuC,IAAvC;AACD;;AACDA,EAAAA,UAAU,IAAI,EAAd;AAEAA,EAAAA,UAAU,IAAI,uCACZG,QADY,EAEZH,UAFY,EAGZM,sBAHY,EAIZG,0BAJY,CAAd;AAMAT,EAAAA,UAAU,IAAI,uCACZG,QADY,EAEZH,UAFY,EAGZW,kBAHY,EAIZE,4BAJY,CAAd;AAQA,kDAAuBV,QAAvB,EAAiCe,eAAjC,EAAkDlB,UAAU,GAAGkB,eAA/D;AAEA,SAAOlB,UAAP;AACD","sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\nimport {MAGIC_ARRAY} from '../constants';\nimport {encode3DTileHeader, encode3DTileByteLength} from './helpers/encode-3d-tile-header';\nimport {\n padStringToByteAlignment,\n copyStringToDataView,\n copyBinaryToDataView\n} from '@loaders.gl/loader-utils';\n\nconst DEFAULT_FEATURE_TABLE_JSON = {\n POINTS_LENGTH: 1,\n POSITIONS: {\n byteOffset: 0\n }\n};\n\nexport function encodePointCloud3DTile(tile, dataView, byteOffset, options) {\n const {featureTableJson = DEFAULT_FEATURE_TABLE_JSON} = tile;\n\n let featureTableJsonString = JSON.stringify(featureTableJson);\n featureTableJsonString = padStringToByteAlignment(featureTableJsonString, 4);\n\n const {featureTableJsonByteLength = featureTableJsonString.length} = tile;\n\n const featureTableBinary = new ArrayBuffer(12); // Enough space to hold 3 floats\n const featureTableBinaryByteLength = featureTableBinary.byteLength;\n\n // Add default magic for this tile type\n tile = {magic: MAGIC_ARRAY.POINT_CLOUD, ...tile};\n\n const byteOffsetStart = byteOffset;\n\n byteOffset += encode3DTileHeader(tile, dataView, 0);\n\n if (dataView) {\n dataView.setUint32(byteOffset + 0, featureTableJsonByteLength, true); // featureTableJsonByteLength\n dataView.setUint32(byteOffset + 4, featureTableBinaryByteLength, true); // featureTableBinaryByteLength\n dataView.setUint32(byteOffset + 8, 0, true); // batchTableJsonByteLength\n dataView.setUint32(byteOffset + 12, 0, true); // batchTableBinaryByteLength\n }\n byteOffset += 16;\n\n byteOffset += copyStringToDataView(\n dataView,\n byteOffset,\n featureTableJsonString,\n featureTableJsonByteLength\n );\n byteOffset += copyBinaryToDataView(\n dataView,\n byteOffset,\n featureTableBinary,\n featureTableBinaryByteLength\n );\n\n // Go \"back\" and rewrite the tile's `byteLength` now that we know the value\n encode3DTileByteLength(dataView, byteOffsetStart, byteOffset - byteOffsetStart);\n\n return byteOffset;\n}\n"],"file":"encode-3d-tile-point-cloud.js"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = encode3DTile;
|
|
7
|
-
|
|
8
|
-
var _constants = require("../constants");
|
|
9
|
-
|
|
10
|
-
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
11
|
-
|
|
12
|
-
var _encode3dTileComposite = require("./encode-3d-tile-composite");
|
|
13
|
-
|
|
14
|
-
var _encode3dTileBatchedModel = require("./encode-3d-tile-batched-model");
|
|
15
|
-
|
|
16
|
-
var _encode3dTileInstancedModel = require("./encode-3d-tile-instanced-model");
|
|
17
|
-
|
|
18
|
-
var _encode3dTilePointCloud = require("./encode-3d-tile-point-cloud");
|
|
19
|
-
|
|
20
|
-
function encode3DTile(tile, options) {
|
|
21
|
-
var byteLength = encode3DTileToDataView(tile, null, 0, options);
|
|
22
|
-
var arrayBuffer = new ArrayBuffer(byteLength);
|
|
23
|
-
var dataView = new DataView(arrayBuffer);
|
|
24
|
-
encode3DTileToDataView(tile, dataView, 0, options);
|
|
25
|
-
return arrayBuffer;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function encode3DTileToDataView(tile, dataView, byteOffset, options) {
|
|
29
|
-
(0, _loaderUtils.assert)(typeof tile.type === 'string');
|
|
30
|
-
|
|
31
|
-
switch (tile.type) {
|
|
32
|
-
case _constants.TILE3D_TYPE.COMPOSITE:
|
|
33
|
-
return (0, _encode3dTileComposite.encodeComposite3DTile)(tile, dataView, byteOffset, options, encode3DTileToDataView);
|
|
34
|
-
|
|
35
|
-
case _constants.TILE3D_TYPE.POINT_CLOUD:
|
|
36
|
-
return (0, _encode3dTilePointCloud.encodePointCloud3DTile)(tile, dataView, byteOffset, options);
|
|
37
|
-
|
|
38
|
-
case _constants.TILE3D_TYPE.BATCHED_3D_MODEL:
|
|
39
|
-
return (0, _encode3dTileBatchedModel.encodeBatchedModel3DTile)(tile, dataView, byteOffset, options);
|
|
40
|
-
|
|
41
|
-
case _constants.TILE3D_TYPE.INSTANCED_3D_MODEL:
|
|
42
|
-
return (0, _encode3dTileInstancedModel.encodeInstancedModel3DTile)(tile, dataView, byteOffset, options);
|
|
43
|
-
|
|
44
|
-
default:
|
|
45
|
-
throw new Error('3D Tiles: unknown tile type');
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=encode-3d-tile.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/encoders/encode-3d-tile.ts"],"names":["encode3DTile","tile","options","byteLength","encode3DTileToDataView","arrayBuffer","ArrayBuffer","dataView","DataView","byteOffset","type","TILE3D_TYPE","COMPOSITE","POINT_CLOUD","BATCHED_3D_MODEL","INSTANCED_3D_MODEL","Error"],"mappings":";;;;;;;AAGA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AAEe,SAASA,YAAT,CAAsBC,IAAtB,EAA4BC,OAA5B,EAAqC;AAClD,MAAMC,UAAU,GAAGC,sBAAsB,CAACH,IAAD,EAAO,IAAP,EAAa,CAAb,EAAgBC,OAAhB,CAAzC;AACA,MAAMG,WAAW,GAAG,IAAIC,WAAJ,CAAgBH,UAAhB,CAApB;AACA,MAAMI,QAAQ,GAAG,IAAIC,QAAJ,CAAaH,WAAb,CAAjB;AACAD,EAAAA,sBAAsB,CAACH,IAAD,EAAOM,QAAP,EAAiB,CAAjB,EAAoBL,OAApB,CAAtB;AACA,SAAOG,WAAP;AACD;;AAED,SAASD,sBAAT,CAAgCH,IAAhC,EAAsCM,QAAtC,EAAgDE,UAAhD,EAA4DP,OAA5D,EAAqE;AACnE,2BAAO,OAAOD,IAAI,CAACS,IAAZ,KAAqB,QAA5B;;AAEA,UAAQT,IAAI,CAACS,IAAb;AACE,SAAKC,uBAAYC,SAAjB;AACE,aAAO,kDAAsBX,IAAtB,EAA4BM,QAA5B,EAAsCE,UAAtC,EAAkDP,OAAlD,EAA2DE,sBAA3D,CAAP;;AACF,SAAKO,uBAAYE,WAAjB;AACE,aAAO,oDAAuBZ,IAAvB,EAA6BM,QAA7B,EAAuCE,UAAvC,EAAmDP,OAAnD,CAAP;;AACF,SAAKS,uBAAYG,gBAAjB;AACE,aAAO,wDAAyBb,IAAzB,EAA+BM,QAA/B,EAAyCE,UAAzC,EAAqDP,OAArD,CAAP;;AACF,SAAKS,uBAAYI,kBAAjB;AACE,aAAO,4DAA2Bd,IAA3B,EAAiCM,QAAjC,EAA2CE,UAA3C,EAAuDP,OAAvD,CAAP;;AACF;AACE,YAAM,IAAIc,KAAJ,CAAU,6BAAV,CAAN;AAVJ;AAYD","sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\nimport {TILE3D_TYPE} from '../constants';\nimport {assert} from '@loaders.gl/loader-utils';\n\nimport {encodeComposite3DTile} from './encode-3d-tile-composite';\nimport {encodeBatchedModel3DTile} from './encode-3d-tile-batched-model';\nimport {encodeInstancedModel3DTile} from './encode-3d-tile-instanced-model';\nimport {encodePointCloud3DTile} from './encode-3d-tile-point-cloud';\n\nexport default function encode3DTile(tile, options) {\n const byteLength = encode3DTileToDataView(tile, null, 0, options);\n const arrayBuffer = new ArrayBuffer(byteLength);\n const dataView = new DataView(arrayBuffer);\n encode3DTileToDataView(tile, dataView, 0, options);\n return arrayBuffer;\n}\n\nfunction encode3DTileToDataView(tile, dataView, byteOffset, options) {\n assert(typeof tile.type === 'string');\n\n switch (tile.type) {\n case TILE3D_TYPE.COMPOSITE:\n return encodeComposite3DTile(tile, dataView, byteOffset, options, encode3DTileToDataView);\n case TILE3D_TYPE.POINT_CLOUD:\n return encodePointCloud3DTile(tile, dataView, byteOffset, options);\n case TILE3D_TYPE.BATCHED_3D_MODEL:\n return encodeBatchedModel3DTile(tile, dataView, byteOffset, options);\n case TILE3D_TYPE.INSTANCED_3D_MODEL:\n return encodeInstancedModel3DTile(tile, dataView, byteOffset, options);\n default:\n throw new Error('3D Tiles: unknown tile type');\n }\n}\n"],"file":"encode-3d-tile.js"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.encode3DTileHeader = encode3DTileHeader;
|
|
7
|
-
exports.encode3DTileByteLength = encode3DTileByteLength;
|
|
8
|
-
|
|
9
|
-
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
10
|
-
|
|
11
|
-
function encode3DTileHeader(tile, dataView, byteOffset) {
|
|
12
|
-
var HEADER_SIZE = 12;
|
|
13
|
-
|
|
14
|
-
if (!dataView) {
|
|
15
|
-
return byteOffset + HEADER_SIZE;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
var magic = tile.magic,
|
|
19
|
-
_tile$version = tile.version,
|
|
20
|
-
version = _tile$version === void 0 ? 1 : _tile$version,
|
|
21
|
-
_tile$byteLength = tile.byteLength,
|
|
22
|
-
byteLength = _tile$byteLength === void 0 ? 12 : _tile$byteLength;
|
|
23
|
-
(0, _loaderUtils.assert)(Array.isArray(magic) && Number.isFinite(version) && Number.isFinite(byteLength));
|
|
24
|
-
dataView.setUint8(byteOffset + 0, magic[0]);
|
|
25
|
-
dataView.setUint8(byteOffset + 1, magic[1]);
|
|
26
|
-
dataView.setUint8(byteOffset + 2, magic[2]);
|
|
27
|
-
dataView.setUint8(byteOffset + 3, magic[3]);
|
|
28
|
-
dataView.setUint32(byteOffset + 4, version, true);
|
|
29
|
-
dataView.setUint32(byteOffset + 8, byteLength, true);
|
|
30
|
-
byteOffset += HEADER_SIZE;
|
|
31
|
-
return byteOffset;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
function encode3DTileByteLength(dataView, byteOffsetTileStart, byteLength) {
|
|
35
|
-
if (!dataView) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
dataView.setUint32(byteOffsetTileStart + 8, byteLength, true);
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=encode-3d-tile-header.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/lib/encoders/helpers/encode-3d-tile-header.ts"],"names":["encode3DTileHeader","tile","dataView","byteOffset","HEADER_SIZE","magic","version","byteLength","Array","isArray","Number","isFinite","setUint8","setUint32","encode3DTileByteLength","byteOffsetTileStart"],"mappings":";;;;;;;;AACA;;AAEO,SAASA,kBAAT,CAA4BC,IAA5B,EAAkCC,QAAlC,EAA4CC,UAA5C,EAAwD;AAC7D,MAAMC,WAAW,GAAG,EAApB;;AAEA,MAAI,CAACF,QAAL,EAAe;AACb,WAAOC,UAAU,GAAGC,WAApB;AACD;;AAED,MAAOC,KAAP,GAA8CJ,IAA9C,CAAOI,KAAP;AAAA,sBAA8CJ,IAA9C,CAAcK,OAAd;AAAA,MAAcA,OAAd,8BAAwB,CAAxB;AAAA,yBAA8CL,IAA9C,CAA2BM,UAA3B;AAAA,MAA2BA,UAA3B,iCAAwC,EAAxC;AAEA,2BAAOC,KAAK,CAACC,OAAN,CAAcJ,KAAd,KAAwBK,MAAM,CAACC,QAAP,CAAgBL,OAAhB,CAAxB,IAAoDI,MAAM,CAACC,QAAP,CAAgBJ,UAAhB,CAA3D;AAEAL,EAAAA,QAAQ,CAACU,QAAT,CAAkBT,UAAU,GAAG,CAA/B,EAAkCE,KAAK,CAAC,CAAD,CAAvC;AACAH,EAAAA,QAAQ,CAACU,QAAT,CAAkBT,UAAU,GAAG,CAA/B,EAAkCE,KAAK,CAAC,CAAD,CAAvC;AACAH,EAAAA,QAAQ,CAACU,QAAT,CAAkBT,UAAU,GAAG,CAA/B,EAAkCE,KAAK,CAAC,CAAD,CAAvC;AACAH,EAAAA,QAAQ,CAACU,QAAT,CAAkBT,UAAU,GAAG,CAA/B,EAAkCE,KAAK,CAAC,CAAD,CAAvC;AACAH,EAAAA,QAAQ,CAACW,SAAT,CAAmBV,UAAU,GAAG,CAAhC,EAAmCG,OAAnC,EAA4C,IAA5C;AACAJ,EAAAA,QAAQ,CAACW,SAAT,CAAmBV,UAAU,GAAG,CAAhC,EAAmCI,UAAnC,EAA+C,IAA/C;AAEAJ,EAAAA,UAAU,IAAIC,WAAd;AAEA,SAAOD,UAAP;AACD;;AAGM,SAASW,sBAAT,CAAgCZ,QAAhC,EAA0Ca,mBAA1C,EAA+DR,UAA/D,EAA2E;AAChF,MAAI,CAACL,QAAL,EAAe;AACb;AACD;;AAEDA,EAAAA,QAAQ,CAACW,SAAT,CAAmBE,mBAAmB,GAAG,CAAzC,EAA4CR,UAA5C,EAAwD,IAAxD;AACD","sourcesContent":["// HELPER ENCODERS\nimport {assert} from '@loaders.gl/loader-utils';\n\nexport function encode3DTileHeader(tile, dataView, byteOffset) {\n const HEADER_SIZE = 12;\n\n if (!dataView) {\n return byteOffset + HEADER_SIZE;\n }\n\n const {magic, version = 1, byteLength = 12} = tile;\n\n assert(Array.isArray(magic) && Number.isFinite(version) && Number.isFinite(byteLength));\n\n dataView.setUint8(byteOffset + 0, magic[0]);\n dataView.setUint8(byteOffset + 1, magic[1]);\n dataView.setUint8(byteOffset + 2, magic[2]);\n dataView.setUint8(byteOffset + 3, magic[3]);\n dataView.setUint32(byteOffset + 4, version, true); // version\n dataView.setUint32(byteOffset + 8, byteLength, true); // byteLength\n\n byteOffset += HEADER_SIZE;\n\n return byteOffset;\n}\n\n// Bytelength is sometimes only known at the end of writing a tile\nexport function encode3DTileByteLength(dataView, byteOffsetTileStart, byteLength) {\n if (!dataView) {\n return;\n }\n\n dataView.setUint32(byteOffsetTileStart + 8, byteLength, true); // byteLength\n}\n"],"file":"encode-3d-tile-header.js"}
|