@loaders.gl/3d-tiles 3.1.0-beta.1 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.js +2418 -232
- package/dist/es5/bundle.js +1 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/cesium-ion-loader.js +78 -23
- 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 +42 -30
- 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 +59 -57
- package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js.map +1 -1
- package/dist/es5/lib/classes/tile-3d-batch-table.js +238 -201
- package/dist/es5/lib/classes/tile-3d-batch-table.js.map +1 -1
- package/dist/es5/lib/classes/tile-3d-feature-table.js +78 -62
- package/dist/es5/lib/classes/tile-3d-feature-table.js.map +1 -1
- package/dist/es5/lib/constants.js +6 -5
- package/dist/es5/lib/constants.js.map +1 -1
- package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js +22 -15
- package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js.map +1 -1
- package/dist/es5/lib/encoders/encode-3d-tile-composite.js +13 -6
- package/dist/es5/lib/encoders/encode-3d-tile-composite.js.map +1 -1
- package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js +23 -14
- 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 +22 -15
- 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 +197 -69
- package/dist/es5/lib/ion/ion.js.map +1 -1
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js +18 -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 +270 -0
- package/dist/es5/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +1 -0
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js +66 -26
- 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 +4 -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 +141 -53
- 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 +17 -19
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js.map +1 -1
- package/dist/es5/lib/parsers/helpers/parse-utils.js +8 -7
- package/dist/es5/lib/parsers/helpers/parse-utils.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js +36 -10
- package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-composite.js +48 -12
- package/dist/es5/lib/parsers/parse-3d-tile-composite.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-gltf.js +45 -0
- package/dist/es5/lib/parsers/parse-3d-tile-gltf.js.map +1 -0
- package/dist/es5/lib/parsers/parse-3d-tile-header.js +161 -14
- package/dist/es5/lib/parsers/parse-3d-tile-header.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile-instanced-model.js +63 -38
- 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 +198 -117
- package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -1
- package/dist/es5/lib/parsers/parse-3d-tile.js +74 -15
- 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 +1 -1
- package/dist/es5/tile-3d-subtree-loader.js.map +1 -1
- 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 +142 -37
- package/dist/es5/tiles-3d-loader.js.map +1 -1
- package/dist/esm/lib/constants.js +2 -1
- package/dist/esm/lib/constants.js.map +1 -1
- package/dist/esm/lib/ion/ion.js.map +1 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-implicit-tiles.js +173 -0
- package/dist/esm/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +1 -0
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile-gltf.js +10 -0
- package/dist/esm/lib/parsers/parse-3d-tile-gltf.js.map +1 -0
- package/dist/esm/lib/parsers/parse-3d-tile-header.js +67 -0
- package/dist/esm/lib/parsers/parse-3d-tile-header.js.map +1 -1
- package/dist/esm/lib/parsers/parse-3d-tile.js +4 -0
- 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/tiles-3d-loader.js +9 -2
- package/dist/esm/tiles-3d-loader.js.map +1 -1
- package/dist/lib/constants.d.ts +1 -0
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +2 -1
- package/dist/lib/ion/ion.d.ts +3 -3
- package/dist/lib/ion/ion.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.d.ts +39 -0
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.d.ts.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.js +189 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.d.ts +2 -2
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js +1 -0
- package/dist/lib/parsers/parse-3d-tile-batched-model.js +1 -1
- package/dist/lib/parsers/parse-3d-tile-gltf.d.ts +2 -0
- package/dist/lib/parsers/parse-3d-tile-gltf.d.ts.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-gltf.js +18 -0
- package/dist/lib/parsers/parse-3d-tile-header.d.ts +16 -0
- package/dist/lib/parsers/parse-3d-tile-header.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-header.js +67 -1
- package/dist/lib/parsers/parse-3d-tile.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile.js +3 -0
- package/dist/tiles-3d-loader.d.ts.map +1 -1
- package/dist/tiles-3d-loader.js +8 -1
- package/dist/types.d.ts +6 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/lib/constants.ts +2 -1
- package/src/lib/ion/{ion.js → ion.ts} +0 -0
- package/src/lib/parsers/helpers/parse-3d-implicit-tiles.ts +255 -0
- package/src/lib/parsers/helpers/parse-3d-tile-subtree.ts +4 -3
- package/src/lib/parsers/parse-3d-tile-gltf.js +16 -0
- package/src/lib/parsers/parse-3d-tile-header.ts +82 -1
- package/src/lib/parsers/parse-3d-tile.ts +4 -0
- package/src/tiles-3d-loader.ts +17 -2
- package/src/types.ts +7 -2
package/dist/es5/bundle.js
CHANGED
package/dist/es5/bundle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/bundle.ts"],"names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"mappings":";;AACA,
|
|
1
|
+
{"version":3,"sources":["../../src/bundle.ts"],"names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"mappings":";;AACA,IAAMA,aAAa,GAAGC,OAAO,CAAC,SAAD,CAA7B;;AACAC,UAAU,CAACC,OAAX,GAAqBD,UAAU,CAACC,OAAX,IAAsB,EAA3C;AACAC,MAAM,CAACC,OAAP,GAAiBC,MAAM,CAACC,MAAP,CAAcL,UAAU,CAACC,OAAzB,EAAkCH,aAAlC,CAAjB","sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"file":"bundle.js"}
|
|
@@ -1,45 +1,100 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
8
|
exports.CesiumIonLoader = void 0;
|
|
7
9
|
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
+
|
|
8
16
|
var _tiles3dLoader = require("./tiles-3d-loader");
|
|
9
17
|
|
|
10
18
|
var _ion = require("./lib/ion/ion");
|
|
11
19
|
|
|
12
|
-
|
|
13
|
-
options = options['cesium-ion'] || {};
|
|
14
|
-
const {
|
|
15
|
-
accessToken
|
|
16
|
-
} = options;
|
|
17
|
-
let assetId = options.assetId;
|
|
20
|
+
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; }
|
|
18
21
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
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; }
|
|
23
|
+
|
|
24
|
+
function preload(_x) {
|
|
25
|
+
return _preload.apply(this, arguments);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function _preload() {
|
|
29
|
+
_preload = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(url) {
|
|
30
|
+
var options,
|
|
31
|
+
_options,
|
|
32
|
+
accessToken,
|
|
33
|
+
assetId,
|
|
34
|
+
matched,
|
|
35
|
+
_args2 = arguments;
|
|
36
|
+
|
|
37
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
38
|
+
while (1) {
|
|
39
|
+
switch (_context2.prev = _context2.next) {
|
|
40
|
+
case 0:
|
|
41
|
+
options = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {};
|
|
42
|
+
options = options['cesium-ion'] || {};
|
|
43
|
+
_options = options, accessToken = _options.accessToken;
|
|
44
|
+
assetId = options.assetId;
|
|
23
45
|
|
|
24
|
-
|
|
46
|
+
if (!Number.isFinite(assetId)) {
|
|
47
|
+
matched = url.match(/\/([0-9]+)\/tileset.json/);
|
|
48
|
+
assetId = matched && matched[1];
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return _context2.abrupt("return", (0, _ion.getIonTilesetMetadata)(accessToken, assetId));
|
|
52
|
+
|
|
53
|
+
case 6:
|
|
54
|
+
case "end":
|
|
55
|
+
return _context2.stop();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}, _callee2);
|
|
59
|
+
}));
|
|
60
|
+
return _preload.apply(this, arguments);
|
|
25
61
|
}
|
|
26
62
|
|
|
27
|
-
|
|
63
|
+
var CesiumIonLoader = _objectSpread(_objectSpread({}, _tiles3dLoader.Tiles3DLoader), {}, {
|
|
28
64
|
id: 'cesium-ion',
|
|
29
65
|
name: 'Cesium Ion',
|
|
30
|
-
preload,
|
|
31
|
-
parse:
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
66
|
+
preload: preload,
|
|
67
|
+
parse: function () {
|
|
68
|
+
var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data, options, context) {
|
|
69
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
70
|
+
while (1) {
|
|
71
|
+
switch (_context.prev = _context.next) {
|
|
72
|
+
case 0:
|
|
73
|
+
options = _objectSpread({}, options);
|
|
74
|
+
options['3d-tiles'] = options['cesium-ion'];
|
|
75
|
+
options.loader = CesiumIonLoader;
|
|
76
|
+
return _context.abrupt("return", _tiles3dLoader.Tiles3DLoader.parse(data, options, context));
|
|
77
|
+
|
|
78
|
+
case 4:
|
|
79
|
+
case "end":
|
|
80
|
+
return _context.stop();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}, _callee);
|
|
84
|
+
}));
|
|
85
|
+
|
|
86
|
+
function parse(_x2, _x3, _x4) {
|
|
87
|
+
return _parse.apply(this, arguments);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return parse;
|
|
91
|
+
}(),
|
|
38
92
|
options: {
|
|
39
|
-
'cesium-ion': {
|
|
93
|
+
'cesium-ion': _objectSpread(_objectSpread({}, _tiles3dLoader.Tiles3DLoader.options['3d-tiles']), {}, {
|
|
40
94
|
accessToken: null
|
|
41
|
-
}
|
|
95
|
+
})
|
|
42
96
|
}
|
|
43
|
-
};
|
|
97
|
+
});
|
|
98
|
+
|
|
44
99
|
exports.CesiumIonLoader = CesiumIonLoader;
|
|
45
100
|
//# sourceMappingURL=cesium-ion-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/cesium-ion-loader.ts"],"names":["preload","url","options","accessToken","assetId","Number","isFinite","matched","match","CesiumIonLoader","Tiles3DLoader","id","name","parse","data","context","loader"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/cesium-ion-loader.ts"],"names":["preload","url","options","accessToken","assetId","Number","isFinite","matched","match","CesiumIonLoader","Tiles3DLoader","id","name","parse","data","context","loader"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;;;;;SAEeA,O;;;;;uEAAf,kBAAuBC,GAAvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAA4BC,YAAAA,OAA5B,8DAAsC,EAAtC;AACEA,YAAAA,OAAO,GAAGA,OAAO,CAAC,YAAD,CAAP,IAAyB,EAAnC;AADF,uBAGwBA,OAHxB,EAGSC,WAHT,YAGSA,WAHT;AAKMC,YAAAA,OALN,GAKgBF,OAAO,CAACE,OALxB;;AAME,gBAAI,CAACC,MAAM,CAACC,QAAP,CAAgBF,OAAhB,CAAL,EAA+B;AACvBG,cAAAA,OADuB,GACbN,GAAG,CAACO,KAAJ,CAAU,0BAAV,CADa;AAE7BJ,cAAAA,OAAO,GAAGG,OAAO,IAAIA,OAAO,CAAC,CAAD,CAA5B;AACD;;AATH,8CAUS,gCAAsBJ,WAAtB,EAAmCC,OAAnC,CAVT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAgBO,IAAMK,eAAiC,mCACzCC,4BADyC;AAE5CC,EAAAA,EAAE,EAAE,YAFwC;AAG5CC,EAAAA,IAAI,EAAE,YAHsC;AAK5CZ,EAAAA,OAAO,EAAPA,OAL4C;AAM5Ca,EAAAA,KAAK;AAAA,2EAAE,iBAAOC,IAAP,EAAaZ,OAAb,EAAuBa,OAAvB;AAAA;AAAA;AAAA;AAAA;AACLb,cAAAA,OAAO,qBAAOA,OAAP,CAAP;AACAA,cAAAA,OAAO,CAAC,UAAD,CAAP,GAAsBA,OAAO,CAAC,YAAD,CAA7B;AAEAA,cAAAA,OAAO,CAACc,MAAR,GAAiBP,eAAjB;AAJK,+CAKEC,6BAAcG,KAAd,CAAoBC,IAApB,EAA0BZ,OAA1B,EAAmCa,OAAnC,CALF;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAF;;AAAA;AAAA;AAAA;;AAAA;AAAA,KANuC;AAa5Cb,EAAAA,OAAO,EAAE;AACP,kDACKQ,6BAAcR,OAAd,CAAsB,UAAtB,CADL;AAEEC,MAAAA,WAAW,EAAE;AAFf;AADO;AAbmC,EAAvC","sourcesContent":["import type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {Tiles3DLoader} from './tiles-3d-loader';\nimport {getIonTilesetMetadata} from './lib/ion/ion';\n\nasync function preload(url, options = {}) {\n options = options['cesium-ion'] || {};\n // @ts-ignore\n const {accessToken} = options;\n // @ts-ignore\n let assetId = options.assetId;\n if (!Number.isFinite(assetId)) {\n const matched = url.match(/\\/([0-9]+)\\/tileset.json/);\n assetId = matched && matched[1];\n }\n return getIonTilesetMetadata(accessToken, assetId);\n}\n\n/**\n * Loader for 3D tiles from Cesium ION\n */\nexport const CesiumIonLoader: LoaderWithParser = {\n ...Tiles3DLoader,\n id: 'cesium-ion',\n name: 'Cesium Ion',\n // @ts-ignore\n preload,\n parse: async (data, options?, context?) => {\n options = {...options};\n options['3d-tiles'] = options['cesium-ion'];\n // @ts-ignore\n options.loader = CesiumIonLoader;\n return Tiles3DLoader.parse(data, options, context); // , loader);\n },\n options: {\n 'cesium-ion': {\n ...Tiles3DLoader.options['3d-tiles'],\n accessToken: null\n }\n }\n};\n"],"file":"cesium-ion-loader.js"}
|
package/dist/es5/index.js
CHANGED
|
@@ -7,49 +7,49 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
Object.defineProperty(exports, "Tiles3DLoader", {
|
|
9
9
|
enumerable: true,
|
|
10
|
-
get: function () {
|
|
10
|
+
get: function get() {
|
|
11
11
|
return _tiles3dLoader.Tiles3DLoader;
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
14
|
Object.defineProperty(exports, "CesiumIonLoader", {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get: function () {
|
|
16
|
+
get: function get() {
|
|
17
17
|
return _cesiumIonLoader.CesiumIonLoader;
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "Tile3DSubtreeLoader", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () {
|
|
22
|
+
get: function get() {
|
|
23
23
|
return _tile3dSubtreeLoader.Tile3DSubtreeLoader;
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
26
|
Object.defineProperty(exports, "Tile3DWriter", {
|
|
27
27
|
enumerable: true,
|
|
28
|
-
get: function () {
|
|
28
|
+
get: function get() {
|
|
29
29
|
return _tile3dWriter.Tile3DWriter;
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
32
|
Object.defineProperty(exports, "Tile3DFeatureTable", {
|
|
33
33
|
enumerable: true,
|
|
34
|
-
get: function () {
|
|
34
|
+
get: function get() {
|
|
35
35
|
return _tile3dFeatureTable.default;
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
38
|
Object.defineProperty(exports, "Tile3DBatchTable", {
|
|
39
39
|
enumerable: true,
|
|
40
|
-
get: function () {
|
|
40
|
+
get: function get() {
|
|
41
41
|
return _tile3dBatchTable.default;
|
|
42
42
|
}
|
|
43
43
|
});
|
|
44
44
|
Object.defineProperty(exports, "TILE3D_TYPE", {
|
|
45
45
|
enumerable: true,
|
|
46
|
-
get: function () {
|
|
46
|
+
get: function get() {
|
|
47
47
|
return _constants.TILE3D_TYPE;
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
50
|
Object.defineProperty(exports, "_getIonTilesetMetadata", {
|
|
51
51
|
enumerable: true,
|
|
52
|
-
get: function () {
|
|
52
|
+
get: function get() {
|
|
53
53
|
return _ion.getIonTilesetMetadata;
|
|
54
54
|
}
|
|
55
55
|
});
|
|
@@ -9,7 +9,7 @@ var _math = require("@loaders.gl/math");
|
|
|
9
9
|
|
|
10
10
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
var COMPONENTS_PER_ATTRIBUTE = {
|
|
13
13
|
SCALAR: 1,
|
|
14
14
|
VEC2: 2,
|
|
15
15
|
VEC3: 3,
|
|
@@ -18,41 +18,55 @@ const COMPONENTS_PER_ATTRIBUTE = {
|
|
|
18
18
|
MAT3: 9,
|
|
19
19
|
MAT4: 16
|
|
20
20
|
};
|
|
21
|
-
|
|
22
|
-
SCALAR: (values, i)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
21
|
+
var UNPACKER = {
|
|
22
|
+
SCALAR: function SCALAR(values, i) {
|
|
23
|
+
return values[i];
|
|
24
|
+
},
|
|
25
|
+
VEC2: function VEC2(values, i) {
|
|
26
|
+
return [values[2 * i + 0], values[2 * i + 1]];
|
|
27
|
+
},
|
|
28
|
+
VEC3: function VEC3(values, i) {
|
|
29
|
+
return [values[3 * i + 0], values[3 * i + 1], values[3 * i + 2]];
|
|
30
|
+
},
|
|
31
|
+
VEC4: function VEC4(values, i) {
|
|
32
|
+
return [values[4 * i + 0], values[4 * i + 1], values[4 * i + 2], values[4 * i + 3]];
|
|
33
|
+
},
|
|
34
|
+
MAT2: function MAT2(values, i) {
|
|
35
|
+
return [values[4 * i + 0], values[4 * i + 1], values[4 * i + 2], values[4 * i + 3]];
|
|
36
|
+
},
|
|
37
|
+
MAT3: function MAT3(values, i) {
|
|
38
|
+
return [values[9 * i + 0], values[9 * i + 1], values[9 * i + 2], values[9 * i + 3], values[9 * i + 4], values[9 * i + 5], values[9 * i + 6], values[9 * i + 7], values[9 * i + 8]];
|
|
39
|
+
},
|
|
40
|
+
MAT4: function MAT4(values, i) {
|
|
41
|
+
return [values[16 * i + 0], values[16 * i + 1], values[16 * i + 2], values[16 * i + 3], values[16 * i + 4], values[16 * i + 5], values[16 * i + 6], values[16 * i + 7], values[16 * i + 8], values[16 * i + 9], values[16 * i + 10], values[16 * i + 11], values[16 * i + 12], values[16 * i + 13], values[16 * i + 14], values[16 * i + 15]];
|
|
42
|
+
}
|
|
29
43
|
};
|
|
30
|
-
|
|
31
|
-
SCALAR: (x, values, i)
|
|
44
|
+
var PACKER = {
|
|
45
|
+
SCALAR: function SCALAR(x, values, i) {
|
|
32
46
|
values[i] = x;
|
|
33
47
|
},
|
|
34
|
-
VEC2: (x, values, i)
|
|
48
|
+
VEC2: function VEC2(x, values, i) {
|
|
35
49
|
values[2 * i + 0] = x[0];
|
|
36
50
|
values[2 * i + 1] = x[1];
|
|
37
51
|
},
|
|
38
|
-
VEC3: (x, values, i)
|
|
52
|
+
VEC3: function VEC3(x, values, i) {
|
|
39
53
|
values[3 * i + 0] = x[0];
|
|
40
54
|
values[3 * i + 1] = x[1];
|
|
41
55
|
values[3 * i + 2] = x[2];
|
|
42
56
|
},
|
|
43
|
-
VEC4: (x, values, i)
|
|
57
|
+
VEC4: function VEC4(x, values, i) {
|
|
44
58
|
values[4 * i + 0] = x[0];
|
|
45
59
|
values[4 * i + 1] = x[1];
|
|
46
60
|
values[4 * i + 2] = x[2];
|
|
47
61
|
values[4 * i + 3] = x[3];
|
|
48
62
|
},
|
|
49
|
-
MAT2: (x, values, i)
|
|
63
|
+
MAT2: function MAT2(x, values, i) {
|
|
50
64
|
values[4 * i + 0] = x[0];
|
|
51
65
|
values[4 * i + 1] = x[1];
|
|
52
66
|
values[4 * i + 2] = x[2];
|
|
53
67
|
values[4 * i + 3] = x[3];
|
|
54
68
|
},
|
|
55
|
-
MAT3: (x, values, i)
|
|
69
|
+
MAT3: function MAT3(x, values, i) {
|
|
56
70
|
values[9 * i + 0] = x[0];
|
|
57
71
|
values[9 * i + 1] = x[1];
|
|
58
72
|
values[9 * i + 2] = x[2];
|
|
@@ -64,7 +78,7 @@ const PACKER = {
|
|
|
64
78
|
values[9 * i + 8] = x[8];
|
|
65
79
|
values[9 * i + 9] = x[9];
|
|
66
80
|
},
|
|
67
|
-
MAT4: (x, values, i)
|
|
81
|
+
MAT4: function MAT4(x, values, i) {
|
|
68
82
|
values[16 * i + 0] = x[0];
|
|
69
83
|
values[16 * i + 1] = x[1];
|
|
70
84
|
values[16 * i + 2] = x[2];
|
|
@@ -85,24 +99,22 @@ const PACKER = {
|
|
|
85
99
|
};
|
|
86
100
|
|
|
87
101
|
function createTypedArrayFromAccessor(tile3DAccessor, buffer, byteOffset, length) {
|
|
88
|
-
|
|
89
|
-
componentType
|
|
90
|
-
} = tile3DAccessor;
|
|
102
|
+
var componentType = tile3DAccessor.componentType;
|
|
91
103
|
(0, _loaderUtils.assert)(tile3DAccessor.componentType);
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
104
|
+
var type = typeof componentType === 'string' ? _math.GLType.fromName(componentType) : componentType;
|
|
105
|
+
var size = COMPONENTS_PER_ATTRIBUTE[tile3DAccessor.type];
|
|
106
|
+
var unpacker = UNPACKER[tile3DAccessor.type];
|
|
107
|
+
var packer = PACKER[tile3DAccessor.type];
|
|
96
108
|
byteOffset += tile3DAccessor.byteOffset;
|
|
97
109
|
|
|
98
|
-
|
|
110
|
+
var values = _math.GLType.createTypedArray(type, buffer, byteOffset, size * length);
|
|
99
111
|
|
|
100
112
|
return {
|
|
101
|
-
values,
|
|
102
|
-
type,
|
|
103
|
-
size,
|
|
104
|
-
unpacker,
|
|
105
|
-
packer
|
|
113
|
+
values: values,
|
|
114
|
+
type: type,
|
|
115
|
+
size: size,
|
|
116
|
+
unpacker: unpacker,
|
|
117
|
+
packer: packer
|
|
106
118
|
};
|
|
107
119
|
}
|
|
108
120
|
//# sourceMappingURL=tile-3d-accessor-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/lib/classes/helpers/tile-3d-accessor-utils.ts"],"names":["COMPONENTS_PER_ATTRIBUTE","SCALAR","VEC2","VEC3","VEC4","MAT2","MAT3","MAT4","UNPACKER","values","i","PACKER","x","createTypedArrayFromAccessor","tile3DAccessor","buffer","byteOffset","length","componentType","type","GLType","fromName","size","unpacker","packer","createTypedArray"],"mappings":"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","sourcesContent":["import {GLType} from '@loaders.gl/math'; // '@math.gl/geometry';\nimport {assert} from '@loaders.gl/loader-utils';\n\nconst COMPONENTS_PER_ATTRIBUTE = {\n SCALAR: 1,\n VEC2: 2,\n VEC3: 3,\n VEC4: 4,\n MAT2: 4,\n MAT3: 9,\n MAT4: 16\n};\n\n// TODO - could just return typed array views...\n// prettier-ignore\nconst UNPACKER = {\n SCALAR: (values, i) => values[i],\n VEC2: (values, i) => [values[2 * i + 0], values[2 * i + 1]],\n VEC3: (values, i) => [values[3 * i + 0], values[3 * i + 1], values[3 * i + 2]],\n VEC4: (values, i) => [values[4 * i + 0], values[4 * i + 1], values[4 * i + 2], values[4 * i + 3]],\n // TODO: check column major\n MAT2: (values, i) => [\n values[4 * i + 0], values[4 * i + 1],\n values[4 * i + 2], values[4 * i + 3]\n ],\n MAT3: (values, i) => [\n values[9 * i + 0], values[9 * i + 1], values[9 * i + 2],\n values[9 * i + 3], values[9 * i + 4], values[9 * i + 5],\n values[9 * i + 6], values[9 * i + 7], values[9 * i + 8]\n ],\n MAT4: (values, i) => [\n values[16 * i + 0], values[16 * i + 1], values[16 * i + 2], values[16 * i + 3],\n values[16 * i + 4], values[16 * i + 5], values[16 * i + 6], values[16 * i + 7],\n values[16 * i + 8], values[16 * i + 9], values[16 * i + 10], values[16 * i + 11],\n values[16 * i + 12], values[16 * i + 13], values[16 * i + 14], values[16 * i + 15]\n ]\n};\n\nconst PACKER = {\n SCALAR: (x, values, i) => {\n values[i] = x;\n },\n VEC2: (x, values, i) => {\n values[2 * i + 0] = x[0];\n values[2 * i + 1] = x[1];\n },\n VEC3: (x, values, i) => {\n values[3 * i + 0] = x[0];\n values[3 * i + 1] = x[1];\n values[3 * i + 2] = x[2];\n },\n VEC4: (x, values, i) => {\n values[4 * i + 0] = x[0];\n values[4 * i + 1] = x[1];\n values[4 * i + 2] = x[2];\n values[4 * i + 3] = x[3];\n },\n // TODO: check column major correctness\n MAT2: (x, values, i) => {\n values[4 * i + 0] = x[0];\n values[4 * i + 1] = x[1];\n values[4 * i + 2] = x[2];\n values[4 * i + 3] = x[3];\n },\n MAT3: (x, values, i) => {\n values[9 * i + 0] = x[0];\n values[9 * i + 1] = x[1];\n values[9 * i + 2] = x[2];\n values[9 * i + 3] = x[3];\n values[9 * i + 4] = x[4];\n values[9 * i + 5] = x[5];\n values[9 * i + 6] = x[6];\n values[9 * i + 7] = x[7];\n values[9 * i + 8] = x[8];\n values[9 * i + 9] = x[9];\n },\n MAT4: (x, values, i) => {\n values[16 * i + 0] = x[0];\n values[16 * i + 1] = x[1];\n values[16 * i + 2] = x[2];\n values[16 * i + 3] = x[3];\n values[16 * i + 4] = x[4];\n values[16 * i + 5] = x[5];\n values[16 * i + 6] = x[6];\n values[16 * i + 7] = x[7];\n values[16 * i + 8] = x[8];\n values[16 * i + 9] = x[9];\n values[16 * i + 10] = x[10];\n values[16 * i + 11] = x[11];\n values[16 * i + 12] = x[12];\n values[16 * i + 13] = x[13];\n values[16 * i + 14] = x[14];\n values[16 * i + 15] = x[15];\n }\n};\n\nexport function createTypedArrayFromAccessor(tile3DAccessor, buffer, byteOffset, length) {\n const {componentType} = tile3DAccessor;\n assert(tile3DAccessor.componentType);\n const type = typeof componentType === 'string' ? GLType.fromName(componentType) : componentType;\n const size = COMPONENTS_PER_ATTRIBUTE[tile3DAccessor.type];\n const unpacker = UNPACKER[tile3DAccessor.type];\n const packer = PACKER[tile3DAccessor.type];\n\n byteOffset += tile3DAccessor.byteOffset;\n const values = GLType.createTypedArray(type, buffer, byteOffset, size * length);\n\n return {\n values,\n type,\n size,\n unpacker,\n packer\n };\n}\n"],"file":"tile-3d-accessor-utils.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/lib/classes/helpers/tile-3d-accessor-utils.ts"],"names":["COMPONENTS_PER_ATTRIBUTE","SCALAR","VEC2","VEC3","VEC4","MAT2","MAT3","MAT4","UNPACKER","values","i","PACKER","x","createTypedArrayFromAccessor","tile3DAccessor","buffer","byteOffset","length","componentType","type","GLType","fromName","size","unpacker","packer","createTypedArray"],"mappings":"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","sourcesContent":["import {GLType} from '@loaders.gl/math'; // '@math.gl/geometry';\nimport {assert} from '@loaders.gl/loader-utils';\n\nconst COMPONENTS_PER_ATTRIBUTE = {\n SCALAR: 1,\n VEC2: 2,\n VEC3: 3,\n VEC4: 4,\n MAT2: 4,\n MAT3: 9,\n MAT4: 16\n};\n\n// TODO - could just return typed array views...\n// prettier-ignore\nconst UNPACKER = {\n SCALAR: (values, i) => values[i],\n VEC2: (values, i) => [values[2 * i + 0], values[2 * i + 1]],\n VEC3: (values, i) => [values[3 * i + 0], values[3 * i + 1], values[3 * i + 2]],\n VEC4: (values, i) => [values[4 * i + 0], values[4 * i + 1], values[4 * i + 2], values[4 * i + 3]],\n // TODO: check column major\n MAT2: (values, i) => [\n values[4 * i + 0], values[4 * i + 1],\n values[4 * i + 2], values[4 * i + 3]\n ],\n MAT3: (values, i) => [\n values[9 * i + 0], values[9 * i + 1], values[9 * i + 2],\n values[9 * i + 3], values[9 * i + 4], values[9 * i + 5],\n values[9 * i + 6], values[9 * i + 7], values[9 * i + 8]\n ],\n MAT4: (values, i) => [\n values[16 * i + 0], values[16 * i + 1], values[16 * i + 2], values[16 * i + 3],\n values[16 * i + 4], values[16 * i + 5], values[16 * i + 6], values[16 * i + 7],\n values[16 * i + 8], values[16 * i + 9], values[16 * i + 10], values[16 * i + 11],\n values[16 * i + 12], values[16 * i + 13], values[16 * i + 14], values[16 * i + 15]\n ]\n};\n\nconst PACKER = {\n SCALAR: (x, values, i) => {\n values[i] = x;\n },\n VEC2: (x, values, i) => {\n values[2 * i + 0] = x[0];\n values[2 * i + 1] = x[1];\n },\n VEC3: (x, values, i) => {\n values[3 * i + 0] = x[0];\n values[3 * i + 1] = x[1];\n values[3 * i + 2] = x[2];\n },\n VEC4: (x, values, i) => {\n values[4 * i + 0] = x[0];\n values[4 * i + 1] = x[1];\n values[4 * i + 2] = x[2];\n values[4 * i + 3] = x[3];\n },\n // TODO: check column major correctness\n MAT2: (x, values, i) => {\n values[4 * i + 0] = x[0];\n values[4 * i + 1] = x[1];\n values[4 * i + 2] = x[2];\n values[4 * i + 3] = x[3];\n },\n MAT3: (x, values, i) => {\n values[9 * i + 0] = x[0];\n values[9 * i + 1] = x[1];\n values[9 * i + 2] = x[2];\n values[9 * i + 3] = x[3];\n values[9 * i + 4] = x[4];\n values[9 * i + 5] = x[5];\n values[9 * i + 6] = x[6];\n values[9 * i + 7] = x[7];\n values[9 * i + 8] = x[8];\n values[9 * i + 9] = x[9];\n },\n MAT4: (x, values, i) => {\n values[16 * i + 0] = x[0];\n values[16 * i + 1] = x[1];\n values[16 * i + 2] = x[2];\n values[16 * i + 3] = x[3];\n values[16 * i + 4] = x[4];\n values[16 * i + 5] = x[5];\n values[16 * i + 6] = x[6];\n values[16 * i + 7] = x[7];\n values[16 * i + 8] = x[8];\n values[16 * i + 9] = x[9];\n values[16 * i + 10] = x[10];\n values[16 * i + 11] = x[11];\n values[16 * i + 12] = x[12];\n values[16 * i + 13] = x[13];\n values[16 * i + 14] = x[14];\n values[16 * i + 15] = x[15];\n }\n};\n\nexport function createTypedArrayFromAccessor(tile3DAccessor, buffer, byteOffset, length) {\n const {componentType} = tile3DAccessor;\n assert(tile3DAccessor.componentType);\n const type = typeof componentType === 'string' ? GLType.fromName(componentType) : componentType;\n const size = COMPONENTS_PER_ATTRIBUTE[tile3DAccessor.type];\n const unpacker = UNPACKER[tile3DAccessor.type];\n const packer = PACKER[tile3DAccessor.type];\n\n byteOffset += tile3DAccessor.byteOffset;\n const values = GLType.createTypedArray(type, buffer, byteOffset, size * length);\n\n return {\n values,\n type,\n size,\n unpacker,\n packer\n };\n}\n"],"file":"tile-3d-accessor-utils.js"}
|
|
@@ -6,15 +6,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.initializeHierarchy = initializeHierarchy;
|
|
7
7
|
exports.traverseHierarchy = traverseHierarchy;
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
var defined = function defined(x) {
|
|
10
|
+
return x !== undefined;
|
|
11
|
+
};
|
|
10
12
|
|
|
11
13
|
function initializeHierarchy(batchTable, jsonHeader, binaryBody) {
|
|
12
14
|
if (!jsonHeader) {
|
|
13
15
|
return null;
|
|
14
16
|
}
|
|
15
17
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
var hierarchy = batchTable.getExtension('3DTILES_batch_table_hierarchy');
|
|
19
|
+
var legacyHierarchy = jsonHeader.HIERARCHY;
|
|
18
20
|
|
|
19
21
|
if (legacyHierarchy) {
|
|
20
22
|
console.warn('3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy.');
|
|
@@ -31,15 +33,15 @@ function initializeHierarchy(batchTable, jsonHeader, binaryBody) {
|
|
|
31
33
|
}
|
|
32
34
|
|
|
33
35
|
function initializeHierarchyValues(hierarchyJson, binaryBody) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
36
|
+
var i;
|
|
37
|
+
var classId;
|
|
38
|
+
var binaryAccessor;
|
|
39
|
+
var instancesLength = hierarchyJson.instancesLength;
|
|
40
|
+
var classes = hierarchyJson.classes;
|
|
41
|
+
var classIds = hierarchyJson.classIds;
|
|
42
|
+
var parentCounts = hierarchyJson.parentCounts;
|
|
43
|
+
var parentIds = hierarchyJson.parentIds;
|
|
44
|
+
var parentIdsLength = instancesLength;
|
|
43
45
|
|
|
44
46
|
if (defined(classIds.byteOffset)) {
|
|
45
47
|
classIds.componentType = defaultValue(classIds.componentType, GL.UNSIGNED_SHORT);
|
|
@@ -48,7 +50,7 @@ function initializeHierarchyValues(hierarchyJson, binaryBody) {
|
|
|
48
50
|
classIds = binaryAccessor.createArrayBufferView(binaryBody.buffer, binaryBody.byteOffset + classIds.byteOffset, instancesLength);
|
|
49
51
|
}
|
|
50
52
|
|
|
51
|
-
|
|
53
|
+
var parentIndexes;
|
|
52
54
|
|
|
53
55
|
if (defined(parentCounts)) {
|
|
54
56
|
if (defined(parentCounts.byteOffset)) {
|
|
@@ -74,17 +76,17 @@ function initializeHierarchyValues(hierarchyJson, binaryBody) {
|
|
|
74
76
|
parentIds = binaryAccessor.createArrayBufferView(binaryBody.buffer, binaryBody.byteOffset + parentIds.byteOffset, parentIdsLength);
|
|
75
77
|
}
|
|
76
78
|
|
|
77
|
-
|
|
79
|
+
var classesLength = classes.length;
|
|
78
80
|
|
|
79
81
|
for (i = 0; i < classesLength; ++i) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
82
|
+
var classInstancesLength = classes[i].length;
|
|
83
|
+
var properties = classes[i].instances;
|
|
84
|
+
var binaryProperties = getBinaryProperties(classInstancesLength, properties, binaryBody);
|
|
83
85
|
classes[i].instances = combine(binaryProperties, properties);
|
|
84
86
|
}
|
|
85
87
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
var classCounts = new Array(classesLength).fill(0);
|
|
89
|
+
var classIndexes = new Uint16Array(instancesLength);
|
|
88
90
|
|
|
89
91
|
for (i = 0; i < instancesLength; ++i) {
|
|
90
92
|
classId = classIds[i];
|
|
@@ -92,13 +94,13 @@ function initializeHierarchyValues(hierarchyJson, binaryBody) {
|
|
|
92
94
|
++classCounts[classId];
|
|
93
95
|
}
|
|
94
96
|
|
|
95
|
-
|
|
96
|
-
classes,
|
|
97
|
-
classIds,
|
|
98
|
-
classIndexes,
|
|
99
|
-
parentCounts,
|
|
100
|
-
parentIndexes,
|
|
101
|
-
parentIds
|
|
97
|
+
var hierarchy = {
|
|
98
|
+
classes: classes,
|
|
99
|
+
classIds: classIds,
|
|
100
|
+
classIndexes: classIndexes,
|
|
101
|
+
parentCounts: parentCounts,
|
|
102
|
+
parentIndexes: parentIndexes,
|
|
103
|
+
parentIds: parentIds
|
|
102
104
|
};
|
|
103
105
|
validateHierarchy(hierarchy);
|
|
104
106
|
return hierarchy;
|
|
@@ -109,8 +111,8 @@ function traverseHierarchy(hierarchy, instanceIndex, endConditionCallback) {
|
|
|
109
111
|
return;
|
|
110
112
|
}
|
|
111
113
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
+
var parentCounts = hierarchy.parentCounts;
|
|
115
|
+
var parentIds = hierarchy.parentIds;
|
|
114
116
|
|
|
115
117
|
if (parentIds) {
|
|
116
118
|
return endConditionCallback(hierarchy, instanceIndex);
|
|
@@ -124,15 +126,15 @@ function traverseHierarchy(hierarchy, instanceIndex, endConditionCallback) {
|
|
|
124
126
|
}
|
|
125
127
|
|
|
126
128
|
function traverseHierarchyMultipleParents(hierarchy, instanceIndex, endConditionCallback) {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
129
|
+
var classIds = hierarchy.classIds;
|
|
130
|
+
var parentCounts = hierarchy.parentCounts;
|
|
131
|
+
var parentIds = hierarchy.parentIds;
|
|
132
|
+
var parentIndexes = hierarchy.parentIndexes;
|
|
133
|
+
var instancesLength = classIds.length;
|
|
134
|
+
var visited = scratchVisited;
|
|
133
135
|
visited.length = Math.max(visited.length, instancesLength);
|
|
134
|
-
|
|
135
|
-
|
|
136
|
+
var visitedMarker = ++marker;
|
|
137
|
+
var stack = scratchStack;
|
|
136
138
|
stack.length = 0;
|
|
137
139
|
stack.push(instanceIndex);
|
|
138
140
|
|
|
@@ -144,17 +146,17 @@ function traverseHierarchyMultipleParents(hierarchy, instanceIndex, endCondition
|
|
|
144
146
|
}
|
|
145
147
|
|
|
146
148
|
visited[instanceIndex] = visitedMarker;
|
|
147
|
-
|
|
149
|
+
var result = endConditionCallback(hierarchy, instanceIndex);
|
|
148
150
|
|
|
149
151
|
if (defined(result)) {
|
|
150
152
|
return result;
|
|
151
153
|
}
|
|
152
154
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
+
var parentCount = parentCounts[instanceIndex];
|
|
156
|
+
var parentIndex = parentIndexes[instanceIndex];
|
|
155
157
|
|
|
156
|
-
for (
|
|
157
|
-
|
|
158
|
+
for (var i = 0; i < parentCount; ++i) {
|
|
159
|
+
var parentId = parentIds[parentIndex + i];
|
|
158
160
|
|
|
159
161
|
if (parentId !== instanceIndex) {
|
|
160
162
|
stack.push(parentId);
|
|
@@ -166,16 +168,16 @@ function traverseHierarchyMultipleParents(hierarchy, instanceIndex, endCondition
|
|
|
166
168
|
}
|
|
167
169
|
|
|
168
170
|
function traverseHierarchySingleParent(hierarchy, instanceIndex, endConditionCallback) {
|
|
169
|
-
|
|
171
|
+
var hasParent = true;
|
|
170
172
|
|
|
171
173
|
while (hasParent) {
|
|
172
|
-
|
|
174
|
+
var result = endConditionCallback(hierarchy, instanceIndex);
|
|
173
175
|
|
|
174
176
|
if (defined(result)) {
|
|
175
177
|
return result;
|
|
176
178
|
}
|
|
177
179
|
|
|
178
|
-
|
|
180
|
+
var parentId = hierarchy.parentIds[instanceIndex];
|
|
179
181
|
hasParent = parentId !== instanceIndex;
|
|
180
182
|
instanceIndex = parentId;
|
|
181
183
|
}
|
|
@@ -184,21 +186,21 @@ function traverseHierarchySingleParent(hierarchy, instanceIndex, endConditionCal
|
|
|
184
186
|
}
|
|
185
187
|
|
|
186
188
|
function validateHierarchy(hierarchy) {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
189
|
+
var scratchValidateStack = [];
|
|
190
|
+
var classIds = hierarchy.classIds;
|
|
191
|
+
var instancesLength = classIds.length;
|
|
190
192
|
|
|
191
|
-
for (
|
|
193
|
+
for (var i = 0; i < instancesLength; ++i) {
|
|
192
194
|
validateInstance(hierarchy, i, stack);
|
|
193
195
|
}
|
|
194
196
|
}
|
|
195
197
|
|
|
196
198
|
function validateInstance(hierarchy, instanceIndex, stack) {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
199
|
+
var parentCounts = hierarchy.parentCounts;
|
|
200
|
+
var parentIds = hierarchy.parentIds;
|
|
201
|
+
var parentIndexes = hierarchy.parentIndexes;
|
|
202
|
+
var classIds = hierarchy.classIds;
|
|
203
|
+
var instancesLength = classIds.length;
|
|
202
204
|
|
|
203
205
|
if (!defined(parentIds)) {
|
|
204
206
|
return;
|
|
@@ -207,11 +209,11 @@ function validateInstance(hierarchy, instanceIndex, stack) {
|
|
|
207
209
|
assert(instanceIndex < instancesLength, "Parent index ".concat(instanceIndex, " exceeds the total number of instances: ").concat(instancesLength));
|
|
208
210
|
assert(stack.indexOf(instanceIndex) === -1, 'Circular dependency detected in the batch table hierarchy.');
|
|
209
211
|
stack.push(instanceIndex);
|
|
210
|
-
|
|
211
|
-
|
|
212
|
+
var parentCount = defined(parentCounts) ? parentCounts[instanceIndex] : 1;
|
|
213
|
+
var parentIndex = defined(parentCounts) ? parentIndexes[instanceIndex] : instanceIndex;
|
|
212
214
|
|
|
213
|
-
for (
|
|
214
|
-
|
|
215
|
+
for (var i = 0; i < parentCount; ++i) {
|
|
216
|
+
var parentId = parentIds[parentIndex + i];
|
|
215
217
|
|
|
216
218
|
if (parentId !== instanceIndex) {
|
|
217
219
|
validateInstance(hierarchy, parentId, stack);
|