@loaders.gl/3d-tiles 3.4.14 → 3.4.15
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/dist.min.js +65 -64
- package/dist/es5/bundle.js +1 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/cesium-ion-loader.js +27 -61
- package/dist/es5/cesium-ion-loader.js.map +1 -1
- package/dist/es5/index.js +8 -8
- 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 +177 -223
- package/dist/es5/lib/classes/tile-3d-batch-table.js.map +1 -1
- package/dist/es5/lib/classes/tile-3d-feature-table.js +52 -71
- 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 -18
- 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 -9
- 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 -19
- 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 -18
- 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 +63 -155
- package/dist/es5/lib/ion/ion.js.map +1 -1
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js +17 -17
- 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-implicit-tiles.js +166 -198
- package/dist/es5/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +1 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js +25 -53
- 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 -3
- 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 +57 -129
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -1
- 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 -7
- package/dist/es5/lib/parsers/helpers/parse-utils.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js +10 -29
- 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 -39
- package/dist/es5/lib/parsers/parse-3d-tile-composite.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-gltf.js +8 -27
- package/dist/es5/lib/parsers/parse-3d-tile-gltf.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-header.js +99 -197
- package/dist/es5/lib/parsers/parse-3d-tile-header.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-instanced-model.js +37 -55
- 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 +110 -162
- package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile.js +21 -59
- package/dist/es5/lib/parsers/parse-3d-tile.js.map +1 -1
- package/dist/es5/lib/utils/obb/s2-corners-to-obb.js +10 -12
- package/dist/es5/lib/utils/obb/s2-corners-to-obb.js.map +1 -1
- package/dist/es5/lib/utils/s2/converters/s2-to-boundary.js +22 -20
- package/dist/es5/lib/utils/s2/converters/s2-to-boundary.js.map +1 -1
- package/dist/es5/lib/utils/s2/converters/s2-to-obb-points.js +9 -9
- package/dist/es5/lib/utils/s2/converters/s2-to-obb-points.js.map +1 -1
- package/dist/es5/lib/utils/s2/converters/s2-to-region.js +14 -18
- package/dist/es5/lib/utils/s2/converters/s2-to-region.js.map +1 -1
- package/dist/es5/lib/utils/s2/index.js +13 -13
- package/dist/es5/lib/utils/s2/s2-geometry-functions.js +2 -2
- package/dist/es5/lib/utils/s2/s2-geometry-functions.js.map +1 -1
- package/dist/es5/lib/utils/s2/s2-token-functions.js +10 -10
- package/dist/es5/lib/utils/s2/s2-token-functions.js.map +1 -1
- package/dist/es5/lib/utils/s2/s2geometry/s2-cell-utils.js +3 -3
- package/dist/es5/lib/utils/s2/s2geometry/s2-cell-utils.js.map +1 -1
- package/dist/es5/lib/utils/s2/s2geometry/s2-geometry.js +48 -54
- package/dist/es5/lib/utils/s2/s2geometry/s2-geometry.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 +1 -1
- package/dist/es5/tile-3d-subtree-loader.js.map +1 -1
- package/dist/es5/tile-3d-writer.js +5 -4
- package/dist/es5/tile-3d-writer.js.map +1 -1
- package/dist/es5/tiles-3d-loader.js +37 -100
- package/dist/es5/tiles-3d-loader.js.map +1 -1
- package/dist/esm/lib/utils/version.js +1 -1
- package/package.json +7 -7
|
@@ -5,13 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
9
|
var _math = require("@loaders.gl/math");
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
(0, _classCallCheck2.default)(this, Tile3DFeatureTable);
|
|
10
|
+
class Tile3DFeatureTable {
|
|
11
|
+
constructor(featureTableJson, featureTableBinary) {
|
|
15
12
|
(0, _defineProperty2.default)(this, "json", void 0);
|
|
16
13
|
(0, _defineProperty2.default)(this, "buffer", void 0);
|
|
17
14
|
(0, _defineProperty2.default)(this, "featuresLength", 0);
|
|
@@ -19,79 +16,63 @@ var Tile3DFeatureTable = function () {
|
|
|
19
16
|
this.json = featureTableJson;
|
|
20
17
|
this.buffer = featureTableBinary;
|
|
21
18
|
}
|
|
22
|
-
(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
19
|
+
getExtension(extensionName) {
|
|
20
|
+
return this.json.extensions && this.json.extensions[extensionName];
|
|
21
|
+
}
|
|
22
|
+
hasProperty(propertyName) {
|
|
23
|
+
return Boolean(this.json[propertyName]);
|
|
24
|
+
}
|
|
25
|
+
getGlobalProperty(propertyName) {
|
|
26
|
+
let componentType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _math.GL.UNSIGNED_INT;
|
|
27
|
+
let componentLength = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
28
|
+
const jsonValue = this.json[propertyName];
|
|
29
|
+
if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {
|
|
30
|
+
return this._getTypedArrayFromBinary(propertyName, componentType, componentLength, 1, jsonValue.byteOffset);
|
|
31
31
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
return this._getTypedArrayFromBinary(propertyName, componentType, componentLength, 1, jsonValue.byteOffset);
|
|
32
|
+
return jsonValue;
|
|
33
|
+
}
|
|
34
|
+
getPropertyArray(propertyName, componentType, componentLength) {
|
|
35
|
+
const jsonValue = this.json[propertyName];
|
|
36
|
+
if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {
|
|
37
|
+
if ('componentType' in jsonValue) {
|
|
38
|
+
componentType = _math.GLType.fromName(jsonValue.componentType);
|
|
40
39
|
}
|
|
40
|
+
return this._getTypedArrayFromBinary(propertyName, componentType, componentLength, this.featuresLength, jsonValue.byteOffset);
|
|
41
|
+
}
|
|
42
|
+
return this._getTypedArrayFromArray(propertyName, componentType, jsonValue);
|
|
43
|
+
}
|
|
44
|
+
getProperty(propertyName, componentType, componentLength, featureId, result) {
|
|
45
|
+
const jsonValue = this.json[propertyName];
|
|
46
|
+
if (!jsonValue) {
|
|
41
47
|
return jsonValue;
|
|
42
48
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
var jsonValue = this.json[propertyName];
|
|
47
|
-
if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {
|
|
48
|
-
if ('componentType' in jsonValue) {
|
|
49
|
-
componentType = _math.GLType.fromName(jsonValue.componentType);
|
|
50
|
-
}
|
|
51
|
-
return this._getTypedArrayFromBinary(propertyName, componentType, componentLength, this.featuresLength, jsonValue.byteOffset);
|
|
52
|
-
}
|
|
53
|
-
return this._getTypedArrayFromArray(propertyName, componentType, jsonValue);
|
|
49
|
+
const typedArray = this.getPropertyArray(propertyName, componentType, componentLength);
|
|
50
|
+
if (componentLength === 1) {
|
|
51
|
+
return typedArray[featureId];
|
|
54
52
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
value: function getProperty(propertyName, componentType, componentLength, featureId, result) {
|
|
58
|
-
var jsonValue = this.json[propertyName];
|
|
59
|
-
if (!jsonValue) {
|
|
60
|
-
return jsonValue;
|
|
61
|
-
}
|
|
62
|
-
var typedArray = this.getPropertyArray(propertyName, componentType, componentLength);
|
|
63
|
-
if (componentLength === 1) {
|
|
64
|
-
return typedArray[featureId];
|
|
65
|
-
}
|
|
66
|
-
for (var i = 0; i < componentLength; ++i) {
|
|
67
|
-
result[i] = typedArray[componentLength * featureId + i];
|
|
68
|
-
}
|
|
69
|
-
return result;
|
|
53
|
+
for (let i = 0; i < componentLength; ++i) {
|
|
54
|
+
result[i] = typedArray[componentLength * featureId + i];
|
|
70
55
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
return typedArray;
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
_getTypedArrayFromBinary(propertyName, componentType, componentLength, count, byteOffset) {
|
|
59
|
+
const cachedTypedArrays = this._cachedTypedArrays;
|
|
60
|
+
let typedArray = cachedTypedArrays[propertyName];
|
|
61
|
+
if (!typedArray) {
|
|
62
|
+
typedArray = _math.GLType.createTypedArray(componentType, this.buffer.buffer, this.buffer.byteOffset + byteOffset, count * componentLength);
|
|
63
|
+
cachedTypedArrays[propertyName] = typedArray;
|
|
81
64
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
91
|
-
return typedArray;
|
|
65
|
+
return typedArray;
|
|
66
|
+
}
|
|
67
|
+
_getTypedArrayFromArray(propertyName, componentType, array) {
|
|
68
|
+
const cachedTypedArrays = this._cachedTypedArrays;
|
|
69
|
+
let typedArray = cachedTypedArrays[propertyName];
|
|
70
|
+
if (!typedArray) {
|
|
71
|
+
typedArray = _math.GLType.createTypedArray(componentType, array);
|
|
72
|
+
cachedTypedArrays[propertyName] = typedArray;
|
|
92
73
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
74
|
+
return typedArray;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
96
77
|
exports.default = Tile3DFeatureTable;
|
|
97
78
|
//# sourceMappingURL=tile-3d-feature-table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tile-3d-feature-table.js","names":["_math","require","Tile3DFeatureTable","featureTableJson","featureTableBinary","
|
|
1
|
+
{"version":3,"file":"tile-3d-feature-table.js","names":["_math","require","Tile3DFeatureTable","constructor","featureTableJson","featureTableBinary","_defineProperty2","default","json","buffer","getExtension","extensionName","extensions","hasProperty","propertyName","Boolean","getGlobalProperty","componentType","arguments","length","undefined","GL","UNSIGNED_INT","componentLength","jsonValue","Number","isFinite","byteOffset","_getTypedArrayFromBinary","getPropertyArray","GLType","fromName","featuresLength","_getTypedArrayFromArray","getProperty","featureId","result","typedArray","i","count","cachedTypedArrays","_cachedTypedArrays","createTypedArray","array","exports"],"sources":["../../../../src/lib/classes/tile-3d-feature-table.ts"],"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"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAIe,MAAMC,kBAAkB,CAAC;EAMtCC,WAAWA,CAACC,gBAAgB,EAAEC,kBAAkB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,0BAHjC,CAAC;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BACG,CAAC,CAAC;IAGrB,IAAI,CAACC,IAAI,GAAGJ,gBAAgB;IAC5B,IAAI,CAACK,MAAM,GAAGJ,kBAAkB;EAClC;EAEAK,YAAYA,CAACC,aAAa,EAAE;IAC1B,OAAO,IAAI,CAACH,IAAI,CAACI,UAAU,IAAI,IAAI,CAACJ,IAAI,CAACI,UAAU,CAACD,aAAa,CAAC;EACpE;EAEAE,WAAWA,CAACC,YAAY,EAAE;IACxB,OAAOC,OAAO,CAAC,IAAI,CAACP,IAAI,CAACM,YAAY,CAAC,CAAC;EACzC;EAEAE,iBAAiBA,CAACF,YAAY,EAAwD;IAAA,IAAtDG,aAAa,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGG,QAAE,CAACC,YAAY;IAAA,IAAEC,eAAe,GAAAL,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;IAClF,MAAMM,SAAS,GAAG,IAAI,CAAChB,IAAI,CAACM,YAAY,CAAC;IAEzC,IAAIU,SAAS,IAAIC,MAAM,CAACC,QAAQ,CAACF,SAAS,CAACG,UAAU,CAAC,EAAE;MACtD,OAAO,IAAI,CAACC,wBAAwB,CAClCd,YAAY,EACZG,aAAa,EACbM,eAAe,EACf,CAAC,EACDC,SAAS,CAACG,UACZ,CAAC;IACH;IAEA,OAAOH,SAAS;EAClB;EAEAK,gBAAgBA,CAACf,YAAY,EAAEG,aAAa,EAAEM,eAAe,EAAE;IAC7D,MAAMC,SAAS,GAAG,IAAI,CAAChB,IAAI,CAACM,YAAY,CAAC;IAEzC,IAAIU,SAAS,IAAIC,MAAM,CAACC,QAAQ,CAACF,SAAS,CAACG,UAAU,CAAC,EAAE;MACtD,IAAI,eAAe,IAAIH,SAAS,EAAE;QAChCP,aAAa,GAAGa,YAAM,CAACC,QAAQ,CAACP,SAAS,CAACP,aAAa,CAAC;MAC1D;MACA,OAAO,IAAI,CAACW,wBAAwB,CAClCd,YAAY,EACZG,aAAa,EACbM,eAAe,EACf,IAAI,CAACS,cAAc,EACnBR,SAAS,CAACG,UACZ,CAAC;IACH;IAEA,OAAO,IAAI,CAACM,uBAAuB,CAACnB,YAAY,EAAEG,aAAa,EAAEO,SAAS,CAAC;EAC7E;EAEAU,WAAWA,CAACpB,YAAY,EAAEG,aAAa,EAAEM,eAAe,EAAEY,SAAS,EAAEC,MAAM,EAAE;IAC3E,MAAMZ,SAAS,GAAG,IAAI,CAAChB,IAAI,CAACM,YAAY,CAAC;IACzC,IAAI,CAACU,SAAS,EAAE;MACd,OAAOA,SAAS;IAClB;IAEA,MAAMa,UAAU,GAAG,IAAI,CAACR,gBAAgB,CAACf,YAAY,EAAEG,aAAa,EAAEM,eAAe,CAAC;IAEtF,IAAIA,eAAe,KAAK,CAAC,EAAE;MACzB,OAAOc,UAAU,CAACF,SAAS,CAAC;IAC9B;IAEA,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGf,eAAe,EAAE,EAAEe,CAAC,EAAE;MACxCF,MAAM,CAACE,CAAC,CAAC,GAAGD,UAAU,CAACd,eAAe,GAAGY,SAAS,GAAGG,CAAC,CAAC;IACzD;IAEA,OAAOF,MAAM;EACf;EAIAR,wBAAwBA,CAACd,YAAY,EAAEG,aAAa,EAAEM,eAAe,EAAEgB,KAAK,EAAEZ,UAAU,EAAE;IACxF,MAAMa,iBAAiB,GAAG,IAAI,CAACC,kBAAkB;IACjD,IAAIJ,UAAU,GAAGG,iBAAiB,CAAC1B,YAAY,CAAC;IAChD,IAAI,CAACuB,UAAU,EAAE;MACfA,UAAU,GAAGP,YAAM,CAACY,gBAAgB,CAClCzB,aAAa,EACb,IAAI,CAACR,MAAM,CAACA,MAAM,EAClB,IAAI,CAACA,MAAM,CAACkB,UAAU,GAAGA,UAAU,EACnCY,KAAK,GAAGhB,eACV,CAAC;MACDiB,iBAAiB,CAAC1B,YAAY,CAAC,GAAGuB,UAAU;IAC9C;IACA,OAAOA,UAAU;EACnB;EAEAJ,uBAAuBA,CAACnB,YAAY,EAAEG,aAAa,EAAE0B,KAAK,EAAE;IAC1D,MAAMH,iBAAiB,GAAG,IAAI,CAACC,kBAAkB;IACjD,IAAIJ,UAAU,GAAGG,iBAAiB,CAAC1B,YAAY,CAAC;IAChD,IAAI,CAACuB,UAAU,EAAE;MACfA,UAAU,GAAGP,YAAM,CAACY,gBAAgB,CAACzB,aAAa,EAAE0B,KAAK,CAAC;MAC1DH,iBAAiB,CAAC1B,YAAY,CAAC,GAAGuB,UAAU;IAC9C;IACA,OAAOA,UAAU;EACnB;AACF;AAACO,OAAA,CAAArC,OAAA,GAAAL,kBAAA"}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.TILE3D_TYPES = exports.TILE3D_TYPE = exports.TILE3D_OPTIMIZATION_HINT = exports.MAGIC_ARRAY = void 0;
|
|
7
|
-
|
|
7
|
+
const TILE3D_TYPE = {
|
|
8
8
|
COMPOSITE: 'cmpt',
|
|
9
9
|
POINT_CLOUD: 'pnts',
|
|
10
10
|
BATCHED_3D_MODEL: 'b3dm',
|
|
@@ -14,16 +14,16 @@ var TILE3D_TYPE = {
|
|
|
14
14
|
GLTF: 'glTF'
|
|
15
15
|
};
|
|
16
16
|
exports.TILE3D_TYPE = TILE3D_TYPE;
|
|
17
|
-
|
|
17
|
+
const TILE3D_TYPES = Object.keys(TILE3D_TYPE);
|
|
18
18
|
exports.TILE3D_TYPES = TILE3D_TYPES;
|
|
19
|
-
|
|
19
|
+
const MAGIC_ARRAY = {
|
|
20
20
|
BATCHED_MODEL: [98, 51, 100, 109],
|
|
21
21
|
INSTANCED_MODEL: [105, 51, 100, 109],
|
|
22
22
|
POINT_CLOUD: [112, 110, 116, 115],
|
|
23
23
|
COMPOSITE: [99, 109, 112, 116]
|
|
24
24
|
};
|
|
25
25
|
exports.MAGIC_ARRAY = MAGIC_ARRAY;
|
|
26
|
-
|
|
26
|
+
const TILE3D_OPTIMIZATION_HINT = {
|
|
27
27
|
NOT_COMPUTED: -1,
|
|
28
28
|
USE_OPTIMIZATION: 1,
|
|
29
29
|
SKIP_OPTIMIZATION: 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["TILE3D_TYPE","COMPOSITE","POINT_CLOUD","BATCHED_3D_MODEL","INSTANCED_3D_MODEL","GEOMETRY","VECTOR","GLTF","exports","TILE3D_TYPES","Object","keys","MAGIC_ARRAY","BATCHED_MODEL","INSTANCED_MODEL","TILE3D_OPTIMIZATION_HINT","NOT_COMPUTED","USE_OPTIMIZATION","SKIP_OPTIMIZATION"],"sources":["../../../src/lib/constants.ts"],"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"],"mappings":";;;;;;AAEO,
|
|
1
|
+
{"version":3,"file":"constants.js","names":["TILE3D_TYPE","COMPOSITE","POINT_CLOUD","BATCHED_3D_MODEL","INSTANCED_3D_MODEL","GEOMETRY","VECTOR","GLTF","exports","TILE3D_TYPES","Object","keys","MAGIC_ARRAY","BATCHED_MODEL","INSTANCED_MODEL","TILE3D_OPTIMIZATION_HINT","NOT_COMPUTED","USE_OPTIMIZATION","SKIP_OPTIMIZATION"],"sources":["../../../src/lib/constants.ts"],"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"],"mappings":";;;;;;AAEO,MAAMA,WAAW,GAAG;EACzBC,SAAS,EAAE,MAAM;EACjBC,WAAW,EAAE,MAAM;EACnBC,gBAAgB,EAAE,MAAM;EACxBC,kBAAkB,EAAE,MAAM;EAC1BC,QAAQ,EAAE,MAAM;EAChBC,MAAM,EAAE,MAAM;EACdC,IAAI,EAAE;AACR,CAAC;AAACC,OAAA,CAAAR,WAAA,GAAAA,WAAA;AAEK,MAAMS,YAAY,GAAGC,MAAM,CAACC,IAAI,CAACX,WAAW,CAAC;AAACQ,OAAA,CAAAC,YAAA,GAAAA,YAAA;AAE9C,MAAMG,WAAW,GAAG;EACzBC,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;EACjCC,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;EACpCZ,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;EACjCD,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAC/B,CAAC;AAACO,OAAA,CAAAI,WAAA,GAAAA,WAAA;AAGK,MAAMG,wBAAwB,GAAG;EACtCC,YAAY,EAAE,CAAC,CAAC;EAChBC,gBAAgB,EAAE,CAAC;EACnBC,iBAAiB,EAAE;AACrB,CAAC;AAACV,OAAA,CAAAO,wBAAA,GAAAA,wBAAA"}
|
|
@@ -1,32 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.encodeBatchedModel3DTile = encodeBatchedModel3DTile;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
7
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
10
8
|
var _constants = require("../constants");
|
|
11
9
|
var _encode3dTileHeader = require("./helpers/encode-3d-tile-header");
|
|
12
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
10
|
function encodeBatchedModel3DTile(tile, dataView, byteOffset, options) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
const {
|
|
12
|
+
featuresLength = 0,
|
|
13
|
+
batchTable
|
|
14
|
+
} = tile;
|
|
15
|
+
const featureTableJson = {
|
|
20
16
|
BATCH_LENGTH: featuresLength
|
|
21
17
|
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
tile =
|
|
27
|
-
magic: _constants.MAGIC_ARRAY.BATCHED_MODEL
|
|
28
|
-
|
|
29
|
-
|
|
18
|
+
const featureTableJsonString = JSON.stringify(featureTableJson);
|
|
19
|
+
const batchTableJsonString = batchTable ? JSON.stringify(batchTable) : '';
|
|
20
|
+
const featureTableJsonByteLength = (0, _loaderUtils.padToNBytes)(featureTableJsonString.length, 8);
|
|
21
|
+
const batchTableJsonByteLength = batchTableJsonString ? (0, _loaderUtils.padToNBytes)(batchTableJsonString.length, 8) : 0;
|
|
22
|
+
tile = {
|
|
23
|
+
magic: _constants.MAGIC_ARRAY.BATCHED_MODEL,
|
|
24
|
+
...tile
|
|
25
|
+
};
|
|
26
|
+
const byteOffsetStart = byteOffset;
|
|
30
27
|
byteOffset = (0, _encode3dTileHeader.encode3DTileHeader)(tile, dataView, byteOffset);
|
|
31
28
|
if (dataView) {
|
|
32
29
|
dataView.setUint32(12, featureTableJsonByteLength, true);
|
|
@@ -39,7 +36,7 @@ function encodeBatchedModel3DTile(tile, dataView, byteOffset, options) {
|
|
|
39
36
|
if (batchTable) {
|
|
40
37
|
byteOffset = (0, _loaderUtils.copyPaddedStringToDataView)(dataView, byteOffset, batchTableJsonString, 8);
|
|
41
38
|
}
|
|
42
|
-
|
|
39
|
+
const gltfEncoded = tile.gltfEncoded;
|
|
43
40
|
if (gltfEncoded) {
|
|
44
41
|
byteOffset = (0, _loaderUtils.copyBinaryToDataView)(dataView, byteOffset, gltfEncoded, gltfEncoded.byteLength);
|
|
45
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode-3d-tile-batched-model.js","names":["_loaderUtils","require","_constants","_encode3dTileHeader","
|
|
1
|
+
{"version":3,"file":"encode-3d-tile-batched-model.js","names":["_loaderUtils","require","_constants","_encode3dTileHeader","encodeBatchedModel3DTile","tile","dataView","byteOffset","options","featuresLength","batchTable","featureTableJson","BATCH_LENGTH","featureTableJsonString","JSON","stringify","batchTableJsonString","featureTableJsonByteLength","padToNBytes","length","batchTableJsonByteLength","magic","MAGIC_ARRAY","BATCHED_MODEL","byteOffsetStart","encode3DTileHeader","setUint32","copyPaddedStringToDataView","gltfEncoded","copyBinaryToDataView","byteLength","encode3DTileByteLength"],"sources":["../../../../src/lib/encoders/encode-3d-tile-batched-model.ts"],"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"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AAGO,SAASG,wBAAwBA,CAACC,IAAI,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,OAAO,EAAE;EAC5E,MAAM;IAACC,cAAc,GAAG,CAAC;IAAEC;EAAU,CAAC,GAAGL,IAAI;EAE7C,MAAMM,gBAAgB,GAAG;IACvBC,YAAY,EAAEH;EAChB,CAAC;EACD,MAAMI,sBAAsB,GAAGC,IAAI,CAACC,SAAS,CAACJ,gBAAgB,CAAC;EAC/D,MAAMK,oBAAoB,GAAGN,UAAU,GAAGI,IAAI,CAACC,SAAS,CAACL,UAAU,CAAC,GAAG,EAAE;EACzE,MAAMO,0BAA0B,GAAG,IAAAC,wBAAW,EAACL,sBAAsB,CAACM,MAAM,EAAE,CAAC,CAAC;EAChF,MAAMC,wBAAwB,GAAGJ,oBAAoB,GACjD,IAAAE,wBAAW,EAACF,oBAAoB,CAACG,MAAM,EAAE,CAAC,CAAC,GAC3C,CAAC;EAGLd,IAAI,GAAG;IAACgB,KAAK,EAAEC,sBAAW,CAACC,aAAa;IAAE,GAAGlB;EAAI,CAAC;EAElD,MAAMmB,eAAe,GAAGjB,UAAU;EAElCA,UAAU,GAAG,IAAAkB,sCAAkB,EAACpB,IAAI,EAAEC,QAAQ,EAAEC,UAAU,CAAC;EAE3D,IAAID,QAAQ,EAAE;IACZA,QAAQ,CAACoB,SAAS,CAAC,EAAE,EAAET,0BAA0B,EAAE,IAAI,CAAC;IACxDX,QAAQ,CAACoB,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC;IAC/BpB,QAAQ,CAACoB,SAAS,CAAC,EAAE,EAAEN,wBAAwB,EAAE,IAAI,CAAC;IACtDd,QAAQ,CAACoB,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC;EACjC;EACAnB,UAAU,IAAI,EAAE;EAGhBA,UAAU,GAAG,IAAAoB,uCAA0B,EAACrB,QAAQ,EAAEC,UAAU,EAAEM,sBAAsB,EAAE,CAAC,CAAC;EAExF,IAAIH,UAAU,EAAE;IACdH,UAAU,GAAG,IAAAoB,uCAA0B,EAACrB,QAAQ,EAAEC,UAAU,EAAES,oBAAoB,EAAE,CAAC,CAAC;EACxF;EAGA,MAAMY,WAAW,GAAGvB,IAAI,CAACuB,WAAW;EACpC,IAAIA,WAAW,EAAE;IACfrB,UAAU,GAAG,IAAAsB,iCAAoB,EAACvB,QAAQ,EAAEC,UAAU,EAAEqB,WAAW,EAAEA,WAAW,CAACE,UAAU,CAAC;EAC9F;EAGA,IAAAC,0CAAsB,EAACzB,QAAQ,EAAEkB,eAAe,EAAEjB,UAAU,GAAGiB,eAAe,CAAC;EAE/E,OAAOjB,UAAU;AACnB"}
|
|
@@ -1,27 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.encodeComposite3DTile = encodeComposite3DTile;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
7
|
var _constants = require("../constants");
|
|
10
8
|
var _encode3dTileHeader = require("./helpers/encode-3d-tile-header");
|
|
11
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
12
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
13
9
|
function encodeComposite3DTile(tile, dataView, byteOffset, options, encode3DTile) {
|
|
14
|
-
tile =
|
|
10
|
+
tile = {
|
|
15
11
|
magic: _constants.MAGIC_ARRAY.COMPOSITE,
|
|
16
|
-
tiles: []
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
tiles: [],
|
|
13
|
+
...tile
|
|
14
|
+
};
|
|
15
|
+
const byteOffsetStart = byteOffset;
|
|
19
16
|
byteOffset += (0, _encode3dTileHeader.encode3DTileHeader)(tile, dataView, byteOffset);
|
|
20
17
|
if (dataView) {
|
|
21
18
|
dataView.setUint32(byteOffset, tile.tiles.length, true);
|
|
22
19
|
}
|
|
23
20
|
byteOffset += 4;
|
|
24
|
-
for (
|
|
21
|
+
for (let i = 0; i < tile.tiles.length; ++i) {
|
|
25
22
|
byteOffset += encode3DTile(tile.tiles[i], dataView, byteOffset, options);
|
|
26
23
|
}
|
|
27
24
|
(0, _encode3dTileHeader.encode3DTileByteLength)(dataView, byteOffsetStart, byteOffset - byteOffsetStart);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode-3d-tile-composite.js","names":["_constants","require","_encode3dTileHeader","
|
|
1
|
+
{"version":3,"file":"encode-3d-tile-composite.js","names":["_constants","require","_encode3dTileHeader","encodeComposite3DTile","tile","dataView","byteOffset","options","encode3DTile","magic","MAGIC_ARRAY","COMPOSITE","tiles","byteOffsetStart","encode3DTileHeader","setUint32","length","i","encode3DTileByteLength"],"sources":["../../../../src/lib/encoders/encode-3d-tile-composite.ts"],"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"],"mappings":";;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AAEO,SAASE,qBAAqBA,CAACC,IAAI,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,OAAO,EAAEC,YAAY,EAAE;EAEvFJ,IAAI,GAAG;IAACK,KAAK,EAAEC,sBAAW,CAACC,SAAS;IAAEC,KAAK,EAAE,EAAE;IAAE,GAAGR;EAAI,CAAC;EAEzD,MAAMS,eAAe,GAAGP,UAAU;EAElCA,UAAU,IAAI,IAAAQ,sCAAkB,EAACV,IAAI,EAAEC,QAAQ,EAAEC,UAAU,CAAC;EAE5D,IAAID,QAAQ,EAAE;IACZA,QAAQ,CAACU,SAAS,CAACT,UAAU,EAAEF,IAAI,CAACQ,KAAK,CAACI,MAAM,EAAE,IAAI,CAAC;EACzD;EACAV,UAAU,IAAI,CAAC;EAEf,KAAK,IAAIW,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGb,IAAI,CAACQ,KAAK,CAACI,MAAM,EAAE,EAAEC,CAAC,EAAE;IAC1CX,UAAU,IAAIE,YAAY,CAACJ,IAAI,CAACQ,KAAK,CAACK,CAAC,CAAC,EAAEZ,QAAQ,EAAEC,UAAU,EAAEC,OAAO,CAAC;EAC1E;EAGA,IAAAW,0CAAsB,EAACb,QAAQ,EAAEQ,eAAe,EAAEP,UAAU,GAAGO,eAAe,CAAC;EAE/E,OAAOP,UAAU;AACnB"}
|
|
@@ -1,35 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.encodeInstancedModel3DTile = encodeInstancedModel3DTile;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
7
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
10
8
|
var _constants = require("../constants");
|
|
11
9
|
var _encode3dTileHeader = require("./helpers/encode-3d-tile-header");
|
|
12
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
10
|
function encodeInstancedModel3DTile(tile, dataView, byteOffset, options) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
var gltfUriByteLength = gltfUri.length;
|
|
23
|
-
var featureTableJson = {
|
|
11
|
+
const {
|
|
12
|
+
featuresLength = 1,
|
|
13
|
+
gltfFormat = 1,
|
|
14
|
+
gltfUri = ''
|
|
15
|
+
} = tile;
|
|
16
|
+
const gltfUriByteLength = gltfUri.length;
|
|
17
|
+
const featureTableJson = {
|
|
24
18
|
INSTANCES_LENGTH: featuresLength,
|
|
25
19
|
POSITION: new Array(featuresLength * 3).fill(0)
|
|
26
20
|
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
tile =
|
|
30
|
-
magic: _constants.MAGIC_ARRAY.INSTANCED_MODEL
|
|
31
|
-
|
|
32
|
-
|
|
21
|
+
const featureTableJsonString = JSON.stringify(featureTableJson);
|
|
22
|
+
const featureTableJsonByteLength = featureTableJsonString.length;
|
|
23
|
+
tile = {
|
|
24
|
+
magic: _constants.MAGIC_ARRAY.INSTANCED_MODEL,
|
|
25
|
+
...tile
|
|
26
|
+
};
|
|
27
|
+
const byteOffsetStart = byteOffset;
|
|
33
28
|
byteOffset = (0, _encode3dTileHeader.encode3DTileHeader)(tile, dataView, 0);
|
|
34
29
|
if (dataView) {
|
|
35
30
|
dataView.setUint32(12, featureTableJsonByteLength, true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode-3d-tile-instanced-model.js","names":["_loaderUtils","require","_constants","_encode3dTileHeader","
|
|
1
|
+
{"version":3,"file":"encode-3d-tile-instanced-model.js","names":["_loaderUtils","require","_constants","_encode3dTileHeader","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","encode3DTileHeader","setUint32","copyStringToDataView","encode3DTileByteLength"],"sources":["../../../../src/lib/encoders/encode-3d-tile-instanced-model.ts"],"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"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AAIO,SAASG,0BAA0BA,CAACC,IAAI,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,OAAO,EAAE;EAC9E,MAAM;IAACC,cAAc,GAAG,CAAC;IAAEC,UAAU,GAAG,CAAC;IAAEC,OAAO,GAAG;EAAE,CAAC,GAAGN,IAAI;EAE/D,MAAMO,iBAAiB,GAAGD,OAAO,CAACE,MAAM;EAExC,MAAMC,gBAAgB,GAAG;IACvBC,gBAAgB,EAAEN,cAAc;IAChCO,QAAQ,EAAE,IAAIC,KAAK,CAACR,cAAc,GAAG,CAAC,CAAC,CAACS,IAAI,CAAC,CAAC;EAChD,CAAC;EACD,MAAMC,sBAAsB,GAAGC,IAAI,CAACC,SAAS,CAACP,gBAAgB,CAAC;EAC/D,MAAMQ,0BAA0B,GAAGH,sBAAsB,CAACN,MAAM;EAGhER,IAAI,GAAG;IAACkB,KAAK,EAAEC,sBAAW,CAACC,eAAe;IAAE,GAAGpB;EAAI,CAAC;EAEpD,MAAMqB,eAAe,GAAGnB,UAAU;EAElCA,UAAU,GAAG,IAAAoB,sCAAkB,EAACtB,IAAI,EAAEC,QAAQ,EAAE,CAAC,CAAC;EAElD,IAAIA,QAAQ,EAAE;IACZA,QAAQ,CAACsB,SAAS,CAAC,EAAE,EAAEN,0BAA0B,EAAE,IAAI,CAAC;IACxDhB,QAAQ,CAACsB,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC;IAC/BtB,QAAQ,CAACsB,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC;IAC/BtB,QAAQ,CAACsB,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC;IAC/BtB,QAAQ,CAACsB,SAAS,CAAC,EAAE,EAAElB,UAAU,EAAE,IAAI,CAAC;EAC1C;EAEAH,UAAU,IAAI,EAAE;EAEhBA,UAAU,IAAI,IAAAsB,iCAAoB,EAChCvB,QAAQ,EACRC,UAAU,EACVY,sBAAsB,EACtBG,0BACF,CAAC;EACDf,UAAU,IAAI,IAAAsB,iCAAoB,EAACvB,QAAQ,EAAEC,UAAU,EAAEI,OAAO,EAAEC,iBAAiB,CAAC;EAGpF,IAAAkB,0CAAsB,EAACxB,QAAQ,EAAEoB,eAAe,EAAEnB,UAAU,GAAGmB,eAAe,CAAC;EAE/E,OAAOnB,UAAU;AACnB"}
|
|
@@ -1,37 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.encodePointCloud3DTile = encodePointCloud3DTile;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
7
|
var _constants = require("../constants");
|
|
10
8
|
var _encode3dTileHeader = require("./helpers/encode-3d-tile-header");
|
|
11
9
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
12
|
-
|
|
13
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
|
-
var DEFAULT_FEATURE_TABLE_JSON = {
|
|
10
|
+
const DEFAULT_FEATURE_TABLE_JSON = {
|
|
15
11
|
POINTS_LENGTH: 1,
|
|
16
12
|
POSITIONS: {
|
|
17
13
|
byteOffset: 0
|
|
18
14
|
}
|
|
19
15
|
};
|
|
20
16
|
function encodePointCloud3DTile(tile, dataView, byteOffset, options) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
const {
|
|
18
|
+
featureTableJson = DEFAULT_FEATURE_TABLE_JSON
|
|
19
|
+
} = tile;
|
|
20
|
+
let featureTableJsonString = JSON.stringify(featureTableJson);
|
|
25
21
|
featureTableJsonString = (0, _loaderUtils.padStringToByteAlignment)(featureTableJsonString, 4);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
tile =
|
|
32
|
-
magic: _constants.MAGIC_ARRAY.POINT_CLOUD
|
|
33
|
-
|
|
34
|
-
|
|
22
|
+
const {
|
|
23
|
+
featureTableJsonByteLength = featureTableJsonString.length
|
|
24
|
+
} = tile;
|
|
25
|
+
const featureTableBinary = new ArrayBuffer(12);
|
|
26
|
+
const featureTableBinaryByteLength = featureTableBinary.byteLength;
|
|
27
|
+
tile = {
|
|
28
|
+
magic: _constants.MAGIC_ARRAY.POINT_CLOUD,
|
|
29
|
+
...tile
|
|
30
|
+
};
|
|
31
|
+
const byteOffsetStart = byteOffset;
|
|
35
32
|
byteOffset += (0, _encode3dTileHeader.encode3DTileHeader)(tile, dataView, 0);
|
|
36
33
|
if (dataView) {
|
|
37
34
|
dataView.setUint32(byteOffset + 0, featureTableJsonByteLength, true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode-3d-tile-point-cloud.js","names":["_constants","require","_encode3dTileHeader","_loaderUtils","
|
|
1
|
+
{"version":3,"file":"encode-3d-tile-point-cloud.js","names":["_constants","require","_encode3dTileHeader","_loaderUtils","DEFAULT_FEATURE_TABLE_JSON","POINTS_LENGTH","POSITIONS","byteOffset","encodePointCloud3DTile","tile","dataView","options","featureTableJson","featureTableJsonString","JSON","stringify","padStringToByteAlignment","featureTableJsonByteLength","length","featureTableBinary","ArrayBuffer","featureTableBinaryByteLength","byteLength","magic","MAGIC_ARRAY","POINT_CLOUD","byteOffsetStart","encode3DTileHeader","setUint32","copyStringToDataView","copyBinaryToDataView","encode3DTileByteLength"],"sources":["../../../../src/lib/encoders/encode-3d-tile-point-cloud.ts"],"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"],"mappings":";;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAMA,MAAMG,0BAA0B,GAAG;EACjCC,aAAa,EAAE,CAAC;EAChBC,SAAS,EAAE;IACTC,UAAU,EAAE;EACd;AACF,CAAC;AAEM,SAASC,sBAAsBA,CAACC,IAAI,EAAEC,QAAQ,EAAEH,UAAU,EAAEI,OAAO,EAAE;EAC1E,MAAM;IAACC,gBAAgB,GAAGR;EAA0B,CAAC,GAAGK,IAAI;EAE5D,IAAII,sBAAsB,GAAGC,IAAI,CAACC,SAAS,CAACH,gBAAgB,CAAC;EAC7DC,sBAAsB,GAAG,IAAAG,qCAAwB,EAACH,sBAAsB,EAAE,CAAC,CAAC;EAE5E,MAAM;IAACI,0BAA0B,GAAGJ,sBAAsB,CAACK;EAAM,CAAC,GAAGT,IAAI;EAEzE,MAAMU,kBAAkB,GAAG,IAAIC,WAAW,CAAC,EAAE,CAAC;EAC9C,MAAMC,4BAA4B,GAAGF,kBAAkB,CAACG,UAAU;EAGlEb,IAAI,GAAG;IAACc,KAAK,EAAEC,sBAAW,CAACC,WAAW;IAAE,GAAGhB;EAAI,CAAC;EAEhD,MAAMiB,eAAe,GAAGnB,UAAU;EAElCA,UAAU,IAAI,IAAAoB,sCAAkB,EAAClB,IAAI,EAAEC,QAAQ,EAAE,CAAC,CAAC;EAEnD,IAAIA,QAAQ,EAAE;IACZA,QAAQ,CAACkB,SAAS,CAACrB,UAAU,GAAG,CAAC,EAAEU,0BAA0B,EAAE,IAAI,CAAC;IACpEP,QAAQ,CAACkB,SAAS,CAACrB,UAAU,GAAG,CAAC,EAAEc,4BAA4B,EAAE,IAAI,CAAC;IACtEX,QAAQ,CAACkB,SAAS,CAACrB,UAAU,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;IAC3CG,QAAQ,CAACkB,SAAS,CAACrB,UAAU,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC;EAC9C;EACAA,UAAU,IAAI,EAAE;EAEhBA,UAAU,IAAI,IAAAsB,iCAAoB,EAChCnB,QAAQ,EACRH,UAAU,EACVM,sBAAsB,EACtBI,0BACF,CAAC;EACDV,UAAU,IAAI,IAAAuB,iCAAoB,EAChCpB,QAAQ,EACRH,UAAU,EACVY,kBAAkB,EAClBE,4BACF,CAAC;EAGD,IAAAU,0CAAsB,EAACrB,QAAQ,EAAEgB,eAAe,EAAEnB,UAAU,GAAGmB,eAAe,CAAC;EAE/E,OAAOnB,UAAU;AACnB"}
|
|
@@ -11,9 +11,9 @@ var _encode3dTileBatchedModel = require("./encode-3d-tile-batched-model");
|
|
|
11
11
|
var _encode3dTileInstancedModel = require("./encode-3d-tile-instanced-model");
|
|
12
12
|
var _encode3dTilePointCloud = require("./encode-3d-tile-point-cloud");
|
|
13
13
|
function encode3DTile(tile, options) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
const byteLength = encode3DTileToDataView(tile, null, 0, options);
|
|
15
|
+
const arrayBuffer = new ArrayBuffer(byteLength);
|
|
16
|
+
const dataView = new DataView(arrayBuffer);
|
|
17
17
|
encode3DTileToDataView(tile, dataView, 0, options);
|
|
18
18
|
return arrayBuffer;
|
|
19
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode-3d-tile.js","names":["_constants","require","_loaderUtils","_encode3dTileComposite","_encode3dTileBatchedModel","_encode3dTileInstancedModel","_encode3dTilePointCloud","encode3DTile","tile","options","byteLength","encode3DTileToDataView","arrayBuffer","ArrayBuffer","dataView","DataView","byteOffset","assert","type","TILE3D_TYPE","COMPOSITE","encodeComposite3DTile","POINT_CLOUD","encodePointCloud3DTile","BATCHED_3D_MODEL","encodeBatchedModel3DTile","INSTANCED_3D_MODEL","encodeInstancedModel3DTile","Error"],"sources":["../../../../src/lib/encoders/encode-3d-tile.ts"],"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"],"mappings":";;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,yBAAA,GAAAH,OAAA;AACA,IAAAI,2BAAA,GAAAJ,OAAA;AACA,IAAAK,uBAAA,GAAAL,OAAA;AAEe,SAASM,YAAYA,CAACC,IAAI,EAAEC,OAAO,EAAE;EAClD,
|
|
1
|
+
{"version":3,"file":"encode-3d-tile.js","names":["_constants","require","_loaderUtils","_encode3dTileComposite","_encode3dTileBatchedModel","_encode3dTileInstancedModel","_encode3dTilePointCloud","encode3DTile","tile","options","byteLength","encode3DTileToDataView","arrayBuffer","ArrayBuffer","dataView","DataView","byteOffset","assert","type","TILE3D_TYPE","COMPOSITE","encodeComposite3DTile","POINT_CLOUD","encodePointCloud3DTile","BATCHED_3D_MODEL","encodeBatchedModel3DTile","INSTANCED_3D_MODEL","encodeInstancedModel3DTile","Error"],"sources":["../../../../src/lib/encoders/encode-3d-tile.ts"],"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"],"mappings":";;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,yBAAA,GAAAH,OAAA;AACA,IAAAI,2BAAA,GAAAJ,OAAA;AACA,IAAAK,uBAAA,GAAAL,OAAA;AAEe,SAASM,YAAYA,CAACC,IAAI,EAAEC,OAAO,EAAE;EAClD,MAAMC,UAAU,GAAGC,sBAAsB,CAACH,IAAI,EAAE,IAAI,EAAE,CAAC,EAAEC,OAAO,CAAC;EACjE,MAAMG,WAAW,GAAG,IAAIC,WAAW,CAACH,UAAU,CAAC;EAC/C,MAAMI,QAAQ,GAAG,IAAIC,QAAQ,CAACH,WAAW,CAAC;EAC1CD,sBAAsB,CAACH,IAAI,EAAEM,QAAQ,EAAE,CAAC,EAAEL,OAAO,CAAC;EAClD,OAAOG,WAAW;AACpB;AAEA,SAASD,sBAAsBA,CAACH,IAAI,EAAEM,QAAQ,EAAEE,UAAU,EAAEP,OAAO,EAAE;EACnE,IAAAQ,mBAAM,EAAC,OAAOT,IAAI,CAACU,IAAI,KAAK,QAAQ,CAAC;EAErC,QAAQV,IAAI,CAACU,IAAI;IACf,KAAKC,sBAAW,CAACC,SAAS;MACxB,OAAO,IAAAC,4CAAqB,EAACb,IAAI,EAAEM,QAAQ,EAAEE,UAAU,EAAEP,OAAO,EAAEE,sBAAsB,CAAC;IAC3F,KAAKQ,sBAAW,CAACG,WAAW;MAC1B,OAAO,IAAAC,8CAAsB,EAACf,IAAI,EAAEM,QAAQ,EAAEE,UAAU,EAAEP,OAAO,CAAC;IACpE,KAAKU,sBAAW,CAACK,gBAAgB;MAC/B,OAAO,IAAAC,kDAAwB,EAACjB,IAAI,EAAEM,QAAQ,EAAEE,UAAU,EAAEP,OAAO,CAAC;IACtE,KAAKU,sBAAW,CAACO,kBAAkB;MACjC,OAAO,IAAAC,sDAA0B,EAACnB,IAAI,EAAEM,QAAQ,EAAEE,UAAU,EAAEP,OAAO,CAAC;IACxE;MACE,MAAM,IAAImB,KAAK,CAAC,6BAA6B,CAAC;EAClD;AACF"}
|
|
@@ -7,15 +7,15 @@ exports.encode3DTileByteLength = encode3DTileByteLength;
|
|
|
7
7
|
exports.encode3DTileHeader = encode3DTileHeader;
|
|
8
8
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
9
9
|
function encode3DTileHeader(tile, dataView, byteOffset) {
|
|
10
|
-
|
|
10
|
+
const HEADER_SIZE = 12;
|
|
11
11
|
if (!dataView) {
|
|
12
12
|
return byteOffset + HEADER_SIZE;
|
|
13
13
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
version =
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
const {
|
|
15
|
+
magic,
|
|
16
|
+
version = 1,
|
|
17
|
+
byteLength = 12
|
|
18
|
+
} = tile;
|
|
19
19
|
(0, _loaderUtils.assert)(Array.isArray(magic) && Number.isFinite(version) && Number.isFinite(byteLength));
|
|
20
20
|
dataView.setUint8(byteOffset + 0, magic[0]);
|
|
21
21
|
dataView.setUint8(byteOffset + 1, magic[1]);
|