@loaders.gl/tile-converter 3.3.0-alpha.5 → 3.3.0-alpha.7

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 (176) hide show
  1. package/dist/3d-tiles-attributes-worker.js +2 -3
  2. package/dist/3d-tiles-attributes-worker.js.map +3 -3
  3. package/dist/converter-cli.js +15 -2
  4. package/dist/converter.min.js +23 -20
  5. package/dist/dist.min.js +38236 -46911
  6. package/dist/es5/3d-tiles-attributes-worker.js +3 -6
  7. package/dist/es5/3d-tiles-attributes-worker.js.map +1 -1
  8. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +12 -111
  9. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  10. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js +32 -72
  11. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
  12. package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +0 -8
  13. package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -1
  14. package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js +0 -5
  15. package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js.map +1 -1
  16. package/dist/es5/3d-tiles-converter/json-templates/tileset.js +0 -6
  17. package/dist/es5/3d-tiles-converter/json-templates/tileset.js.map +1 -1
  18. package/dist/es5/bundle.js +0 -1
  19. package/dist/es5/bundle.js.map +1 -1
  20. package/dist/es5/constants.js.map +1 -1
  21. package/dist/es5/converter-cli.js +11 -56
  22. package/dist/es5/converter-cli.js.map +1 -1
  23. package/dist/es5/deps-installer/deps-installer.js +5 -35
  24. package/dist/es5/deps-installer/deps-installer.js.map +1 -1
  25. package/dist/es5/i3s-attributes-worker.js +3 -6
  26. package/dist/es5/i3s-attributes-worker.js.map +1 -1
  27. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js +2 -28
  28. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
  29. package/dist/es5/i3s-converter/helpers/coordinate-converter.js +8 -25
  30. package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  31. package/dist/es5/i3s-converter/helpers/create-scene-server-path.js +0 -11
  32. package/dist/es5/i3s-converter/helpers/create-scene-server-path.js.map +1 -1
  33. package/dist/es5/i3s-converter/helpers/feature-attributes.js +5 -34
  34. package/dist/es5/i3s-converter/helpers/feature-attributes.js.map +1 -1
  35. package/dist/es5/i3s-converter/helpers/geometry-attributes.js +13 -45
  36. package/dist/es5/i3s-converter/helpers/geometry-attributes.js.map +1 -1
  37. package/dist/es5/i3s-converter/helpers/geometry-converter.js +26 -221
  38. package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -1
  39. package/dist/es5/i3s-converter/helpers/gltf-attributes.js +2 -16
  40. package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +1 -1
  41. package/dist/es5/i3s-converter/helpers/node-debug.js +4 -23
  42. package/dist/es5/i3s-converter/helpers/node-debug.js.map +1 -1
  43. package/dist/es5/i3s-converter/helpers/node-pages.js +50 -86
  44. package/dist/es5/i3s-converter/helpers/node-pages.js.map +1 -1
  45. package/dist/es5/i3s-converter/i3s-converter.js +69 -384
  46. package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
  47. package/dist/es5/i3s-converter/json-templates/layers.js +1 -15
  48. package/dist/es5/i3s-converter/json-templates/layers.js.map +1 -1
  49. package/dist/es5/i3s-converter/json-templates/metadata.js +0 -2
  50. package/dist/es5/i3s-converter/json-templates/metadata.js.map +1 -1
  51. package/dist/es5/i3s-converter/json-templates/node.js +2 -12
  52. package/dist/es5/i3s-converter/json-templates/node.js.map +1 -1
  53. package/dist/es5/i3s-converter/json-templates/scene-server.js +0 -2
  54. package/dist/es5/i3s-converter/json-templates/scene-server.js.map +1 -1
  55. package/dist/es5/i3s-converter/json-templates/shared-resources.js +6 -29
  56. package/dist/es5/i3s-converter/json-templates/shared-resources.js.map +1 -1
  57. package/dist/es5/i3s-converter/json-templates/store.js.map +1 -1
  58. package/dist/es5/i3s-converter/types.js.map +1 -1
  59. package/dist/es5/i3s-server/app.js +0 -5
  60. package/dist/es5/i3s-server/app.js.map +1 -1
  61. package/dist/es5/i3s-server/controllers/index-controller.js +0 -16
  62. package/dist/es5/i3s-server/controllers/index-controller.js.map +1 -1
  63. package/dist/es5/i3s-server/routes/index.js +1 -10
  64. package/dist/es5/i3s-server/routes/index.js.map +1 -1
  65. package/dist/es5/index.js +0 -3
  66. package/dist/es5/index.js.map +1 -1
  67. package/dist/es5/lib/utils/compress-util.js +19 -74
  68. package/dist/es5/lib/utils/compress-util.js.map +1 -1
  69. package/dist/es5/lib/utils/file-utils.js +10 -38
  70. package/dist/es5/lib/utils/file-utils.js.map +1 -1
  71. package/dist/es5/lib/utils/lod-conversion-utils.js +0 -7
  72. package/dist/es5/lib/utils/lod-conversion-utils.js.map +1 -1
  73. package/dist/es5/lib/utils/queue.js +0 -14
  74. package/dist/es5/lib/utils/queue.js.map +1 -1
  75. package/dist/es5/lib/utils/statistic-utills.js +1 -46
  76. package/dist/es5/lib/utils/statistic-utills.js.map +1 -1
  77. package/dist/es5/lib/utils/write-queue.js +0 -52
  78. package/dist/es5/lib/utils/write-queue.js.map +1 -1
  79. package/dist/es5/pgm-loader.js +1 -8
  80. package/dist/es5/pgm-loader.js.map +1 -1
  81. package/dist/es5/workers/3d-tiles-attributes-worker.js +1 -8
  82. package/dist/es5/workers/3d-tiles-attributes-worker.js.map +1 -1
  83. package/dist/es5/workers/i3s-attributes-worker.js +1 -9
  84. package/dist/es5/workers/i3s-attributes-worker.js.map +1 -1
  85. package/dist/esm/3d-tiles-attributes-worker.js +3 -1
  86. package/dist/esm/3d-tiles-attributes-worker.js.map +1 -1
  87. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +8 -40
  88. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  89. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js +7 -38
  90. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
  91. package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +1 -0
  92. package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -1
  93. package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js +1 -4
  94. package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js.map +1 -1
  95. package/dist/esm/3d-tiles-converter/json-templates/tileset.js +0 -3
  96. package/dist/esm/3d-tiles-converter/json-templates/tileset.js.map +1 -1
  97. package/dist/esm/bundle.js +1 -1
  98. package/dist/esm/bundle.js.map +1 -1
  99. package/dist/esm/constants.js.map +1 -1
  100. package/dist/esm/converter-cli.js +12 -41
  101. package/dist/esm/converter-cli.js.map +1 -1
  102. package/dist/esm/deps-installer/deps-installer.js +6 -7
  103. package/dist/esm/deps-installer/deps-installer.js.map +1 -1
  104. package/dist/esm/i3s-attributes-worker.js +3 -1
  105. package/dist/esm/i3s-attributes-worker.js.map +1 -1
  106. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js +4 -23
  107. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
  108. package/dist/esm/i3s-converter/helpers/coordinate-converter.js +11 -12
  109. package/dist/esm/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  110. package/dist/esm/i3s-converter/helpers/create-scene-server-path.js +1 -0
  111. package/dist/esm/i3s-converter/helpers/create-scene-server-path.js.map +1 -1
  112. package/dist/esm/i3s-converter/helpers/feature-attributes.js +6 -20
  113. package/dist/esm/i3s-converter/helpers/feature-attributes.js.map +1 -1
  114. package/dist/esm/i3s-converter/helpers/geometry-attributes.js +3 -22
  115. package/dist/esm/i3s-converter/helpers/geometry-attributes.js.map +1 -1
  116. package/dist/esm/i3s-converter/helpers/geometry-converter.js +28 -139
  117. package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -1
  118. package/dist/esm/i3s-converter/helpers/gltf-attributes.js +7 -12
  119. package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +1 -1
  120. package/dist/esm/i3s-converter/helpers/node-debug.js +3 -13
  121. package/dist/esm/i3s-converter/helpers/node-debug.js.map +1 -1
  122. package/dist/esm/i3s-converter/helpers/node-pages.js +2 -21
  123. package/dist/esm/i3s-converter/helpers/node-pages.js.map +1 -1
  124. package/dist/esm/i3s-converter/i3s-converter.js +59 -144
  125. package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
  126. package/dist/esm/i3s-converter/json-templates/layers.js +1 -11
  127. package/dist/esm/i3s-converter/json-templates/layers.js.map +1 -1
  128. package/dist/esm/i3s-converter/json-templates/metadata.js.map +1 -1
  129. package/dist/esm/i3s-converter/json-templates/node.js +0 -4
  130. package/dist/esm/i3s-converter/json-templates/node.js.map +1 -1
  131. package/dist/esm/i3s-converter/json-templates/scene-server.js.map +1 -1
  132. package/dist/esm/i3s-converter/json-templates/shared-resources.js +0 -12
  133. package/dist/esm/i3s-converter/json-templates/shared-resources.js.map +1 -1
  134. package/dist/esm/i3s-converter/json-templates/store.js.map +1 -1
  135. package/dist/esm/i3s-converter/types.js.map +1 -1
  136. package/dist/esm/i3s-server/app.js +0 -5
  137. package/dist/esm/i3s-server/app.js.map +1 -1
  138. package/dist/esm/i3s-server/controllers/index-controller.js +0 -5
  139. package/dist/esm/i3s-server/controllers/index-controller.js.map +1 -1
  140. package/dist/esm/i3s-server/routes/index.js +0 -3
  141. package/dist/esm/i3s-server/routes/index.js.map +1 -1
  142. package/dist/esm/index.js.map +1 -1
  143. package/dist/esm/lib/utils/compress-util.js +19 -12
  144. package/dist/esm/lib/utils/compress-util.js.map +1 -1
  145. package/dist/esm/lib/utils/file-utils.js +10 -8
  146. package/dist/esm/lib/utils/file-utils.js.map +1 -1
  147. package/dist/esm/lib/utils/lod-conversion-utils.js +2 -6
  148. package/dist/esm/lib/utils/lod-conversion-utils.js.map +1 -1
  149. package/dist/esm/lib/utils/queue.js +0 -4
  150. package/dist/esm/lib/utils/queue.js.map +1 -1
  151. package/dist/esm/lib/utils/statistic-utills.js +0 -11
  152. package/dist/esm/lib/utils/statistic-utills.js.map +1 -1
  153. package/dist/esm/lib/utils/write-queue.js +5 -23
  154. package/dist/esm/lib/utils/write-queue.js.map +1 -1
  155. package/dist/esm/pgm-loader.js +3 -1
  156. package/dist/esm/pgm-loader.js.map +1 -1
  157. package/dist/esm/workers/3d-tiles-attributes-worker.js +4 -1
  158. package/dist/esm/workers/3d-tiles-attributes-worker.js.map +1 -1
  159. package/dist/esm/workers/i3s-attributes-worker.js +4 -1
  160. package/dist/esm/workers/i3s-attributes-worker.js.map +1 -1
  161. package/dist/i3s-attributes-worker.js +2 -3
  162. package/dist/i3s-attributes-worker.js.map +3 -3
  163. package/dist/i3s-converter/helpers/coordinate-converter.d.ts.map +1 -1
  164. package/dist/i3s-converter/helpers/coordinate-converter.js +8 -6
  165. package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -1
  166. package/dist/i3s-converter/helpers/geometry-converter.js +2 -0
  167. package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
  168. package/dist/i3s-converter/i3s-converter.js +14 -8
  169. package/dist/pgm-loader.d.ts.map +1 -1
  170. package/dist/pgm-loader.js +2 -1
  171. package/package.json +15 -15
  172. package/src/converter-cli.ts +16 -2
  173. package/src/i3s-converter/helpers/coordinate-converter.ts +8 -6
  174. package/src/i3s-converter/helpers/geometry-converter.ts +2 -0
  175. package/src/i3s-converter/i3s-converter.ts +17 -7
  176. package/src/pgm-loader.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"coordinate-converter.d.ts","sourceRoot":"","sources":["../../../src/i3s-converter/helpers/coordinate-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAE3E,OAAO,EAAsB,OAAO,EAAC,MAAM,eAAe,CAAC;AAE3D,OAAO,EACL,mBAAmB,EAGnB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAErC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,GAAG,eAAe,CAiC5F;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,kBAAkB,EAAE,YAAY,EAChC,gBAAgB,EAAE,KAAK,GACtB;IAAC,GAAG,EAAE,GAAG,CAAC;IAAC,GAAG,EAAE,GAAG,CAAA;CAAC,CAoBtB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,EAAE,CAW5E;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAClD,cAAc,EAAE,mBAAmB,GAAG,cAAc,GACnD,UAAU,CA0BZ;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAK9C"}
1
+ {"version":3,"file":"coordinate-converter.d.ts","sourceRoot":"","sources":["../../../src/i3s-converter/helpers/coordinate-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAE3E,OAAO,EAAsB,OAAO,EAAC,MAAM,eAAe,CAAC;AAE3D,OAAO,EACL,mBAAmB,EAGnB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAErC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,GAAG,eAAe,CAiC5F;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,kBAAkB,EAAE,YAAY,EAChC,gBAAgB,EAAE,KAAK,GACtB;IAAC,GAAG,EAAE,GAAG,CAAC;IAAC,GAAG,EAAE,GAAG,CAAA;CAAC,CAoBtB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,EAAE,CAW5E;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAClD,cAAc,EAAE,mBAAmB,GAAG,cAAc,GACnD,UAAU,CA4BZ;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAK9C"}
@@ -98,13 +98,15 @@ function convertBoundingVolumeToI3SFullExtent(boundingVolume) {
98
98
  const radius = sphere.radius;
99
99
  const vertexMax = geospatial_1.Ellipsoid.WGS84.cartesianToCartographic(new core_1.Vector3(center[0] + radius, center[1] + radius, center[2] + radius), new core_1.Vector3());
100
100
  const vertexMin = geospatial_1.Ellipsoid.WGS84.cartesianToCartographic(new core_1.Vector3(center[0] - radius, center[1] - radius, center[2] - radius), new core_1.Vector3());
101
+ // Converter sometimes returns min values that are bigger then max,
102
+ // so we should check and take bigger value from max and smaller for nim
101
103
  return {
102
- xmin: vertexMin[0],
103
- xmax: vertexMax[0],
104
- ymin: vertexMin[1],
105
- ymax: vertexMax[1],
106
- zmin: vertexMin[2],
107
- zmax: vertexMax[2]
104
+ xmin: Math.min(vertexMin[0], vertexMax[0]),
105
+ xmax: Math.max(vertexMin[0], vertexMax[0]),
106
+ ymin: Math.min(vertexMin[1], vertexMax[1]),
107
+ ymax: Math.max(vertexMin[1], vertexMax[1]),
108
+ zmin: Math.min(vertexMin[2], vertexMax[2]),
109
+ zmax: Math.max(vertexMin[2], vertexMax[2])
108
110
  };
109
111
  }
110
112
  exports.convertBoundingVolumeToI3SFullExtent = convertBoundingVolumeToI3SFullExtent;
@@ -1 +1 @@
1
- {"version":3,"file":"geometry-converter.d.ts","sourceRoot":"","sources":["../../../src/i3s-converter/helpers/geometry-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAE,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAqBxE,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EAGtB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,oBAAoB,EAIrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AACrC,+DAA+D;AAC/D,OAAO,EAAC,kBAAkB,EAAsC,MAAM,6BAA6B,CAAC;AA6BpG;;;;;;;;;;;GAWG;AACH,wBAA8B,wBAAwB,CACpD,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,MAAM,MAAM,EAC/B,aAAa,EAAE,gBAAgB,GAAG,IAAI,EACtC,iBAAiB,EAAE,MAAM,EAAE,EAC3B,oBAAoB,EAAE,oBAAoB,EAAE,GAAG,SAAS,EACxD,KAAK,EAAE,OAAO,EACd,uBAAuB,EAAE,OAAO,EAChC,gBAAgB,EAAE,KAAK,EACvB,YAAY,EAAE;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,GACpC,OAAO,CAAC,qBAAqB,EAAE,GAAG,IAAI,CAAC,CAmEzC;AAwID;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,cAAc,EAAE,kBAAkB,EAClC,qBAAqB,EAAE,OAAO,GAC7B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CA2C3C;AA47BD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG,gBAAgB,GAAG,IAAI,CAoBlF"}
1
+ {"version":3,"file":"geometry-converter.d.ts","sourceRoot":"","sources":["../../../src/i3s-converter/helpers/geometry-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAE,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAqBxE,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EAGtB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,oBAAoB,EAIrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AACrC,+DAA+D;AAC/D,OAAO,EAAC,kBAAkB,EAAsC,MAAM,6BAA6B,CAAC;AA6BpG;;;;;;;;;;;GAWG;AACH,wBAA8B,wBAAwB,CACpD,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,MAAM,MAAM,EAC/B,aAAa,EAAE,gBAAgB,GAAG,IAAI,EACtC,iBAAiB,EAAE,MAAM,EAAE,EAC3B,oBAAoB,EAAE,oBAAoB,EAAE,GAAG,SAAS,EACxD,KAAK,EAAE,OAAO,EACd,uBAAuB,EAAE,OAAO,EAChC,gBAAgB,EAAE,KAAK,EACvB,YAAY,EAAE;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,GACpC,OAAO,CAAC,qBAAqB,EAAE,GAAG,IAAI,CAAC,CAmEzC;AAwID;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,cAAc,EAAE,kBAAkB,EAClC,qBAAqB,EAAE,OAAO,GAC7B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CA2C3C;AA87BD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG,gBAAgB,GAAG,IAAI,CAoBlF"}
@@ -634,7 +634,9 @@ function extractSharedResourcesMaterialInfo(baseColorFactor, metallicFactor = 1)
634
634
  const specular = dielectricSpecular.lerp(dielectricSpecular, baseColorVector, metallicFactor);
635
635
  return {
636
636
  params: {
637
+ // @ts-expect-error NumericArray
637
638
  diffuse: diffuse.toArray(),
639
+ // @ts-expect-error NumericArray
638
640
  specular: specular.toArray(),
639
641
  renderMode: 'solid'
640
642
  }
@@ -1 +1 @@
1
- {"version":3,"file":"i3s-converter.d.ts","sourceRoot":"","sources":["../../src/i3s-converter/i3s-converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i3s-converter.d.ts","sourceRoot":"","sources":["../../src/i3s-converter/i3s-converter.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -145,7 +149,7 @@ class I3SConverter {
145
149
  const sourceTilesetJson = await (0, core_1.load)(inputUrl, this.Loader, tilesetOptions.loadOptions);
146
150
  // console.log(tilesetJson); // eslint-disable-line
147
151
  this.sourceTileset = new tiles_1.Tileset3D(sourceTilesetJson, tilesetOptions);
148
- await this._createAndSaveTileset(outputPath, tilesetName);
152
+ await this._createAndSaveTileset(outputPath, tilesetName, sourceTilesetJson?.root?.boundingVolume?.region);
149
153
  await this._finishConversion({ slpk: Boolean(slpk), outputPath, tilesetName });
150
154
  return sourceTilesetJson;
151
155
  }
@@ -163,7 +167,7 @@ class I3SConverter {
163
167
  * @param outputPath - path to save output data
164
168
  * @param tilesetName - new tileset path
165
169
  */
166
- async _createAndSaveTileset(outputPath, tilesetName) {
170
+ async _createAndSaveTileset(outputPath, tilesetName, boundingVolumeRegion) {
167
171
  const tilesetPath = (0, path_1.join)(`${outputPath}`, `${tilesetName}`);
168
172
  // Removing the tilesetPath needed to exclude erroneous files after conversion
169
173
  try {
@@ -173,7 +177,7 @@ class I3SConverter {
173
177
  // do nothing
174
178
  }
175
179
  this.layers0Path = (0, path_1.join)(tilesetPath, 'SceneServer', 'layers', '0');
176
- this._formLayers0(tilesetName);
180
+ this._formLayers0(tilesetName, boundingVolumeRegion);
177
181
  this.materialDefinitions = [];
178
182
  this.materialMap = new Map();
179
183
  const sourceRootTile = this.sourceTileset.root;
@@ -203,8 +207,12 @@ class I3SConverter {
203
207
  * Form object of 3DSceneLayer https://github.com/Esri/i3s-spec/blob/master/docs/1.7/3DSceneLayer.cmn.md
204
208
  * @param tilesetName - Name of layer
205
209
  */
206
- _formLayers0(tilesetName) {
210
+ _formLayers0(tilesetName, boundingVolumeRegion) {
207
211
  const fullExtent = (0, coordinate_converter_1.convertBoundingVolumeToI3SFullExtent)(this.sourceTileset?.boundingVolume || this.sourceTileset?.root?.boundingVolume);
212
+ if (boundingVolumeRegion) {
213
+ fullExtent.zmin = boundingVolumeRegion[4];
214
+ fullExtent.zmax = boundingVolumeRegion[5];
215
+ }
208
216
  const extent = [fullExtent.xmin, fullExtent.ymin, fullExtent.xmax, fullExtent.ymax];
209
217
  const layers0data = {
210
218
  version: `{${(0, uuid_1.v4)().toUpperCase()}}`,
@@ -473,9 +481,7 @@ class I3SConverter {
473
481
  * @param level - level of node (distanse to root node in the tree)
474
482
  */
475
483
  async _createNode(parentTile, sourceTile, parentId, level) {
476
- if (this.validate) {
477
- this._checkAddRefinementTypeForTile(sourceTile);
478
- }
484
+ this._checkAddRefinementTypeForTile(sourceTile);
479
485
  await this._updateTilesetOptions();
480
486
  await this.sourceTileset._loadTile(sourceTile);
481
487
  let boundingVolumes = (0, coordinate_converter_1.createBoundingVolumes)(sourceTile, this.geoidHeightModel);
@@ -1 +1 @@
1
- {"version":3,"file":"pgm-loader.d.ts","sourceRoot":"","sources":["../src/pgm-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAQ/D;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,gBAYvB,CAAC"}
1
+ {"version":3,"file":"pgm-loader.d.ts","sourceRoot":"","sources":["../src/pgm-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAO/D;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,gBAavB,CAAC"}
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PGMLoader = void 0;
4
+ const geoid_1 = require("@math.gl/geoid");
4
5
  // __VERSION__ is injected by babel-plugin-version-inline
5
6
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
6
7
  const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
7
- const geoid_1 = require("@math.gl/geoid");
8
8
  /**
9
9
  * Loader for PGM - Netpbm grayscale image format
10
10
  */
@@ -14,6 +14,7 @@ exports.PGMLoader = {
14
14
  module: 'tile-converter',
15
15
  version: VERSION,
16
16
  mimeTypes: ['image/x-portable-graymap'],
17
+ // @ts-expect-error LoaderOptions does not have cubic parameter
17
18
  parse: async (arrayBuffer, options) => (0, geoid_1.parsePGM)(new Uint8Array(arrayBuffer), options),
18
19
  extensions: ['pgm'],
19
20
  options: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/tile-converter",
3
- "version": "3.3.0-alpha.5",
3
+ "version": "3.3.0-alpha.7",
4
4
  "description": "Converter",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -43,19 +43,19 @@
43
43
  "build-3d-tiles-attributes-worker": "esbuild src/workers/3d-tiles-attributes-worker.ts --outfile=dist/3d-tiles-attributes-worker.js --platform=node --target=esnext,node12 --minify --bundle --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\""
44
44
  },
45
45
  "dependencies": {
46
- "@loaders.gl/3d-tiles": "3.3.0-alpha.5",
47
- "@loaders.gl/crypto": "3.3.0-alpha.5",
48
- "@loaders.gl/draco": "3.3.0-alpha.5",
49
- "@loaders.gl/gltf": "3.3.0-alpha.5",
50
- "@loaders.gl/i3s": "3.3.0-alpha.5",
51
- "@loaders.gl/images": "3.3.0-alpha.5",
52
- "@loaders.gl/loader-utils": "3.3.0-alpha.5",
53
- "@loaders.gl/polyfills": "3.3.0-alpha.5",
54
- "@loaders.gl/schema": "3.3.0-alpha.5",
55
- "@loaders.gl/textures": "3.3.0-alpha.5",
56
- "@loaders.gl/tiles": "3.3.0-alpha.5",
57
- "@loaders.gl/worker-utils": "3.3.0-alpha.5",
58
- "@loaders.gl/zip": "3.3.0-alpha.5",
46
+ "@loaders.gl/3d-tiles": "3.3.0-alpha.7",
47
+ "@loaders.gl/crypto": "3.3.0-alpha.7",
48
+ "@loaders.gl/draco": "3.3.0-alpha.7",
49
+ "@loaders.gl/gltf": "3.3.0-alpha.7",
50
+ "@loaders.gl/i3s": "3.3.0-alpha.7",
51
+ "@loaders.gl/images": "3.3.0-alpha.7",
52
+ "@loaders.gl/loader-utils": "3.3.0-alpha.7",
53
+ "@loaders.gl/polyfills": "3.3.0-alpha.7",
54
+ "@loaders.gl/schema": "3.3.0-alpha.7",
55
+ "@loaders.gl/textures": "3.3.0-alpha.7",
56
+ "@loaders.gl/tiles": "3.3.0-alpha.7",
57
+ "@loaders.gl/worker-utils": "3.3.0-alpha.7",
58
+ "@loaders.gl/zip": "3.3.0-alpha.7",
59
59
  "@luma.gl/engine": "^8.5.4",
60
60
  "@math.gl/core": "^3.5.1",
61
61
  "@math.gl/culling": "^3.5.1",
@@ -75,5 +75,5 @@
75
75
  "peerDependencies": {
76
76
  "@loaders.gl/core": "^3.2.0"
77
77
  },
78
- "gitHead": "d2df3bead97710c45fd2974cd51ecd7d5f7f5ea4"
78
+ "gitHead": "29b08f3519c50984e84bf4234e607cab7c7d1c3e"
79
79
  }
@@ -196,7 +196,7 @@ function validateOptions(options: TileConversionOptions): ValidatedTileConversio
196
196
  }
197
197
  if (exceptions.length) {
198
198
  exceptions.forEach((exeption) => exeption());
199
- process.exit(0); // eslint-disable-line
199
+ process.exit(1);
200
200
  }
201
201
  return <ValidatedTileConversionOptions>options;
202
202
  }
@@ -240,7 +240,7 @@ function parseOptions(args: string[]): TileConversionOptions {
240
240
  opts.inputType = getStringValue(index, args);
241
241
  break;
242
242
  case '--tileset':
243
- opts.tileset = getStringValue(index, args);
243
+ opts.tileset = getURLValue(index, args);
244
244
  break;
245
245
  case '--name':
246
246
  opts.name = getStringValue(index, args);
@@ -308,6 +308,20 @@ function getStringValue(index: number, args: string[]): string {
308
308
  return value;
309
309
  }
310
310
 
311
+ /**
312
+ * Modyfy URL path to be compatible with fetch
313
+ * @param index - option's name index in the argument's array.
314
+ * The value of the option should be next to name of the option.
315
+ * @param args - cli arguments array
316
+ * @returns - string value of the option
317
+ */
318
+ function getURLValue(index: number, args: string[]): string {
319
+ const value = getStringValue(index, args);
320
+ console.log(`Input tileset value: ${value}`);
321
+ console.log(`Modified tileset value: ${value.replace(/\\/g, '/')}`);
322
+ return value.replace(/\\/g, '/');
323
+ }
324
+
311
325
  /**
312
326
  * Get integer option value from cli arguments
313
327
  * @param index - option's name index in the argument's array
@@ -126,13 +126,15 @@ export function convertBoundingVolumeToI3SFullExtent(
126
126
  new Vector3()
127
127
  );
128
128
 
129
+ // Converter sometimes returns min values that are bigger then max,
130
+ // so we should check and take bigger value from max and smaller for nim
129
131
  return {
130
- xmin: vertexMin[0],
131
- xmax: vertexMax[0],
132
- ymin: vertexMin[1],
133
- ymax: vertexMax[1],
134
- zmin: vertexMin[2],
135
- zmax: vertexMax[2]
132
+ xmin: Math.min(vertexMin[0], vertexMax[0]),
133
+ xmax: Math.max(vertexMin[0], vertexMax[0]),
134
+ ymin: Math.min(vertexMin[1], vertexMax[1]),
135
+ ymax: Math.max(vertexMin[1], vertexMax[1]),
136
+ zmin: Math.min(vertexMin[2], vertexMax[2]),
137
+ zmax: Math.max(vertexMin[2], vertexMax[2])
136
138
  };
137
139
  }
138
140
 
@@ -934,7 +934,9 @@ function extractSharedResourcesMaterialInfo(
934
934
  const specular = dielectricSpecular.lerp(dielectricSpecular, baseColorVector, metallicFactor);
935
935
  return {
936
936
  params: {
937
+ // @ts-expect-error NumericArray
937
938
  diffuse: diffuse.toArray(),
939
+ // @ts-expect-error NumericArray
938
940
  specular: specular.toArray(),
939
941
  renderMode: 'solid'
940
942
  }
@@ -207,7 +207,11 @@ export default class I3SConverter {
207
207
  // console.log(tilesetJson); // eslint-disable-line
208
208
  this.sourceTileset = new Tileset3D(sourceTilesetJson, tilesetOptions);
209
209
 
210
- await this._createAndSaveTileset(outputPath, tilesetName);
210
+ await this._createAndSaveTileset(
211
+ outputPath,
212
+ tilesetName,
213
+ sourceTilesetJson?.root?.boundingVolume?.region
214
+ );
211
215
  await this._finishConversion({slpk: Boolean(slpk), outputPath, tilesetName});
212
216
  return sourceTilesetJson;
213
217
  } catch (error) {
@@ -224,7 +228,11 @@ export default class I3SConverter {
224
228
  * @param outputPath - path to save output data
225
229
  * @param tilesetName - new tileset path
226
230
  */
227
- private async _createAndSaveTileset(outputPath: string, tilesetName: string): Promise<void> {
231
+ private async _createAndSaveTileset(
232
+ outputPath: string,
233
+ tilesetName: string,
234
+ boundingVolumeRegion?: number[]
235
+ ): Promise<void> {
228
236
  const tilesetPath = join(`${outputPath}`, `${tilesetName}`);
229
237
  // Removing the tilesetPath needed to exclude erroneous files after conversion
230
238
  try {
@@ -235,7 +243,7 @@ export default class I3SConverter {
235
243
 
236
244
  this.layers0Path = join(tilesetPath, 'SceneServer', 'layers', '0');
237
245
 
238
- this._formLayers0(tilesetName);
246
+ this._formLayers0(tilesetName, boundingVolumeRegion);
239
247
 
240
248
  this.materialDefinitions = [];
241
249
  this.materialMap = new Map();
@@ -275,10 +283,14 @@ export default class I3SConverter {
275
283
  * Form object of 3DSceneLayer https://github.com/Esri/i3s-spec/blob/master/docs/1.7/3DSceneLayer.cmn.md
276
284
  * @param tilesetName - Name of layer
277
285
  */
278
- private _formLayers0(tilesetName: string): void {
286
+ private _formLayers0(tilesetName: string, boundingVolumeRegion?: number[]): void {
279
287
  const fullExtent = convertBoundingVolumeToI3SFullExtent(
280
288
  this.sourceTileset?.boundingVolume || this.sourceTileset?.root?.boundingVolume
281
289
  );
290
+ if (boundingVolumeRegion) {
291
+ fullExtent.zmin = boundingVolumeRegion[4];
292
+ fullExtent.zmax = boundingVolumeRegion[5];
293
+ }
282
294
  const extent = [fullExtent.xmin, fullExtent.ymin, fullExtent.xmax, fullExtent.ymax];
283
295
  const layers0data = {
284
296
  version: `{${uuidv4().toUpperCase()}}`,
@@ -627,9 +639,7 @@ export default class I3SConverter {
627
639
  parentId: number,
628
640
  level: number
629
641
  ): Promise<Node3DIndexDocument[]> {
630
- if (this.validate) {
631
- this._checkAddRefinementTypeForTile(sourceTile);
632
- }
642
+ this._checkAddRefinementTypeForTile(sourceTile);
633
643
 
634
644
  await this._updateTilesetOptions();
635
645
  await this.sourceTileset!._loadTile(sourceTile);
package/src/pgm-loader.ts CHANGED
@@ -1,11 +1,10 @@
1
1
  import type {LoaderWithParser} from '@loaders.gl/loader-utils';
2
+ import {parsePGM} from '@math.gl/geoid';
2
3
 
3
4
  // __VERSION__ is injected by babel-plugin-version-inline
4
5
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
5
6
  const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
6
7
 
7
- import {parsePGM} from '@math.gl/geoid';
8
-
9
8
  /**
10
9
  * Loader for PGM - Netpbm grayscale image format
11
10
  */
@@ -15,6 +14,7 @@ export const PGMLoader: LoaderWithParser = {
15
14
  module: 'tile-converter',
16
15
  version: VERSION,
17
16
  mimeTypes: ['image/x-portable-graymap'],
17
+ // @ts-expect-error LoaderOptions does not have cubic parameter
18
18
  parse: async (arrayBuffer, options) => parsePGM(new Uint8Array(arrayBuffer), options),
19
19
  extensions: ['pgm'],
20
20
  options: {