@loaders.gl/tile-converter 3.1.0-beta.7 → 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.
Files changed (153) hide show
  1. package/dist/bundle.js +1267 -1174
  2. package/dist/converter.min.js +20 -20
  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 +15 -13
  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,25 +1,29 @@
1
1
  import transform from 'json-map-transform';
2
- const COORDINATES = {
2
+
3
+ const COORDINATES = () => ({
3
4
  mbs: {
4
5
  path: 'mbs'
5
6
  },
6
7
  obb: {
7
8
  path: 'obb'
8
9
  }
9
- };
10
- const _href = {
10
+ });
11
+
12
+ const HREF = () => ({
11
13
  href: {
12
14
  path: 'href'
13
15
  }
14
- };
15
- const PARENT_NODE = {
16
+ });
17
+
18
+ const PARENT_NODE = () => ({
16
19
  id: {
17
20
  path: 'id'
18
21
  },
19
- ..._href,
20
- ...COORDINATES
21
- };
22
- export const NODE = {
22
+ ...HREF(),
23
+ ...COORDINATES()
24
+ });
25
+
26
+ export const NODE = () => ({
23
27
  version: {
24
28
  path: 'version'
25
29
  },
@@ -32,7 +36,7 @@ export const NODE = {
32
36
  level: {
33
37
  path: 'level'
34
38
  },
35
- ...COORDINATES,
39
+ ...COORDINATES(),
36
40
  lodSelection: {
37
41
  path: 'lodSelection',
38
42
  default: [{
@@ -53,7 +57,7 @@ export const NODE = {
53
57
  },
54
58
  parentNode: {
55
59
  path: 'parentNode',
56
- transform: val => transform(val, PARENT_NODE),
60
+ transform: val => transform(val, PARENT_NODE()),
57
61
  default: null
58
62
  },
59
63
  sharedResource: {
@@ -76,5 +80,5 @@ export const NODE = {
76
80
  path: 'attributeData',
77
81
  default: null
78
82
  }
79
- };
83
+ });
80
84
  //# sourceMappingURL=node.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/i3s-converter/json-templates/node.js"],"names":["transform","COORDINATES","mbs","path","obb","_href","href","PARENT_NODE","id","NODE","version","level","lodSelection","default","metricType","maxError","children","neighbors","parentNode","val","sharedResource","featureData","geometryData","textureData","attributeData"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,oBAAtB;AAEA,MAAMC,WAAW,GAAG;AAClBC,EAAAA,GAAG,EAAE;AACHC,IAAAA,IAAI,EAAE;AADH,GADa;AAIlBC,EAAAA,GAAG,EAAE;AACHD,IAAAA,IAAI,EAAE;AADH;AAJa,CAApB;AASA,MAAME,KAAK,GAAG;AACZC,EAAAA,IAAI,EAAE;AACJH,IAAAA,IAAI,EAAE;AADF;AADM,CAAd;AAMA,MAAMI,WAAW,GAAG;AAClBC,EAAAA,EAAE,EAAE;AACFL,IAAAA,IAAI,EAAE;AADJ,GADc;AAIlB,KAAGE,KAJe;AAKlB,KAAGJ;AALe,CAApB;AAQA,OAAO,MAAMQ,IAAI,GAAG;AAClBC,EAAAA,OAAO,EAAE;AACPP,IAAAA,IAAI,EAAE;AADC,GADS;AAIlBK,EAAAA,EAAE,EAAE;AACFL,IAAAA,IAAI,EAAE;AADJ,GAJc;AAOlBA,EAAAA,IAAI,EAAE;AACJA,IAAAA,IAAI,EAAE;AADF,GAPY;AAUlBQ,EAAAA,KAAK,EAAE;AACLR,IAAAA,IAAI,EAAE;AADD,GAVW;AAalB,KAAGF,WAbe;AAclBW,EAAAA,YAAY,EAAE;AACZT,IAAAA,IAAI,EAAE,cADM;AAEZU,IAAAA,OAAO,EAAE,CACP;AACEC,MAAAA,UAAU,EAAE,sBADd;AAEEC,MAAAA,QAAQ,EAAE;AAFZ,KADO,EAKP;AACED,MAAAA,UAAU,EAAE,oBADd;AAEEC,MAAAA,QAAQ,EAAE;AAFZ,KALO;AAFG,GAdI;AA2BlBC,EAAAA,QAAQ,EAAE;AACRb,IAAAA,IAAI,EAAE,UADE;AAERU,IAAAA,OAAO,EAAE;AAFD,GA3BQ;AA+BlBI,EAAAA,SAAS,EAAE;AACTd,IAAAA,IAAI,EAAE,WADG;AAETU,IAAAA,OAAO,EAAE;AAFA,GA/BO;AAmClBK,EAAAA,UAAU,EAAE;AACVf,IAAAA,IAAI,EAAE,YADI;AAEVH,IAAAA,SAAS,EAAGmB,GAAD,IAASnB,SAAS,CAACmB,GAAD,EAAMZ,WAAN,CAFnB;AAGVM,IAAAA,OAAO,EAAE;AAHC,GAnCM;AAwClBO,EAAAA,cAAc,EAAE;AACdjB,IAAAA,IAAI,EAAE,gBADQ;AAEdU,IAAAA,OAAO,EAAE;AAFK,GAxCE;AA4ClBQ,EAAAA,WAAW,EAAE;AACXlB,IAAAA,IAAI,EAAE,aADK;AAEXU,IAAAA,OAAO,EAAE;AAFE,GA5CK;AAgDlBS,EAAAA,YAAY,EAAE;AACZnB,IAAAA,IAAI,EAAE,cADM;AAEZU,IAAAA,OAAO,EAAE;AAFG,GAhDI;AAoDlBU,EAAAA,WAAW,EAAE;AACXpB,IAAAA,IAAI,EAAE,aADK;AAEXU,IAAAA,OAAO,EAAE;AAFE,GApDK;AAwDlBW,EAAAA,aAAa,EAAE;AACbrB,IAAAA,IAAI,EAAE,eADO;AAEbU,IAAAA,OAAO,EAAE;AAFI;AAxDG,CAAb","sourcesContent":["import transform from 'json-map-transform';\n\nconst COORDINATES = {\n mbs: {\n path: 'mbs'\n },\n obb: {\n path: 'obb'\n }\n};\n\nconst _href = {\n href: {\n path: 'href'\n }\n};\n\nconst PARENT_NODE = {\n id: {\n path: 'id'\n },\n ..._href,\n ...COORDINATES\n};\n\nexport const NODE = {\n version: {\n path: 'version'\n },\n id: {\n path: 'id'\n },\n path: {\n path: 'path'\n },\n level: {\n path: 'level'\n },\n ...COORDINATES,\n lodSelection: {\n path: 'lodSelection',\n default: [\n {\n metricType: 'maxScreenThresholdSQ',\n maxError: 196349.54374999998\n },\n {\n metricType: 'maxScreenThreshold',\n maxError: 999.99999999999994\n }\n ]\n },\n children: {\n path: 'children',\n default: null\n },\n neighbors: {\n path: 'neighbors',\n default: null\n },\n parentNode: {\n path: 'parentNode',\n transform: (val) => transform(val, PARENT_NODE),\n default: null\n },\n sharedResource: {\n path: 'sharedResource',\n default: null\n },\n featureData: {\n path: 'featureData',\n default: null\n },\n geometryData: {\n path: 'geometryData',\n default: null\n },\n textureData: {\n path: 'textureData',\n default: null\n },\n attributeData: {\n path: 'attributeData',\n default: null\n }\n};\n"],"file":"node.js"}
1
+ {"version":3,"sources":["../../../../src/i3s-converter/json-templates/node.ts"],"names":["transform","COORDINATES","mbs","path","obb","HREF","href","PARENT_NODE","id","NODE","version","level","lodSelection","default","metricType","maxError","children","neighbors","parentNode","val","sharedResource","featureData","geometryData","textureData","attributeData"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,oBAAtB;;AAEA,MAAMC,WAAW,GAAG,OAAO;AACzBC,EAAAA,GAAG,EAAE;AACHC,IAAAA,IAAI,EAAE;AADH,GADoB;AAIzBC,EAAAA,GAAG,EAAE;AACHD,IAAAA,IAAI,EAAE;AADH;AAJoB,CAAP,CAApB;;AASA,MAAME,IAAI,GAAG,OAAO;AAClBC,EAAAA,IAAI,EAAE;AACJH,IAAAA,IAAI,EAAE;AADF;AADY,CAAP,CAAb;;AAMA,MAAMI,WAAW,GAAG,OAAO;AACzBC,EAAAA,EAAE,EAAE;AACFL,IAAAA,IAAI,EAAE;AADJ,GADqB;AAIzB,KAAGE,IAAI,EAJkB;AAKzB,KAAGJ,WAAW;AALW,CAAP,CAApB;;AAQA,OAAO,MAAMQ,IAAI,GAAG,OAAO;AACzBC,EAAAA,OAAO,EAAE;AACPP,IAAAA,IAAI,EAAE;AADC,GADgB;AAIzBK,EAAAA,EAAE,EAAE;AACFL,IAAAA,IAAI,EAAE;AADJ,GAJqB;AAOzBA,EAAAA,IAAI,EAAE;AACJA,IAAAA,IAAI,EAAE;AADF,GAPmB;AAUzBQ,EAAAA,KAAK,EAAE;AACLR,IAAAA,IAAI,EAAE;AADD,GAVkB;AAazB,KAAGF,WAAW,EAbW;AAczBW,EAAAA,YAAY,EAAE;AACZT,IAAAA,IAAI,EAAE,cADM;AAEZU,IAAAA,OAAO,EAAE,CACP;AACEC,MAAAA,UAAU,EAAE,sBADd;AAEEC,MAAAA,QAAQ,EAAE;AAFZ,KADO,EAKP;AACED,MAAAA,UAAU,EAAE,oBADd;AAEEC,MAAAA,QAAQ,EAAE;AAFZ,KALO;AAFG,GAdW;AA2BzBC,EAAAA,QAAQ,EAAE;AACRb,IAAAA,IAAI,EAAE,UADE;AAERU,IAAAA,OAAO,EAAE;AAFD,GA3Be;AA+BzBI,EAAAA,SAAS,EAAE;AACTd,IAAAA,IAAI,EAAE,WADG;AAETU,IAAAA,OAAO,EAAE;AAFA,GA/Bc;AAmCzBK,EAAAA,UAAU,EAAE;AACVf,IAAAA,IAAI,EAAE,YADI;AAEVH,IAAAA,SAAS,EAAGmB,GAAD,IAASnB,SAAS,CAACmB,GAAD,EAAMZ,WAAW,EAAjB,CAFnB;AAGVM,IAAAA,OAAO,EAAE;AAHC,GAnCa;AAwCzBO,EAAAA,cAAc,EAAE;AACdjB,IAAAA,IAAI,EAAE,gBADQ;AAEdU,IAAAA,OAAO,EAAE;AAFK,GAxCS;AA4CzBQ,EAAAA,WAAW,EAAE;AACXlB,IAAAA,IAAI,EAAE,aADK;AAEXU,IAAAA,OAAO,EAAE;AAFE,GA5CY;AAgDzBS,EAAAA,YAAY,EAAE;AACZnB,IAAAA,IAAI,EAAE,cADM;AAEZU,IAAAA,OAAO,EAAE;AAFG,GAhDW;AAoDzBU,EAAAA,WAAW,EAAE;AACXpB,IAAAA,IAAI,EAAE,aADK;AAEXU,IAAAA,OAAO,EAAE;AAFE,GApDY;AAwDzBW,EAAAA,aAAa,EAAE;AACbrB,IAAAA,IAAI,EAAE,eADO;AAEbU,IAAAA,OAAO,EAAE;AAFI;AAxDU,CAAP,CAAb","sourcesContent":["import transform from 'json-map-transform';\n\nconst COORDINATES = () => ({\n mbs: {\n path: 'mbs'\n },\n obb: {\n path: 'obb'\n }\n});\n\nconst HREF = () => ({\n href: {\n path: 'href'\n }\n});\n\nconst PARENT_NODE = () => ({\n id: {\n path: 'id'\n },\n ...HREF(),\n ...COORDINATES()\n});\n\nexport const NODE = () => ({\n version: {\n path: 'version'\n },\n id: {\n path: 'id'\n },\n path: {\n path: 'path'\n },\n level: {\n path: 'level'\n },\n ...COORDINATES(),\n lodSelection: {\n path: 'lodSelection',\n default: [\n {\n metricType: 'maxScreenThresholdSQ',\n maxError: 196349.54374999998\n },\n {\n metricType: 'maxScreenThreshold',\n maxError: 999.99999999999994\n }\n ]\n },\n children: {\n path: 'children',\n default: null\n },\n neighbors: {\n path: 'neighbors',\n default: null\n },\n parentNode: {\n path: 'parentNode',\n transform: (val) => transform(val, PARENT_NODE()),\n default: null\n },\n sharedResource: {\n path: 'sharedResource',\n default: null\n },\n featureData: {\n path: 'featureData',\n default: null\n },\n geometryData: {\n path: 'geometryData',\n default: null\n },\n textureData: {\n path: 'textureData',\n default: null\n },\n attributeData: {\n path: 'attributeData',\n default: null\n }\n});\n"],"file":"node.js"}
@@ -1,4 +1,4 @@
1
- export const SCENE_SERVER_TEMPLATE = {
1
+ export const SCENE_SERVER = () => ({
2
2
  serviceItemId: {
3
3
  path: 'serviceItemId'
4
4
  },
@@ -24,5 +24,5 @@ export const SCENE_SERVER_TEMPLATE = {
24
24
  path: 'layers0',
25
25
  transform: layers0 => [layers0]
26
26
  }
27
- };
27
+ });
28
28
  //# sourceMappingURL=scene-server.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/i3s-converter/json-templates/scene-server.js"],"names":["SCENE_SERVER_TEMPLATE","serviceItemId","path","serviceName","name","currentVersion","default","serviceVersion","supportedBindings","layers","transform","layers0"],"mappings":"AAAA,OAAO,MAAMA,qBAAqB,GAAG;AACnCC,EAAAA,aAAa,EAAE;AACbC,IAAAA,IAAI,EAAE;AADO,GADoB;AAInCC,EAAAA,WAAW,EAAE;AACXD,IAAAA,IAAI,EAAE;AADK,GAJsB;AAOnCE,EAAAA,IAAI,EAAE;AACJF,IAAAA,IAAI,EAAE;AADF,GAP6B;AAUnCG,EAAAA,cAAc,EAAE;AACdH,IAAAA,IAAI,EAAE,gBADQ;AAEdI,IAAAA,OAAO,EAAE;AAFK,GAVmB;AAcnCC,EAAAA,cAAc,EAAE;AACdL,IAAAA,IAAI,EAAE,gBADQ;AAEdI,IAAAA,OAAO,EAAE;AAFK,GAdmB;AAkBnCE,EAAAA,iBAAiB,EAAE;AACjBN,IAAAA,IAAI,EAAE,mBADW;AAEjBI,IAAAA,OAAO,EAAE,CAAC,MAAD;AAFQ,GAlBgB;AAsBnCG,EAAAA,MAAM,EAAE;AACNP,IAAAA,IAAI,EAAE,SADA;AAENQ,IAAAA,SAAS,EAAGC,OAAD,IAAa,CAACA,OAAD;AAFlB;AAtB2B,CAA9B","sourcesContent":["export const SCENE_SERVER_TEMPLATE = {\n serviceItemId: {\n path: 'serviceItemId'\n },\n serviceName: {\n path: 'layerName'\n },\n name: {\n path: 'layerName'\n },\n currentVersion: {\n path: 'currentVersion',\n default: 10.7\n },\n serviceVersion: {\n path: 'serviceVersion',\n default: '1.8'\n },\n supportedBindings: {\n path: 'supportedBindings',\n default: ['REST']\n },\n layers: {\n path: 'layers0',\n transform: (layers0) => [layers0]\n }\n};\n"],"file":"scene-server.js"}
1
+ {"version":3,"sources":["../../../../src/i3s-converter/json-templates/scene-server.ts"],"names":["SCENE_SERVER","serviceItemId","path","serviceName","name","currentVersion","default","serviceVersion","supportedBindings","layers","transform","layers0"],"mappings":"AAAA,OAAO,MAAMA,YAAY,GAAG,OAAO;AACjCC,EAAAA,aAAa,EAAE;AACbC,IAAAA,IAAI,EAAE;AADO,GADkB;AAIjCC,EAAAA,WAAW,EAAE;AACXD,IAAAA,IAAI,EAAE;AADK,GAJoB;AAOjCE,EAAAA,IAAI,EAAE;AACJF,IAAAA,IAAI,EAAE;AADF,GAP2B;AAUjCG,EAAAA,cAAc,EAAE;AACdH,IAAAA,IAAI,EAAE,gBADQ;AAEdI,IAAAA,OAAO,EAAE;AAFK,GAViB;AAcjCC,EAAAA,cAAc,EAAE;AACdL,IAAAA,IAAI,EAAE,gBADQ;AAEdI,IAAAA,OAAO,EAAE;AAFK,GAdiB;AAkBjCE,EAAAA,iBAAiB,EAAE;AACjBN,IAAAA,IAAI,EAAE,mBADW;AAEjBI,IAAAA,OAAO,EAAE,CAAC,MAAD;AAFQ,GAlBc;AAsBjCG,EAAAA,MAAM,EAAE;AACNP,IAAAA,IAAI,EAAE,SADA;AAENQ,IAAAA,SAAS,EAAGC,OAAD,IAAa,CAACA,OAAD;AAFlB;AAtByB,CAAP,CAArB","sourcesContent":["export const SCENE_SERVER = () => ({\n serviceItemId: {\n path: 'serviceItemId'\n },\n serviceName: {\n path: 'layerName'\n },\n name: {\n path: 'layerName'\n },\n currentVersion: {\n path: 'currentVersion',\n default: 10.7\n },\n serviceVersion: {\n path: 'serviceVersion',\n default: '1.8'\n },\n supportedBindings: {\n path: 'supportedBindings',\n default: ['REST']\n },\n layers: {\n path: 'layers0',\n transform: (layers0) => [layers0]\n }\n});\n"],"file":"scene-server.js"}
@@ -1,5 +1,6 @@
1
1
  import transform from 'json-map-transform';
2
- const MATERIAL_DEFINITION_INFO_PARAMS = {
2
+
3
+ const MATERIAL_DEFINITION_INFO_PARAMS = () => ({
3
4
  renderMode: {
4
5
  path: 'renderMode',
5
6
  default: 'solid'
@@ -36,8 +37,9 @@ const MATERIAL_DEFINITION_INFO_PARAMS = {
36
37
  path: 'vertexColors',
37
38
  default: true
38
39
  }
39
- };
40
- const MATERIAL_DEFINITION_INFO = {
40
+ });
41
+
42
+ const MATERIAL_DEFINITION_INFO = () => ({
41
43
  name: {
42
44
  path: 'name',
43
45
  default: 'standard'
@@ -48,10 +50,11 @@ const MATERIAL_DEFINITION_INFO = {
48
50
  },
49
51
  params: {
50
52
  path: 'params',
51
- transform: (val, thisObject, originalObject) => transform(originalObject, MATERIAL_DEFINITION_INFO_PARAMS)
53
+ transform: (val, thisObject, originalObject) => transform(originalObject, MATERIAL_DEFINITION_INFO_PARAMS())
52
54
  }
53
- };
54
- const TEXTURE_DEFINITION_IMAGE = {
55
+ });
56
+
57
+ const TEXTURE_DEFINITION_IMAGE = () => ({
55
58
  id: {
56
59
  path: 'id'
57
60
  },
@@ -65,8 +68,9 @@ const TEXTURE_DEFINITION_IMAGE = {
65
68
  length: {
66
69
  path: 'length'
67
70
  }
68
- };
69
- const TEXTURE_DEFINITION_INFO = {
71
+ });
72
+
73
+ const TEXTURE_DEFINITION_INFO = () => ({
70
74
  encoding: {
71
75
  path: 'encoding'
72
76
  },
@@ -88,10 +92,11 @@ const TEXTURE_DEFINITION_INFO = {
88
92
  },
89
93
  images: {
90
94
  path: 'images',
91
- transform: (val, thisObject, originalObject) => val.map(image => transform(image, TEXTURE_DEFINITION_IMAGE))
95
+ transform: (val, thisObject, originalObject) => val.map(image => transform(image, TEXTURE_DEFINITION_IMAGE()))
92
96
  }
93
- };
94
- export const SHARED_RESOURCES_TEMPLATE = {
97
+ });
98
+
99
+ export const SHARED_RESOURCES = () => ({
95
100
  materialDefinitions: {
96
101
  path: 'materialDefinitionInfos',
97
102
  transform: transfromMaterialDefinitions
@@ -100,13 +105,13 @@ export const SHARED_RESOURCES_TEMPLATE = {
100
105
  path: 'textureDefinitionInfos',
101
106
  transform: transfromTextureDefinitions
102
107
  }
103
- };
108
+ });
104
109
 
105
110
  function transfromMaterialDefinitions(materialDefinitionInfos, thisObject, originalObject) {
106
111
  const result = {};
107
112
 
108
113
  for (const [index, materialDefinitionInfo] of materialDefinitionInfos.entries()) {
109
- result["Mat".concat(originalObject.nodePath).concat(index)] = transform(materialDefinitionInfo, MATERIAL_DEFINITION_INFO);
114
+ result["Mat".concat(originalObject.nodePath).concat(index)] = transform(materialDefinitionInfo, MATERIAL_DEFINITION_INFO());
110
115
  }
111
116
 
112
117
  return result;
@@ -122,7 +127,7 @@ function transfromTextureDefinitions(textureDefinitionInfos, thisObject, origina
122
127
  for (const [index, textureDefinitionInfo] of textureDefinitionInfos.entries()) {
123
128
  const imageIndex = "".concat(originalObject.nodePath).concat(index);
124
129
  textureDefinitionInfo.imageIndex = imageIndex;
125
- result[imageIndex] = transform(textureDefinitionInfo, TEXTURE_DEFINITION_INFO);
130
+ result[imageIndex] = transform(textureDefinitionInfo, TEXTURE_DEFINITION_INFO());
126
131
  }
127
132
 
128
133
  return result;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/i3s-converter/json-templates/shared-resources.js"],"names":["transform","MATERIAL_DEFINITION_INFO_PARAMS","renderMode","path","default","shininess","reflectivity","ambient","diffuse","specular","useVertexColorAlpha","vertexRegions","vertexColors","MATERIAL_DEFINITION_INFO","name","type","params","val","thisObject","originalObject","TEXTURE_DEFINITION_IMAGE","id","size","href","length","TEXTURE_DEFINITION_INFO","encoding","wrap","atlas","uvSet","channels","images","map","image","SHARED_RESOURCES_TEMPLATE","materialDefinitions","transfromMaterialDefinitions","textureDefinitions","transfromTextureDefinitions","materialDefinitionInfos","result","index","materialDefinitionInfo","entries","nodePath","textureDefinitionInfos","textureDefinitionInfo","imageIndex"],"mappings":"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","sourcesContent":["import transform from 'json-map-transform';\n\nconst MATERIAL_DEFINITION_INFO_PARAMS = {\n renderMode: {\n path: 'renderMode',\n default: 'solid'\n },\n shininess: {\n path: 'shininess',\n default: 1\n },\n reflectivity: {\n path: 'reflectivity',\n default: 0\n },\n ambient: {\n path: 'ambient',\n default: [1, 1, 1, 1]\n },\n diffuse: {\n path: 'diffuse',\n default: [1, 1, 1, 1]\n },\n specular: {\n path: 'specular',\n default: [0, 0, 0, 0]\n },\n useVertexColorAlpha: {\n path: 'useVertexColorAlpha',\n default: false\n },\n vertexRegions: {\n path: 'vertexRegions',\n default: false\n },\n vertexColors: {\n path: 'vertexColors',\n default: true\n }\n};\n\nconst MATERIAL_DEFINITION_INFO = {\n name: {\n path: 'name',\n default: 'standard'\n },\n type: {\n path: 'type',\n default: 'standard'\n },\n params: {\n path: 'params',\n transform: (val, thisObject, originalObject) =>\n transform(originalObject, MATERIAL_DEFINITION_INFO_PARAMS)\n }\n};\n\nconst TEXTURE_DEFINITION_IMAGE = {\n id: {\n path: 'id'\n },\n size: {\n path: 'size'\n },\n href: {\n path: 'href',\n default: ['../textures/0']\n },\n length: {\n path: 'length'\n }\n};\n\nconst TEXTURE_DEFINITION_INFO = {\n encoding: {\n path: 'encoding'\n },\n wrap: {\n path: 'wrap',\n default: ['none']\n },\n atlas: {\n path: 'atlas',\n default: false\n },\n uvSet: {\n path: 'uvSet',\n default: 'uv0'\n },\n channels: {\n path: 'channels',\n default: 'rgb'\n },\n images: {\n path: 'images',\n transform: (val, thisObject, originalObject) =>\n val.map((image) => transform(image, TEXTURE_DEFINITION_IMAGE))\n }\n};\n\nexport const SHARED_RESOURCES_TEMPLATE = {\n materialDefinitions: {\n path: 'materialDefinitionInfos',\n transform: transfromMaterialDefinitions\n },\n textureDefinitions: {\n path: 'textureDefinitionInfos',\n transform: transfromTextureDefinitions\n }\n};\n\nfunction transfromMaterialDefinitions(materialDefinitionInfos, thisObject, originalObject) {\n const result = {};\n for (const [index, materialDefinitionInfo] of materialDefinitionInfos.entries()) {\n result[`Mat${originalObject.nodePath}${index}`] = transform(\n materialDefinitionInfo,\n MATERIAL_DEFINITION_INFO\n );\n }\n return result;\n}\n\nfunction transfromTextureDefinitions(textureDefinitionInfos, thisObject, originalObject) {\n if (!textureDefinitionInfos) {\n return null;\n }\n const result = {};\n for (const [index, textureDefinitionInfo] of textureDefinitionInfos.entries()) {\n const imageIndex = `${originalObject.nodePath}${index}`;\n textureDefinitionInfo.imageIndex = imageIndex;\n result[imageIndex] = transform(textureDefinitionInfo, TEXTURE_DEFINITION_INFO);\n }\n return result;\n}\n"],"file":"shared-resources.js"}
1
+ {"version":3,"sources":["../../../../src/i3s-converter/json-templates/shared-resources.ts"],"names":["transform","MATERIAL_DEFINITION_INFO_PARAMS","renderMode","path","default","shininess","reflectivity","ambient","diffuse","specular","useVertexColorAlpha","vertexRegions","vertexColors","MATERIAL_DEFINITION_INFO","name","type","params","val","thisObject","originalObject","TEXTURE_DEFINITION_IMAGE","id","size","href","length","TEXTURE_DEFINITION_INFO","encoding","wrap","atlas","uvSet","channels","images","map","image","SHARED_RESOURCES","materialDefinitions","transfromMaterialDefinitions","textureDefinitions","transfromTextureDefinitions","materialDefinitionInfos","result","index","materialDefinitionInfo","entries","nodePath","textureDefinitionInfos","textureDefinitionInfo","imageIndex"],"mappings":"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","sourcesContent":["import transform from 'json-map-transform';\n\nconst MATERIAL_DEFINITION_INFO_PARAMS = () => ({\n renderMode: {\n path: 'renderMode',\n default: 'solid'\n },\n shininess: {\n path: 'shininess',\n default: 1\n },\n reflectivity: {\n path: 'reflectivity',\n default: 0\n },\n ambient: {\n path: 'ambient',\n default: [1, 1, 1, 1]\n },\n diffuse: {\n path: 'diffuse',\n default: [1, 1, 1, 1]\n },\n specular: {\n path: 'specular',\n default: [0, 0, 0, 0]\n },\n useVertexColorAlpha: {\n path: 'useVertexColorAlpha',\n default: false\n },\n vertexRegions: {\n path: 'vertexRegions',\n default: false\n },\n vertexColors: {\n path: 'vertexColors',\n default: true\n }\n});\n\nconst MATERIAL_DEFINITION_INFO = () => ({\n name: {\n path: 'name',\n default: 'standard'\n },\n type: {\n path: 'type',\n default: 'standard'\n },\n params: {\n path: 'params',\n transform: (val, thisObject, originalObject) =>\n transform(originalObject, MATERIAL_DEFINITION_INFO_PARAMS())\n }\n});\n\nconst TEXTURE_DEFINITION_IMAGE = () => ({\n id: {\n path: 'id'\n },\n size: {\n path: 'size'\n },\n href: {\n path: 'href',\n default: ['../textures/0']\n },\n length: {\n path: 'length'\n }\n});\n\nconst TEXTURE_DEFINITION_INFO = () => ({\n encoding: {\n path: 'encoding'\n },\n wrap: {\n path: 'wrap',\n default: ['none']\n },\n atlas: {\n path: 'atlas',\n default: false\n },\n uvSet: {\n path: 'uvSet',\n default: 'uv0'\n },\n channels: {\n path: 'channels',\n default: 'rgb'\n },\n images: {\n path: 'images',\n transform: (val, thisObject, originalObject) =>\n val.map((image) => transform(image, TEXTURE_DEFINITION_IMAGE()))\n }\n});\n\nexport const SHARED_RESOURCES = () => ({\n materialDefinitions: {\n path: 'materialDefinitionInfos',\n transform: transfromMaterialDefinitions\n },\n textureDefinitions: {\n path: 'textureDefinitionInfos',\n transform: transfromTextureDefinitions\n }\n});\n\nfunction transfromMaterialDefinitions(materialDefinitionInfos, thisObject, originalObject) {\n const result = {};\n for (const [index, materialDefinitionInfo] of materialDefinitionInfos.entries()) {\n result[`Mat${originalObject.nodePath}${index}`] = transform(\n materialDefinitionInfo,\n MATERIAL_DEFINITION_INFO()\n );\n }\n return result;\n}\n\nfunction transfromTextureDefinitions(textureDefinitionInfos, thisObject, originalObject) {\n if (!textureDefinitionInfos) {\n return null;\n }\n const result = {};\n for (const [index, textureDefinitionInfo] of textureDefinitionInfos.entries()) {\n const imageIndex = `${originalObject.nodePath}${index}`;\n textureDefinitionInfo.imageIndex = imageIndex;\n result[imageIndex] = transform(textureDefinitionInfo, TEXTURE_DEFINITION_INFO());\n }\n return result;\n}\n"],"file":"shared-resources.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/i3s-converter/json-templates/store.js"],"names":["STORE","id","path","transform","val","toUpperCase","profile","default","version","resourcePattern","rootNode","extent","indexCRS","vertexCRS","normalReferenceFrame","attributeEncoding","textureEncoding","lodType","lodModel","defaultGeometrySchema","geometryType","header","property","type","topology","ordering","vertexAttributes","position","valueType","valuesPerElement","normal","uv0","color","featureAttributeOrder","featureAttributes","faceRange"],"mappings":"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","sourcesContent":["export const STORE = {\n id: {\n path: 'id',\n transform: (val) => val.toUpperCase()\n },\n profile: {\n path: 'profile',\n default: 'meshpyramids'\n },\n version: {\n path: 'version',\n default: '1.8'\n },\n resourcePattern: {\n path: 'resourcePattern',\n default: ['3dNodeIndexDocument', 'Attributes', 'SharedResource', 'Geometry']\n },\n rootNode: {\n path: 'rootNode',\n default: './nodes/root'\n },\n extent: {\n path: 'extent'\n },\n indexCRS: {\n path: 'indexCRS',\n default: 'http://www.opengis.net/def/crs/EPSG/0/4326'\n },\n vertexCRS: {\n path: 'vertexCRS',\n default: 'http://www.opengis.net/def/crs/EPSG/0/4326'\n },\n normalReferenceFrame: {\n path: 'normalReferenceFrame',\n default: 'east-north-up'\n },\n attributeEncoding: {\n path: 'attributeEncoding',\n default: 'application/octet-stream; version=1.6'\n },\n textureEncoding: {\n path: 'textureEncoding',\n default: ['image/jpeg', 'image/ktx2']\n },\n lodType: {\n path: 'lodType',\n default: 'MeshPyramid'\n },\n lodModel: {\n path: 'lodModel',\n default: 'node-switching'\n },\n defaultGeometrySchema: {\n path: 'defaultGeometrySchema',\n default: {\n geometryType: 'triangles',\n header: [\n {\n property: 'vertexCount',\n type: 'UInt32'\n },\n {\n property: 'featureCount',\n type: 'UInt32'\n }\n ],\n topology: 'PerAttributeArray',\n ordering: ['position', 'normal', 'uv0', 'color'],\n vertexAttributes: {\n position: {\n valueType: 'Float32',\n valuesPerElement: 3\n },\n normal: {\n valueType: 'Float32',\n valuesPerElement: 3\n },\n uv0: {\n valueType: 'Float32',\n valuesPerElement: 2\n },\n color: {\n valueType: 'UInt8',\n valuesPerElement: 4\n }\n },\n featureAttributeOrder: ['id', 'faceRange'],\n featureAttributes: {\n id: {\n valueType: 'UInt64',\n valuesPerElement: 1\n },\n faceRange: {\n valueType: 'UInt32',\n valuesPerElement: 2\n }\n }\n }\n }\n};\n"],"file":"store.js"}
1
+ {"version":3,"sources":["../../../../src/i3s-converter/json-templates/store.ts"],"names":["STORE","id","path","transform","val","toUpperCase","profile","default","version","resourcePattern","rootNode","extent","indexCRS","vertexCRS","normalReferenceFrame","attributeEncoding","textureEncoding","lodType","lodModel","defaultGeometrySchema","geometryType","header","property","type","topology","ordering","vertexAttributes","position","valueType","valuesPerElement","normal","uv0","color","featureAttributeOrder","featureAttributes","faceRange"],"mappings":"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","sourcesContent":["export const STORE = {\n id: {\n path: 'id',\n transform: (val) => val.toUpperCase()\n },\n profile: {\n path: 'profile',\n default: 'meshpyramids'\n },\n version: {\n path: 'version',\n default: '1.8'\n },\n resourcePattern: {\n path: 'resourcePattern',\n default: ['3dNodeIndexDocument', 'Attributes', 'SharedResource', 'Geometry']\n },\n rootNode: {\n path: 'rootNode',\n default: './nodes/root'\n },\n extent: {\n path: 'extent'\n },\n indexCRS: {\n path: 'indexCRS',\n default: 'http://www.opengis.net/def/crs/EPSG/0/4326'\n },\n vertexCRS: {\n path: 'vertexCRS',\n default: 'http://www.opengis.net/def/crs/EPSG/0/4326'\n },\n normalReferenceFrame: {\n path: 'normalReferenceFrame',\n default: 'east-north-up'\n },\n attributeEncoding: {\n path: 'attributeEncoding',\n default: 'application/octet-stream; version=1.6'\n },\n textureEncoding: {\n path: 'textureEncoding',\n default: ['image/jpeg', 'image/ktx2']\n },\n lodType: {\n path: 'lodType',\n default: 'MeshPyramid'\n },\n lodModel: {\n path: 'lodModel',\n default: 'node-switching'\n },\n defaultGeometrySchema: {\n path: 'defaultGeometrySchema',\n default: {\n geometryType: 'triangles',\n header: [\n {\n property: 'vertexCount',\n type: 'UInt32'\n },\n {\n property: 'featureCount',\n type: 'UInt32'\n }\n ],\n topology: 'PerAttributeArray',\n ordering: ['position', 'normal', 'uv0', 'color'],\n vertexAttributes: {\n position: {\n valueType: 'Float32',\n valuesPerElement: 3\n },\n normal: {\n valueType: 'Float32',\n valuesPerElement: 3\n },\n uv0: {\n valueType: 'Float32',\n valuesPerElement: 2\n },\n color: {\n valueType: 'UInt8',\n valuesPerElement: 4\n }\n },\n featureAttributeOrder: ['id', 'faceRange'],\n featureAttributes: {\n id: {\n valueType: 'UInt64',\n valuesPerElement: 1\n },\n faceRange: {\n valueType: 'UInt32',\n valuesPerElement: 2\n }\n }\n }\n }\n};\n"],"file":"store.js"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"types.js"}
@@ -1,12 +1,12 @@
1
- const VERSION = typeof "3.1.0-beta.7" !== 'undefined' ? "3.1.0-beta.7" : 'latest';
2
- import { parsePgm } from './lib/pgm-parser';
1
+ const VERSION = typeof "3.1.0" !== 'undefined' ? "3.1.0" : 'latest';
2
+ import { parsePGM } from '@math.gl/geoid';
3
3
  export const PGMLoader = {
4
4
  name: 'PGM - Netpbm grayscale image format',
5
5
  id: 'pgm',
6
6
  module: 'tile-converter',
7
7
  version: VERSION,
8
8
  mimeTypes: ['image/x-portable-graymap'],
9
- parse: (arrayBuffer, options) => parsePgm(new Uint8Array(arrayBuffer), options),
9
+ parse: async (arrayBuffer, options) => parsePGM(new Uint8Array(arrayBuffer), options),
10
10
  extensions: ['pgm'],
11
11
  options: {
12
12
  cubic: false
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/pgm-loader.ts"],"names":["VERSION","parsePgm","PGMLoader","name","id","module","version","mimeTypes","parse","arrayBuffer","options","Uint8Array","extensions","cubic"],"mappings":"AAIA,MAAMA,OAAO,GAAG,0BAAuB,WAAvB,oBAAmD,QAAnE;AAEA,SAAQC,QAAR,QAAuB,kBAAvB;AAKA,OAAO,MAAMC,SAA2B,GAAG;AACzCC,EAAAA,IAAI,EAAE,qCADmC;AAEzCC,EAAAA,EAAE,EAAE,KAFqC;AAGzCC,EAAAA,MAAM,EAAE,gBAHiC;AAIzCC,EAAAA,OAAO,EAAEN,OAJgC;AAKzCO,EAAAA,SAAS,EAAE,CAAC,0BAAD,CAL8B;AAMzCC,EAAAA,KAAK,EAAE,CAACC,WAAD,EAAcC,OAAd,KAA0BT,QAAQ,CAAC,IAAIU,UAAJ,CAAeF,WAAf,CAAD,EAA8BC,OAA9B,CANA;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","parsePGM","PGMLoader","name","id","module","version","mimeTypes","parse","arrayBuffer","options","Uint8Array","extensions","cubic"],"mappings":"AAIA,MAAMA,OAAO,GAAG,mBAAuB,WAAvB,aAAmD,QAAnE;AAEA,SAAQC,QAAR,QAAuB,gBAAvB;AAKA,OAAO,MAAMC,SAA2B,GAAG;AACzCC,EAAAA,IAAI,EAAE,qCADmC;AAEzCC,EAAAA,EAAE,EAAE,KAFqC;AAGzCC,EAAAA,MAAM,EAAE,gBAHiC;AAIzCC,EAAAA,OAAO,EAAEN,OAJgC;AAKzCO,EAAAA,SAAS,EAAE,CAAC,0BAAD,CAL8B;AAMzCC,EAAAA,KAAK,EAAE,OAAOC,WAAP,EAAoBC,OAApB,KAAgCT,QAAQ,CAAC,IAAIU,UAAJ,CAAeF,WAAf,CAAD,EAA8BC,OAA9B,CANN;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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/tile-converter",
3
- "version": "3.1.0-beta.7",
3
+ "version": "3.1.0",
4
4
  "description": "Converter",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -40,20 +40,22 @@
40
40
  "build-bin": "BABEL_ENV=es5 babel scripts --config-file ../../babel.config.js --out-dir dist/scripts"
41
41
  },
42
42
  "dependencies": {
43
- "@loaders.gl/3d-tiles": "3.1.0-beta.7",
44
- "@loaders.gl/crypto": "3.1.0-beta.7",
45
- "@loaders.gl/draco": "3.1.0-beta.7",
46
- "@loaders.gl/gltf": "3.1.0-beta.7",
47
- "@loaders.gl/i3s": "3.1.0-beta.7",
48
- "@loaders.gl/images": "3.1.0-beta.7",
49
- "@loaders.gl/loader-utils": "3.1.0-beta.7",
50
- "@loaders.gl/polyfills": "3.1.0-beta.7",
51
- "@loaders.gl/tiles": "3.1.0-beta.7",
52
- "@loaders.gl/worker-utils": "3.1.0-beta.7",
53
- "@loaders.gl/zip": "3.1.0-beta.7",
43
+ "@loaders.gl/3d-tiles": "3.1.0",
44
+ "@loaders.gl/crypto": "3.1.0",
45
+ "@loaders.gl/draco": "3.1.0",
46
+ "@loaders.gl/gltf": "3.1.0",
47
+ "@loaders.gl/i3s": "3.1.0",
48
+ "@loaders.gl/images": "3.1.0",
49
+ "@loaders.gl/loader-utils": "3.1.0",
50
+ "@loaders.gl/polyfills": "3.1.0",
51
+ "@loaders.gl/textures": "3.1.0",
52
+ "@loaders.gl/tiles": "3.1.0",
53
+ "@loaders.gl/worker-utils": "3.1.0",
54
+ "@loaders.gl/zip": "3.1.0",
54
55
  "@luma.gl/engine": "^8.5.4",
55
56
  "@math.gl/core": "^3.5.1",
56
57
  "@math.gl/culling": "^3.5.1",
58
+ "@math.gl/geoid": "^3.5.1",
57
59
  "@math.gl/geospatial": "^3.5.1",
58
60
  "archiver": "^5.0.0",
59
61
  "cors": "^2.8.5",
@@ -69,5 +71,5 @@
69
71
  "peerDependencies": {
70
72
  "@loaders.gl/core": "3.1.0-beta.1"
71
73
  },
72
- "gitHead": "f3b4d81ac02758398c4e4eef5e556b206ef2dfbe"
74
+ "gitHead": "b02a011b5a6d6aa6c5870819045c70db168cb930"
73
75
  }
@@ -7,6 +7,7 @@ import transform from 'json-map-transform';
7
7
  import {load} from '@loaders.gl/core';
8
8
  import {I3SLoader, I3SAttributeLoader, COORDINATE_SYSTEM} from '@loaders.gl/i3s';
9
9
  import {Tileset3D, Tile3D} from '@loaders.gl/tiles';
10
+ import {Geoid} from '@math.gl/geoid';
10
11
 
11
12
  import {PGMLoader} from '../pgm-loader';
12
13
  import {i3sObbTo3dTilesObb} from './helpers/i3s-obb-to-3d-tiles-obb';
@@ -16,7 +17,6 @@ import {calculateFilesSize, timeConverter} from '../lib/utils/statistic-utills';
16
17
  import {TILESET as tilesetTemplate} from './json-templates/tileset';
17
18
  import B3dmConverter from './helpers/b3dm-converter';
18
19
  import {createObbFromMbs} from '../i3s-converter/helpers/coordinate-converter';
19
- import {GeoidHeightModel} from '../lib/geoid-height-model';
20
20
 
21
21
  const I3S = 'I3S';
22
22
 
@@ -28,9 +28,9 @@ export default class Tiles3DConverter {
28
28
  tilesetPath: string;
29
29
  vertexCounter: number;
30
30
  conversionStartTime: [number, number];
31
- geoidHeightModel: GeoidHeightModel;
32
- sourceTileset: Tileset3D;
33
- attributeStorageInfo: AttributeStorageInfo;
31
+ geoidHeightModel: Geoid | null;
32
+ sourceTileset: Tileset3D | null;
33
+ attributeStorageInfo: AttributeStorageInfo | null;
34
34
 
35
35
  constructor() {
36
36
  this.options = {};
@@ -51,7 +51,7 @@ export default class Tiles3DConverter {
51
51
  * @param options.egmFilePath location of *.pgm file to convert heights from ellipsoidal to gravity-related format
52
52
  * @param options.maxDepth The max tree depth of conversion
53
53
  */
54
- private async convert(options: {
54
+ public async convert(options: {
55
55
  inputUrl: string;
56
56
  outputPath: string;
57
57
  tilesetName: string;
@@ -71,8 +71,9 @@ export default class Tiles3DConverter {
71
71
  loadOptions: {i3s: {coordinateSystem: COORDINATE_SYSTEM.LNGLAT_OFFSETS}}
72
72
  });
73
73
 
74
- if (!this.sourceTileset.root.header.obb) {
75
- this.sourceTileset.root.header.obb = createObbFromMbs(this.sourceTileset.root.header.mbs);
74
+ const rootNode = this.sourceTileset.root!;
75
+ if (!rootNode.header.obb) {
76
+ rootNode.header.obb = createObbFromMbs(rootNode.header.mbs);
76
77
  }
77
78
 
78
79
  this.tilesetPath = join(`${outputPath}`, `${tilesetName}`);
@@ -86,15 +87,15 @@ export default class Tiles3DConverter {
86
87
 
87
88
  const rootTile: Node3D = {
88
89
  boundingVolume: {
89
- box: i3sObbTo3dTilesObb(this.sourceTileset.root.header.obb, this.geoidHeightModel)
90
+ box: i3sObbTo3dTilesObb(rootNode.header.obb, this.geoidHeightModel)
90
91
  },
91
- geometricError: convertScreenThresholdToGeometricError(this.sourceTileset.root),
92
+ geometricError: convertScreenThresholdToGeometricError(rootNode),
92
93
  children: []
93
94
  };
94
95
 
95
- await this._addChildren(this.sourceTileset.root, rootTile, 1);
96
+ await this._addChildren(rootNode, rootTile, 1);
96
97
 
97
- const tileset = transform({root: rootTile}, tilesetTemplate);
98
+ const tileset = transform({root: rootTile}, tilesetTemplate());
98
99
  await writeFile(this.tilesetPath, JSON.stringify(tileset), 'tileset.json');
99
100
 
100
101
  this._finishConversion({slpk: false, outputPath, tilesetName});
@@ -118,10 +119,10 @@ export default class Tiles3DConverter {
118
119
  const sourceChild = await this._loadChildNode(parentSourceNode, childNodeInfo);
119
120
  parentSourceNode.children.push(sourceChild);
120
121
  if (sourceChild.contentUrl) {
121
- await this.sourceTileset._loadTile(sourceChild);
122
+ await this.sourceTileset!._loadTile(sourceChild);
122
123
  this.vertexCounter += sourceChild.content.vertexCount;
123
124
 
124
- let attributes = null;
125
+ let attributes: FeatureAttribute | null = null;
125
126
  if (this.attributeStorageInfo) {
126
127
  attributes = await this._loadChildAttributes(sourceChild, this.attributeStorageInfo);
127
128
  }
@@ -163,18 +164,18 @@ export default class Tiles3DConverter {
163
164
  */
164
165
  private async _loadChildNode(parentNode: Tile3D, childNodeInfo: NodeReference): Promise<Tile3D> {
165
166
  let header;
166
- if (this.sourceTileset.tileset.nodePages) {
167
+ if (this.sourceTileset!.tileset.nodePages) {
167
168
  console.log(`Node conversion: ${childNodeInfo.id}`); // eslint-disable-line no-console,no-undef
168
- header = await this.sourceTileset.tileset.nodePagesTile.formTileFromNodePages(
169
+ header = await this.sourceTileset!.tileset.nodePagesTile.formTileFromNodePages(
169
170
  childNodeInfo.id
170
171
  );
171
172
  } else {
172
- const {loader} = this.sourceTileset;
173
- const nodeUrl = this._relativeUrlToFullUrl(parentNode.url, childNodeInfo.href);
173
+ const {loader} = this.sourceTileset!;
174
+ const nodeUrl = this._relativeUrlToFullUrl(parentNode.url, childNodeInfo.href!);
174
175
  // load metadata
175
176
  const options = {
176
177
  i3s: {
177
- ...this.sourceTileset.loadOptions,
178
+ ...this.sourceTileset!.loadOptions,
178
179
  isTileHeader: true,
179
180
  loadContent: false
180
181
  }
@@ -183,7 +184,7 @@ export default class Tiles3DConverter {
183
184
  console.log(`Node conversion: ${nodeUrl}`); // eslint-disable-line no-console,no-undef
184
185
  header = await load(nodeUrl, loader, options);
185
186
  }
186
- return new Tile3D(this.sourceTileset, header, parentNode);
187
+ return new Tile3D(this.sourceTileset!, header, parentNode);
187
188
  }
188
189
 
189
190
  /**
@@ -218,7 +219,7 @@ export default class Tiles3DConverter {
218
219
  sourceChild: Tile3D,
219
220
  attributeStorageInfo: AttributeStorageInfo
220
221
  ): Promise<FeatureAttribute> {
221
- const promises = [];
222
+ const promises: any[] = [];
222
223
  const {attributeUrls} = sourceChild.header;
223
224
 
224
225
  for (let index = 0; index < attributeUrls.length; index++) {
@@ -9,8 +9,20 @@ import {convertTextureAtlas} from './texture-atlas';
9
9
  const Z_UP_TO_Y_UP_MATRIX = new Matrix4([1, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 1]);
10
10
  const scratchVector = new Vector3();
11
11
 
12
+ /**
13
+ * Converts content of an I3S node to *.b3dm's file content
14
+ */
12
15
  export default class B3dmConverter {
13
- async convert(i3sTile, attributes = null) {
16
+ // @ts-expect-error
17
+ rtcCenter: Float32Array;
18
+ i3sTile: any;
19
+
20
+ /**
21
+ * The starter of content conversion
22
+ * @param i3sTile - Tile3D instance for I3S node
23
+ * @returns - encoded content
24
+ */
25
+ async convert(i3sTile: Object, attributes: any = null): Promise<ArrayBuffer> {
14
26
  this.i3sTile = i3sTile;
15
27
  const gltf = await this.buildGltf(i3sTile);
16
28
  const b3dm = encodeSync(
@@ -25,7 +37,12 @@ export default class B3dmConverter {
25
37
  return b3dm;
26
38
  }
27
39
 
28
- async buildGltf(i3sTile) {
40
+ /**
41
+ * Build and encode gltf
42
+ * @param i3sTile - Tile3D instance for I3S node
43
+ * @returns - encoded glb content
44
+ */
45
+ async buildGltf(i3sTile): Promise<ArrayBuffer> {
29
46
  const {
30
47
  material,
31
48
  attributes,
@@ -1,8 +1,23 @@
1
1
  import {Vector3} from '@math.gl/core';
2
2
  import {Ellipsoid} from '@math.gl/geospatial';
3
3
  import {OrientedBoundingBox} from '@math.gl/culling';
4
+ // @ts-expect-error
5
+ import {GeoidHeightModel} from '@loaders.gl/tile-converter/lib/geoid-height-model';
4
6
 
5
- export function i3sObbTo3dTilesObb(i3SObb, geoidHeightModel) {
7
+ /**
8
+ * Convert quaternion-based OBB to half-axes-based OBB
9
+ * @param i3SObb quaternion based OBB
10
+ * @param geoidHeightModel the Earth Gravity Model instance
11
+ * @returns number[12] 3DTiles OBB https://github.com/CesiumGS/3d-tiles/tree/master/specification#box
12
+ */
13
+ export function i3sObbTo3dTilesObb(
14
+ i3SObb: {
15
+ center: number[];
16
+ halfSize: number[];
17
+ quaternion: number[];
18
+ },
19
+ geoidHeightModel: GeoidHeightModel
20
+ ): number[] {
6
21
  const tiles3DCenter = [
7
22
  i3SObb.center[0],
8
23
  i3SObb.center[1],
@@ -13,7 +13,7 @@ export function convertTextureAtlas(texCoords: Float32Array, uvRegions: Uint16Ar
13
13
  const uv = texCoords.subarray(index, index + 2);
14
14
  const regions = normalisedRegions.slice(index * 2, index * 2 + 4);
15
15
  // fract(texCoords)
16
- const fractatedUV = fract(uv);
16
+ const fractatedUV = fract([uv[0], uv[1]]);
17
17
  // (uvRegions.zw - uvRegions.xy)
18
18
  const subtracted = [regions[2] - regions[0], regions[3] - regions[1]];
19
19
  // fract(texCoords) * (uvRegions.zw - uvRegions.xy)
@@ -35,7 +35,7 @@ export function convertTextureAtlas(texCoords: Float32Array, uvRegions: Uint16Ar
35
35
  * Do fractation of UV array.
36
36
  * @param uv
37
37
  */
38
- function fract(uv: number[2]): number[2] {
38
+ function fract(uv: [number, number]): [number, number] {
39
39
  return [uv[0] - Math.floor(uv[0]), uv[1] - Math.floor(uv[1])];
40
40
  }
41
41
 
@@ -43,9 +43,9 @@ function fract(uv: number[2]): number[2] {
43
43
  * Normalize uvRegions by dividing by the maximum Uint16 value
44
44
  * @param regions
45
45
  */
46
- function normalizeRegions(regions: Uint16Array): number[4] {
46
+ function normalizeRegions(regions: Uint16Array): number[] {
47
47
  const MAX_UINT_16_VALUE = 65535;
48
- const normalizedRegions = [];
48
+ const normalizedRegions: number[] = [];
49
49
 
50
50
  for (let index = 0; index < regions.length; index++) {
51
51
  normalizedRegions[index] = regions[index] / MAX_UINT_16_VALUE;
@@ -1,13 +1,13 @@
1
1
  import transform from 'json-map-transform';
2
2
 
3
- const ASSET = {
3
+ const ASSET = () => ({
4
4
  version: {
5
5
  path: 'version',
6
6
  default: '1.0'
7
7
  }
8
- };
8
+ });
9
9
 
10
- const TILE = {
10
+ const TILE = () => ({
11
11
  boundingVolume: {
12
12
  path: 'boundingVolume'
13
13
  },
@@ -19,14 +19,14 @@ const TILE = {
19
19
  },
20
20
  children: {
21
21
  path: 'children',
22
- transform: (val) => val.map((tile) => transform(tile, TILE))
22
+ transform: (val) => val.map((tile) => transform(tile, TILE()))
23
23
  }
24
- };
24
+ });
25
25
 
26
- export const TILESET = {
26
+ export const TILESET = () => ({
27
27
  asset: {
28
28
  path: 'asset',
29
- transform: (val) => transform(val, ASSET)
29
+ transform: (val) => transform(val, ASSET())
30
30
  },
31
31
  geometricError: {
32
32
  path: 'root',
@@ -34,6 +34,6 @@ export const TILESET = {
34
34
  },
35
35
  root: {
36
36
  path: 'root',
37
- transform: (val) => transform(val, TILE)
37
+ transform: (val) => transform(val, TILE())
38
38
  }
39
- };
39
+ });
@@ -3,12 +3,12 @@ import {ZipLoader} from '@loaders.gl/zip';
3
3
  import {writeFile} from '../lib/utils/file-utils';
4
4
  import {join} from 'path';
5
5
 
6
- const PGM_LINK = 'https://github.com/visgl/deck.gl-data/raw/master/egm/egm2008-5.zip';
6
+ const PGM_LINK = 'https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip';
7
7
 
8
8
  export class DepsInstaller {
9
9
  async install(path = '') {
10
10
  console.log('Installing "EGM2008-5" model...'); // eslint-disable-line no-console
11
- const fileMap = await load(PGM_LINK, ZipLoader, {fetch: {followRedirect: true}});
11
+ const fileMap = await load(PGM_LINK, ZipLoader, {});
12
12
 
13
13
  let depsPath = process.cwd();
14
14
  if (path) {