@loaders.gl/3d-tiles 3.1.0-alpha.4 → 3.1.0-beta.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.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +10008 -0
- package/dist/cesium-ion-loader.d.ts +6 -0
- package/dist/cesium-ion-loader.d.ts.map +1 -0
- package/dist/cesium-ion-loader.js +40 -0
- package/dist/es5/bundle.js +1 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/cesium-ion-loader.js +23 -78
- package/dist/es5/cesium-ion-loader.js.map +1 -1
- package/dist/es5/index.js +15 -7
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js +30 -42
- package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js.map +1 -1
- package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js +57 -59
- package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js.map +1 -1
- package/dist/es5/lib/classes/tile-3d-batch-table.js +209 -237
- package/dist/es5/lib/classes/tile-3d-batch-table.js.map +1 -1
- package/dist/es5/lib/classes/tile-3d-feature-table.js +67 -79
- package/dist/es5/lib/classes/tile-3d-feature-table.js.map +1 -1
- package/dist/es5/lib/constants.js +4 -4
- package/dist/es5/lib/constants.js.map +1 -1
- package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js +15 -22
- package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js.map +1 -1
- package/dist/es5/lib/encoders/encode-3d-tile-composite.js +6 -13
- package/dist/es5/lib/encoders/encode-3d-tile-composite.js.map +1 -1
- package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js +14 -23
- package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js.map +1 -1
- package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js +15 -22
- package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js.map +1 -1
- package/dist/es5/lib/encoders/encode-3d-tile.js +3 -3
- package/dist/es5/lib/encoders/encode-3d-tile.js.map +1 -1
- package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js +6 -6
- package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js.map +1 -1
- package/dist/es5/lib/ion/ion.js +69 -197
- package/dist/es5/lib/ion/ion.js.map +1 -1
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js +17 -18
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js.map +1 -1
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js +3 -3
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js.map +1 -1
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js +3 -3
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js.map +1 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js +27 -67
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js +3 -4
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js.map +1 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js +73 -0
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -0
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js +19 -17
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js.map +1 -1
- package/dist/es5/lib/parsers/helpers/parse-utils.js +7 -8
- package/dist/es5/lib/parsers/helpers/parse-utils.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js +10 -36
- package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-composite.js +12 -48
- package/dist/es5/lib/parsers/parse-3d-tile-composite.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-header.js +14 -30
- package/dist/es5/lib/parsers/parse-3d-tile-header.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-instanced-model.js +38 -63
- package/dist/es5/lib/parsers/parse-3d-tile-instanced-model.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js +117 -198
- package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile.js +15 -65
- package/dist/es5/lib/parsers/parse-3d-tile.js.map +1 -1
- package/dist/es5/lib/utils/version.js +1 -1
- package/dist/es5/lib/utils/version.js.map +1 -1
- package/dist/es5/tile-3d-subtree-loader.js +26 -0
- package/dist/es5/tile-3d-subtree-loader.js.map +1 -0
- package/dist/es5/tile-3d-writer.js +5 -5
- package/dist/es5/tile-3d-writer.js.map +1 -1
- package/dist/es5/tiles-3d-loader.js +37 -117
- package/dist/es5/tiles-3d-loader.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/classes/helpers/tile-3d-accessor-utils.js.map +1 -1
- package/dist/esm/lib/classes/tile-3d-batch-table-hierarchy.js +1 -1
- package/dist/esm/lib/classes/tile-3d-batch-table-hierarchy.js.map +1 -1
- package/dist/esm/lib/classes/tile-3d-batch-table.js +19 -4
- package/dist/esm/lib/classes/tile-3d-batch-table.js.map +1 -1
- package/dist/esm/lib/classes/tile-3d-feature-table.js +9 -2
- package/dist/esm/lib/classes/tile-3d-feature-table.js.map +1 -1
- package/dist/esm/lib/constants.js.map +1 -1
- package/dist/esm/lib/encoders/encode-3d-tile-batched-model.js.map +1 -1
- package/dist/esm/lib/encoders/encode-3d-tile-composite.js.map +1 -1
- package/dist/esm/lib/encoders/encode-3d-tile-instanced-model.js.map +1 -1
- package/dist/esm/lib/encoders/encode-3d-tile-point-cloud.js.map +1 -1
- package/dist/esm/lib/encoders/encode-3d-tile.js.map +1 -1
- package/dist/esm/lib/encoders/helpers/encode-3d-tile-header.js.map +1 -1
- package/dist/esm/lib/ion/ion.js +6 -6
- package/dist/esm/lib/ion/ion.js.map +1 -1
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-colors.js.map +1 -1
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-normals.js.map +1 -1
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-positions.js.map +1 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js +2 -2
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-header.js +1 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-header.js.map +1 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-subtree.js +64 -0
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -0
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-tables.js +1 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-tables.js.map +1 -1
- package/dist/esm/lib/parsers/helpers/parse-utils.js +1 -5
- package/dist/esm/lib/parsers/helpers/parse-utils.js.map +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile-batched-model.js.map +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile-composite.js.map +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile-header.js +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile-header.js.map +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile-instanced-model.js +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile-instanced-model.js.map +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile.js +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile.js.map +1 -1
- package/dist/esm/lib/utils/version.js +1 -1
- package/dist/esm/lib/utils/version.js.map +1 -1
- package/dist/esm/tile-3d-subtree-loader.js +14 -0
- package/dist/esm/tile-3d-subtree-loader.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/lib/classes/helpers/tile-3d-accessor-utils.d.ts +8 -0
- package/dist/lib/classes/helpers/tile-3d-accessor-utils.d.ts.map +1 -0
- package/dist/lib/classes/helpers/tile-3d-accessor-utils.js +113 -0
- package/dist/lib/classes/tile-3d-batch-table-hierarchy.d.ts +10 -0
- package/dist/lib/classes/tile-3d-batch-table-hierarchy.d.ts.map +1 -0
- package/dist/lib/classes/tile-3d-batch-table-hierarchy.js +197 -0
- package/dist/lib/classes/tile-3d-batch-table.d.ts +34 -0
- package/dist/lib/classes/tile-3d-batch-table.d.ts.map +1 -0
- package/dist/lib/classes/tile-3d-batch-table.js +245 -0
- package/dist/lib/classes/tile-3d-feature-table.d.ts +15 -0
- package/dist/lib/classes/tile-3d-feature-table.d.ts.map +1 -0
- package/dist/lib/classes/tile-3d-feature-table.js +72 -0
- package/dist/lib/constants.d.ts +21 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +25 -0
- package/dist/lib/encoders/encode-3d-tile-batched-model.d.ts +2 -0
- package/dist/lib/encoders/encode-3d-tile-batched-model.d.ts.map +1 -0
- package/dist/lib/encoders/encode-3d-tile-batched-model.js +46 -0
- package/dist/lib/encoders/encode-3d-tile-composite.d.ts +2 -0
- package/dist/lib/encoders/encode-3d-tile-composite.d.ts.map +1 -0
- package/dist/lib/encoders/encode-3d-tile-composite.js +24 -0
- package/dist/lib/encoders/encode-3d-tile-instanced-model.d.ts +2 -0
- package/dist/lib/encoders/encode-3d-tile-instanced-model.d.ts.map +1 -0
- package/dist/lib/encoders/encode-3d-tile-instanced-model.js +38 -0
- package/dist/lib/encoders/encode-3d-tile-point-cloud.d.ts +2 -0
- package/dist/lib/encoders/encode-3d-tile-point-cloud.d.ts.map +1 -0
- package/dist/lib/encoders/encode-3d-tile-point-cloud.js +39 -0
- package/dist/lib/encoders/encode-3d-tile.d.ts +2 -0
- package/dist/lib/encoders/encode-3d-tile.d.ts.map +1 -0
- package/dist/lib/encoders/encode-3d-tile.js +33 -0
- package/dist/lib/encoders/helpers/encode-3d-tile-header.d.ts +3 -0
- package/dist/lib/encoders/helpers/encode-3d-tile-header.d.ts.map +1 -0
- package/dist/lib/encoders/helpers/encode-3d-tile-header.js +30 -0
- package/dist/lib/ion/ion.d.ts +4 -0
- package/dist/lib/ion/ion.d.ts.map +1 -0
- package/dist/lib/ion/ion.js +68 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-colors.d.ts +7 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-colors.d.ts.map +1 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js +65 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-normals.d.ts +6 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-normals.d.ts.map +1 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js +30 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-positions.d.ts +2 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-positions.d.ts.map +1 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js +42 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.d.ts +7 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.d.ts.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js +88 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-header.d.ts +2 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-header.d.ts.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-header.js +28 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.d.ts +9 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.d.ts.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js +74 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-tables.d.ts +3 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-tables.d.ts.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-tables.js +93 -0
- package/dist/lib/parsers/helpers/parse-utils.d.ts +4 -0
- package/dist/lib/parsers/helpers/parse-utils.d.ts.map +1 -0
- package/dist/lib/parsers/helpers/parse-utils.js +32 -0
- package/dist/lib/parsers/parse-3d-tile-batched-model.d.ts +2 -0
- package/dist/lib/parsers/parse-3d-tile-batched-model.d.ts.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-batched-model.js +33 -0
- package/dist/lib/parsers/parse-3d-tile-composite.d.ts +2 -0
- package/dist/lib/parsers/parse-3d-tile-composite.d.ts.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-composite.js +26 -0
- package/dist/lib/parsers/parse-3d-tile-header.d.ts +3 -0
- package/dist/lib/parsers/parse-3d-tile-header.d.ts.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-header.js +66 -0
- package/dist/lib/parsers/parse-3d-tile-instanced-model.d.ts +2 -0
- package/dist/lib/parsers/parse-3d-tile-instanced-model.d.ts.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-instanced-model.js +186 -0
- package/dist/lib/parsers/parse-3d-tile-point-cloud.d.ts +3 -0
- package/dist/lib/parsers/parse-3d-tile-point-cloud.d.ts.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-point-cloud.js +411 -0
- package/dist/lib/parsers/parse-3d-tile.d.ts +2 -0
- package/dist/lib/parsers/parse-3d-tile.d.ts.map +1 -0
- package/dist/lib/parsers/parse-3d-tile.js +34 -0
- package/dist/lib/utils/version.d.ts +2 -0
- package/dist/lib/utils/version.d.ts.map +1 -0
- package/dist/lib/utils/version.js +7 -0
- package/dist/tile-3d-subtree-loader.d.ts +7 -0
- package/dist/tile-3d-subtree-loader.d.ts.map +1 -0
- package/dist/tile-3d-subtree-loader.js +23 -0
- package/dist/tile-3d-writer.d.ts +6 -0
- package/dist/tile-3d-writer.d.ts.map +1 -0
- package/dist/tile-3d-writer.js +27 -0
- package/dist/tiles-3d-loader.d.ts +6 -0
- package/dist/tiles-3d-loader.d.ts.map +1 -0
- package/dist/tiles-3d-loader.js +73 -0
- package/dist/types.d.ts +75 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/package.json +12 -10
- package/src/index.ts +1 -0
- package/src/lib/classes/helpers/{tile-3d-accessor-utils.js → tile-3d-accessor-utils.ts} +0 -0
- package/src/lib/classes/{tile-3d-batch-table-hierarchy.js → tile-3d-batch-table-hierarchy.ts} +0 -0
- package/src/lib/classes/{tile-3d-batch-table.js → tile-3d-batch-table.ts} +14 -4
- package/src/lib/classes/{tile-3d-feature-table.js → tile-3d-feature-table.ts} +5 -2
- package/src/lib/{constants.js → constants.ts} +0 -0
- package/src/lib/encoders/{encode-3d-tile-batched-model.js → encode-3d-tile-batched-model.ts} +0 -0
- package/src/lib/encoders/{encode-3d-tile-composite.js → encode-3d-tile-composite.ts} +0 -0
- package/src/lib/encoders/{encode-3d-tile-instanced-model.js → encode-3d-tile-instanced-model.ts} +0 -0
- package/src/lib/encoders/{encode-3d-tile-point-cloud.js → encode-3d-tile-point-cloud.ts} +0 -0
- package/src/lib/encoders/{encode-3d-tile.js → encode-3d-tile.ts} +0 -0
- package/src/lib/encoders/helpers/{encode-3d-tile-header.js → encode-3d-tile-header.ts} +0 -0
- package/src/lib/parsers/helpers/{normalize-3d-tile-colors.js → normalize-3d-tile-colors.ts} +1 -1
- package/src/lib/parsers/helpers/{normalize-3d-tile-normals.js → normalize-3d-tile-normals.ts} +0 -0
- package/src/lib/parsers/helpers/{normalize-3d-tile-positions.js → normalize-3d-tile-positions.ts} +0 -0
- package/src/lib/parsers/helpers/{parse-3d-tile-gltf-view.js → parse-3d-tile-gltf-view.ts} +1 -1
- package/src/lib/parsers/helpers/{parse-3d-tile-header.js → parse-3d-tile-header.ts} +0 -0
- package/src/lib/parsers/helpers/parse-3d-tile-subtree.ts +104 -0
- package/src/lib/parsers/helpers/{parse-3d-tile-tables.js → parse-3d-tile-tables.ts} +1 -1
- package/src/lib/parsers/helpers/{parse-utils.js → parse-utils.ts} +0 -0
- package/src/lib/parsers/{parse-3d-tile-batched-model.js → parse-3d-tile-batched-model.ts} +0 -0
- package/src/lib/parsers/{parse-3d-tile-composite.js → parse-3d-tile-composite.ts} +0 -0
- package/src/lib/parsers/{parse-3d-tile-header.js → parse-3d-tile-header.ts} +1 -1
- package/src/lib/parsers/{parse-3d-tile-instanced-model.js → parse-3d-tile-instanced-model.ts} +6 -0
- package/src/lib/parsers/{parse-3d-tile-point-cloud.js → parse-3d-tile-point-cloud.ts} +2 -2
- package/src/lib/parsers/{parse-3d-tile.js → parse-3d-tile.ts} +4 -0
- package/src/lib/utils/{version.js → version.ts} +0 -0
- package/src/tile-3d-subtree-loader.ts +19 -0
- package/src/types.ts +33 -0
- package/dist/dist.min.js +0 -2
- package/dist/dist.min.js.map +0 -1
|
@@ -7,109 +7,97 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
11
|
|
|
14
12
|
var _math = require("@loaders.gl/math");
|
|
15
13
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
(0,
|
|
14
|
+
class Tile3DFeatureTable {
|
|
15
|
+
constructor(featureTableJson, featureTableBinary) {
|
|
16
|
+
(0, _defineProperty2.default)(this, "json", void 0);
|
|
17
|
+
(0, _defineProperty2.default)(this, "buffer", void 0);
|
|
18
|
+
(0, _defineProperty2.default)(this, "featuresLength", 0);
|
|
19
|
+
(0, _defineProperty2.default)(this, "_cachedTypedArrays", {});
|
|
19
20
|
this.json = featureTableJson;
|
|
20
21
|
this.buffer = featureTableBinary;
|
|
21
|
-
this.featuresLength = 0;
|
|
22
|
-
this._cachedTypedArrays = {};
|
|
23
22
|
}
|
|
24
23
|
|
|
25
|
-
(
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return this.json.extensions && this.json.extensions[extensionName];
|
|
29
|
-
}
|
|
30
|
-
}, {
|
|
31
|
-
key: "hasProperty",
|
|
32
|
-
value: function hasProperty(propertyName) {
|
|
33
|
-
return Boolean(this.json[propertyName]);
|
|
34
|
-
}
|
|
35
|
-
}, {
|
|
36
|
-
key: "getGlobalProperty",
|
|
37
|
-
value: function getGlobalProperty(propertyName) {
|
|
38
|
-
var componentType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _math.GL.UNSIGNED_INT;
|
|
39
|
-
var componentLength = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
40
|
-
var jsonValue = this.json[propertyName];
|
|
41
|
-
|
|
42
|
-
if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {
|
|
43
|
-
return this._getTypedArrayFromBinary(propertyName, componentType, componentLength, 1, jsonValue.byteOffset);
|
|
44
|
-
}
|
|
24
|
+
getExtension(extensionName) {
|
|
25
|
+
return this.json.extensions && this.json.extensions[extensionName];
|
|
26
|
+
}
|
|
45
27
|
|
|
46
|
-
|
|
28
|
+
hasProperty(propertyName) {
|
|
29
|
+
return Boolean(this.json[propertyName]);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
getGlobalProperty(propertyName, componentType = _math.GL.UNSIGNED_INT, componentLength = 1) {
|
|
33
|
+
const jsonValue = this.json[propertyName];
|
|
34
|
+
|
|
35
|
+
if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {
|
|
36
|
+
return this._getTypedArrayFromBinary(propertyName, componentType, componentLength, 1, jsonValue.byteOffset);
|
|
47
37
|
}
|
|
48
|
-
}, {
|
|
49
|
-
key: "getPropertyArray",
|
|
50
|
-
value: function getPropertyArray(propertyName, componentType, componentLength) {
|
|
51
|
-
var jsonValue = this.json[propertyName];
|
|
52
38
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
39
|
+
return jsonValue;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
getPropertyArray(propertyName, componentType, componentLength) {
|
|
43
|
+
const jsonValue = this.json[propertyName];
|
|
57
44
|
|
|
58
|
-
|
|
45
|
+
if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {
|
|
46
|
+
if ('componentType' in jsonValue) {
|
|
47
|
+
componentType = _math.GLType.fromName(jsonValue.componentType);
|
|
59
48
|
}
|
|
60
49
|
|
|
61
|
-
return this.
|
|
50
|
+
return this._getTypedArrayFromBinary(propertyName, componentType, componentLength, this.featuresLength, jsonValue.byteOffset);
|
|
62
51
|
}
|
|
63
|
-
}, {
|
|
64
|
-
key: "getProperty",
|
|
65
|
-
value: function getProperty(propertyName, componentType, componentLength, featureId, result) {
|
|
66
|
-
var jsonValue = this.json[propertyName];
|
|
67
52
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
53
|
+
return this._getTypedArrayFromArray(propertyName, componentType, jsonValue);
|
|
54
|
+
}
|
|
71
55
|
|
|
72
|
-
|
|
56
|
+
getProperty(propertyName, componentType, componentLength, featureId, result) {
|
|
57
|
+
const jsonValue = this.json[propertyName];
|
|
73
58
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
59
|
+
if (!jsonValue) {
|
|
60
|
+
return jsonValue;
|
|
61
|
+
}
|
|
77
62
|
|
|
78
|
-
|
|
79
|
-
result[i] = typedArray[componentLength * featureId + i];
|
|
80
|
-
}
|
|
63
|
+
const typedArray = this.getPropertyArray(propertyName, componentType, componentLength);
|
|
81
64
|
|
|
82
|
-
|
|
65
|
+
if (componentLength === 1) {
|
|
66
|
+
return typedArray[featureId];
|
|
83
67
|
}
|
|
84
|
-
}, {
|
|
85
|
-
key: "_getTypedArrayFromBinary",
|
|
86
|
-
value: function _getTypedArrayFromBinary(propertyName, componentType, componentLength, count, byteOffset) {
|
|
87
|
-
var cachedTypedArrays = this._cachedTypedArrays;
|
|
88
|
-
var typedArray = cachedTypedArrays[propertyName];
|
|
89
|
-
|
|
90
|
-
if (!typedArray) {
|
|
91
|
-
typedArray = _math.GLType.createTypedArray(componentType, this.buffer.buffer, this.buffer.byteOffset + byteOffset, count * componentLength);
|
|
92
|
-
cachedTypedArrays[propertyName] = typedArray;
|
|
93
|
-
}
|
|
94
68
|
|
|
95
|
-
|
|
69
|
+
for (let i = 0; i < componentLength; ++i) {
|
|
70
|
+
result[i] = typedArray[componentLength * featureId + i];
|
|
96
71
|
}
|
|
97
|
-
}, {
|
|
98
|
-
key: "_getTypedArrayFromArray",
|
|
99
|
-
value: function _getTypedArrayFromArray(propertyName, componentType, array) {
|
|
100
|
-
var cachedTypedArrays = this._cachedTypedArrays;
|
|
101
|
-
var typedArray = cachedTypedArrays[propertyName];
|
|
102
|
-
|
|
103
|
-
if (!typedArray) {
|
|
104
|
-
typedArray = _math.GLType.createTypedArray(componentType, array);
|
|
105
|
-
cachedTypedArrays[propertyName] = typedArray;
|
|
106
|
-
}
|
|
107
72
|
|
|
108
|
-
|
|
73
|
+
return result;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
_getTypedArrayFromBinary(propertyName, componentType, componentLength, count, byteOffset) {
|
|
77
|
+
const cachedTypedArrays = this._cachedTypedArrays;
|
|
78
|
+
let typedArray = cachedTypedArrays[propertyName];
|
|
79
|
+
|
|
80
|
+
if (!typedArray) {
|
|
81
|
+
typedArray = _math.GLType.createTypedArray(componentType, this.buffer.buffer, this.buffer.byteOffset + byteOffset, count * componentLength);
|
|
82
|
+
cachedTypedArrays[propertyName] = typedArray;
|
|
109
83
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
84
|
+
|
|
85
|
+
return typedArray;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
_getTypedArrayFromArray(propertyName, componentType, array) {
|
|
89
|
+
const cachedTypedArrays = this._cachedTypedArrays;
|
|
90
|
+
let typedArray = cachedTypedArrays[propertyName];
|
|
91
|
+
|
|
92
|
+
if (!typedArray) {
|
|
93
|
+
typedArray = _math.GLType.createTypedArray(componentType, array);
|
|
94
|
+
cachedTypedArrays[propertyName] = typedArray;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return typedArray;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
}
|
|
113
101
|
|
|
114
102
|
exports.default = Tile3DFeatureTable;
|
|
115
103
|
//# sourceMappingURL=tile-3d-feature-table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/classes/tile-3d-feature-table.
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/classes/tile-3d-feature-table.ts"],"names":["Tile3DFeatureTable","constructor","featureTableJson","featureTableBinary","json","buffer","getExtension","extensionName","extensions","hasProperty","propertyName","Boolean","getGlobalProperty","componentType","GL","UNSIGNED_INT","componentLength","jsonValue","Number","isFinite","byteOffset","_getTypedArrayFromBinary","getPropertyArray","GLType","fromName","featuresLength","_getTypedArrayFromArray","getProperty","featureId","result","typedArray","i","count","cachedTypedArrays","_cachedTypedArrays","createTypedArray","array"],"mappings":"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","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"}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.TILE3D_OPTIMIZATION_HINT = exports.MAGIC_ARRAY = exports.TILE3D_TYPES = exports.TILE3D_TYPE = void 0;
|
|
7
|
-
|
|
7
|
+
const TILE3D_TYPE = {
|
|
8
8
|
COMPOSITE: 'cmpt',
|
|
9
9
|
POINT_CLOUD: 'pnts',
|
|
10
10
|
BATCHED_3D_MODEL: 'b3dm',
|
|
@@ -13,16 +13,16 @@ var TILE3D_TYPE = {
|
|
|
13
13
|
VECTOR: 'vect'
|
|
14
14
|
};
|
|
15
15
|
exports.TILE3D_TYPE = TILE3D_TYPE;
|
|
16
|
-
|
|
16
|
+
const TILE3D_TYPES = Object.keys(TILE3D_TYPE);
|
|
17
17
|
exports.TILE3D_TYPES = TILE3D_TYPES;
|
|
18
|
-
|
|
18
|
+
const MAGIC_ARRAY = {
|
|
19
19
|
BATCHED_MODEL: [98, 51, 100, 109],
|
|
20
20
|
INSTANCED_MODEL: [105, 51, 100, 109],
|
|
21
21
|
POINT_CLOUD: [112, 110, 116, 115],
|
|
22
22
|
COMPOSITE: [99, 109, 112, 116]
|
|
23
23
|
};
|
|
24
24
|
exports.MAGIC_ARRAY = MAGIC_ARRAY;
|
|
25
|
-
|
|
25
|
+
const TILE3D_OPTIMIZATION_HINT = {
|
|
26
26
|
NOT_COMPUTED: -1,
|
|
27
27
|
USE_OPTIMIZATION: 1,
|
|
28
28
|
SKIP_OPTIMIZATION: 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/constants.
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/constants.ts"],"names":["TILE3D_TYPE","COMPOSITE","POINT_CLOUD","BATCHED_3D_MODEL","INSTANCED_3D_MODEL","GEOMETRY","VECTOR","TILE3D_TYPES","Object","keys","MAGIC_ARRAY","BATCHED_MODEL","INSTANCED_MODEL","TILE3D_OPTIMIZATION_HINT","NOT_COMPUTED","USE_OPTIMIZATION","SKIP_OPTIMIZATION"],"mappings":";;;;;;AAEO,MAAMA,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;AANiB,CAApB;;AASA,MAAMC,YAAY,GAAGC,MAAM,CAACC,IAAP,CAAYT,WAAZ,CAArB;;AAEA,MAAMU,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;AAGzBV,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,MAAMY,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};\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,40 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.encodeBatchedModel3DTile = encodeBatchedModel3DTile;
|
|
9
7
|
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
8
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
13
9
|
|
|
14
10
|
var _constants = require("../constants");
|
|
15
11
|
|
|
16
12
|
var _encode3dTileHeader = require("./helpers/encode-3d-tile-header");
|
|
17
13
|
|
|
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
14
|
function encodeBatchedModel3DTile(tile, dataView, byteOffset, options) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
15
|
+
const {
|
|
16
|
+
featuresLength = 0,
|
|
17
|
+
batchTable
|
|
18
|
+
} = tile;
|
|
19
|
+
const featureTableJson = {
|
|
28
20
|
BATCH_LENGTH: featuresLength
|
|
29
21
|
};
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
tile =
|
|
35
|
-
magic: _constants.MAGIC_ARRAY.BATCHED_MODEL
|
|
36
|
-
|
|
37
|
-
|
|
22
|
+
const featureTableJsonString = JSON.stringify(featureTableJson);
|
|
23
|
+
const batchTableJsonString = batchTable ? JSON.stringify(batchTable) : '';
|
|
24
|
+
const featureTableJsonByteLength = (0, _loaderUtils.padToNBytes)(featureTableJsonString.length, 8);
|
|
25
|
+
const batchTableJsonByteLength = batchTableJsonString ? (0, _loaderUtils.padToNBytes)(batchTableJsonString.length, 8) : 0;
|
|
26
|
+
tile = {
|
|
27
|
+
magic: _constants.MAGIC_ARRAY.BATCHED_MODEL,
|
|
28
|
+
...tile
|
|
29
|
+
};
|
|
30
|
+
const byteOffsetStart = byteOffset;
|
|
38
31
|
byteOffset = (0, _encode3dTileHeader.encode3DTileHeader)(tile, dataView, byteOffset);
|
|
39
32
|
|
|
40
33
|
if (dataView) {
|
|
@@ -51,7 +44,7 @@ function encodeBatchedModel3DTile(tile, dataView, byteOffset, options) {
|
|
|
51
44
|
byteOffset = (0, _loaderUtils.copyPaddedStringToDataView)(dataView, byteOffset, batchTableJsonString, 8);
|
|
52
45
|
}
|
|
53
46
|
|
|
54
|
-
|
|
47
|
+
const gltfEncoded = tile.gltfEncoded;
|
|
55
48
|
|
|
56
49
|
if (gltfEncoded) {
|
|
57
50
|
byteOffset = (0, _loaderUtils.copyBinaryToDataView)(dataView, byteOffset, gltfEncoded, gltfEncoded.byteLength);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/encoders/encode-3d-tile-batched-model.
|
|
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,QAAM;AAACC,IAAAA,cAAc,GAAG,CAAlB;AAAqBC,IAAAA;AAArB,MAAmCL,IAAzC;AAEA,QAAMM,gBAAgB,GAAG;AACvBC,IAAAA,YAAY,EAAEH;AADS,GAAzB;AAGA,QAAMI,sBAAsB,GAAGC,IAAI,CAACC,SAAL,CAAeJ,gBAAf,CAA/B;AACA,QAAMK,oBAAoB,GAAGN,UAAU,GAAGI,IAAI,CAACC,SAAL,CAAeL,UAAf,CAAH,GAAgC,EAAvE;AACA,QAAMO,0BAA0B,GAAG,8BAAYJ,sBAAsB,CAACK,MAAnC,EAA2C,CAA3C,CAAnC;AACA,QAAMC,wBAAwB,GAAGH,oBAAoB,GACjD,8BAAYA,oBAAoB,CAACE,MAAjC,EAAyC,CAAzC,CADiD,GAEjD,CAFJ;AAKAb,EAAAA,IAAI,GAAG;AAACe,IAAAA,KAAK,EAAEC,uBAAYC,aAApB;AAAmC,OAAGjB;AAAtC,GAAP;AAEA,QAAMkB,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,QAAMS,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,28 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.encodeComposite3DTile = encodeComposite3DTile;
|
|
9
7
|
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
8
|
var _constants = require("../constants");
|
|
13
9
|
|
|
14
10
|
var _encode3dTileHeader = require("./helpers/encode-3d-tile-header");
|
|
15
11
|
|
|
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
12
|
function encodeComposite3DTile(tile, dataView, byteOffset, options, encode3DTile) {
|
|
21
|
-
tile =
|
|
13
|
+
tile = {
|
|
22
14
|
magic: _constants.MAGIC_ARRAY.COMPOSITE,
|
|
23
|
-
tiles: []
|
|
24
|
-
|
|
25
|
-
|
|
15
|
+
tiles: [],
|
|
16
|
+
...tile
|
|
17
|
+
};
|
|
18
|
+
const byteOffsetStart = byteOffset;
|
|
26
19
|
byteOffset += (0, _encode3dTileHeader.encode3DTileHeader)(tile, dataView, byteOffset);
|
|
27
20
|
|
|
28
21
|
if (dataView) {
|
|
@@ -31,7 +24,7 @@ function encodeComposite3DTile(tile, dataView, byteOffset, options, encode3DTile
|
|
|
31
24
|
|
|
32
25
|
byteOffset += 4;
|
|
33
26
|
|
|
34
|
-
for (
|
|
27
|
+
for (let i = 0; i < tile.tiles.length; ++i) {
|
|
35
28
|
byteOffset += encode3DTile(tile.tiles[i], dataView, byteOffset, options);
|
|
36
29
|
}
|
|
37
30
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/encoders/encode-3d-tile-composite.
|
|
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,GAAG;AAACK,IAAAA,KAAK,EAAEC,uBAAYC,SAApB;AAA+BC,IAAAA,KAAK,EAAE,EAAtC;AAA0C,OAAGR;AAA7C,GAAP;AAEA,QAAMS,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,43 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.encodeInstancedModel3DTile = encodeInstancedModel3DTile;
|
|
9
7
|
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
8
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
13
9
|
|
|
14
10
|
var _constants = require("../constants");
|
|
15
11
|
|
|
16
12
|
var _encode3dTileHeader = require("./helpers/encode-3d-tile-header");
|
|
17
13
|
|
|
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
14
|
function encodeInstancedModel3DTile(tile, dataView, byteOffset, options) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
var gltfUriByteLength = gltfUri.length;
|
|
31
|
-
var featureTableJson = {
|
|
15
|
+
const {
|
|
16
|
+
featuresLength = 1,
|
|
17
|
+
gltfFormat = 1,
|
|
18
|
+
gltfUri = ''
|
|
19
|
+
} = tile;
|
|
20
|
+
const gltfUriByteLength = gltfUri.length;
|
|
21
|
+
const featureTableJson = {
|
|
32
22
|
INSTANCES_LENGTH: featuresLength,
|
|
33
23
|
POSITION: new Array(featuresLength * 3).fill(0)
|
|
34
24
|
};
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
tile =
|
|
38
|
-
magic: _constants.MAGIC_ARRAY.INSTANCED_MODEL
|
|
39
|
-
|
|
40
|
-
|
|
25
|
+
const featureTableJsonString = JSON.stringify(featureTableJson);
|
|
26
|
+
const featureTableJsonByteLength = featureTableJsonString.length;
|
|
27
|
+
tile = {
|
|
28
|
+
magic: _constants.MAGIC_ARRAY.INSTANCED_MODEL,
|
|
29
|
+
...tile
|
|
30
|
+
};
|
|
31
|
+
const byteOffsetStart = byteOffset;
|
|
41
32
|
byteOffset = (0, _encode3dTileHeader.encode3DTileHeader)(tile, dataView, 0);
|
|
42
33
|
|
|
43
34
|
if (dataView) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/encoders/encode-3d-tile-instanced-model.
|
|
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,QAAM;AAACC,IAAAA,cAAc,GAAG,CAAlB;AAAqBC,IAAAA,UAAU,GAAG,CAAlC;AAAqCC,IAAAA,OAAO,GAAG;AAA/C,MAAqDN,IAA3D;AAEA,QAAMO,iBAAiB,GAAGD,OAAO,CAACE,MAAlC;AAEA,QAAMC,gBAAgB,GAAG;AACvBC,IAAAA,gBAAgB,EAAEN,cADK;AAEvBO,IAAAA,QAAQ,EAAE,IAAIC,KAAJ,CAAUR,cAAc,GAAG,CAA3B,EAA8BS,IAA9B,CAAmC,CAAnC;AAFa,GAAzB;AAIA,QAAMC,sBAAsB,GAAGC,IAAI,CAACC,SAAL,CAAeP,gBAAf,CAA/B;AACA,QAAMQ,0BAA0B,GAAGH,sBAAsB,CAACN,MAA1D;AAGAR,EAAAA,IAAI,GAAG;AAACkB,IAAAA,KAAK,EAAEC,uBAAYC,eAApB;AAAqC,OAAGpB;AAAxC,GAAP;AAEA,QAAMqB,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,25 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.encodePointCloud3DTile = encodePointCloud3DTile;
|
|
9
7
|
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
8
|
var _constants = require("../constants");
|
|
13
9
|
|
|
14
10
|
var _encode3dTileHeader = require("./helpers/encode-3d-tile-header");
|
|
15
11
|
|
|
16
12
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
17
13
|
|
|
18
|
-
|
|
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 = {
|
|
14
|
+
const DEFAULT_FEATURE_TABLE_JSON = {
|
|
23
15
|
POINTS_LENGTH: 1,
|
|
24
16
|
POSITIONS: {
|
|
25
17
|
byteOffset: 0
|
|
@@ -27,20 +19,21 @@ var DEFAULT_FEATURE_TABLE_JSON = {
|
|
|
27
19
|
};
|
|
28
20
|
|
|
29
21
|
function encodePointCloud3DTile(tile, dataView, byteOffset, options) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
22
|
+
const {
|
|
23
|
+
featureTableJson = DEFAULT_FEATURE_TABLE_JSON
|
|
24
|
+
} = tile;
|
|
25
|
+
let featureTableJsonString = JSON.stringify(featureTableJson);
|
|
34
26
|
featureTableJsonString = (0, _loaderUtils.padStringToByteAlignment)(featureTableJsonString, 4);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
tile =
|
|
41
|
-
magic: _constants.MAGIC_ARRAY.POINT_CLOUD
|
|
42
|
-
|
|
43
|
-
|
|
27
|
+
const {
|
|
28
|
+
featureTableJsonByteLength = featureTableJsonString.length
|
|
29
|
+
} = tile;
|
|
30
|
+
const featureTableBinary = new ArrayBuffer(12);
|
|
31
|
+
const featureTableBinaryByteLength = featureTableBinary.byteLength;
|
|
32
|
+
tile = {
|
|
33
|
+
magic: _constants.MAGIC_ARRAY.POINT_CLOUD,
|
|
34
|
+
...tile
|
|
35
|
+
};
|
|
36
|
+
const byteOffsetStart = byteOffset;
|
|
44
37
|
byteOffset += (0, _encode3dTileHeader.encode3DTileHeader)(tile, dataView, 0);
|
|
45
38
|
|
|
46
39
|
if (dataView) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/encoders/encode-3d-tile-point-cloud.
|
|
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,MAAMA,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,QAAM;AAACC,IAAAA,gBAAgB,GAAGR;AAApB,MAAkDK,IAAxD;AAEA,MAAII,sBAAsB,GAAGC,IAAI,CAACC,SAAL,CAAeH,gBAAf,CAA7B;AACAC,EAAAA,sBAAsB,GAAG,2CAAyBA,sBAAzB,EAAiD,CAAjD,CAAzB;AAEA,QAAM;AAACG,IAAAA,0BAA0B,GAAGH,sBAAsB,CAACI;AAArD,MAA+DR,IAArE;AAEA,QAAMS,kBAAkB,GAAG,IAAIC,WAAJ,CAAgB,EAAhB,CAA3B;AACA,QAAMC,4BAA4B,GAAGF,kBAAkB,CAACG,UAAxD;AAGAZ,EAAAA,IAAI,GAAG;AAACa,IAAAA,KAAK,EAAEC,uBAAYC,WAApB;AAAiC,OAAGf;AAApC,GAAP;AAEA,QAAMgB,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"}
|
|
@@ -18,9 +18,9 @@ var _encode3dTileInstancedModel = require("./encode-3d-tile-instanced-model");
|
|
|
18
18
|
var _encode3dTilePointCloud = require("./encode-3d-tile-point-cloud");
|
|
19
19
|
|
|
20
20
|
function encode3DTile(tile, options) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
const byteLength = encode3DTileToDataView(tile, null, 0, options);
|
|
22
|
+
const arrayBuffer = new ArrayBuffer(byteLength);
|
|
23
|
+
const dataView = new DataView(arrayBuffer);
|
|
24
24
|
encode3DTileToDataView(tile, dataView, 0, options);
|
|
25
25
|
return arrayBuffer;
|
|
26
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/encoders/encode-3d-tile.
|
|
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,QAAMC,UAAU,GAAGC,sBAAsB,CAACH,IAAD,EAAO,IAAP,EAAa,CAAb,EAAgBC,OAAhB,CAAzC;AACA,QAAMG,WAAW,GAAG,IAAIC,WAAJ,CAAgBH,UAAhB,CAApB;AACA,QAAMI,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"}
|