@loaders.gl/tile-converter 4.2.0-alpha.4 → 4.2.0-alpha.6

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 (192) hide show
  1. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts +4 -4
  2. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -1
  3. package/dist/3d-tiles-converter/3d-tiles-converter.js +349 -293
  4. package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts.map +1 -1
  5. package/dist/3d-tiles-converter/helpers/b3dm-converter.js +261 -200
  6. package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +14 -5
  7. package/dist/3d-tiles-converter/helpers/load-i3s.d.ts.map +1 -1
  8. package/dist/3d-tiles-converter/helpers/load-i3s.js +83 -77
  9. package/dist/3d-tiles-converter/helpers/texture-atlas.js +44 -21
  10. package/dist/3d-tiles-converter/json-templates/tileset.js +32 -33
  11. package/dist/constants.js +0 -1
  12. package/dist/converter-cli.js +257 -234
  13. package/dist/converter.min.cjs +95 -105
  14. package/dist/deps-installer/deps-installer.d.ts.map +1 -1
  15. package/dist/deps-installer/deps-installer.js +78 -59
  16. package/dist/i3s-converter/helpers/attribute-metadata-info.js +210 -153
  17. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts +1 -1
  18. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts.map +1 -1
  19. package/dist/i3s-converter/helpers/batch-ids-extensions.js +146 -103
  20. package/dist/i3s-converter/helpers/coordinate-converter.js +100 -65
  21. package/dist/i3s-converter/helpers/create-scene-server-path.js +14 -9
  22. package/dist/i3s-converter/helpers/feature-attributes.d.ts.map +1 -1
  23. package/dist/i3s-converter/helpers/feature-attributes.js +170 -105
  24. package/dist/i3s-converter/helpers/geometry-attributes.d.ts +1 -1
  25. package/dist/i3s-converter/helpers/geometry-attributes.d.ts.map +1 -1
  26. package/dist/i3s-converter/helpers/geometry-attributes.js +205 -212
  27. package/dist/i3s-converter/helpers/geometry-converter.d.ts +17 -3
  28. package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -1
  29. package/dist/i3s-converter/helpers/geometry-converter.js +1189 -830
  30. package/dist/i3s-converter/helpers/gltf-attributes.d.ts +1 -1
  31. package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -1
  32. package/dist/i3s-converter/helpers/gltf-attributes.js +109 -97
  33. package/dist/i3s-converter/helpers/load-3d-tiles.js +103 -66
  34. package/dist/i3s-converter/helpers/node-debug.js +98 -54
  35. package/dist/i3s-converter/helpers/node-index-document.d.ts +11 -4
  36. package/dist/i3s-converter/helpers/node-index-document.d.ts.map +1 -1
  37. package/dist/i3s-converter/helpers/node-index-document.js +255 -177
  38. package/dist/i3s-converter/helpers/node-pages.d.ts +1 -1
  39. package/dist/i3s-converter/helpers/node-pages.d.ts.map +1 -1
  40. package/dist/i3s-converter/helpers/node-pages.js +299 -193
  41. package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts +1 -1
  42. package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts.map +1 -1
  43. package/dist/i3s-converter/helpers/preprocess-3d-tiles.js +92 -60
  44. package/dist/i3s-converter/helpers/progress.d.ts.map +1 -1
  45. package/dist/i3s-converter/helpers/progress.js +139 -83
  46. package/dist/i3s-converter/helpers/tileset-traversal.d.ts +9 -2
  47. package/dist/i3s-converter/helpers/tileset-traversal.d.ts.map +1 -1
  48. package/dist/i3s-converter/helpers/tileset-traversal.js +33 -13
  49. package/dist/i3s-converter/i3s-converter.d.ts +7 -7
  50. package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
  51. package/dist/i3s-converter/i3s-converter.js +1165 -895
  52. package/dist/i3s-converter/json-templates/geometry-definitions.js +70 -79
  53. package/dist/i3s-converter/json-templates/layers.js +120 -121
  54. package/dist/i3s-converter/json-templates/metadata.js +19 -20
  55. package/dist/i3s-converter/json-templates/node.js +73 -71
  56. package/dist/i3s-converter/json-templates/scene-server.js +25 -26
  57. package/dist/i3s-converter/json-templates/shared-resources.js +107 -108
  58. package/dist/i3s-converter/json-templates/store.js +96 -94
  59. package/dist/i3s-converter/types.js +35 -23
  60. package/dist/i3s-server/app.js +15 -12
  61. package/dist/i3s-server/bin/i3s-server.min.cjs +69 -69
  62. package/dist/i3s-server/bin/www.js +16 -7
  63. package/dist/i3s-server/controllers/index-controller.js +18 -15
  64. package/dist/i3s-server/controllers/slpk-controller.d.ts.map +1 -1
  65. package/dist/i3s-server/controllers/slpk-controller.js +24 -11
  66. package/dist/i3s-server/routes/index.js +13 -9
  67. package/dist/i3s-server/routes/slpk-router.d.ts.map +1 -1
  68. package/dist/i3s-server/routes/slpk-router.js +26 -19
  69. package/dist/i3s-server/utils/create-scene-server.js +15 -10
  70. package/dist/i3s-server/utils/server-utils.d.ts.map +1 -1
  71. package/dist/i3s-server/utils/server-utils.js +52 -32
  72. package/dist/index.cjs +616 -967
  73. package/dist/index.cjs.map +7 -0
  74. package/dist/index.d.ts +2 -2
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +0 -1
  77. package/dist/lib/json-schemas/conversion-dump-json-schema.js +243 -421
  78. package/dist/lib/utils/cli-utils.d.ts.map +1 -1
  79. package/dist/lib/utils/cli-utils.js +65 -36
  80. package/dist/lib/utils/compress-util.js +20 -15
  81. package/dist/lib/utils/conversion-dump.d.ts +10 -2
  82. package/dist/lib/utils/conversion-dump.d.ts.map +1 -1
  83. package/dist/lib/utils/conversion-dump.js +242 -197
  84. package/dist/lib/utils/file-utils.d.ts +1 -1
  85. package/dist/lib/utils/file-utils.d.ts.map +1 -1
  86. package/dist/lib/utils/file-utils.js +120 -74
  87. package/dist/lib/utils/geometry-utils.js +13 -7
  88. package/dist/lib/utils/lod-conversion-utils.js +65 -33
  89. package/dist/lib/utils/queue.js +12 -13
  90. package/dist/lib/utils/statistic-utills.d.ts +6 -23
  91. package/dist/lib/utils/statistic-utills.d.ts.map +1 -1
  92. package/dist/lib/utils/statistic-utills.js +58 -55
  93. package/dist/lib/utils/write-queue.d.ts +2 -2
  94. package/dist/lib/utils/write-queue.d.ts.map +1 -1
  95. package/dist/lib/utils/write-queue.js +72 -86
  96. package/dist/pgm-loader.js +17 -13
  97. package/dist/slpk-extractor/slpk-extractor.d.ts.map +1 -1
  98. package/dist/slpk-extractor/slpk-extractor.js +60 -50
  99. package/dist/slpk-extractor-cli.d.ts.map +1 -1
  100. package/dist/slpk-extractor-cli.js +90 -59
  101. package/dist/slpk-extractor.min.cjs +1 -1
  102. package/package.json +27 -26
  103. package/src/3d-tiles-converter/3d-tiles-converter.ts +21 -10
  104. package/src/3d-tiles-converter/helpers/b3dm-converter.ts +1 -0
  105. package/src/3d-tiles-converter/helpers/load-i3s.ts +3 -27
  106. package/src/converter-cli.ts +4 -2
  107. package/src/deps-installer/deps-installer.ts +7 -0
  108. package/src/i3s-converter/helpers/attribute-metadata-info.ts +1 -1
  109. package/src/i3s-converter/helpers/batch-ids-extensions.ts +3 -1
  110. package/src/i3s-converter/helpers/coordinate-converter.ts +2 -2
  111. package/src/i3s-converter/helpers/feature-attributes.ts +5 -2
  112. package/src/i3s-converter/helpers/geometry-attributes.ts +6 -5
  113. package/src/i3s-converter/helpers/geometry-converter.ts +118 -72
  114. package/src/i3s-converter/helpers/gltf-attributes.ts +12 -13
  115. package/src/i3s-converter/helpers/node-index-document.ts +18 -10
  116. package/src/i3s-converter/helpers/node-pages.ts +27 -29
  117. package/src/i3s-converter/helpers/preprocess-3d-tiles.ts +1 -0
  118. package/src/i3s-converter/helpers/progress.ts +1 -0
  119. package/src/i3s-converter/helpers/tileset-traversal.ts +22 -13
  120. package/src/i3s-converter/i3s-converter.ts +173 -114
  121. package/src/i3s-converter/json-templates/node.ts +1 -1
  122. package/src/i3s-server/bin/www.ts +6 -4
  123. package/src/i3s-server/controllers/slpk-controller.ts +4 -2
  124. package/src/i3s-server/routes/index.ts +10 -7
  125. package/src/i3s-server/routes/slpk-router.ts +22 -16
  126. package/src/i3s-server/utils/server-utils.ts +6 -4
  127. package/src/lib/utils/cli-utils.ts +2 -0
  128. package/src/lib/utils/conversion-dump.ts +35 -20
  129. package/src/lib/utils/file-utils.ts +11 -11
  130. package/src/lib/utils/statistic-utills.ts +5 -6
  131. package/src/lib/utils/write-queue.ts +2 -2
  132. package/src/slpk-extractor/slpk-extractor.ts +2 -1
  133. package/src/slpk-extractor-cli.ts +16 -8
  134. package/dist/3d-tiles-converter/3d-tiles-converter.js.map +0 -1
  135. package/dist/3d-tiles-converter/helpers/b3dm-converter.js.map +0 -1
  136. package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +0 -1
  137. package/dist/3d-tiles-converter/helpers/load-i3s.js.map +0 -1
  138. package/dist/3d-tiles-converter/helpers/texture-atlas.js.map +0 -1
  139. package/dist/3d-tiles-converter/json-templates/tileset.js.map +0 -1
  140. package/dist/constants.js.map +0 -1
  141. package/dist/converter-cli.js.map +0 -1
  142. package/dist/deps-installer/deps-installer.js.map +0 -1
  143. package/dist/i3s-converter/helpers/attribute-metadata-info.js.map +0 -1
  144. package/dist/i3s-converter/helpers/batch-ids-extensions.js.map +0 -1
  145. package/dist/i3s-converter/helpers/coordinate-converter.js.map +0 -1
  146. package/dist/i3s-converter/helpers/create-scene-server-path.js.map +0 -1
  147. package/dist/i3s-converter/helpers/feature-attributes.js.map +0 -1
  148. package/dist/i3s-converter/helpers/geometry-attributes.js.map +0 -1
  149. package/dist/i3s-converter/helpers/geometry-converter.js.map +0 -1
  150. package/dist/i3s-converter/helpers/gltf-attributes.js.map +0 -1
  151. package/dist/i3s-converter/helpers/load-3d-tiles.js.map +0 -1
  152. package/dist/i3s-converter/helpers/node-debug.js.map +0 -1
  153. package/dist/i3s-converter/helpers/node-index-document.js.map +0 -1
  154. package/dist/i3s-converter/helpers/node-pages.js.map +0 -1
  155. package/dist/i3s-converter/helpers/preprocess-3d-tiles.js.map +0 -1
  156. package/dist/i3s-converter/helpers/progress.js.map +0 -1
  157. package/dist/i3s-converter/helpers/tileset-traversal.js.map +0 -1
  158. package/dist/i3s-converter/i3s-converter.js.map +0 -1
  159. package/dist/i3s-converter/json-templates/geometry-definitions.js.map +0 -1
  160. package/dist/i3s-converter/json-templates/layers.js.map +0 -1
  161. package/dist/i3s-converter/json-templates/metadata.js.map +0 -1
  162. package/dist/i3s-converter/json-templates/node.js.map +0 -1
  163. package/dist/i3s-converter/json-templates/scene-server.js.map +0 -1
  164. package/dist/i3s-converter/json-templates/shared-resources.js.map +0 -1
  165. package/dist/i3s-converter/json-templates/store.js.map +0 -1
  166. package/dist/i3s-converter/types.js.map +0 -1
  167. package/dist/i3s-server/README.md +0 -63
  168. package/dist/i3s-server/app.js.map +0 -1
  169. package/dist/i3s-server/bin/www.js.map +0 -1
  170. package/dist/i3s-server/certs/cert.pem +0 -19
  171. package/dist/i3s-server/certs/key.pem +0 -27
  172. package/dist/i3s-server/controllers/index-controller.js.map +0 -1
  173. package/dist/i3s-server/controllers/slpk-controller.js.map +0 -1
  174. package/dist/i3s-server/routes/index.js.map +0 -1
  175. package/dist/i3s-server/routes/slpk-router.js.map +0 -1
  176. package/dist/i3s-server/utils/create-scene-server.js.map +0 -1
  177. package/dist/i3s-server/utils/server-utils.js.map +0 -1
  178. package/dist/index.js.map +0 -1
  179. package/dist/lib/json-schemas/conversion-dump-json-schema.js.map +0 -1
  180. package/dist/lib/utils/cli-utils.js.map +0 -1
  181. package/dist/lib/utils/compress-util.js.map +0 -1
  182. package/dist/lib/utils/conversion-dump.js.map +0 -1
  183. package/dist/lib/utils/file-utils.js.map +0 -1
  184. package/dist/lib/utils/geometry-utils.js.map +0 -1
  185. package/dist/lib/utils/lod-conversion-utils.js.map +0 -1
  186. package/dist/lib/utils/queue.js.map +0 -1
  187. package/dist/lib/utils/statistic-utills.js.map +0 -1
  188. package/dist/lib/utils/write-queue.js.map +0 -1
  189. package/dist/pgm-loader.js.map +0 -1
  190. package/dist/slpk-extractor/slpk-extractor.js.map +0 -1
  191. package/dist/slpk-extractor-cli.js.map +0 -1
  192. package/src/lib/utils/statistic-utills.d.ts +0 -25
@@ -1,123 +1,122 @@
1
1
  import transform from 'json-map-transform';
2
2
  const MATERIAL_DEFINITION_INFO_PARAMS = () => ({
3
- renderMode: {
4
- path: 'renderMode',
5
- default: 'solid'
6
- },
7
- shininess: {
8
- path: 'shininess',
9
- default: 1
10
- },
11
- reflectivity: {
12
- path: 'reflectivity',
13
- default: 0
14
- },
15
- ambient: {
16
- path: 'ambient',
17
- default: [1, 1, 1]
18
- },
19
- diffuse: {
20
- path: 'diffuse',
21
- default: [1, 1, 1]
22
- },
23
- specular: {
24
- path: 'specular',
25
- default: [0, 0, 0]
26
- },
27
- useVertexColorAlpha: {
28
- path: 'useVertexColorAlpha',
29
- default: false
30
- },
31
- vertexRegions: {
32
- path: 'vertexRegions',
33
- default: false
34
- },
35
- vertexColors: {
36
- path: 'vertexColors',
37
- default: true
38
- }
3
+ renderMode: {
4
+ path: 'renderMode',
5
+ default: 'solid'
6
+ },
7
+ shininess: {
8
+ path: 'shininess',
9
+ default: 1
10
+ },
11
+ reflectivity: {
12
+ path: 'reflectivity',
13
+ default: 0
14
+ },
15
+ ambient: {
16
+ path: 'ambient',
17
+ default: [1, 1, 1]
18
+ },
19
+ diffuse: {
20
+ path: 'diffuse',
21
+ default: [1, 1, 1]
22
+ },
23
+ specular: {
24
+ path: 'specular',
25
+ default: [0, 0, 0]
26
+ },
27
+ useVertexColorAlpha: {
28
+ path: 'useVertexColorAlpha',
29
+ default: false
30
+ },
31
+ vertexRegions: {
32
+ path: 'vertexRegions',
33
+ default: false
34
+ },
35
+ vertexColors: {
36
+ path: 'vertexColors',
37
+ default: true
38
+ }
39
39
  });
40
40
  const MATERIAL_DEFINITION_INFO = () => ({
41
- name: {
42
- path: 'name',
43
- default: 'standard'
44
- },
45
- type: {
46
- path: 'type',
47
- default: 'standard'
48
- },
49
- params: {
50
- path: 'params',
51
- transform: (val, thisObject, originalObject) => transform(originalObject, MATERIAL_DEFINITION_INFO_PARAMS())
52
- }
41
+ name: {
42
+ path: 'name',
43
+ default: 'standard'
44
+ },
45
+ type: {
46
+ path: 'type',
47
+ default: 'standard'
48
+ },
49
+ params: {
50
+ path: 'params',
51
+ transform: (val, thisObject, originalObject) => transform(originalObject, MATERIAL_DEFINITION_INFO_PARAMS())
52
+ }
53
53
  });
54
54
  const TEXTURE_DEFINITION_IMAGE = () => ({
55
- id: {
56
- path: 'id'
57
- },
58
- size: {
59
- path: 'size'
60
- },
61
- href: {
62
- path: 'href',
63
- default: ['../textures/0']
64
- },
65
- length: {
66
- path: 'length'
67
- }
55
+ id: {
56
+ path: 'id'
57
+ },
58
+ size: {
59
+ path: 'size'
60
+ },
61
+ href: {
62
+ path: 'href',
63
+ default: ['../textures/0']
64
+ },
65
+ length: {
66
+ path: 'length'
67
+ }
68
68
  });
69
69
  const TEXTURE_DEFINITION_INFO = () => ({
70
- encoding: {
71
- path: 'encoding'
72
- },
73
- wrap: {
74
- path: 'wrap',
75
- default: ['none']
76
- },
77
- atlas: {
78
- path: 'atlas',
79
- default: false
80
- },
81
- uvSet: {
82
- path: 'uvSet',
83
- default: 'uv0'
84
- },
85
- channels: {
86
- path: 'channels',
87
- default: 'rgb'
88
- },
89
- images: {
90
- path: 'images',
91
- transform: (val, thisObject, originalObject) => val.map(image => transform(image, TEXTURE_DEFINITION_IMAGE()))
92
- }
70
+ encoding: {
71
+ path: 'encoding'
72
+ },
73
+ wrap: {
74
+ path: 'wrap',
75
+ default: ['none']
76
+ },
77
+ atlas: {
78
+ path: 'atlas',
79
+ default: false
80
+ },
81
+ uvSet: {
82
+ path: 'uvSet',
83
+ default: 'uv0'
84
+ },
85
+ channels: {
86
+ path: 'channels',
87
+ default: 'rgb'
88
+ },
89
+ images: {
90
+ path: 'images',
91
+ transform: (val, thisObject, originalObject) => val.map((image) => transform(image, TEXTURE_DEFINITION_IMAGE()))
92
+ }
93
93
  });
94
94
  export const SHARED_RESOURCES = () => ({
95
- materialDefinitions: {
96
- path: 'materialDefinitionInfos',
97
- transform: transfromMaterialDefinitions
98
- },
99
- textureDefinitions: {
100
- path: 'textureDefinitionInfos',
101
- transform: transfromTextureDefinitions
102
- }
95
+ materialDefinitions: {
96
+ path: 'materialDefinitionInfos',
97
+ transform: transfromMaterialDefinitions
98
+ },
99
+ textureDefinitions: {
100
+ path: 'textureDefinitionInfos',
101
+ transform: transfromTextureDefinitions
102
+ }
103
103
  });
104
104
  function transfromMaterialDefinitions(materialDefinitionInfos, thisObject, originalObject) {
105
- const result = {};
106
- for (const [index, materialDefinitionInfo] of materialDefinitionInfos.entries()) {
107
- result[`Mat${originalObject.nodePath}${index}`] = transform(materialDefinitionInfo, MATERIAL_DEFINITION_INFO());
108
- }
109
- return result;
105
+ const result = {};
106
+ for (const [index, materialDefinitionInfo] of materialDefinitionInfos.entries()) {
107
+ result[`Mat${originalObject.nodePath}${index}`] = transform(materialDefinitionInfo, MATERIAL_DEFINITION_INFO());
108
+ }
109
+ return result;
110
110
  }
111
111
  function transfromTextureDefinitions(textureDefinitionInfos, thisObject, originalObject) {
112
- if (!textureDefinitionInfos) {
113
- return null;
114
- }
115
- const result = {};
116
- for (const [index, textureDefinitionInfo] of textureDefinitionInfos.entries()) {
117
- const imageIndex = `${originalObject.nodePath}${index}`;
118
- textureDefinitionInfo.imageIndex = imageIndex;
119
- result[imageIndex] = transform(textureDefinitionInfo, TEXTURE_DEFINITION_INFO());
120
- }
121
- return result;
112
+ if (!textureDefinitionInfos) {
113
+ return null;
114
+ }
115
+ const result = {};
116
+ for (const [index, textureDefinitionInfo] of textureDefinitionInfos.entries()) {
117
+ const imageIndex = `${originalObject.nodePath}${index}`;
118
+ textureDefinitionInfo.imageIndex = imageIndex;
119
+ result[imageIndex] = transform(textureDefinitionInfo, TEXTURE_DEFINITION_INFO());
120
+ }
121
+ return result;
122
122
  }
123
- //# sourceMappingURL=shared-resources.js.map
@@ -1,98 +1,100 @@
1
1
  export const STORE = {
2
- id: {
3
- path: 'id',
4
- transform: val => val.toUpperCase()
5
- },
6
- profile: {
7
- path: 'profile',
8
- default: 'meshpyramids'
9
- },
10
- version: {
11
- path: 'version',
12
- default: '1.8'
13
- },
14
- resourcePattern: {
15
- path: 'resourcePattern',
16
- default: ['3dNodeIndexDocument', 'Attributes', 'SharedResource', 'Geometry']
17
- },
18
- rootNode: {
19
- path: 'rootNode',
20
- default: './nodes/root'
21
- },
22
- extent: {
23
- path: 'extent'
24
- },
25
- indexCRS: {
26
- path: 'indexCRS',
27
- default: 'http://www.opengis.net/def/crs/EPSG/0/4326'
28
- },
29
- vertexCRS: {
30
- path: 'vertexCRS',
31
- default: 'http://www.opengis.net/def/crs/EPSG/0/4326'
32
- },
33
- normalReferenceFrame: {
34
- path: 'normalReferenceFrame',
35
- default: 'east-north-up'
36
- },
37
- attributeEncoding: {
38
- path: 'attributeEncoding',
39
- default: 'application/octet-stream; version=1.6'
40
- },
41
- textureEncoding: {
42
- path: 'textureEncoding',
43
- default: ['image/jpeg', 'image/ktx2']
44
- },
45
- lodType: {
46
- path: 'lodType',
47
- default: 'MeshPyramid'
48
- },
49
- lodModel: {
50
- path: 'lodModel',
51
- default: 'node-switching'
52
- },
53
- defaultGeometrySchema: {
54
- path: 'defaultGeometrySchema',
55
- default: {
56
- geometryType: 'triangles',
57
- header: [{
58
- property: 'vertexCount',
59
- type: 'UInt32'
60
- }, {
61
- property: 'featureCount',
62
- type: 'UInt32'
63
- }],
64
- topology: 'PerAttributeArray',
65
- ordering: ['position', 'normal', 'uv0', 'color'],
66
- vertexAttributes: {
67
- position: {
68
- valueType: 'Float32',
69
- valuesPerElement: 3
70
- },
71
- normal: {
72
- valueType: 'Float32',
73
- valuesPerElement: 3
74
- },
75
- uv0: {
76
- valueType: 'Float32',
77
- valuesPerElement: 2
78
- },
79
- color: {
80
- valueType: 'UInt8',
81
- valuesPerElement: 4
2
+ id: {
3
+ path: 'id',
4
+ transform: (val) => val.toUpperCase()
5
+ },
6
+ profile: {
7
+ path: 'profile',
8
+ default: 'meshpyramids'
9
+ },
10
+ version: {
11
+ path: 'version',
12
+ default: '1.8'
13
+ },
14
+ resourcePattern: {
15
+ path: 'resourcePattern',
16
+ default: ['3dNodeIndexDocument', 'Attributes', 'SharedResource', 'Geometry']
17
+ },
18
+ rootNode: {
19
+ path: 'rootNode',
20
+ default: './nodes/root'
21
+ },
22
+ extent: {
23
+ path: 'extent'
24
+ },
25
+ indexCRS: {
26
+ path: 'indexCRS',
27
+ default: 'http://www.opengis.net/def/crs/EPSG/0/4326'
28
+ },
29
+ vertexCRS: {
30
+ path: 'vertexCRS',
31
+ default: 'http://www.opengis.net/def/crs/EPSG/0/4326'
32
+ },
33
+ normalReferenceFrame: {
34
+ path: 'normalReferenceFrame',
35
+ default: 'east-north-up'
36
+ },
37
+ attributeEncoding: {
38
+ path: 'attributeEncoding',
39
+ default: 'application/octet-stream; version=1.6'
40
+ },
41
+ textureEncoding: {
42
+ path: 'textureEncoding',
43
+ default: ['image/jpeg', 'image/ktx2']
44
+ },
45
+ lodType: {
46
+ path: 'lodType',
47
+ default: 'MeshPyramid'
48
+ },
49
+ lodModel: {
50
+ path: 'lodModel',
51
+ default: 'node-switching'
52
+ },
53
+ defaultGeometrySchema: {
54
+ path: 'defaultGeometrySchema',
55
+ default: {
56
+ geometryType: 'triangles',
57
+ header: [
58
+ {
59
+ property: 'vertexCount',
60
+ type: 'UInt32'
61
+ },
62
+ {
63
+ property: 'featureCount',
64
+ type: 'UInt32'
65
+ }
66
+ ],
67
+ topology: 'PerAttributeArray',
68
+ ordering: ['position', 'normal', 'uv0', 'color'],
69
+ vertexAttributes: {
70
+ position: {
71
+ valueType: 'Float32',
72
+ valuesPerElement: 3
73
+ },
74
+ normal: {
75
+ valueType: 'Float32',
76
+ valuesPerElement: 3
77
+ },
78
+ uv0: {
79
+ valueType: 'Float32',
80
+ valuesPerElement: 2
81
+ },
82
+ color: {
83
+ valueType: 'UInt8',
84
+ valuesPerElement: 4
85
+ }
86
+ },
87
+ featureAttributeOrder: ['id', 'faceRange'],
88
+ featureAttributes: {
89
+ id: {
90
+ valueType: 'UInt64',
91
+ valuesPerElement: 1
92
+ },
93
+ faceRange: {
94
+ valueType: 'UInt32',
95
+ valuesPerElement: 2
96
+ }
97
+ }
82
98
  }
83
- },
84
- featureAttributeOrder: ['id', 'faceRange'],
85
- featureAttributes: {
86
- id: {
87
- valueType: 'UInt64',
88
- valuesPerElement: 1
89
- },
90
- faceRange: {
91
- valueType: 'UInt32',
92
- valuesPerElement: 2
93
- }
94
- }
95
99
  }
96
- }
97
100
  };
98
- //# sourceMappingURL=store.js.map
@@ -1,25 +1,37 @@
1
- export let GLTFPrimitiveModeString = function (GLTFPrimitiveModeString) {
2
- GLTFPrimitiveModeString["POINTS"] = "POINTS";
3
- GLTFPrimitiveModeString["LINES"] = "LINES";
4
- GLTFPrimitiveModeString["LINE_LOOP"] = "LINE_LOOP";
5
- GLTFPrimitiveModeString["LINE_STRIP"] = "LINE_STRIP";
6
- GLTFPrimitiveModeString["TRIANGLES"] = "TRIANGLES";
7
- GLTFPrimitiveModeString["TRIANGLE_STRIP"] = "TRIANGLE_STRIP";
8
- GLTFPrimitiveModeString["TRIANGLE_FAN"] = "TRIANGLE_FAN";
9
- return GLTFPrimitiveModeString;
10
- }({});
1
+ /**
2
+ * glTF primitive modes (mesh topology types)
3
+ * @see https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#_mesh_primitive_mode
4
+ */
5
+ export var GLTFPrimitiveModeString;
6
+ (function (GLTFPrimitiveModeString) {
7
+ GLTFPrimitiveModeString["POINTS"] = "POINTS";
8
+ GLTFPrimitiveModeString["LINES"] = "LINES";
9
+ GLTFPrimitiveModeString["LINE_LOOP"] = "LINE_LOOP";
10
+ GLTFPrimitiveModeString["LINE_STRIP"] = "LINE_STRIP";
11
+ GLTFPrimitiveModeString["TRIANGLES"] = "TRIANGLES";
12
+ GLTFPrimitiveModeString["TRIANGLE_STRIP"] = "TRIANGLE_STRIP";
13
+ GLTFPrimitiveModeString["TRIANGLE_FAN"] = "TRIANGLE_FAN";
14
+ })(GLTFPrimitiveModeString || (GLTFPrimitiveModeString = {}));
15
+ /**
16
+ * I3S' types difine the following:
17
+ * type Attribute = 'OBJECTID' | 'string' | 'double' | 'Int32' | string;
18
+ * The AttributeType contains the string values of the Attribute type.
19
+ */
11
20
  export const AttributeType = {
12
- OBJECT_ID_TYPE: 'OBJECTID',
13
- STRING_TYPE: 'string',
14
- DOUBLE_TYPE: 'double',
15
- SHORT_INT_TYPE: 'Int32'
21
+ /** Type of attribute that is linked with feature ids */
22
+ OBJECT_ID_TYPE: 'OBJECTID',
23
+ /** String data type name for feature attributes */
24
+ STRING_TYPE: 'string',
25
+ /** Double data type name for feature attributes */
26
+ DOUBLE_TYPE: 'double',
27
+ /** Integer data type name for feature attributes */
28
+ SHORT_INT_TYPE: 'Int32'
16
29
  };
17
- export let ResourceType = function (ResourceType) {
18
- ResourceType["ATTRIBUTES"] = "ATTRIBUTES";
19
- ResourceType["DRACO_GEOMETRY"] = "DRACO_GEOMETRY";
20
- ResourceType["GEOMETRY"] = "GEOMETRY";
21
- ResourceType["SHARED"] = "SHARED";
22
- ResourceType["TEXTURE"] = "TEXTURE";
23
- return ResourceType;
24
- }({});
25
- //# sourceMappingURL=types.js.map
30
+ export var ResourceType;
31
+ (function (ResourceType) {
32
+ ResourceType["ATTRIBUTES"] = "ATTRIBUTES";
33
+ ResourceType["DRACO_GEOMETRY"] = "DRACO_GEOMETRY";
34
+ ResourceType["GEOMETRY"] = "GEOMETRY";
35
+ ResourceType["SHARED"] = "SHARED";
36
+ ResourceType["TEXTURE"] = "TEXTURE";
37
+ })(ResourceType || (ResourceType = {}));
@@ -2,24 +2,27 @@ import express from 'express';
2
2
  import path from 'path';
3
3
  import logger from 'morgan';
4
4
  import cors from 'cors';
5
+ // For local debug
6
+ // import {fileURLToPath} from 'url';
5
7
  import { loadArchive } from "./controllers/slpk-controller.js";
6
- import { router as indexRouter } from "./routes/index.js";
8
+ import { router as indexRouter } from "./routes.js";
7
9
  import { sceneServerRouter, router } from "./routes/slpk-router.js";
8
- const I3S_LAYER_PATH = process.env.I3sLayerPath || '';
9
- const FULL_LAYER_PATH = path.join(process.cwd(), I3S_LAYER_PATH);
10
+ // For local debug
11
+ // const __filename = fileURLToPath(import.meta.url);
12
+ // const __dirname = path.dirname(__filename);
13
+ const I3S_LAYER_PATH = process.env.I3sLayerPath || ''; // eslint-disable-line no-process-env, no-undef
14
+ const FULL_LAYER_PATH = path.join(process.cwd(), I3S_LAYER_PATH); // eslint-disable-line no-undef
10
15
  export const app = express();
11
16
  app.use(logger('dev'));
12
17
  app.use(express.json());
13
- app.use(express.urlencoded({
14
- extended: false
15
- }));
18
+ app.use(express.urlencoded({ extended: false }));
16
19
  app.use(express.static(path.join(__dirname, 'public')));
17
20
  app.use(cors());
18
21
  if (/\.slpk$/.test(I3S_LAYER_PATH)) {
19
- loadArchive(FULL_LAYER_PATH);
20
- app.use('/SceneServer/layers/0', router);
21
- app.use('/SceneServer', sceneServerRouter);
22
- } else {
23
- app.use('/', indexRouter);
22
+ loadArchive(FULL_LAYER_PATH);
23
+ app.use('/SceneServer/layers/0', router);
24
+ app.use('/SceneServer', sceneServerRouter);
25
+ }
26
+ else {
27
+ app.use('/', indexRouter);
24
28
  }
25
- //# sourceMappingURL=app.js.map