@loaders.gl/tile-converter 3.1.0-beta.5 → 3.1.2

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.
Files changed (153) hide show
  1. package/dist/converter.min.js +20 -20
  2. package/dist/{bundle.js → dist.min.js} +2228 -1482
  3. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +429 -189
  4. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  5. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js +306 -209
  6. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
  7. package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +8 -4
  8. package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -1
  9. package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js +13 -13
  10. package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js.map +1 -1
  11. package/dist/es5/3d-tiles-converter/json-templates/tileset.js +51 -32
  12. package/dist/es5/3d-tiles-converter/json-templates/tileset.js.map +1 -1
  13. package/dist/es5/bundle.js +1 -1
  14. package/dist/es5/bundle.js.map +1 -1
  15. package/dist/es5/deps-installer/deps-installer.js +61 -17
  16. package/dist/es5/deps-installer/deps-installer.js.map +1 -1
  17. package/dist/es5/i3s-converter/helpers/coordinate-converter.js +55 -16
  18. package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  19. package/dist/es5/i3s-converter/helpers/create-scene-server-path.js +33 -9
  20. package/dist/es5/i3s-converter/helpers/create-scene-server-path.js.map +1 -1
  21. package/dist/es5/i3s-converter/helpers/geometry-attributes.js +103 -93
  22. package/dist/es5/i3s-converter/helpers/geometry-attributes.js.map +1 -1
  23. package/dist/es5/i3s-converter/helpers/geometry-converter.d.ts +5 -1
  24. package/dist/es5/i3s-converter/helpers/geometry-converter.js +547 -336
  25. package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -1
  26. package/dist/es5/i3s-converter/helpers/node-debug.js +27 -31
  27. package/dist/es5/i3s-converter/helpers/node-debug.js.map +1 -1
  28. package/dist/es5/i3s-converter/helpers/node-pages.js +209 -101
  29. package/dist/es5/i3s-converter/helpers/node-pages.js.map +1 -1
  30. package/dist/es5/i3s-converter/i3s-converter.js +1645 -700
  31. package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
  32. package/dist/es5/i3s-converter/json-templates/layers.js +213 -177
  33. package/dist/es5/i3s-converter/json-templates/layers.js.map +1 -1
  34. package/dist/es5/i3s-converter/json-templates/metadata.js +24 -20
  35. package/dist/es5/i3s-converter/json-templates/metadata.js.map +1 -1
  36. package/dist/es5/i3s-converter/json-templates/node.js +92 -74
  37. package/dist/es5/i3s-converter/json-templates/node.js.map +1 -1
  38. package/dist/es5/i3s-converter/json-templates/scene-server.js +34 -28
  39. package/dist/es5/i3s-converter/json-templates/scene-server.js.map +1 -1
  40. package/dist/es5/i3s-converter/json-templates/shared-resources.js +162 -107
  41. package/dist/es5/i3s-converter/json-templates/shared-resources.js.map +1 -1
  42. package/dist/es5/i3s-converter/json-templates/store.js +4 -2
  43. package/dist/es5/i3s-converter/json-templates/store.js.map +1 -1
  44. package/dist/es5/i3s-converter/types.js +2 -0
  45. package/dist/es5/i3s-converter/types.js.map +1 -0
  46. package/dist/es5/i3s-server/app.js +6 -6
  47. package/dist/es5/i3s-server/app.js.map +1 -1
  48. package/dist/es5/i3s-server/controllers/index-controller.js +60 -20
  49. package/dist/es5/i3s-server/controllers/index-controller.js.map +1 -1
  50. package/dist/es5/i3s-server/routes/index.js +41 -14
  51. package/dist/es5/i3s-server/routes/index.js.map +1 -1
  52. package/dist/es5/index.js +4 -4
  53. package/dist/es5/lib/utils/{compress-utils.d.ts → compress-util.d.ts} +0 -0
  54. package/dist/es5/lib/utils/compress-util.js +345 -123
  55. package/dist/es5/lib/utils/compress-util.js.map +1 -1
  56. package/dist/es5/lib/utils/file-utils.js +98 -20
  57. package/dist/es5/lib/utils/file-utils.js.map +1 -1
  58. package/dist/es5/lib/utils/lod-conversion-utils.js +9 -9
  59. package/dist/es5/lib/utils/lod-conversion-utils.js.map +1 -1
  60. package/dist/es5/lib/utils/statistic-utills.js +152 -41
  61. package/dist/es5/lib/utils/statistic-utills.js.map +1 -1
  62. package/dist/es5/pgm-loader.js +31 -4
  63. package/dist/es5/pgm-loader.js.map +1 -1
  64. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +7 -6
  65. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  66. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js +7 -0
  67. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
  68. package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -1
  69. package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js +1 -1
  70. package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js.map +1 -1
  71. package/dist/esm/3d-tiles-converter/json-templates/tileset.js +12 -9
  72. package/dist/esm/3d-tiles-converter/json-templates/tileset.js.map +1 -1
  73. package/dist/esm/deps-installer/deps-installer.js +2 -6
  74. package/dist/esm/deps-installer/deps-installer.js.map +1 -1
  75. package/dist/esm/i3s-converter/helpers/coordinate-converter.js +35 -3
  76. package/dist/esm/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  77. package/dist/esm/i3s-converter/helpers/create-scene-server-path.js +2 -2
  78. package/dist/esm/i3s-converter/helpers/create-scene-server-path.js.map +1 -1
  79. package/dist/esm/i3s-converter/helpers/geometry-attributes.js.map +1 -1
  80. package/dist/esm/i3s-converter/helpers/geometry-converter.d.ts +5 -1
  81. package/dist/esm/i3s-converter/helpers/geometry-converter.js +50 -16
  82. package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -1
  83. package/dist/esm/i3s-converter/helpers/node-debug.js +2 -4
  84. package/dist/esm/i3s-converter/helpers/node-debug.js.map +1 -1
  85. package/dist/esm/i3s-converter/helpers/node-pages.js +15 -4
  86. package/dist/esm/i3s-converter/helpers/node-pages.js.map +1 -1
  87. package/dist/esm/i3s-converter/i3s-converter.js +147 -62
  88. package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
  89. package/dist/esm/i3s-converter/json-templates/layers.js +37 -27
  90. package/dist/esm/i3s-converter/json-templates/layers.js.map +1 -1
  91. package/dist/esm/i3s-converter/json-templates/metadata.js +2 -2
  92. package/dist/esm/i3s-converter/json-templates/metadata.js.map +1 -1
  93. package/dist/esm/i3s-converter/json-templates/node.js +16 -12
  94. package/dist/esm/i3s-converter/json-templates/node.js.map +1 -1
  95. package/dist/esm/i3s-converter/json-templates/scene-server.js +2 -2
  96. package/dist/esm/i3s-converter/json-templates/scene-server.js.map +1 -1
  97. package/dist/esm/i3s-converter/json-templates/shared-resources.js +19 -14
  98. package/dist/esm/i3s-converter/json-templates/shared-resources.js.map +1 -1
  99. package/dist/esm/i3s-converter/json-templates/store.js.map +1 -1
  100. package/dist/esm/i3s-converter/types.js +2 -0
  101. package/dist/esm/i3s-converter/types.js.map +1 -0
  102. package/dist/esm/lib/utils/{compress-utils.d.ts → compress-util.d.ts} +0 -0
  103. package/dist/esm/pgm-loader.js +3 -3
  104. package/dist/esm/pgm-loader.js.map +1 -1
  105. package/package.json +17 -15
  106. package/src/3d-tiles-converter/3d-tiles-converter.ts +21 -20
  107. package/src/3d-tiles-converter/helpers/{b3dm-converter.js → b3dm-converter.ts} +19 -2
  108. package/src/3d-tiles-converter/helpers/{i3s-obb-to-3d-tiles-obb.js → i3s-obb-to-3d-tiles-obb.ts} +16 -1
  109. package/src/3d-tiles-converter/helpers/texture-atlas.ts +4 -4
  110. package/src/3d-tiles-converter/json-templates/{tileset.js → tileset.ts} +9 -9
  111. package/src/deps-installer/deps-installer.js +2 -2
  112. package/src/i3s-converter/helpers/coordinate-converter.ts +62 -9
  113. package/src/i3s-converter/helpers/{create-scene-server-path.js → create-scene-server-path.ts} +2 -2
  114. package/src/i3s-converter/helpers/{geometry-attributes.js → geometry-attributes.ts} +4 -4
  115. package/src/i3s-converter/helpers/geometry-converter.d.ts +5 -1
  116. package/src/i3s-converter/helpers/geometry-converter.js +63 -13
  117. package/src/i3s-converter/helpers/{node-debug.js → node-debug.ts} +3 -2
  118. package/src/i3s-converter/helpers/{node-pages.js → node-pages.ts} +41 -26
  119. package/src/i3s-converter/i3s-converter.ts +204 -133
  120. package/src/i3s-converter/json-templates/{layers.js → layers.ts} +29 -27
  121. package/src/i3s-converter/json-templates/{metadata.js → metadata.ts} +2 -2
  122. package/src/i3s-converter/json-templates/{node.js → node.ts} +12 -12
  123. package/src/i3s-converter/json-templates/{scene-server.js → scene-server.ts} +2 -2
  124. package/src/i3s-converter/json-templates/{shared-resources.js → shared-resources.ts} +14 -14
  125. package/src/i3s-converter/json-templates/{store.js → store.ts} +0 -0
  126. package/src/i3s-converter/types.ts +14 -0
  127. package/src/lib/utils/{compress-utils.d.ts → compress-util.d.ts} +0 -0
  128. package/src/pgm-loader.ts +2 -2
  129. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.d.ts +0 -23
  130. package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.d.ts +0 -16
  131. package/dist/es5/i3s-converter/helpers/node-pages.d.ts +0 -144
  132. package/dist/es5/lib/geoid-height-model.d.ts +0 -41
  133. package/dist/es5/lib/geoid-height-model.js +0 -149
  134. package/dist/es5/lib/geoid-height-model.js.map +0 -1
  135. package/dist/es5/lib/pgm-parser.d.ts +0 -14
  136. package/dist/es5/lib/pgm-parser.js +0 -192
  137. package/dist/es5/lib/pgm-parser.js.map +0 -1
  138. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.d.ts +0 -23
  139. package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.d.ts +0 -16
  140. package/dist/esm/i3s-converter/helpers/node-pages.d.ts +0 -144
  141. package/dist/esm/lib/geoid-height-model.d.ts +0 -41
  142. package/dist/esm/lib/geoid-height-model.js +0 -140
  143. package/dist/esm/lib/geoid-height-model.js.map +0 -1
  144. package/dist/esm/lib/pgm-parser.d.ts +0 -14
  145. package/dist/esm/lib/pgm-parser.js +0 -183
  146. package/dist/esm/lib/pgm-parser.js.map +0 -1
  147. package/src/3d-tiles-converter/helpers/b3dm-converter.d.ts +0 -23
  148. package/src/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.d.ts +0 -16
  149. package/src/i3s-converter/helpers/node-pages.d.ts +0 -144
  150. package/src/lib/geoid-height-model.d.ts +0 -41
  151. package/src/lib/geoid-height-model.js +0 -239
  152. package/src/lib/pgm-parser.d.ts +0 -14
  153. package/src/lib/pgm-parser.js +0 -179
@@ -1,5 +1,7 @@
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
  });
@@ -9,38 +11,114 @@ exports.removeDir = removeDir;
9
11
  exports.removeFile = removeFile;
10
12
  exports.getAbsoluteFilePath = getAbsoluteFilePath;
11
13
 
14
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
15
+
16
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
+
12
18
  var _fs = require("fs");
13
19
 
14
20
  var _path = require("path");
15
21
 
16
22
  var _compressUtil = require("./compress-util");
17
23
 
18
- async function writeFile(path, data, fileName = 'index.json') {
19
- await _fs.promises.mkdir(path, {
20
- recursive: true
21
- });
22
- const pathFile = (0, _path.join)(path, fileName);
24
+ function writeFile(_x, _x2) {
25
+ return _writeFile.apply(this, arguments);
26
+ }
27
+
28
+ function _writeFile() {
29
+ _writeFile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(path, data) {
30
+ var fileName,
31
+ pathFile,
32
+ _args = arguments;
33
+ return _regenerator.default.wrap(function _callee$(_context) {
34
+ while (1) {
35
+ switch (_context.prev = _context.next) {
36
+ case 0:
37
+ fileName = _args.length > 2 && _args[2] !== undefined ? _args[2] : 'index.json';
38
+ _context.next = 3;
39
+ return _fs.promises.mkdir(path, {
40
+ recursive: true
41
+ });
42
+
43
+ case 3:
44
+ pathFile = (0, _path.join)(path, fileName);
45
+ _context.prev = 4;
46
+ _context.next = 7;
47
+ return _fs.promises.writeFile(pathFile, data);
48
+
49
+ case 7:
50
+ _context.next = 12;
51
+ break;
23
52
 
24
- try {
25
- await _fs.promises.writeFile(pathFile, data);
26
- } catch (err) {
27
- throw err;
28
- }
53
+ case 9:
54
+ _context.prev = 9;
55
+ _context.t0 = _context["catch"](4);
56
+ throw _context.t0;
29
57
 
30
- console.log("".concat(pathFile, " saved."));
31
- return pathFile;
58
+ case 12:
59
+ console.log("".concat(pathFile, " saved."));
60
+ return _context.abrupt("return", pathFile);
61
+
62
+ case 14:
63
+ case "end":
64
+ return _context.stop();
65
+ }
66
+ }
67
+ }, _callee, null, [[4, 9]]);
68
+ }));
69
+ return _writeFile.apply(this, arguments);
70
+ }
71
+
72
+ function writeFileForSlpk(_x3, _x4) {
73
+ return _writeFileForSlpk.apply(this, arguments);
32
74
  }
33
75
 
34
- async function writeFileForSlpk(path, data, fileName = 'index.json', compress = true) {
35
- const pathFile = await writeFile(path, data, fileName);
76
+ function _writeFileForSlpk() {
77
+ _writeFileForSlpk = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(path, data) {
78
+ var fileName,
79
+ compress,
80
+ pathFile,
81
+ pathGzFile,
82
+ _args2 = arguments;
83
+ return _regenerator.default.wrap(function _callee2$(_context2) {
84
+ while (1) {
85
+ switch (_context2.prev = _context2.next) {
86
+ case 0:
87
+ fileName = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : 'index.json';
88
+ compress = _args2.length > 3 && _args2[3] !== undefined ? _args2[3] : true;
89
+ _context2.next = 4;
90
+ return writeFile(path, data, fileName);
91
+
92
+ case 4:
93
+ pathFile = _context2.sent;
94
+
95
+ if (!compress) {
96
+ _context2.next = 12;
97
+ break;
98
+ }
99
+
100
+ _context2.next = 8;
101
+ return (0, _compressUtil.compressFileWithGzip)(pathFile);
102
+
103
+ case 8:
104
+ pathGzFile = _context2.sent;
105
+ _context2.next = 11;
106
+ return removeFile(pathFile);
107
+
108
+ case 11:
109
+ return _context2.abrupt("return", pathGzFile);
36
110
 
37
- if (compress) {
38
- const pathGzFile = await (0, _compressUtil.compressFileWithGzip)(pathFile);
39
- await removeFile(pathFile);
40
- return pathGzFile;
41
- }
111
+ case 12:
112
+ return _context2.abrupt("return", pathFile);
42
113
 
43
- return pathFile;
114
+ case 13:
115
+ case "end":
116
+ return _context2.stop();
117
+ }
118
+ }
119
+ }, _callee2);
120
+ }));
121
+ return _writeFileForSlpk.apply(this, arguments);
44
122
  }
45
123
 
46
124
  function removeDir(path) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/utils/file-utils.js"],"names":["writeFile","path","data","fileName","fs","mkdir","recursive","pathFile","err","console","log","writeFileForSlpk","compress","pathGzFile","removeFile","removeDir","rmdir","unlink","getAbsoluteFilePath","filePath","process","cwd"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AAEO,eAAeA,SAAf,CAAyBC,IAAzB,EAA+BC,IAA/B,EAAqCC,QAAQ,GAAG,YAAhD,EAA8D;AACnE,QAAMC,aAAGC,KAAH,CAASJ,IAAT,EAAe;AAACK,IAAAA,SAAS,EAAE;AAAZ,GAAf,CAAN;AACA,QAAMC,QAAQ,GAAG,gBAAKN,IAAL,EAAWE,QAAX,CAAjB;;AACA,MAAI;AACF,UAAMC,aAAGJ,SAAH,CAAaO,QAAb,EAAuBL,IAAvB,CAAN;AACD,GAFD,CAEE,OAAOM,GAAP,EAAY;AACZ,UAAMA,GAAN;AACD;;AACDC,EAAAA,OAAO,CAACC,GAAR,WAAeH,QAAf;AACA,SAAOA,QAAP;AACD;;AAEM,eAAeI,gBAAf,CAAgCV,IAAhC,EAAsCC,IAAtC,EAA4CC,QAAQ,GAAG,YAAvD,EAAqES,QAAQ,GAAG,IAAhF,EAAsF;AAC3F,QAAML,QAAQ,GAAG,MAAMP,SAAS,CAACC,IAAD,EAAOC,IAAP,EAAaC,QAAb,CAAhC;;AACA,MAAIS,QAAJ,EAAc;AACZ,UAAMC,UAAU,GAAG,MAAM,wCAAqBN,QAArB,CAAzB;AAEA,UAAMO,UAAU,CAACP,QAAD,CAAhB;AACA,WAAOM,UAAP;AACD;;AACD,SAAON,QAAP;AACD;;AAEM,SAASQ,SAAT,CAAmBd,IAAnB,EAAyB;AAC9B,SAAOG,aAAGY,KAAH,CAASf,IAAT,EAAe;AAACK,IAAAA,SAAS,EAAE;AAAZ,GAAf,CAAP;AACD;;AAEM,SAASQ,UAAT,CAAoBb,IAApB,EAA0B;AAC/B,SAAOG,aAAGa,MAAH,CAAUhB,IAAV,CAAP;AACD;;AAEM,SAASiB,mBAAT,CAA6BC,QAA7B,EAAuC;AAC5C,SAAO,sBAAWA,QAAX,IAAuBA,QAAvB,GAAkC,gBAAKC,OAAO,CAACC,GAAR,EAAL,EAAoBF,QAApB,CAAzC;AACD","sourcesContent":["import {promises as fs} from 'fs';\nimport {isAbsolute, join} from 'path';\nimport {compressFileWithGzip} from './compress-util';\n\nexport async function writeFile(path, data, fileName = 'index.json') {\n await fs.mkdir(path, {recursive: true});\n const pathFile = join(path, fileName);\n try {\n await fs.writeFile(pathFile, data);\n } catch (err) {\n throw err;\n }\n console.log(`${pathFile} saved.`); // eslint-disable-line\n return pathFile;\n}\n\nexport async function writeFileForSlpk(path, data, fileName = 'index.json', compress = true) {\n const pathFile = await writeFile(path, data, fileName);\n if (compress) {\n const pathGzFile = await compressFileWithGzip(pathFile);\n // After compression, we don't need an uncompressed file\n await removeFile(pathFile);\n return pathGzFile;\n }\n return pathFile;\n}\n\nexport function removeDir(path) {\n return fs.rmdir(path, {recursive: true});\n}\n\nexport function removeFile(path) {\n return fs.unlink(path);\n}\n\nexport function getAbsoluteFilePath(filePath) {\n return isAbsolute(filePath) ? filePath : join(process.cwd(), filePath); // eslint-disable-line no-undef\n}\n"],"file":"file-utils.js"}
1
+ {"version":3,"sources":["../../../../src/lib/utils/file-utils.js"],"names":["writeFile","path","data","fileName","fs","mkdir","recursive","pathFile","console","log","writeFileForSlpk","compress","pathGzFile","removeFile","removeDir","rmdir","unlink","getAbsoluteFilePath","filePath","process","cwd"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;SAEsBA,S;;;;;yEAAf,iBAAyBC,IAAzB,EAA+BC,IAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqCC,YAAAA,QAArC,2DAAgD,YAAhD;AAAA;AAAA,mBACCC,aAAGC,KAAH,CAASJ,IAAT,EAAe;AAACK,cAAAA,SAAS,EAAE;AAAZ,aAAf,CADD;;AAAA;AAECC,YAAAA,QAFD,GAEY,gBAAKN,IAAL,EAAWE,QAAX,CAFZ;AAAA;AAAA;AAAA,mBAIGC,aAAGJ,SAAH,CAAaO,QAAb,EAAuBL,IAAvB,CAJH;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAQLM,YAAAA,OAAO,CAACC,GAAR,WAAeF,QAAf;AARK,6CASEA,QATF;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;SAYeG,gB;;;;;gFAAf,kBAAgCT,IAAhC,EAAsCC,IAAtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4CC,YAAAA,QAA5C,8DAAuD,YAAvD;AAAqEQ,YAAAA,QAArE,8DAAgF,IAAhF;AAAA;AAAA,mBACkBX,SAAS,CAACC,IAAD,EAAOC,IAAP,EAAaC,QAAb,CAD3B;;AAAA;AACCI,YAAAA,QADD;;AAAA,iBAEDI,QAFC;AAAA;AAAA;AAAA;;AAAA;AAAA,mBAGsB,wCAAqBJ,QAArB,CAHtB;;AAAA;AAGGK,YAAAA,UAHH;AAAA;AAAA,mBAKGC,UAAU,CAACN,QAAD,CALb;;AAAA;AAAA,8CAMIK,UANJ;;AAAA;AAAA,8CAQEL,QARF;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAWA,SAASO,SAAT,CAAmBb,IAAnB,EAAyB;AAC9B,SAAOG,aAAGW,KAAH,CAASd,IAAT,EAAe;AAACK,IAAAA,SAAS,EAAE;AAAZ,GAAf,CAAP;AACD;;AAEM,SAASO,UAAT,CAAoBZ,IAApB,EAA0B;AAC/B,SAAOG,aAAGY,MAAH,CAAUf,IAAV,CAAP;AACD;;AAEM,SAASgB,mBAAT,CAA6BC,QAA7B,EAAuC;AAC5C,SAAO,sBAAWA,QAAX,IAAuBA,QAAvB,GAAkC,gBAAKC,OAAO,CAACC,GAAR,EAAL,EAAoBF,QAApB,CAAzC;AACD","sourcesContent":["import {promises as fs} from 'fs';\nimport {isAbsolute, join} from 'path';\nimport {compressFileWithGzip} from './compress-util';\n\nexport async function writeFile(path, data, fileName = 'index.json') {\n await fs.mkdir(path, {recursive: true});\n const pathFile = join(path, fileName);\n try {\n await fs.writeFile(pathFile, data);\n } catch (err) {\n throw err;\n }\n console.log(`${pathFile} saved.`); // eslint-disable-line\n return pathFile;\n}\n\nexport async function writeFileForSlpk(path, data, fileName = 'index.json', compress = true) {\n const pathFile = await writeFile(path, data, fileName);\n if (compress) {\n const pathGzFile = await compressFileWithGzip(pathFile);\n // After compression, we don't need an uncompressed file\n await removeFile(pathFile);\n return pathGzFile;\n }\n return pathFile;\n}\n\nexport function removeDir(path) {\n return fs.rmdir(path, {recursive: true});\n}\n\nexport function removeFile(path) {\n return fs.unlink(path);\n}\n\nexport function getAbsoluteFilePath(filePath) {\n return isAbsolute(filePath) ? filePath : join(process.cwd(), filePath); // eslint-disable-line no-undef\n}\n"],"file":"file-utils.js"}
@@ -5,17 +5,17 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.convertGeometricErrorToScreenThreshold = convertGeometricErrorToScreenThreshold;
7
7
  exports.convertScreenThresholdToGeometricError = convertScreenThresholdToGeometricError;
8
- const DEFAULT_MAXIMUM_SCREEN_SPACE_ERROR = 16;
8
+ var DEFAULT_MAXIMUM_SCREEN_SPACE_ERROR = 16;
9
9
 
10
10
  function convertGeometricErrorToScreenThreshold(tile, coordinates) {
11
- const lodSelection = [];
12
- const boundingVolume = tile.boundingVolume;
13
- const lodMetricValue = tile.lodMetricValue || 0.1;
14
- const maxScreenThreshold = {
11
+ var lodSelection = [];
12
+ var boundingVolume = tile.boundingVolume;
13
+ var lodMetricValue = tile.lodMetricValue || 0.1;
14
+ var maxScreenThreshold = {
15
15
  metricType: 'maxScreenThreshold',
16
16
  maxError: coordinates.mbs[3] * 2 * DEFAULT_MAXIMUM_SCREEN_SPACE_ERROR / lodMetricValue
17
17
  };
18
- const maxScreenThresholdSQ = {
18
+ var maxScreenThresholdSQ = {
19
19
  metricType: 'maxScreenThresholdSQ',
20
20
  maxError: Math.PI * 0.25 * maxScreenThreshold.maxError * maxScreenThreshold.maxError
21
21
  };
@@ -32,11 +32,11 @@ function convertGeometricErrorToScreenThreshold(tile, coordinates) {
32
32
  }
33
33
 
34
34
  function convertScreenThresholdToGeometricError(node) {
35
- const metricData = node.header.lodSelection.maxScreenThreshold || {};
36
- let maxError = metricData.maxError;
35
+ var metricData = node.header.lodSelection.maxScreenThreshold || {};
36
+ var maxError = metricData.maxError;
37
37
 
38
38
  if (!maxError) {
39
- const sqMetricData = node.header.lodSelection.maxScreenThresholdSQ;
39
+ var sqMetricData = node.header.lodSelection.maxScreenThresholdSQ;
40
40
 
41
41
  if (sqMetricData) {
42
42
  maxError = Math.sqrt(sqMetricData.maxError / (Math.PI * 0.25));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/utils/lod-conversion-utils.js"],"names":["DEFAULT_MAXIMUM_SCREEN_SPACE_ERROR","convertGeometricErrorToScreenThreshold","tile","coordinates","lodSelection","boundingVolume","lodMetricValue","maxScreenThreshold","metricType","maxError","mbs","maxScreenThresholdSQ","Math","PI","constructor","name","push","convertScreenThresholdToGeometricError","node","metricData","header","sqMetricData","sqrt"],"mappings":";;;;;;;AACA,MAAMA,kCAAkC,GAAG,EAA3C;;AAeO,SAASC,sCAAT,CAAgDC,IAAhD,EAAsDC,WAAtD,EAAmE;AACxE,QAAMC,YAAY,GAAG,EAArB;AACA,QAAMC,cAAc,GAAGH,IAAI,CAACG,cAA5B;AACA,QAAMC,cAAc,GAAGJ,IAAI,CAACI,cAAL,IAAuB,GAA9C;AACA,QAAMC,kBAAkB,GAAG;AACzBC,IAAAA,UAAU,EAAE,oBADa;AAEzBC,IAAAA,QAAQ,EAAGN,WAAW,CAACO,GAAZ,CAAgB,CAAhB,IAAqB,CAArB,GAAyBV,kCAA1B,GAAgEM;AAFjD,GAA3B;AAIA,QAAMK,oBAAoB,GAAG;AAC3BH,IAAAA,UAAU,EAAE,sBADe;AAE3BC,IAAAA,QAAQ,EAAEG,IAAI,CAACC,EAAL,GAAU,IAAV,GAAiBN,kBAAkB,CAACE,QAApC,GAA+CF,kBAAkB,CAACE;AAFjD,GAA7B;;AAKA,MAAIJ,cAAc,CAACS,WAAf,CAA2BC,IAA3B,KAAoC,qBAAxC,EAA+D;AAC7DX,IAAAA,YAAY,CAACY,IAAb,CAAkBL,oBAAlB;AACAP,IAAAA,YAAY,CAACY,IAAb,CAAkBT,kBAAlB;AACD,GAHD,MAGO;AACLH,IAAAA,YAAY,CAACY,IAAb,CAAkBT,kBAAlB;AACAH,IAAAA,YAAY,CAACY,IAAb,CAAkBL,oBAAlB;AACD;;AAED,SAAOP,YAAP;AACD;;AAEM,SAASa,sCAAT,CAAgDC,IAAhD,EAAsD;AAC3D,QAAMC,UAAU,GAAGD,IAAI,CAACE,MAAL,CAAYhB,YAAZ,CAAyBG,kBAAzB,IAA+C,EAAlE;AACA,MAAIE,QAAQ,GAAGU,UAAU,CAACV,QAA1B;;AACA,MAAI,CAACA,QAAL,EAAe;AACb,UAAMY,YAAY,GAAGH,IAAI,CAACE,MAAL,CAAYhB,YAAZ,CAAyBO,oBAA9C;;AACA,QAAIU,YAAJ,EAAkB;AAChBZ,MAAAA,QAAQ,GAAGG,IAAI,CAACU,IAAL,CAAUD,YAAY,CAACZ,QAAb,IAAyBG,IAAI,CAACC,EAAL,GAAU,IAAnC,CAAV,CAAX;AACD;AACF;;AAED,MAAI,CAACJ,QAAL,EAAe;AACbA,IAAAA,QAAQ,GAAGT,kCAAX;AACD;;AAED,SAAQkB,IAAI,CAACE,MAAL,CAAYV,GAAZ,CAAgB,CAAhB,IAAqB,CAArB,GAAyBV,kCAA1B,GAAgES,QAAvE;AACD","sourcesContent":["// https://cesium.com/docs/cesiumjs-ref-doc/Cesium3DTileset.html\nconst DEFAULT_MAXIMUM_SCREEN_SPACE_ERROR = 16;\n/**\n * Do conversion from geometric error to screen threshold\n * @param {Object} tile\n * @param {Object} coordinates\n * In 3DTiles we have HLOD logic and parent tile also has bigger lodMetric value then its children.\n * In I3s we have reverse logic related to maxError. Parent has lower maxError than its child.\n * In nodes where are no children tile.lodMetricValue is 0. This is because of logic of HLOD in 3DTiles\n * 3DTiles spec:\n * https://github.com/CesiumGS/3d-tiles/tree/master/specification#geometric-error\n * I3S spec:\n * https://github.com/Esri/i3s-spec/blob/master/docs/1.7/lodSelection.cmn.md\n * To avoid infinity values when we do calculations of maxError we shold replace 0 with value which allows us\n * to make child maxError bigger than his parent maxError.\n */\nexport function convertGeometricErrorToScreenThreshold(tile, coordinates) {\n const lodSelection = [];\n const boundingVolume = tile.boundingVolume;\n const lodMetricValue = tile.lodMetricValue || 0.1;\n const maxScreenThreshold = {\n metricType: 'maxScreenThreshold',\n maxError: (coordinates.mbs[3] * 2 * DEFAULT_MAXIMUM_SCREEN_SPACE_ERROR) / lodMetricValue\n };\n const maxScreenThresholdSQ = {\n metricType: 'maxScreenThresholdSQ',\n maxError: Math.PI * 0.25 * maxScreenThreshold.maxError * maxScreenThreshold.maxError\n };\n\n if (boundingVolume.constructor.name === 'OrientedBoundingBox') {\n lodSelection.push(maxScreenThresholdSQ);\n lodSelection.push(maxScreenThreshold);\n } else {\n lodSelection.push(maxScreenThreshold);\n lodSelection.push(maxScreenThresholdSQ);\n }\n\n return lodSelection;\n}\n\nexport function convertScreenThresholdToGeometricError(node) {\n const metricData = node.header.lodSelection.maxScreenThreshold || {};\n let maxError = metricData.maxError;\n if (!maxError) {\n const sqMetricData = node.header.lodSelection.maxScreenThresholdSQ;\n if (sqMetricData) {\n maxError = Math.sqrt(sqMetricData.maxError / (Math.PI * 0.25));\n }\n }\n\n if (!maxError) {\n maxError = DEFAULT_MAXIMUM_SCREEN_SPACE_ERROR;\n }\n\n return (node.header.mbs[3] * 2 * DEFAULT_MAXIMUM_SCREEN_SPACE_ERROR) / maxError;\n}\n"],"file":"lod-conversion-utils.js"}
1
+ {"version":3,"sources":["../../../../src/lib/utils/lod-conversion-utils.js"],"names":["DEFAULT_MAXIMUM_SCREEN_SPACE_ERROR","convertGeometricErrorToScreenThreshold","tile","coordinates","lodSelection","boundingVolume","lodMetricValue","maxScreenThreshold","metricType","maxError","mbs","maxScreenThresholdSQ","Math","PI","constructor","name","push","convertScreenThresholdToGeometricError","node","metricData","header","sqMetricData","sqrt"],"mappings":";;;;;;;AACA,IAAMA,kCAAkC,GAAG,EAA3C;;AAeO,SAASC,sCAAT,CAAgDC,IAAhD,EAAsDC,WAAtD,EAAmE;AACxE,MAAMC,YAAY,GAAG,EAArB;AACA,MAAMC,cAAc,GAAGH,IAAI,CAACG,cAA5B;AACA,MAAMC,cAAc,GAAGJ,IAAI,CAACI,cAAL,IAAuB,GAA9C;AACA,MAAMC,kBAAkB,GAAG;AACzBC,IAAAA,UAAU,EAAE,oBADa;AAEzBC,IAAAA,QAAQ,EAAGN,WAAW,CAACO,GAAZ,CAAgB,CAAhB,IAAqB,CAArB,GAAyBV,kCAA1B,GAAgEM;AAFjD,GAA3B;AAIA,MAAMK,oBAAoB,GAAG;AAC3BH,IAAAA,UAAU,EAAE,sBADe;AAE3BC,IAAAA,QAAQ,EAAEG,IAAI,CAACC,EAAL,GAAU,IAAV,GAAiBN,kBAAkB,CAACE,QAApC,GAA+CF,kBAAkB,CAACE;AAFjD,GAA7B;;AAKA,MAAIJ,cAAc,CAACS,WAAf,CAA2BC,IAA3B,KAAoC,qBAAxC,EAA+D;AAC7DX,IAAAA,YAAY,CAACY,IAAb,CAAkBL,oBAAlB;AACAP,IAAAA,YAAY,CAACY,IAAb,CAAkBT,kBAAlB;AACD,GAHD,MAGO;AACLH,IAAAA,YAAY,CAACY,IAAb,CAAkBT,kBAAlB;AACAH,IAAAA,YAAY,CAACY,IAAb,CAAkBL,oBAAlB;AACD;;AAED,SAAOP,YAAP;AACD;;AAEM,SAASa,sCAAT,CAAgDC,IAAhD,EAAsD;AAC3D,MAAMC,UAAU,GAAGD,IAAI,CAACE,MAAL,CAAYhB,YAAZ,CAAyBG,kBAAzB,IAA+C,EAAlE;AACA,MAAIE,QAAQ,GAAGU,UAAU,CAACV,QAA1B;;AACA,MAAI,CAACA,QAAL,EAAe;AACb,QAAMY,YAAY,GAAGH,IAAI,CAACE,MAAL,CAAYhB,YAAZ,CAAyBO,oBAA9C;;AACA,QAAIU,YAAJ,EAAkB;AAChBZ,MAAAA,QAAQ,GAAGG,IAAI,CAACU,IAAL,CAAUD,YAAY,CAACZ,QAAb,IAAyBG,IAAI,CAACC,EAAL,GAAU,IAAnC,CAAV,CAAX;AACD;AACF;;AAED,MAAI,CAACJ,QAAL,EAAe;AACbA,IAAAA,QAAQ,GAAGT,kCAAX;AACD;;AAED,SAAQkB,IAAI,CAACE,MAAL,CAAYV,GAAZ,CAAgB,CAAhB,IAAqB,CAArB,GAAyBV,kCAA1B,GAAgES,QAAvE;AACD","sourcesContent":["// https://cesium.com/docs/cesiumjs-ref-doc/Cesium3DTileset.html\nconst DEFAULT_MAXIMUM_SCREEN_SPACE_ERROR = 16;\n/**\n * Do conversion from geometric error to screen threshold\n * @param {Object} tile\n * @param {Object} coordinates\n * In 3DTiles we have HLOD logic and parent tile also has bigger lodMetric value then its children.\n * In I3s we have reverse logic related to maxError. Parent has lower maxError than its child.\n * In nodes where are no children tile.lodMetricValue is 0. This is because of logic of HLOD in 3DTiles\n * 3DTiles spec:\n * https://github.com/CesiumGS/3d-tiles/tree/master/specification#geometric-error\n * I3S spec:\n * https://github.com/Esri/i3s-spec/blob/master/docs/1.7/lodSelection.cmn.md\n * To avoid infinity values when we do calculations of maxError we shold replace 0 with value which allows us\n * to make child maxError bigger than his parent maxError.\n */\nexport function convertGeometricErrorToScreenThreshold(tile, coordinates) {\n const lodSelection = [];\n const boundingVolume = tile.boundingVolume;\n const lodMetricValue = tile.lodMetricValue || 0.1;\n const maxScreenThreshold = {\n metricType: 'maxScreenThreshold',\n maxError: (coordinates.mbs[3] * 2 * DEFAULT_MAXIMUM_SCREEN_SPACE_ERROR) / lodMetricValue\n };\n const maxScreenThresholdSQ = {\n metricType: 'maxScreenThresholdSQ',\n maxError: Math.PI * 0.25 * maxScreenThreshold.maxError * maxScreenThreshold.maxError\n };\n\n if (boundingVolume.constructor.name === 'OrientedBoundingBox') {\n lodSelection.push(maxScreenThresholdSQ);\n lodSelection.push(maxScreenThreshold);\n } else {\n lodSelection.push(maxScreenThreshold);\n lodSelection.push(maxScreenThresholdSQ);\n }\n\n return lodSelection;\n}\n\nexport function convertScreenThresholdToGeometricError(node) {\n const metricData = node.header.lodSelection.maxScreenThreshold || {};\n let maxError = metricData.maxError;\n if (!maxError) {\n const sqMetricData = node.header.lodSelection.maxScreenThresholdSQ;\n if (sqMetricData) {\n maxError = Math.sqrt(sqMetricData.maxError / (Math.PI * 0.25));\n }\n }\n\n if (!maxError) {\n maxError = DEFAULT_MAXIMUM_SCREEN_SPACE_ERROR;\n }\n\n return (node.header.mbs[3] * 2 * DEFAULT_MAXIMUM_SCREEN_SPACE_ERROR) / maxError;\n}\n"],"file":"lod-conversion-utils.js"}
@@ -1,27 +1,39 @@
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.timeConverter = timeConverter;
7
9
  exports.calculateFilesSize = calculateFilesSize;
8
10
 
11
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
12
+
13
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
14
+
9
15
  var _path = require("path");
10
16
 
11
17
  var _fs = require("fs");
12
18
 
13
19
  var _fileUtils = require("./file-utils");
14
20
 
21
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
22
+
23
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
24
+
25
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
26
+
15
27
  function timeConverter(time) {
16
- const nanoSecondsInMillisecond = 1e6;
17
- let timeInSeconds = time[0];
18
- const hours = Math.floor(timeInSeconds / 3600);
28
+ var nanoSecondsInMillisecond = 1e6;
29
+ var timeInSeconds = time[0];
30
+ var hours = Math.floor(timeInSeconds / 3600);
19
31
  timeInSeconds = timeInSeconds - hours * 3600;
20
- const minutes = Math.floor(timeInSeconds / 60);
32
+ var minutes = Math.floor(timeInSeconds / 60);
21
33
  timeInSeconds = timeInSeconds - minutes * 60;
22
- const seconds = Math.floor(timeInSeconds);
23
- const milliseconds = time[1] / nanoSecondsInMillisecond;
24
- let result = '';
34
+ var seconds = Math.floor(timeInSeconds);
35
+ var milliseconds = time[1] / nanoSecondsInMillisecond;
36
+ var result = '';
25
37
 
26
38
  if (hours) {
27
39
  result += "".concat(hours, "h ");
@@ -42,44 +54,143 @@ function timeConverter(time) {
42
54
  return result;
43
55
  }
44
56
 
45
- async function calculateFilesSize(params) {
46
- const {
47
- slpk,
48
- outputPath,
49
- tilesetName
50
- } = params;
51
- const fullOutputPath = (0, _fileUtils.getAbsoluteFilePath)(outputPath);
52
-
53
- try {
54
- if (slpk) {
55
- const slpkPath = (0, _path.join)(fullOutputPath, "".concat(tilesetName, ".slpk"));
56
- const stat = await _fs.promises.stat(slpkPath);
57
- return stat.size;
58
- }
59
-
60
- const directoryPath = (0, _path.join)(fullOutputPath, tilesetName);
61
- const totalSize = await getTotalFilesSize(directoryPath);
62
- return totalSize;
63
- } catch (error) {
64
- console.log('Calculate file sizes error: ', error);
65
- return null;
66
- }
57
+ function calculateFilesSize(_x) {
58
+ return _calculateFilesSize.apply(this, arguments);
67
59
  }
68
60
 
69
- async function getTotalFilesSize(dirPath) {
70
- let totalFileSize = 0;
71
- const files = await _fs.promises.readdir(dirPath);
61
+ function _calculateFilesSize() {
62
+ _calculateFilesSize = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(params) {
63
+ var slpk, outputPath, tilesetName, fullOutputPath, slpkPath, stat, directoryPath, totalSize;
64
+ return _regenerator.default.wrap(function _callee$(_context) {
65
+ while (1) {
66
+ switch (_context.prev = _context.next) {
67
+ case 0:
68
+ slpk = params.slpk, outputPath = params.outputPath, tilesetName = params.tilesetName;
69
+ fullOutputPath = (0, _fileUtils.getAbsoluteFilePath)(outputPath);
70
+ _context.prev = 2;
71
+
72
+ if (!slpk) {
73
+ _context.next = 9;
74
+ break;
75
+ }
76
+
77
+ slpkPath = (0, _path.join)(fullOutputPath, "".concat(tilesetName, ".slpk"));
78
+ _context.next = 7;
79
+ return _fs.promises.stat(slpkPath);
80
+
81
+ case 7:
82
+ stat = _context.sent;
83
+ return _context.abrupt("return", stat.size);
84
+
85
+ case 9:
86
+ directoryPath = (0, _path.join)(fullOutputPath, tilesetName);
87
+ _context.next = 12;
88
+ return getTotalFilesSize(directoryPath);
89
+
90
+ case 12:
91
+ totalSize = _context.sent;
92
+ return _context.abrupt("return", totalSize);
93
+
94
+ case 16:
95
+ _context.prev = 16;
96
+ _context.t0 = _context["catch"](2);
97
+ console.log('Calculate file sizes error: ', _context.t0);
98
+ return _context.abrupt("return", null);
99
+
100
+ case 20:
101
+ case "end":
102
+ return _context.stop();
103
+ }
104
+ }
105
+ }, _callee, null, [[2, 16]]);
106
+ }));
107
+ return _calculateFilesSize.apply(this, arguments);
108
+ }
109
+
110
+ function getTotalFilesSize(_x2) {
111
+ return _getTotalFilesSize.apply(this, arguments);
112
+ }
72
113
 
73
- for (const file of files) {
74
- const fileStat = await _fs.promises.stat((0, _path.join)(dirPath, file));
114
+ function _getTotalFilesSize() {
115
+ _getTotalFilesSize = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(dirPath) {
116
+ var totalFileSize, files, _iterator, _step, file, fileStat;
75
117
 
76
- if (fileStat.isDirectory()) {
77
- totalFileSize += await getTotalFilesSize((0, _path.join)(dirPath, file));
78
- } else {
79
- totalFileSize += fileStat.size;
80
- }
81
- }
118
+ return _regenerator.default.wrap(function _callee2$(_context2) {
119
+ while (1) {
120
+ switch (_context2.prev = _context2.next) {
121
+ case 0:
122
+ totalFileSize = 0;
123
+ _context2.next = 3;
124
+ return _fs.promises.readdir(dirPath);
125
+
126
+ case 3:
127
+ files = _context2.sent;
128
+ _iterator = _createForOfIteratorHelper(files);
129
+ _context2.prev = 5;
130
+
131
+ _iterator.s();
132
+
133
+ case 7:
134
+ if ((_step = _iterator.n()).done) {
135
+ _context2.next = 22;
136
+ break;
137
+ }
138
+
139
+ file = _step.value;
140
+ _context2.next = 11;
141
+ return _fs.promises.stat((0, _path.join)(dirPath, file));
142
+
143
+ case 11:
144
+ fileStat = _context2.sent;
145
+
146
+ if (!fileStat.isDirectory()) {
147
+ _context2.next = 19;
148
+ break;
149
+ }
150
+
151
+ _context2.t0 = totalFileSize;
152
+ _context2.next = 16;
153
+ return getTotalFilesSize((0, _path.join)(dirPath, file));
154
+
155
+ case 16:
156
+ totalFileSize = _context2.t0 += _context2.sent;
157
+ _context2.next = 20;
158
+ break;
159
+
160
+ case 19:
161
+ totalFileSize += fileStat.size;
162
+
163
+ case 20:
164
+ _context2.next = 7;
165
+ break;
166
+
167
+ case 22:
168
+ _context2.next = 27;
169
+ break;
170
+
171
+ case 24:
172
+ _context2.prev = 24;
173
+ _context2.t1 = _context2["catch"](5);
174
+
175
+ _iterator.e(_context2.t1);
176
+
177
+ case 27:
178
+ _context2.prev = 27;
179
+
180
+ _iterator.f();
181
+
182
+ return _context2.finish(27);
183
+
184
+ case 30:
185
+ return _context2.abrupt("return", totalFileSize);
82
186
 
83
- return totalFileSize;
187
+ case 31:
188
+ case "end":
189
+ return _context2.stop();
190
+ }
191
+ }
192
+ }, _callee2, null, [[5, 24, 27, 30]]);
193
+ }));
194
+ return _getTotalFilesSize.apply(this, arguments);
84
195
  }
85
196
  //# sourceMappingURL=statistic-utills.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/utils/statistic-utills.js"],"names":["timeConverter","time","nanoSecondsInMillisecond","timeInSeconds","hours","Math","floor","minutes","seconds","milliseconds","result","calculateFilesSize","params","slpk","outputPath","tilesetName","fullOutputPath","slpkPath","stat","fs","size","directoryPath","totalSize","getTotalFilesSize","error","console","log","dirPath","totalFileSize","files","readdir","file","fileStat","isDirectory"],"mappings":";;;;;;;;AAAA;;AACA;;AACA;;AAEO,SAASA,aAAT,CAAuBC,IAAvB,EAA6B;AAClC,QAAMC,wBAAwB,GAAG,GAAjC;AACA,MAAIC,aAAa,GAAGF,IAAI,CAAC,CAAD,CAAxB;AACA,QAAMG,KAAK,GAAGC,IAAI,CAACC,KAAL,CAAWH,aAAa,GAAG,IAA3B,CAAd;AACAA,EAAAA,aAAa,GAAGA,aAAa,GAAGC,KAAK,GAAG,IAAxC;AACA,QAAMG,OAAO,GAAGF,IAAI,CAACC,KAAL,CAAWH,aAAa,GAAG,EAA3B,CAAhB;AACAA,EAAAA,aAAa,GAAGA,aAAa,GAAGI,OAAO,GAAG,EAA1C;AACA,QAAMC,OAAO,GAAGH,IAAI,CAACC,KAAL,CAAWH,aAAX,CAAhB;AACA,QAAMM,YAAY,GAAGR,IAAI,CAAC,CAAD,CAAJ,GAAUC,wBAA/B;AACA,MAAIQ,MAAM,GAAG,EAAb;;AAEA,MAAIN,KAAJ,EAAW;AACTM,IAAAA,MAAM,cAAON,KAAP,OAAN;AACD;;AAED,MAAIG,OAAJ,EAAa;AACXG,IAAAA,MAAM,cAAOH,OAAP,OAAN;AACD;;AAED,MAAIC,OAAJ,EAAa;AACXE,IAAAA,MAAM,cAAOF,OAAP,MAAN;AACD;;AAED,MAAI,CAACE,MAAL,EAAa;AACXA,IAAAA,MAAM,cAAOD,YAAP,OAAN;AACD;;AAED,SAAOC,MAAP;AACD;;AAEM,eAAeC,kBAAf,CAAkCC,MAAlC,EAA0C;AAC/C,QAAM;AAACC,IAAAA,IAAD;AAAOC,IAAAA,UAAP;AAAmBC,IAAAA;AAAnB,MAAkCH,MAAxC;AACA,QAAMI,cAAc,GAAG,oCAAoBF,UAApB,CAAvB;;AAEA,MAAI;AACF,QAAID,IAAJ,EAAU;AACR,YAAMI,QAAQ,GAAG,gBAAKD,cAAL,YAAwBD,WAAxB,WAAjB;AACA,YAAMG,IAAI,GAAG,MAAMC,aAAGD,IAAH,CAAQD,QAAR,CAAnB;AACA,aAAOC,IAAI,CAACE,IAAZ;AACD;;AAED,UAAMC,aAAa,GAAG,gBAAKL,cAAL,EAAqBD,WAArB,CAAtB;AACA,UAAMO,SAAS,GAAG,MAAMC,iBAAiB,CAACF,aAAD,CAAzC;AACA,WAAOC,SAAP;AACD,GAVD,CAUE,OAAOE,KAAP,EAAc;AACdC,IAAAA,OAAO,CAACC,GAAR,CAAY,8BAAZ,EAA4CF,KAA5C;AACA,WAAO,IAAP;AACD;AACF;;AAED,eAAeD,iBAAf,CAAiCI,OAAjC,EAA0C;AACxC,MAAIC,aAAa,GAAG,CAApB;AAEA,QAAMC,KAAK,GAAG,MAAMV,aAAGW,OAAH,CAAWH,OAAX,CAApB;;AAEA,OAAK,MAAMI,IAAX,IAAmBF,KAAnB,EAA0B;AACxB,UAAMG,QAAQ,GAAG,MAAMb,aAAGD,IAAH,CAAQ,gBAAKS,OAAL,EAAcI,IAAd,CAAR,CAAvB;;AACA,QAAIC,QAAQ,CAACC,WAAT,EAAJ,EAA4B;AAC1BL,MAAAA,aAAa,IAAI,MAAML,iBAAiB,CAAC,gBAAKI,OAAL,EAAcI,IAAd,CAAD,CAAxC;AACD,KAFD,MAEO;AACLH,MAAAA,aAAa,IAAII,QAAQ,CAACZ,IAA1B;AACD;AACF;;AACD,SAAOQ,aAAP;AACD","sourcesContent":["import {join} from 'path';\nimport {promises as fs} from 'fs';\nimport {getAbsoluteFilePath} from './file-utils';\n\nexport function timeConverter(time) {\n const nanoSecondsInMillisecond = 1e6;\n let timeInSeconds = time[0];\n const hours = Math.floor(timeInSeconds / 3600);\n timeInSeconds = timeInSeconds - hours * 3600;\n const minutes = Math.floor(timeInSeconds / 60);\n timeInSeconds = timeInSeconds - minutes * 60;\n const seconds = Math.floor(timeInSeconds);\n const milliseconds = time[1] / nanoSecondsInMillisecond;\n let result = '';\n\n if (hours) {\n result += `${hours}h `;\n }\n\n if (minutes) {\n result += `${minutes}m `;\n }\n\n if (seconds) {\n result += `${seconds}s`;\n }\n\n if (!result) {\n result += `${milliseconds}ms`;\n }\n\n return result;\n}\n\nexport async function calculateFilesSize(params) {\n const {slpk, outputPath, tilesetName} = params;\n const fullOutputPath = getAbsoluteFilePath(outputPath);\n\n try {\n if (slpk) {\n const slpkPath = join(fullOutputPath, `${tilesetName}.slpk`);\n const stat = await fs.stat(slpkPath);\n return stat.size;\n }\n\n const directoryPath = join(fullOutputPath, tilesetName);\n const totalSize = await getTotalFilesSize(directoryPath);\n return totalSize;\n } catch (error) {\n console.log('Calculate file sizes error: ', error); // eslint-disable-line\n return null;\n }\n}\n\nasync function getTotalFilesSize(dirPath) {\n let totalFileSize = 0;\n\n const files = await fs.readdir(dirPath);\n\n for (const file of files) {\n const fileStat = await fs.stat(join(dirPath, file));\n if (fileStat.isDirectory()) {\n totalFileSize += await getTotalFilesSize(join(dirPath, file));\n } else {\n totalFileSize += fileStat.size;\n }\n }\n return totalFileSize;\n}\n"],"file":"statistic-utills.js"}
1
+ {"version":3,"sources":["../../../../src/lib/utils/statistic-utills.js"],"names":["timeConverter","time","nanoSecondsInMillisecond","timeInSeconds","hours","Math","floor","minutes","seconds","milliseconds","result","calculateFilesSize","params","slpk","outputPath","tilesetName","fullOutputPath","slpkPath","fs","stat","size","directoryPath","getTotalFilesSize","totalSize","console","log","dirPath","totalFileSize","readdir","files","file","fileStat","isDirectory"],"mappings":";;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAEO,SAASA,aAAT,CAAuBC,IAAvB,EAA6B;AAClC,MAAMC,wBAAwB,GAAG,GAAjC;AACA,MAAIC,aAAa,GAAGF,IAAI,CAAC,CAAD,CAAxB;AACA,MAAMG,KAAK,GAAGC,IAAI,CAACC,KAAL,CAAWH,aAAa,GAAG,IAA3B,CAAd;AACAA,EAAAA,aAAa,GAAGA,aAAa,GAAGC,KAAK,GAAG,IAAxC;AACA,MAAMG,OAAO,GAAGF,IAAI,CAACC,KAAL,CAAWH,aAAa,GAAG,EAA3B,CAAhB;AACAA,EAAAA,aAAa,GAAGA,aAAa,GAAGI,OAAO,GAAG,EAA1C;AACA,MAAMC,OAAO,GAAGH,IAAI,CAACC,KAAL,CAAWH,aAAX,CAAhB;AACA,MAAMM,YAAY,GAAGR,IAAI,CAAC,CAAD,CAAJ,GAAUC,wBAA/B;AACA,MAAIQ,MAAM,GAAG,EAAb;;AAEA,MAAIN,KAAJ,EAAW;AACTM,IAAAA,MAAM,cAAON,KAAP,OAAN;AACD;;AAED,MAAIG,OAAJ,EAAa;AACXG,IAAAA,MAAM,cAAOH,OAAP,OAAN;AACD;;AAED,MAAIC,OAAJ,EAAa;AACXE,IAAAA,MAAM,cAAOF,OAAP,MAAN;AACD;;AAED,MAAI,CAACE,MAAL,EAAa;AACXA,IAAAA,MAAM,cAAOD,YAAP,OAAN;AACD;;AAED,SAAOC,MAAP;AACD;;SAEqBC,kB;;;;;kFAAf,iBAAkCC,MAAlC;AAAA;AAAA;AAAA;AAAA;AAAA;AACEC,YAAAA,IADF,GACmCD,MADnC,CACEC,IADF,EACQC,UADR,GACmCF,MADnC,CACQE,UADR,EACoBC,WADpB,GACmCH,MADnC,CACoBG,WADpB;AAECC,YAAAA,cAFD,GAEkB,oCAAoBF,UAApB,CAFlB;AAAA;;AAAA,iBAKCD,IALD;AAAA;AAAA;AAAA;;AAMKI,YAAAA,QANL,GAMgB,gBAAKD,cAAL,YAAwBD,WAAxB,WANhB;AAAA;AAAA,mBAOkBG,aAAGC,IAAH,CAAQF,QAAR,CAPlB;;AAAA;AAOKE,YAAAA,IAPL;AAAA,6CAQMA,IAAI,CAACC,IARX;;AAAA;AAWGC,YAAAA,aAXH,GAWmB,gBAAKL,cAAL,EAAqBD,WAArB,CAXnB;AAAA;AAAA,mBAYqBO,iBAAiB,CAACD,aAAD,CAZtC;;AAAA;AAYGE,YAAAA,SAZH;AAAA,6CAaIA,SAbJ;;AAAA;AAAA;AAAA;AAeHC,YAAAA,OAAO,CAACC,GAAR,CAAY,8BAAZ;AAfG,6CAgBI,IAhBJ;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;SAoBQH,iB;;;;;iFAAf,kBAAiCI,OAAjC;AAAA;;AAAA;AAAA;AAAA;AAAA;AACMC,YAAAA,aADN,GACsB,CADtB;AAAA;AAAA,mBAGsBT,aAAGU,OAAH,CAAWF,OAAX,CAHtB;;AAAA;AAGQG,YAAAA,KAHR;AAAA,mDAKqBA,KALrB;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAKaC,YAAAA,IALb;AAAA;AAAA,mBAM2BZ,aAAGC,IAAH,CAAQ,gBAAKO,OAAL,EAAcI,IAAd,CAAR,CAN3B;;AAAA;AAMUC,YAAAA,QANV;;AAAA,iBAOQA,QAAQ,CAACC,WAAT,EAPR;AAAA;AAAA;AAAA;;AAAA,2BAQML,aARN;AAAA;AAAA,mBAQ6BL,iBAAiB,CAAC,gBAAKI,OAAL,EAAcI,IAAd,CAAD,CAR9C;;AAAA;AAQMH,YAAAA,aARN;AAAA;AAAA;;AAAA;AAUMA,YAAAA,aAAa,IAAII,QAAQ,CAACX,IAA1B;;AAVN;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;AAAA,8CAaSO,aAbT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","sourcesContent":["import {join} from 'path';\nimport {promises as fs} from 'fs';\nimport {getAbsoluteFilePath} from './file-utils';\n\nexport function timeConverter(time) {\n const nanoSecondsInMillisecond = 1e6;\n let timeInSeconds = time[0];\n const hours = Math.floor(timeInSeconds / 3600);\n timeInSeconds = timeInSeconds - hours * 3600;\n const minutes = Math.floor(timeInSeconds / 60);\n timeInSeconds = timeInSeconds - minutes * 60;\n const seconds = Math.floor(timeInSeconds);\n const milliseconds = time[1] / nanoSecondsInMillisecond;\n let result = '';\n\n if (hours) {\n result += `${hours}h `;\n }\n\n if (minutes) {\n result += `${minutes}m `;\n }\n\n if (seconds) {\n result += `${seconds}s`;\n }\n\n if (!result) {\n result += `${milliseconds}ms`;\n }\n\n return result;\n}\n\nexport async function calculateFilesSize(params) {\n const {slpk, outputPath, tilesetName} = params;\n const fullOutputPath = getAbsoluteFilePath(outputPath);\n\n try {\n if (slpk) {\n const slpkPath = join(fullOutputPath, `${tilesetName}.slpk`);\n const stat = await fs.stat(slpkPath);\n return stat.size;\n }\n\n const directoryPath = join(fullOutputPath, tilesetName);\n const totalSize = await getTotalFilesSize(directoryPath);\n return totalSize;\n } catch (error) {\n console.log('Calculate file sizes error: ', error); // eslint-disable-line\n return null;\n }\n}\n\nasync function getTotalFilesSize(dirPath) {\n let totalFileSize = 0;\n\n const files = await fs.readdir(dirPath);\n\n for (const file of files) {\n const fileStat = await fs.stat(join(dirPath, file));\n if (fileStat.isDirectory()) {\n totalFileSize += await getTotalFilesSize(join(dirPath, file));\n } else {\n totalFileSize += fileStat.size;\n }\n }\n return totalFileSize;\n}\n"],"file":"statistic-utills.js"}
@@ -1,20 +1,47 @@
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.PGMLoader = void 0;
7
9
 
8
- var _pgmParser = require("./lib/pgm-parser");
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _geoid = require("@math.gl/geoid");
9
15
 
10
- const VERSION = typeof "3.1.0-beta.5" !== 'undefined' ? "3.1.0-beta.5" : 'latest';
11
- const PGMLoader = {
16
+ var VERSION = typeof "3.1.2" !== 'undefined' ? "3.1.2" : 'latest';
17
+ var PGMLoader = {
12
18
  name: 'PGM - Netpbm grayscale image format',
13
19
  id: 'pgm',
14
20
  module: 'tile-converter',
15
21
  version: VERSION,
16
22
  mimeTypes: ['image/x-portable-graymap'],
17
- parse: (arrayBuffer, options) => (0, _pgmParser.parsePgm)(new Uint8Array(arrayBuffer), options),
23
+ parse: function () {
24
+ var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
25
+ return _regenerator.default.wrap(function _callee$(_context) {
26
+ while (1) {
27
+ switch (_context.prev = _context.next) {
28
+ case 0:
29
+ return _context.abrupt("return", (0, _geoid.parsePGM)(new Uint8Array(arrayBuffer), options));
30
+
31
+ case 1:
32
+ case "end":
33
+ return _context.stop();
34
+ }
35
+ }
36
+ }, _callee);
37
+ }));
38
+
39
+ function parse(_x, _x2) {
40
+ return _parse.apply(this, arguments);
41
+ }
42
+
43
+ return parse;
44
+ }(),
18
45
  extensions: ['pgm'],
19
46
  options: {
20
47
  cubic: false
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/pgm-loader.ts"],"names":["VERSION","PGMLoader","name","id","module","version","mimeTypes","parse","arrayBuffer","options","Uint8Array","extensions","cubic"],"mappings":";;;;;;;AAMA;;AAFA,MAAMA,OAAO,GAAG,0BAAuB,WAAvB,oBAAmD,QAAnE;AAOO,MAAMC,SAA2B,GAAG;AACzCC,EAAAA,IAAI,EAAE,qCADmC;AAEzCC,EAAAA,EAAE,EAAE,KAFqC;AAGzCC,EAAAA,MAAM,EAAE,gBAHiC;AAIzCC,EAAAA,OAAO,EAAEL,OAJgC;AAKzCM,EAAAA,SAAS,EAAE,CAAC,0BAAD,CAL8B;AAMzCC,EAAAA,KAAK,EAAE,CAACC,WAAD,EAAcC,OAAd,KAA0B,yBAAS,IAAIC,UAAJ,CAAeF,WAAf,CAAT,EAAsCC,OAAtC,CANQ;AAOzCE,EAAAA,UAAU,EAAE,CAAC,KAAD,CAP6B;AAQzCF,EAAAA,OAAO,EAAE;AAEPG,IAAAA,KAAK,EAAE;AAFA;AARgC,CAApC","sourcesContent":["import type {LoaderWithParser} from '@loaders.gl/loader-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nimport {parsePgm} from './lib/pgm-parser';\n\n/**\n * Loader for PGM - Netpbm grayscale image format\n */\nexport const PGMLoader: LoaderWithParser = {\n name: 'PGM - Netpbm grayscale image format',\n id: 'pgm',\n module: 'tile-converter',\n version: VERSION,\n mimeTypes: ['image/x-portable-graymap'],\n parse: (arrayBuffer, options) => parsePgm(new Uint8Array(arrayBuffer), options),\n extensions: ['pgm'],\n options: {\n // TODO - use pgm namespace\n cubic: false\n }\n};\n"],"file":"pgm-loader.js"}
1
+ {"version":3,"sources":["../../src/pgm-loader.ts"],"names":["VERSION","PGMLoader","name","id","module","version","mimeTypes","parse","arrayBuffer","options","Uint8Array","extensions","cubic"],"mappings":";;;;;;;;;;;;;AAMA;;AAFA,IAAMA,OAAO,GAAG,mBAAuB,WAAvB,aAAmD,QAAnE;AAOO,IAAMC,SAA2B,GAAG;AACzCC,EAAAA,IAAI,EAAE,qCADmC;AAEzCC,EAAAA,EAAE,EAAE,KAFqC;AAGzCC,EAAAA,MAAM,EAAE,gBAHiC;AAIzCC,EAAAA,OAAO,EAAEL,OAJgC;AAKzCM,EAAAA,SAAS,EAAE,CAAC,0BAAD,CAL8B;AAMzCC,EAAAA,KAAK;AAAA,2EAAE,iBAAOC,WAAP,EAAoBC,OAApB;AAAA;AAAA;AAAA;AAAA;AAAA,+CAAgC,qBAAS,IAAIC,UAAJ,CAAeF,WAAf,CAAT,EAAsCC,OAAtC,CAAhC;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAF;;AAAA;AAAA;AAAA;;AAAA;AAAA,KANoC;AAOzCE,EAAAA,UAAU,EAAE,CAAC,KAAD,CAP6B;AAQzCF,EAAAA,OAAO,EAAE;AAEPG,IAAAA,KAAK,EAAE;AAFA;AARgC,CAApC","sourcesContent":["import type {LoaderWithParser} from '@loaders.gl/loader-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nimport {parsePGM} from '@math.gl/geoid';\n\n/**\n * Loader for PGM - Netpbm grayscale image format\n */\nexport const PGMLoader: LoaderWithParser = {\n name: 'PGM - Netpbm grayscale image format',\n id: 'pgm',\n module: 'tile-converter',\n version: VERSION,\n mimeTypes: ['image/x-portable-graymap'],\n parse: async (arrayBuffer, options) => parsePGM(new Uint8Array(arrayBuffer), options),\n extensions: ['pgm'],\n options: {\n // TODO - use pgm namespace\n cubic: false\n }\n};\n"],"file":"pgm-loader.js"}
@@ -62,9 +62,10 @@ export default class Tiles3DConverter {
62
62
  }
63
63
  }
64
64
  });
65
+ const rootNode = this.sourceTileset.root;
65
66
 
66
- if (!this.sourceTileset.root.header.obb) {
67
- this.sourceTileset.root.header.obb = createObbFromMbs(this.sourceTileset.root.header.mbs);
67
+ if (!rootNode.header.obb) {
68
+ rootNode.header.obb = createObbFromMbs(rootNode.header.mbs);
68
69
  }
69
70
 
70
71
  this.tilesetPath = join("".concat(outputPath), "".concat(tilesetName));
@@ -76,15 +77,15 @@ export default class Tiles3DConverter {
76
77
 
77
78
  const rootTile = {
78
79
  boundingVolume: {
79
- box: i3sObbTo3dTilesObb(this.sourceTileset.root.header.obb, this.geoidHeightModel)
80
+ box: i3sObbTo3dTilesObb(rootNode.header.obb, this.geoidHeightModel)
80
81
  },
81
- geometricError: convertScreenThresholdToGeometricError(this.sourceTileset.root),
82
+ geometricError: convertScreenThresholdToGeometricError(rootNode),
82
83
  children: []
83
84
  };
84
- await this._addChildren(this.sourceTileset.root, rootTile, 1);
85
+ await this._addChildren(rootNode, rootTile, 1);
85
86
  const tileset = transform({
86
87
  root: rootTile
87
- }, tilesetTemplate);
88
+ }, tilesetTemplate());
88
89
  await writeFile(this.tilesetPath, JSON.stringify(tileset), 'tileset.json');
89
90
 
90
91
  this._finishConversion({