@webviz/subsurface-viewer 0.0.1-alpha.1

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 (501) hide show
  1. package/dist/DashSubsurfaceViewer.d.ts +56 -0
  2. package/dist/DashSubsurfaceViewer.js +160 -0
  3. package/dist/DashSubsurfaceViewer.js.map +1 -0
  4. package/dist/SubsurfaceViewer.d.ts +65 -0
  5. package/dist/SubsurfaceViewer.js +208 -0
  6. package/dist/SubsurfaceViewer.js.map +1 -0
  7. package/dist/assets/glTF/north_arrow/scene.bin +0 -0
  8. package/dist/assets/glTF/north_arrow/scene.gltf +315 -0
  9. package/dist/assets/glTF/north_arrow/textures/Arrow5_baseColor.png +0 -0
  10. package/dist/assets/glTF/north_arrow/textures/Arrow5_metallicRoughness.png +0 -0
  11. package/dist/assets/glTF/north_arrow/textures/Arrow5_normal.png +0 -0
  12. package/dist/components/ColorLegend.d.ts +26 -0
  13. package/dist/components/ColorLegend.js +19 -0
  14. package/dist/components/ColorLegend.js.map +1 -0
  15. package/dist/components/ColorLegends.d.ts +12 -0
  16. package/dist/components/ColorLegends.js +10 -0
  17. package/dist/components/ColorLegends.js.map +1 -0
  18. package/dist/components/DistanceScale.d.ts +12 -0
  19. package/dist/components/DistanceScale.js +45 -0
  20. package/dist/components/DistanceScale.js.map +1 -0
  21. package/dist/components/InfoCard.d.ts +11 -0
  22. package/dist/components/InfoCard.js +149 -0
  23. package/dist/components/InfoCard.js.map +1 -0
  24. package/dist/components/Map.d.ts +158 -0
  25. package/dist/components/Map.js +867 -0
  26. package/dist/components/Map.js.map +1 -0
  27. package/dist/components/StatusIndicator.d.ts +8 -0
  28. package/dist/components/StatusIndicator.js +20 -0
  29. package/dist/components/StatusIndicator.js.map +1 -0
  30. package/dist/components/ViewAnnotation.d.ts +7 -0
  31. package/dist/components/ViewAnnotation.js +13 -0
  32. package/dist/components/ViewAnnotation.js.map +1 -0
  33. package/dist/components/ViewFooter.d.ts +6 -0
  34. package/dist/components/ViewFooter.js +21 -0
  35. package/dist/components/ViewFooter.js.map +1 -0
  36. package/dist/components/settings/DrawModeSelector.d.ts +18 -0
  37. package/dist/components/settings/DrawModeSelector.js +20 -0
  38. package/dist/components/settings/DrawModeSelector.js.map +1 -0
  39. package/dist/components/settings/LayerProperty.d.ts +6 -0
  40. package/dist/components/settings/LayerProperty.js +39 -0
  41. package/dist/components/settings/LayerProperty.js.map +1 -0
  42. package/dist/components/settings/LayerSettingsButton.d.ts +7 -0
  43. package/dist/components/settings/LayerSettingsButton.js +51 -0
  44. package/dist/components/settings/LayerSettingsButton.js.map +1 -0
  45. package/dist/components/settings/LayersButton.d.ts +8 -0
  46. package/dist/components/settings/LayersButton.js +45 -0
  47. package/dist/components/settings/LayersButton.js.map +1 -0
  48. package/dist/components/settings/NumericInput.d.ts +20 -0
  49. package/dist/components/settings/NumericInput.js +25 -0
  50. package/dist/components/settings/NumericInput.js.map +1 -0
  51. package/dist/components/settings/Settings.d.ts +7 -0
  52. package/dist/components/settings/Settings.js +39 -0
  53. package/dist/components/settings/Settings.js.map +1 -0
  54. package/dist/components/settings/SliderInput.d.ts +29 -0
  55. package/dist/components/settings/SliderInput.js +21 -0
  56. package/dist/components/settings/SliderInput.js.map +1 -0
  57. package/dist/components/settings/ToggleButton.d.ts +17 -0
  58. package/dist/components/settings/ToggleButton.js +19 -0
  59. package/dist/components/settings/ToggleButton.js.map +1 -0
  60. package/dist/index.d.ts +2 -0
  61. package/dist/index.js +3 -0
  62. package/dist/index.js.map +1 -0
  63. package/dist/inputSchema/ColorTables.json +51 -0
  64. package/dist/inputSchema/FaultPolygons.json +80 -0
  65. package/dist/inputSchema/Grid.json +39 -0
  66. package/dist/inputSchema/PieChart.json +72 -0
  67. package/dist/inputSchema/WellLog.json +126 -0
  68. package/dist/inputSchema/WellLogTemplate.json +136 -0
  69. package/dist/inputSchema/WellLogs.json +5 -0
  70. package/dist/inputSchema/Wells.json +106 -0
  71. package/dist/inputSchema/schemaValidationUtil.d.ts +5 -0
  72. package/dist/inputSchema/schemaValidationUtil.js +48 -0
  73. package/dist/inputSchema/schemaValidationUtil.js.map +1 -0
  74. package/dist/inputSchema/validator.d.ts +1 -0
  75. package/dist/inputSchema/validator.js +64 -0
  76. package/dist/inputSchema/validator.js.map +1 -0
  77. package/dist/inputSchema/wellCompletions.json +108 -0
  78. package/dist/layers/BoxSelectionLayer/boxSelectionLayer.d.ts +37 -0
  79. package/dist/layers/BoxSelectionLayer/boxSelectionLayer.js +86 -0
  80. package/dist/layers/BoxSelectionLayer/boxSelectionLayer.js.map +1 -0
  81. package/dist/layers/axes/axes-fragment.glsl.d.ts +2 -0
  82. package/dist/layers/axes/axes-fragment.glsl.js +15 -0
  83. package/dist/layers/axes/axes-fragment.glsl.js.map +1 -0
  84. package/dist/layers/axes/axesLayer.d.ts +38 -0
  85. package/dist/layers/axes/axesLayer.js +485 -0
  86. package/dist/layers/axes/axesLayer.js.map +1 -0
  87. package/dist/layers/axes/boxLayer.d.ts +20 -0
  88. package/dist/layers/axes/boxLayer.js +52 -0
  89. package/dist/layers/axes/boxLayer.js.map +1 -0
  90. package/dist/layers/axes/grid-vertex.glsl.d.ts +2 -0
  91. package/dist/layers/axes/grid-vertex.glsl.js +14 -0
  92. package/dist/layers/axes/grid-vertex.glsl.js.map +1 -0
  93. package/dist/layers/axes2d/axes2DLayer.d.ts +58 -0
  94. package/dist/layers/axes2d/axes2DLayer.js +613 -0
  95. package/dist/layers/axes2d/axes2DLayer.js.map +1 -0
  96. package/dist/layers/axes2d/font-atlas.png +0 -0
  97. package/dist/layers/axes2d/label-fragment.glsl.d.ts +2 -0
  98. package/dist/layers/axes2d/label-fragment.glsl.js +38 -0
  99. package/dist/layers/axes2d/label-fragment.glsl.js.map +1 -0
  100. package/dist/layers/axes2d/label-vertex.glsl.d.ts +2 -0
  101. package/dist/layers/axes2d/label-vertex.glsl.js +21 -0
  102. package/dist/layers/axes2d/label-vertex.glsl.js.map +1 -0
  103. package/dist/layers/axes2d/line-fragment.glsl.d.ts +2 -0
  104. package/dist/layers/axes2d/line-fragment.glsl.js +15 -0
  105. package/dist/layers/axes2d/line-fragment.glsl.js.map +1 -0
  106. package/dist/layers/axes2d/line-vertex.glsl.d.ts +2 -0
  107. package/dist/layers/axes2d/line-vertex.glsl.js +14 -0
  108. package/dist/layers/axes2d/line-vertex.glsl.js.map +1 -0
  109. package/dist/layers/colormap/colormap.fs.glsl.d.ts +2 -0
  110. package/dist/layers/colormap/colormap.fs.glsl.js +42 -0
  111. package/dist/layers/colormap/colormap.fs.glsl.js.map +1 -0
  112. package/dist/layers/colormap/colormapLayer.d.ts +24 -0
  113. package/dist/layers/colormap/colormapLayer.js +150 -0
  114. package/dist/layers/colormap/colormapLayer.js.map +1 -0
  115. package/dist/layers/drawing/drawingLayer.d.ts +17 -0
  116. package/dist/layers/drawing/drawingLayer.js +202 -0
  117. package/dist/layers/drawing/drawingLayer.js.map +1 -0
  118. package/dist/layers/fault_polygons/faultPolygonsLayer.d.ts +9 -0
  119. package/dist/layers/fault_polygons/faultPolygonsLayer.js +43 -0
  120. package/dist/layers/fault_polygons/faultPolygonsLayer.js.map +1 -0
  121. package/dist/layers/grid3d/fragment.fs.glsl.d.ts +2 -0
  122. package/dist/layers/grid3d/fragment.fs.glsl.js +109 -0
  123. package/dist/layers/grid3d/fragment.fs.glsl.js.map +1 -0
  124. package/dist/layers/grid3d/fragment_lines.glsl.d.ts +2 -0
  125. package/dist/layers/grid3d/fragment_lines.glsl.js +21 -0
  126. package/dist/layers/grid3d/fragment_lines.glsl.js.map +1 -0
  127. package/dist/layers/grid3d/grid3dLayer.d.ts +73 -0
  128. package/dist/layers/grid3d/grid3dLayer.js +134 -0
  129. package/dist/layers/grid3d/grid3dLayer.js.map +1 -0
  130. package/dist/layers/grid3d/privateLayer.d.ts +73 -0
  131. package/dist/layers/grid3d/privateLayer.js +174 -0
  132. package/dist/layers/grid3d/privateLayer.js.map +1 -0
  133. package/dist/layers/grid3d/vertex.glsl.d.ts +2 -0
  134. package/dist/layers/grid3d/vertex.glsl.js +43 -0
  135. package/dist/layers/grid3d/vertex.glsl.js.map +1 -0
  136. package/dist/layers/grid3d/vertex_lines.glsl.d.ts +2 -0
  137. package/dist/layers/grid3d/vertex_lines.glsl.js +16 -0
  138. package/dist/layers/grid3d/vertex_lines.glsl.js.map +1 -0
  139. package/dist/layers/grid3d/webworker.d.ts +4 -0
  140. package/dist/layers/grid3d/webworker.js +140 -0
  141. package/dist/layers/grid3d/webworker.js.map +1 -0
  142. package/dist/layers/hillshading2d/hillshading2d.fs.glsl.d.ts +2 -0
  143. package/dist/layers/hillshading2d/hillshading2d.fs.glsl.js +62 -0
  144. package/dist/layers/hillshading2d/hillshading2d.fs.glsl.js.map +1 -0
  145. package/dist/layers/hillshading2d/hillshading2dLayer.d.ts +22 -0
  146. package/dist/layers/hillshading2d/hillshading2dLayer.js +101 -0
  147. package/dist/layers/hillshading2d/hillshading2dLayer.js.map +1 -0
  148. package/dist/layers/index.d.ts +34 -0
  149. package/dist/layers/index.js +19 -0
  150. package/dist/layers/index.js.map +1 -0
  151. package/dist/layers/intersection/unfoldedGeoJsonLayer.d.ts +10 -0
  152. package/dist/layers/intersection/unfoldedGeoJsonLayer.js +64 -0
  153. package/dist/layers/intersection/unfoldedGeoJsonLayer.js.map +1 -0
  154. package/dist/layers/map/fragment.fs.glsl.d.ts +2 -0
  155. package/dist/layers/map/fragment.fs.glsl.js +127 -0
  156. package/dist/layers/map/fragment.fs.glsl.js.map +1 -0
  157. package/dist/layers/map/fragment_lines.glsl.d.ts +2 -0
  158. package/dist/layers/map/fragment_lines.glsl.js +21 -0
  159. package/dist/layers/map/fragment_lines.glsl.js.map +1 -0
  160. package/dist/layers/map/mapLayer.d.ts +120 -0
  161. package/dist/layers/map/mapLayer.js +275 -0
  162. package/dist/layers/map/mapLayer.js.map +1 -0
  163. package/dist/layers/map/privateMapLayer.d.ts +76 -0
  164. package/dist/layers/map/privateMapLayer.js +190 -0
  165. package/dist/layers/map/privateMapLayer.js.map +1 -0
  166. package/dist/layers/map/vertex.glsl.d.ts +2 -0
  167. package/dist/layers/map/vertex.glsl.js +45 -0
  168. package/dist/layers/map/vertex.glsl.js.map +1 -0
  169. package/dist/layers/map/vertex_lines.glsl.d.ts +2 -0
  170. package/dist/layers/map/vertex_lines.glsl.js +16 -0
  171. package/dist/layers/map/vertex_lines.glsl.js.map +1 -0
  172. package/dist/layers/map/webworker.d.ts +4 -0
  173. package/dist/layers/map/webworker.js +362 -0
  174. package/dist/layers/map/webworker.js.map +1 -0
  175. package/dist/layers/northarrow/northArrow3DLayer.d.ts +20 -0
  176. package/dist/layers/northarrow/northArrow3DLayer.js +144 -0
  177. package/dist/layers/northarrow/northArrow3DLayer.js.map +1 -0
  178. package/dist/layers/northarrow/northarrow-fragment.glsl.d.ts +2 -0
  179. package/dist/layers/northarrow/northarrow-fragment.glsl.js +15 -0
  180. package/dist/layers/northarrow/northarrow-fragment.glsl.js.map +1 -0
  181. package/dist/layers/northarrow/northarrow-vertex.glsl.d.ts +2 -0
  182. package/dist/layers/northarrow/northarrow-vertex.glsl.js +14 -0
  183. package/dist/layers/northarrow/northarrow-vertex.glsl.js.map +1 -0
  184. package/dist/layers/piechart/fragment.glsl.d.ts +2 -0
  185. package/dist/layers/piechart/fragment.glsl.js +43 -0
  186. package/dist/layers/piechart/fragment.glsl.js.map +1 -0
  187. package/dist/layers/piechart/pieChartLayer.d.ts +40 -0
  188. package/dist/layers/piechart/pieChartLayer.js +174 -0
  189. package/dist/layers/piechart/pieChartLayer.js.map +1 -0
  190. package/dist/layers/piechart/vertex.glsl.d.ts +2 -0
  191. package/dist/layers/piechart/vertex.glsl.js +43 -0
  192. package/dist/layers/piechart/vertex.glsl.js.map +1 -0
  193. package/dist/layers/points/pointsLayer.d.ts +34 -0
  194. package/dist/layers/points/pointsLayer.js +78 -0
  195. package/dist/layers/points/pointsLayer.js.map +1 -0
  196. package/dist/layers/polylines/polylinesLayer.d.ts +50 -0
  197. package/dist/layers/polylines/polylinesLayer.js +157 -0
  198. package/dist/layers/polylines/polylinesLayer.js.map +1 -0
  199. package/dist/layers/selectable_geojson/selectableGeoJsonLayer.d.ts +6 -0
  200. package/dist/layers/selectable_geojson/selectableGeoJsonLayer.js +22 -0
  201. package/dist/layers/selectable_geojson/selectableGeoJsonLayer.js.map +1 -0
  202. package/dist/layers/shader_modules/decoder.d.ts +15 -0
  203. package/dist/layers/shader_modules/decoder.fs.glsl.d.ts +2 -0
  204. package/dist/layers/shader_modules/decoder.fs.glsl.js +40 -0
  205. package/dist/layers/shader_modules/decoder.fs.glsl.js.map +1 -0
  206. package/dist/layers/shader_modules/decoder.js +29 -0
  207. package/dist/layers/shader_modules/decoder.js.map +1 -0
  208. package/dist/layers/shader_modules/index.d.ts +1 -0
  209. package/dist/layers/shader_modules/index.js +2 -0
  210. package/dist/layers/shader_modules/index.js.map +1 -0
  211. package/dist/layers/terrain/map3DLayer.d.ts +42 -0
  212. package/dist/layers/terrain/map3DLayer.js +324 -0
  213. package/dist/layers/terrain/map3DLayer.js.map +1 -0
  214. package/dist/layers/terrain/terrainMapLayer.d.ts +45 -0
  215. package/dist/layers/terrain/terrainMapLayer.js +183 -0
  216. package/dist/layers/terrain/terrainMapLayer.js.map +1 -0
  217. package/dist/layers/terrain/terrainmap.fs.glsl.d.ts +2 -0
  218. package/dist/layers/terrain/terrainmap.fs.glsl.js +134 -0
  219. package/dist/layers/terrain/terrainmap.fs.glsl.js.map +1 -0
  220. package/dist/layers/triangle/fragment.fs.glsl.d.ts +2 -0
  221. package/dist/layers/triangle/fragment.fs.glsl.js +126 -0
  222. package/dist/layers/triangle/fragment.fs.glsl.js.map +1 -0
  223. package/dist/layers/triangle/fragment_lines.glsl.d.ts +2 -0
  224. package/dist/layers/triangle/fragment_lines.glsl.js +21 -0
  225. package/dist/layers/triangle/fragment_lines.glsl.js.map +1 -0
  226. package/dist/layers/triangle/privateTriangleLayer.d.ts +70 -0
  227. package/dist/layers/triangle/privateTriangleLayer.js +108 -0
  228. package/dist/layers/triangle/privateTriangleLayer.js.map +1 -0
  229. package/dist/layers/triangle/test_data/surfacePoints.d.ts +2 -0
  230. package/dist/layers/triangle/test_data/surfacePoints.js +4345 -0
  231. package/dist/layers/triangle/test_data/surfacePoints.js.map +1 -0
  232. package/dist/layers/triangle/test_data/surfaceTriangles.d.ts +2 -0
  233. package/dist/layers/triangle/test_data/surfaceTriangles.js +7393 -0
  234. package/dist/layers/triangle/test_data/surfaceTriangles.js.map +1 -0
  235. package/dist/layers/triangle/triangleLayer.d.ts +60 -0
  236. package/dist/layers/triangle/triangleLayer.js +170 -0
  237. package/dist/layers/triangle/triangleLayer.js.map +1 -0
  238. package/dist/layers/triangle/vertex.glsl.d.ts +2 -0
  239. package/dist/layers/triangle/vertex.glsl.js +35 -0
  240. package/dist/layers/triangle/vertex.glsl.js.map +1 -0
  241. package/dist/layers/triangle/vertex_lines.glsl.d.ts +2 -0
  242. package/dist/layers/triangle/vertex_lines.glsl.js +16 -0
  243. package/dist/layers/triangle/vertex_lines.glsl.js.map +1 -0
  244. package/dist/layers/triangle/webworker.d.ts +4 -0
  245. package/dist/layers/triangle/webworker.js +132 -0
  246. package/dist/layers/triangle/webworker.js.map +1 -0
  247. package/dist/layers/utils/layerTools.d.ts +52 -0
  248. package/dist/layers/utils/layerTools.js +91 -0
  249. package/dist/layers/utils/layerTools.js.map +1 -0
  250. package/dist/layers/utils/propertyMapTools.d.ts +8 -0
  251. package/dist/layers/utils/propertyMapTools.js +21 -0
  252. package/dist/layers/utils/propertyMapTools.js.map +1 -0
  253. package/dist/layers/wells/utils/spline.d.ts +28 -0
  254. package/dist/layers/wells/utils/spline.js +236 -0
  255. package/dist/layers/wells/utils/spline.js.map +1 -0
  256. package/dist/layers/wells/wellsLayer.d.ts +89 -0
  257. package/dist/layers/wells/wellsLayer.js +939 -0
  258. package/dist/layers/wells/wellsLayer.js.map +1 -0
  259. package/dist/package.json +35 -0
  260. package/dist/redux/actions.d.ts +1 -0
  261. package/dist/redux/actions.js +3 -0
  262. package/dist/redux/actions.js.map +1 -0
  263. package/dist/redux/reducer.d.ts +11 -0
  264. package/dist/redux/reducer.js +28 -0
  265. package/dist/redux/reducer.js.map +1 -0
  266. package/dist/redux/store.d.ts +4 -0
  267. package/dist/redux/store.js +10 -0
  268. package/dist/redux/store.js.map +1 -0
  269. package/dist/redux/types.d.ts +43 -0
  270. package/dist/redux/types.js +79 -0
  271. package/dist/redux/types.js.map +1 -0
  272. package/dist/storybook/SubsurfaceViewer.stories.d.ts +455 -0
  273. package/dist/storybook/SubsurfaceViewer.stories.js +537 -0
  274. package/dist/storybook/SubsurfaceViewer.stories.js.map +1 -0
  275. package/dist/storybook/components/InfoCard.stories.d.ts +48 -0
  276. package/dist/storybook/components/InfoCard.stories.js +36 -0
  277. package/dist/storybook/components/InfoCard.stories.js.map +1 -0
  278. package/dist/storybook/components/colorLegends/ContinuousLegend.stories.d.ts +31 -0
  279. package/dist/storybook/components/colorLegends/ContinuousLegend.stories.js +30 -0
  280. package/dist/storybook/components/colorLegends/ContinuousLegend.stories.js.map +1 -0
  281. package/dist/storybook/components/colorLegends/DiscreteLegend.stories.d.ts +31 -0
  282. package/dist/storybook/components/colorLegends/DiscreteLegend.stories.js +30 -0
  283. package/dist/storybook/components/colorLegends/DiscreteLegend.stories.js.map +1 -0
  284. package/dist/storybook/components/colorLegends/IndividualScaleForMap.stories.d.ts +20 -0
  285. package/dist/storybook/components/colorLegends/IndividualScaleForMap.stories.js +66 -0
  286. package/dist/storybook/components/colorLegends/IndividualScaleForMap.stories.js.map +1 -0
  287. package/dist/storybook/components/colorLegends/SingleScaleForMap.stories.d.ts +65 -0
  288. package/dist/storybook/components/colorLegends/SingleScaleForMap.stories.js +94 -0
  289. package/dist/storybook/components/colorLegends/SingleScaleForMap.stories.js.map +1 -0
  290. package/dist/storybook/components/settings/LayerSettingsButton.stories.d.ts +34 -0
  291. package/dist/storybook/components/settings/LayerSettingsButton.stories.js +31 -0
  292. package/dist/storybook/components/settings/LayerSettingsButton.stories.js.map +1 -0
  293. package/dist/storybook/components/settings/NumericInput.stories.d.ts +14 -0
  294. package/dist/storybook/components/settings/NumericInput.stories.js +15 -0
  295. package/dist/storybook/components/settings/NumericInput.stories.js.map +1 -0
  296. package/dist/storybook/components/settings/ToggleButton.stories.d.ts +13 -0
  297. package/dist/storybook/components/settings/ToggleButton.stories.js +14 -0
  298. package/dist/storybook/components/settings/ToggleButton.stories.js.map +1 -0
  299. package/dist/storybook/schemaValidation/sampleData.d.ts +122 -0
  300. package/dist/storybook/schemaValidation/sampleData.js +172 -0
  301. package/dist/storybook/schemaValidation/sampleData.js.map +1 -0
  302. package/dist/storybook/schemaValidation/schemaValidation.stories.d.ts +31 -0
  303. package/dist/storybook/schemaValidation/schemaValidation.stories.js +42 -0
  304. package/dist/storybook/schemaValidation/schemaValidation.stories.js.map +1 -0
  305. package/dist/utils/configuration.d.ts +631 -0
  306. package/dist/utils/configuration.js +36 -0
  307. package/dist/utils/configuration.js.map +1 -0
  308. package/dist/utils/fit-bounds.d.ts +15 -0
  309. package/dist/utils/fit-bounds.js +66 -0
  310. package/dist/utils/fit-bounds.js.map +1 -0
  311. package/dist/utils/measurement.d.ts +6 -0
  312. package/dist/utils/measurement.js +47 -0
  313. package/dist/utils/measurement.js.map +1 -0
  314. package/dist/utils/northArrow.d.ts +113 -0
  315. package/dist/utils/northArrow.js +5 -0
  316. package/dist/utils/northArrow.js.map +1 -0
  317. package/dist/utils/specExtractor.d.ts +3 -0
  318. package/dist/utils/specExtractor.js +24 -0
  319. package/dist/utils/specExtractor.js.map +1 -0
  320. package/dist/viewports/index.d.ts +1 -0
  321. package/dist/viewports/index.js +2 -0
  322. package/dist/viewports/index.js.map +1 -0
  323. package/dist/viewports/intersectionViewport.d.ts +35 -0
  324. package/dist/viewports/intersectionViewport.js +65 -0
  325. package/dist/viewports/intersectionViewport.js.map +1 -0
  326. package/dist/views/index.d.ts +1 -0
  327. package/dist/views/index.js +2 -0
  328. package/dist/views/index.js.map +1 -0
  329. package/dist/views/intersectionView.d.ts +18 -0
  330. package/dist/views/intersectionView.js +17 -0
  331. package/dist/views/intersectionView.js.map +1 -0
  332. package/package.json +35 -0
  333. package/src/DashSubsurfaceViewer.tsx +270 -0
  334. package/src/SubsurfaceViewer.stories.tsx +449 -0
  335. package/src/SubsurfaceViewer.test.tsx +98 -0
  336. package/src/SubsurfaceViewer.tsx +356 -0
  337. package/src/__snapshots__/SubsurfaceViewer.test.tsx.snap +178 -0
  338. package/src/assets/glTF/north_arrow/scene.bin +0 -0
  339. package/src/assets/glTF/north_arrow/scene.gltf +315 -0
  340. package/src/assets/glTF/north_arrow/textures/Arrow5_baseColor.png +0 -0
  341. package/src/assets/glTF/north_arrow/textures/Arrow5_metallicRoughness.png +0 -0
  342. package/src/assets/glTF/north_arrow/textures/Arrow5_normal.png +0 -0
  343. package/src/components/ColorLegend.test.tsx +32 -0
  344. package/src/components/ColorLegend.tsx +80 -0
  345. package/src/components/ColorLegends.test.tsx +97 -0
  346. package/src/components/ColorLegends.tsx +46 -0
  347. package/src/components/DistanceScale.stories.tsx +28 -0
  348. package/src/components/DistanceScale.test.tsx +36 -0
  349. package/src/components/DistanceScale.tsx +84 -0
  350. package/src/components/InfoCard.test.tsx +110 -0
  351. package/src/components/InfoCard.tsx +263 -0
  352. package/src/components/Map.test.tsx +142 -0
  353. package/src/components/Map.tsx +1435 -0
  354. package/src/components/StatusIndicator.test.tsx +14 -0
  355. package/src/components/StatusIndicator.tsx +38 -0
  356. package/src/components/ViewAnnotation.tsx +16 -0
  357. package/src/components/ViewFooter.test.tsx +12 -0
  358. package/src/components/ViewFooter.tsx +30 -0
  359. package/src/components/__snapshots__/ColorLegends.test.tsx.snap +15 -0
  360. package/src/components/__snapshots__/DistanceScale.test.tsx.snap +33 -0
  361. package/src/components/__snapshots__/InfoCard.test.tsx.snap +561 -0
  362. package/src/components/__snapshots__/Map.test.tsx.snap +119 -0
  363. package/src/components/__snapshots__/StatusIndicator.test.tsx.snap +3 -0
  364. package/src/components/__snapshots__/ViewFooter.test.tsx.snap +7 -0
  365. package/src/components/settings/DrawModeSelector.test.tsx +45 -0
  366. package/src/components/settings/DrawModeSelector.tsx +58 -0
  367. package/src/components/settings/DrawModeSelector_performance.test.tsx +35 -0
  368. package/src/components/settings/LayerProperty.test.tsx +35 -0
  369. package/src/components/settings/LayerProperty.tsx +153 -0
  370. package/src/components/settings/LayerProperty_performance.test.tsx +39 -0
  371. package/src/components/settings/LayerSettingsButton.test.tsx +133 -0
  372. package/src/components/settings/LayerSettingsButton.tsx +95 -0
  373. package/src/components/settings/LayersButton.test.tsx +102 -0
  374. package/src/components/settings/LayersButton.tsx +97 -0
  375. package/src/components/settings/NumericInput.test.tsx +25 -0
  376. package/src/components/settings/NumericInput.tsx +67 -0
  377. package/src/components/settings/Settings.tsx +71 -0
  378. package/src/components/settings/SliderInput.test.tsx +28 -0
  379. package/src/components/settings/SliderInput.tsx +71 -0
  380. package/src/components/settings/ToggleButton.test.tsx +25 -0
  381. package/src/components/settings/ToggleButton.tsx +53 -0
  382. package/src/components/settings/__snapshots__/DrawModeSelector.test.tsx.snap +124 -0
  383. package/src/components/settings/__snapshots__/LayerProperty.test.tsx.snap +124 -0
  384. package/src/components/settings/__snapshots__/LayerSettingsButton.test.tsx.snap +36 -0
  385. package/src/components/settings/__snapshots__/LayersButton.test.tsx.snap +83 -0
  386. package/src/components/settings/__snapshots__/NumericInput.test.tsx.snap +123 -0
  387. package/src/components/settings/__snapshots__/SliderInput.test.tsx.snap +244 -0
  388. package/src/components/settings/__snapshots__/ToggleButton.test.tsx.snap +182 -0
  389. package/src/custom.d.ts +9 -0
  390. package/src/index.ts +5 -0
  391. package/src/inputSchema/ColorTables.json +51 -0
  392. package/src/inputSchema/FaultPolygons.json +80 -0
  393. package/src/inputSchema/Grid.json +39 -0
  394. package/src/inputSchema/PieChart.json +72 -0
  395. package/src/inputSchema/WellLog.json +126 -0
  396. package/src/inputSchema/WellLogTemplate.json +136 -0
  397. package/src/inputSchema/WellLogs.json +5 -0
  398. package/src/inputSchema/Wells.json +106 -0
  399. package/src/inputSchema/schemaValidationUtil.tsx +55 -0
  400. package/src/inputSchema/validator.tsx +72 -0
  401. package/src/inputSchema/wellCompletions.json +108 -0
  402. package/src/layers/BoxSelectionLayer/boxSelectionLayer.stories.tsx +172 -0
  403. package/src/layers/BoxSelectionLayer/boxSelectionLayer.tsx +136 -0
  404. package/src/layers/axes/axes-fragment.glsl.ts +15 -0
  405. package/src/layers/axes/axesLayer.stories.tsx +87 -0
  406. package/src/layers/axes/axesLayer.ts +692 -0
  407. package/src/layers/axes/boxLayer.ts +71 -0
  408. package/src/layers/axes/grid-vertex.glsl.ts +14 -0
  409. package/src/layers/axes2d/axes2DLayer.stories.tsx +150 -0
  410. package/src/layers/axes2d/axes2DLayer.ts +841 -0
  411. package/src/layers/axes2d/font-atlas.png +0 -0
  412. package/src/layers/axes2d/label-fragment.glsl.js +37 -0
  413. package/src/layers/axes2d/label-vertex.glsl.js +20 -0
  414. package/src/layers/axes2d/line-fragment.glsl.js +14 -0
  415. package/src/layers/axes2d/line-vertex.glsl.js +13 -0
  416. package/src/layers/colormap/colormap.fs.glsl.ts +42 -0
  417. package/src/layers/colormap/colormapLayer.ts +247 -0
  418. package/src/layers/drawing/drawingLayer.tsx +256 -0
  419. package/src/layers/fault_polygons/faultPolygonsLayer.ts +54 -0
  420. package/src/layers/grid3d/fragment.fs.glsl.ts +109 -0
  421. package/src/layers/grid3d/fragment_lines.glsl.ts +21 -0
  422. package/src/layers/grid3d/grid3dLayer.stories.tsx +172 -0
  423. package/src/layers/grid3d/grid3dLayer.ts +248 -0
  424. package/src/layers/grid3d/privateLayer.ts +292 -0
  425. package/src/layers/grid3d/vertex.glsl.ts +43 -0
  426. package/src/layers/grid3d/vertex_lines.glsl.ts +15 -0
  427. package/src/layers/grid3d/webworker.ts +173 -0
  428. package/src/layers/hillshading2d/hillshading2d.fs.glsl.ts +62 -0
  429. package/src/layers/hillshading2d/hillshading2dLayer.ts +172 -0
  430. package/src/layers/index.ts +35 -0
  431. package/src/layers/intersection/intersectionView.stories.tsx +294 -0
  432. package/src/layers/intersection/unfoldedGeoJsonLayer.ts +92 -0
  433. package/src/layers/map/fragment.fs.glsl.ts +127 -0
  434. package/src/layers/map/fragment_lines.glsl.ts +21 -0
  435. package/src/layers/map/mapLayer.stories.tsx +1369 -0
  436. package/src/layers/map/mapLayer.ts +470 -0
  437. package/src/layers/map/privateMapLayer.ts +317 -0
  438. package/src/layers/map/vertex.glsl.ts +45 -0
  439. package/src/layers/map/vertex_lines.glsl.ts +15 -0
  440. package/src/layers/map/webworker.ts +479 -0
  441. package/src/layers/northarrow/northArrow.stories.tsx +108 -0
  442. package/src/layers/northarrow/northArrow3DLayer.ts +204 -0
  443. package/src/layers/northarrow/northarrow-fragment.glsl.js +14 -0
  444. package/src/layers/northarrow/northarrow-vertex.glsl.js +13 -0
  445. package/src/layers/piechart/fragment.glsl.js +42 -0
  446. package/src/layers/piechart/pieChartLayer.ts +246 -0
  447. package/src/layers/piechart/vertex.glsl.js +42 -0
  448. package/src/layers/points/pointsLayer.stories.tsx +141 -0
  449. package/src/layers/points/pointsLayer.ts +143 -0
  450. package/src/layers/polylines/polylinesLayer.stories.tsx +144 -0
  451. package/src/layers/polylines/polylinesLayer.ts +263 -0
  452. package/src/layers/selectable_geojson/selectableGeoJsonLayer.ts +25 -0
  453. package/src/layers/shader_modules/decoder.fs.glsl.ts +41 -0
  454. package/src/layers/shader_modules/decoder.ts +46 -0
  455. package/src/layers/shader_modules/index.ts +1 -0
  456. package/src/layers/terrain/map3DLayer.stories.tsx +340 -0
  457. package/src/layers/terrain/map3DLayer.ts +556 -0
  458. package/src/layers/terrain/terrainMapLayer.ts +334 -0
  459. package/src/layers/terrain/terrainmap.fs.glsl.ts +134 -0
  460. package/src/layers/triangle/fragment.fs.glsl.ts +126 -0
  461. package/src/layers/triangle/fragment_lines.glsl.ts +21 -0
  462. package/src/layers/triangle/privateTriangleLayer.ts +203 -0
  463. package/src/layers/triangle/test_data/surfacePoints.ts +4344 -0
  464. package/src/layers/triangle/test_data/surfaceTriangles.ts +7392 -0
  465. package/src/layers/triangle/triangleLayer.stories.tsx +191 -0
  466. package/src/layers/triangle/triangleLayer.ts +273 -0
  467. package/src/layers/triangle/vertex.glsl.ts +35 -0
  468. package/src/layers/triangle/vertex_lines.glsl.ts +15 -0
  469. package/src/layers/triangle/webworker.ts +165 -0
  470. package/src/layers/utils/glsl.d.ts +4 -0
  471. package/src/layers/utils/layerTools.ts +182 -0
  472. package/src/layers/utils/propertyMapTools.ts +43 -0
  473. package/src/layers/wells/utils/spline.ts +318 -0
  474. package/src/layers/wells/wellsLayer.stories.tsx +625 -0
  475. package/src/layers/wells/wellsLayer.ts +1377 -0
  476. package/src/redux/actions.ts +8 -0
  477. package/src/redux/reducer.ts +43 -0
  478. package/src/redux/store.ts +15 -0
  479. package/src/redux/types.ts +114 -0
  480. package/src/storybook/SubsurfaceViewer.stories.jsx +644 -0
  481. package/src/storybook/components/InfoCard.stories.jsx +39 -0
  482. package/src/storybook/components/colorLegends/ContinuousLegend.stories.jsx +32 -0
  483. package/src/storybook/components/colorLegends/DiscreteLegend.stories.jsx +33 -0
  484. package/src/storybook/components/colorLegends/IndividualScaleForMap.stories.jsx +99 -0
  485. package/src/storybook/components/colorLegends/SingleScaleForMap.stories.jsx +120 -0
  486. package/src/storybook/components/settings/LayerSettingsButton.stories.jsx +34 -0
  487. package/src/storybook/components/settings/NumericInput.stories.jsx +17 -0
  488. package/src/storybook/components/settings/ToggleButton.stories.jsx +16 -0
  489. package/src/storybook/schemaValidation/sampleData.js +177 -0
  490. package/src/storybook/schemaValidation/schemaValidation.stories.jsx +91 -0
  491. package/src/test/TestWrapper.tsx +13 -0
  492. package/src/utils/configuration.ts +61 -0
  493. package/src/utils/fit-bounds.js +85 -0
  494. package/src/utils/measurement.ts +61 -0
  495. package/src/utils/northArrow.ts +4 -0
  496. package/src/utils/specExtractor.ts +36 -0
  497. package/src/viewports/index.js +1 -0
  498. package/src/viewports/intersectionViewport.ts +137 -0
  499. package/src/views/index.js +1 -0
  500. package/src/views/intersectionView.ts +38 -0
  501. package/tsconfig.json +7 -0
@@ -0,0 +1,127 @@
1
+ const fsShader = `#version 300 es
2
+ #define SHADER_NAME terrainmap-shader
3
+
4
+ precision highp float;
5
+
6
+
7
+ uniform bool isContoursDepth;
8
+ uniform float contourReferencePoint;
9
+ uniform float contourInterval;
10
+
11
+ in vec2 vTexCoord;
12
+ in vec3 cameraPosition;
13
+ in vec3 normals_commonspace;
14
+ in vec4 position_commonspace;
15
+ in vec4 vColor;
16
+
17
+ flat in int vertex_indexs_;
18
+
19
+ out vec4 fragColor;
20
+
21
+ in vec3 worldPos;
22
+ in float property;
23
+
24
+ uniform sampler2D colormap;
25
+
26
+ uniform float valueRangeMin;
27
+ uniform float valueRangeMax;
28
+ uniform float colorMapRangeMin;
29
+ uniform float colorMapRangeMax;
30
+
31
+ uniform vec3 colorMapClampColor;
32
+ uniform bool isClampColor;
33
+ uniform bool isColorMapClampColorTransparent;
34
+ uniform bool smoothShading;
35
+
36
+
37
+ void main(void) {
38
+ geometry.uv = vTexCoord;
39
+
40
+ vec3 normal = normals_commonspace;
41
+
42
+ if (!smoothShading) {
43
+ normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));
44
+ }
45
+
46
+ // // Discard transparent pixels. KEEP
47
+ // if (!picking_uActive && isnan(propertyValue)) {
48
+ // discard;
49
+ // return;
50
+ // }
51
+
52
+ //Picking pass.
53
+ if (picking_uActive) {
54
+ // Express triangle index in 255 system.
55
+ float r = 0.0;
56
+ float g = 0.0;
57
+ float b = 0.0;
58
+
59
+ int idx = vertex_indexs_;
60
+
61
+ if (idx >= (256 * 256) - 1) {
62
+ r = floor(float(idx) / (256.0 * 256.0));
63
+ idx -= int(r * (256.0 * 256.0));
64
+ }
65
+
66
+ if (idx >= 256 - 1) {
67
+ g = floor(float(idx) / 256.0);
68
+ idx -= int(g * 256.0);
69
+ }
70
+
71
+ b = float(idx);
72
+
73
+ fragColor = vec4(r / 255.0, g / 255.0, b / 255.0, 1.0);
74
+ return;
75
+ }
76
+
77
+ vec4 color = vec4(1.0, 1.0, 1.0, 1.0);;
78
+ float propertyValue = property;
79
+
80
+ float x = (propertyValue - colorMapRangeMin) / (colorMapRangeMax - colorMapRangeMin);
81
+ if (x < 0.0 || x > 1.0) {
82
+ // Out of range. Use clampcolor.
83
+ if (isClampColor) {
84
+ color = vec4(colorMapClampColor.rgb, 1.0);
85
+
86
+ }
87
+ else if (isColorMapClampColorTransparent) {
88
+ discard;
89
+ return;
90
+ }
91
+ else {
92
+ // Use min/max color to clamp.
93
+ x = max(0.0, x);
94
+ x = min(1.0, x);
95
+
96
+ color = texture2D(colormap, vec2(x, 0.5));
97
+ }
98
+ }
99
+ else {
100
+ color = texture2D(colormap, vec2(x, 0.5));
101
+ }
102
+
103
+
104
+ bool is_contours = contourReferencePoint != -1.0 && contourInterval != -1.0;
105
+ if (is_contours) {
106
+ // Contours are made of either depths or properties.
107
+ float val = isContoursDepth ? (abs(worldPos.z) - contourReferencePoint) / contourInterval
108
+ : (propertyValue - contourReferencePoint) / contourInterval;
109
+
110
+ float f = fract(val);
111
+ float df = fwidth(val);
112
+
113
+ // keep: float c = smoothstep(df * 1.0, df * 2.0, f); // smootstep from/to no of pixels distance fronm contour line.
114
+ float c = smoothstep(0.0, df * 2.0, f);
115
+
116
+ color = color * vec4(c, c, c, 1.0);
117
+ }
118
+
119
+ // Use normal lighting. This has no effect if "material" property is not set.
120
+ vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);
121
+ fragColor = vec4(lightColor, 1.0);
122
+
123
+ DECKGL_FILTER_COLOR(fragColor, geometry);
124
+ }
125
+ `;
126
+ export default fsShader;
127
+ //# sourceMappingURL=fragment.fs.glsl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fragment.fs.glsl.js","sourceRoot":"","sources":["../../../src/layers/map/fragment.fs.glsl.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4HhB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const fragmentShader = "#version 300 es\n#define SHADER_NAME graph-layer-fragment-shader\n\nprecision highp float;\n\nout vec4 fragColor;\n\nvoid main(void) {\n \n // Picking pass.\n if (picking_uActive) {\n discard;\n return;\n }\n\n fragColor = vec4(0.0, 0.0, 0.0, 1.0);\n}\n";
2
+ export default fragmentShader;
@@ -0,0 +1,21 @@
1
+ const fragmentShader = `\
2
+ #version 300 es
3
+ #define SHADER_NAME graph-layer-fragment-shader
4
+
5
+ precision highp float;
6
+
7
+ out vec4 fragColor;
8
+
9
+ void main(void) {
10
+
11
+ // Picking pass.
12
+ if (picking_uActive) {
13
+ discard;
14
+ return;
15
+ }
16
+
17
+ fragColor = vec4(0.0, 0.0, 0.0, 1.0);
18
+ }
19
+ `;
20
+ export default fragmentShader;
21
+ //# sourceMappingURL=fragment_lines.glsl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fragment_lines.glsl.js","sourceRoot":"","sources":["../../../src/layers/map/fragment_lines.glsl.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;CAkBtB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,120 @@
1
+ import { CompositeLayer, Color, UpdateParameters } from "@deck.gl/core/typed";
2
+ import privateMapLayer, { Material } from "./privateMapLayer";
3
+ import { ExtendedLayerProps, colorMapFunctionType } from "../utils/layerTools";
4
+ type Frame = {
5
+ /** mesh origin
6
+ */
7
+ origin: [number, number];
8
+ /** cells size in each direction.
9
+ */
10
+ increment: [number, number];
11
+ /** number of nodes in each direction.
12
+ */
13
+ count: [number, number];
14
+ /** Rotates map counterclockwise in degrees around 'rotPoint' specified below.
15
+ */
16
+ rotDeg?: number;
17
+ /** Point to rotate around using 'rotDeg'. Defaults to mesh origin.
18
+ */
19
+ rotPoint?: [number, number];
20
+ };
21
+ export type Params = {
22
+ meshData: Float32Array;
23
+ propertiesData: Float32Array;
24
+ isMesh: boolean;
25
+ frame: Frame;
26
+ smoothShading: boolean;
27
+ };
28
+ export interface MapLayerProps<D> extends ExtendedLayerProps<D> {
29
+ setReportedBoundingBox?: any;
30
+ /** Url to the height (z values) mesh.
31
+ */
32
+ meshUrl: string;
33
+ meshData: string | number[];
34
+ /** Horizontal extent of the terrain mesh. Format:
35
+ {
36
+ origin: [number, number]; // mesh origin in x, y
37
+ increment: [number, number]; // cell size dx, dy
38
+ count: [number, number]; // number of nodes in both directions.
39
+ }
40
+ */
41
+ frame: Frame;
42
+ /** Url to the properties (ex, poro or perm values).
43
+ * If the number of property values equals the number of depth values
44
+ * the property values will be placed at the nodes and the cell (4 neigboring nodes)
45
+ * color will be linearly interpolated over the cell.
46
+ * If the number of property values equals one less than the depth values in
47
+ * each direction then the property values will be pr cell and the cell will be constant
48
+ * colored.
49
+ */
50
+ propertiesUrl: string;
51
+ propertiesData: string | number[];
52
+ /** Contourlines reference point and interval.
53
+ * A value of [-1.0, -1.0] will disable contour lines.
54
+ * Contour lines will also not be activated if cells are constant colored
55
+ * and "isContoursDepth" is set to false. I.e. constant properties within cells and contourlines
56
+ * to be calculated for properties and not depths.
57
+ * default value: [-1.0, -1.0]
58
+ */
59
+ contours: [number, number];
60
+ /** Contourlines may be calculated either on depth/z-value or on property value
61
+ * If this is set to false, lines will follow properties instead of depth.
62
+ * In 2D mode this is always the case regardless.
63
+ * default: true
64
+ */
65
+ isContoursDepth: boolean;
66
+ /** Enable gridlines.
67
+ * default: false.
68
+ */
69
+ gridLines: boolean;
70
+ /** Name of color map. E.g "PORO"
71
+ */
72
+ colorMapName: string;
73
+ /** Use color map in this range.
74
+ */
75
+ colorMapRange: [number, number];
76
+ /** Clamp colormap to this color at ends.
77
+ * Given as array of three values (r,g,b) e.g: [255, 0, 0]
78
+ * If not set or set to true, it will clamp to color map min and max values.
79
+ * If set to false the clamp color will be completely transparent.
80
+ */
81
+ colorMapClampColor: Color | undefined | boolean;
82
+ /** Optional function property.
83
+ * If defined this function will override the color map.
84
+ * Takes a value in the range [0,1] and returns a color.
85
+ * E.g. (x) => [x * 255, x * 255, x * 255]
86
+ * May also be set as constant color:
87
+ * E.g. [255, 0, 0] for constant red surface.
88
+ */
89
+ colorMapFunction?: colorMapFunctionType;
90
+ /** Surface material properties.
91
+ * material: true = default material, coloring depends on surface orientation and lighting.
92
+ * false = no material, coloring is independent on surface orientation and lighting.
93
+ * or full spec:
94
+ * material: {
95
+ * ambient: 0.35,
96
+ * diffuse: 0.6,
97
+ * shininess: 32,
98
+ * specularColor: [255, 255, 255],
99
+ * }
100
+ */
101
+ material: Material;
102
+ /** Will calculate normals for each vertex and enable phong shading.
103
+ * If not set the shader will calculate constant normal for each triangle.
104
+ */
105
+ smoothShading: boolean;
106
+ /** Enable/disable depth testing when rendering layer. Default true.
107
+ */
108
+ depthTest: boolean;
109
+ /** If true means that input z values are interpreted as depths.
110
+ * For example depth of z = 1000 corresponds to -1000 on the z axis. Default true.
111
+ */
112
+ ZIncreasingDownwards: boolean;
113
+ }
114
+ export default class MapLayer extends CompositeLayer<MapLayerProps<unknown>> {
115
+ rebuildData(reportBoundingBox: boolean): void;
116
+ initializeState(): void;
117
+ updateState({ props, oldProps }: UpdateParameters<MapLayer>): void;
118
+ renderLayers(): [privateMapLayer?];
119
+ }
120
+ export {};
@@ -0,0 +1,275 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { CompositeLayer } from "@deck.gl/core/typed";
11
+ import privateMapLayer from "./privateMapLayer";
12
+ import { getModelMatrix } from "../utils/layerTools";
13
+ import { isEqual } from "lodash";
14
+ import * as png from "@vivaxy/png";
15
+ import { makeFullMesh } from "./webworker";
16
+ // Rotate x,y around x0, y0 rad radians
17
+ function rotate(x, y, x0, y0, rad) {
18
+ const xRot = Math.cos(rad) * (x - x0) - Math.sin(rad) * (y - y0) + x0; // eslint-disable-line
19
+ const yRot = Math.sin(rad) * (x - x0) + Math.cos(rad) * (y - y0) + y0; // eslint-disable-line
20
+ return [xRot, yRot];
21
+ }
22
+ function load_mesh_and_properties(meshData, propertiesData, ZIncreasingDownwards) {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ // Keep
25
+ //const t0 = performance.now();
26
+ const isMesh = typeof meshData !== "undefined";
27
+ const isProperties = typeof propertiesData !== "undefined";
28
+ if (!isMesh && !isProperties) {
29
+ console.error("Error. One or both of texture and mesh must be given!");
30
+ }
31
+ if (isMesh && !isProperties) {
32
+ propertiesData = meshData;
33
+ }
34
+ //-- PROPERTIES. --
35
+ let properties;
36
+ if (Array.isArray(propertiesData)) {
37
+ // Input data is native javascript array.
38
+ properties = new Float32Array(propertiesData);
39
+ }
40
+ else {
41
+ // Input data is an URL.
42
+ const response = yield fetch(propertiesData);
43
+ if (!response.ok) {
44
+ console.error("Could not load ", propertiesData);
45
+ }
46
+ const blob = yield response.blob();
47
+ const contentType = response.headers.get("content-type");
48
+ const isPng = contentType === "image/png";
49
+ if (isPng) {
50
+ // Load as Png with abolute float values.
51
+ properties = yield new Promise((resolve) => {
52
+ const fileReader = new FileReader();
53
+ fileReader.readAsArrayBuffer(blob);
54
+ fileReader.onload = () => {
55
+ const arrayBuffer = fileReader.result;
56
+ const imgData = png.decode(arrayBuffer);
57
+ const data = imgData.data; // array of int's
58
+ const n = data.length;
59
+ const buffer = new ArrayBuffer(n);
60
+ const view = new DataView(buffer);
61
+ for (let i = 0; i < n; i++) {
62
+ view.setUint8(i, data[i]);
63
+ }
64
+ const floatArray = new Float32Array(buffer);
65
+ resolve(floatArray);
66
+ };
67
+ });
68
+ }
69
+ else {
70
+ // Load as binary array of floats.
71
+ const buffer = yield blob.arrayBuffer();
72
+ properties = new Float32Array(buffer);
73
+ }
74
+ }
75
+ //-- MESH --
76
+ let mesh = new Float32Array();
77
+ if (isMesh) {
78
+ if (Array.isArray(meshData)) {
79
+ // Input data is native javascript array.
80
+ mesh = new Float32Array(meshData);
81
+ }
82
+ else {
83
+ // Input data is an URL.
84
+ const response_mesh = yield fetch(meshData);
85
+ if (!response_mesh.ok) {
86
+ console.error("Could not load mesh");
87
+ }
88
+ const blob_mesh = yield response_mesh.blob();
89
+ const contentType_mesh = response_mesh.headers.get("content-type");
90
+ const isPng_mesh = contentType_mesh === "image/png";
91
+ if (isPng_mesh) {
92
+ // Load as Png with abolute float values.
93
+ mesh = yield new Promise((resolve) => {
94
+ const fileReader = new FileReader();
95
+ fileReader.readAsArrayBuffer(blob_mesh);
96
+ fileReader.onload = () => {
97
+ const arrayBuffer = fileReader.result;
98
+ const imgData = png.decode(arrayBuffer);
99
+ const data = imgData.data; // array of int's
100
+ const n = data.length;
101
+ const buffer = new ArrayBuffer(n);
102
+ const view = new DataView(buffer);
103
+ for (let i = 0; i < n; i++) {
104
+ view.setUint8(i, data[i]);
105
+ }
106
+ const floatArray = new Float32Array(buffer);
107
+ resolve(floatArray);
108
+ };
109
+ });
110
+ }
111
+ else {
112
+ // Load as binary array of floats.
113
+ const buffer = yield blob_mesh.arrayBuffer();
114
+ mesh = new Float32Array(buffer);
115
+ }
116
+ }
117
+ }
118
+ if (!ZIncreasingDownwards) {
119
+ for (let i = 0; i < mesh.length; i++) {
120
+ mesh[i] *= -1;
121
+ }
122
+ }
123
+ //const t1 = performance.now();
124
+ // Keep this.
125
+ //console.log(`Task loading took ${(t1 - t0) * 0.001} seconds.`);
126
+ return Promise.all([isMesh, mesh, properties]);
127
+ });
128
+ }
129
+ const defaultProps = {
130
+ "@@type": "MapLayer",
131
+ name: "Map",
132
+ id: "map3d-layer-float32",
133
+ pickable: true,
134
+ visible: true,
135
+ bounds: { type: "object", value: null, false: true, compare: true },
136
+ colorMapRange: { type: "array" },
137
+ contours: [-1.0, -1.0],
138
+ // If contour lines should follow depth or properties.
139
+ isContoursDepth: true,
140
+ gridLines: false,
141
+ smoothShading: true,
142
+ material: true,
143
+ depthTest: true,
144
+ ZIncreasingDownwards: true,
145
+ };
146
+ export default class MapLayer extends CompositeLayer {
147
+ rebuildData(reportBoundingBox) {
148
+ var _a, _b;
149
+ if (typeof this.props.meshUrl !== "undefined") {
150
+ console.warn('"meshUrl" is deprecated. Use "meshData"');
151
+ }
152
+ if (typeof this.props.propertiesUrl !== "undefined") {
153
+ console.warn('"propertiesUrl" is deprecated. Use "propertiesData"');
154
+ }
155
+ const meshData = (_a = this.props.meshData) !== null && _a !== void 0 ? _a : this.props.meshUrl;
156
+ const propertiesData = (_b = this.props.propertiesData) !== null && _b !== void 0 ? _b : this.props.propertiesUrl;
157
+ const p = load_mesh_and_properties(meshData, propertiesData, this.props.ZIncreasingDownwards);
158
+ p.then(([isMesh, meshData, propertiesData]) => {
159
+ // Using inline web worker for calculating the triangle mesh from
160
+ // loaded input data so not to halt the GUI thread.
161
+ const blob = new Blob(["self.onmessage = ", makeFullMesh.toString()], { type: "text/javascript" });
162
+ const url = URL.createObjectURL(blob);
163
+ const webWorker = new Worker(url);
164
+ const webworkerParams = {
165
+ meshData,
166
+ propertiesData,
167
+ isMesh,
168
+ frame: this.props.frame,
169
+ smoothShading: this.props.smoothShading,
170
+ };
171
+ webWorker.postMessage(webworkerParams);
172
+ webWorker.onmessage = (e) => {
173
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
174
+ const [mesh, mesh_lines, meshZValueRange, propertyValueRange] = e.data;
175
+ this.setState({
176
+ mesh,
177
+ mesh_lines,
178
+ propertyValueRange,
179
+ });
180
+ if (typeof this.props.setReportedBoundingBox !== "undefined" &&
181
+ reportBoundingBox) {
182
+ const xinc = (_c = (_b = (_a = this.props.frame) === null || _a === void 0 ? void 0 : _a.increment) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : 0;
183
+ const yinc = (_f = (_e = (_d = this.props.frame) === null || _d === void 0 ? void 0 : _d.increment) === null || _e === void 0 ? void 0 : _e[1]) !== null && _f !== void 0 ? _f : 0;
184
+ const nnodes_x = (_j = (_h = (_g = this.props.frame) === null || _g === void 0 ? void 0 : _g.count) === null || _h === void 0 ? void 0 : _h[0]) !== null && _j !== void 0 ? _j : 2; // number of nodes in x direction
185
+ const nnodes_y = (_m = (_l = (_k = this.props.frame) === null || _k === void 0 ? void 0 : _k.count) === null || _l === void 0 ? void 0 : _l[1]) !== null && _m !== void 0 ? _m : 2;
186
+ const xMin = (_q = (_p = (_o = this.props.frame) === null || _o === void 0 ? void 0 : _o.origin) === null || _p === void 0 ? void 0 : _p[0]) !== null && _q !== void 0 ? _q : 0;
187
+ const yMin = (_t = (_s = (_r = this.props.frame) === null || _r === void 0 ? void 0 : _r.origin) === null || _s === void 0 ? void 0 : _s[1]) !== null && _t !== void 0 ? _t : 0;
188
+ const zMin = -meshZValueRange[0];
189
+ const xMax = xMin + xinc * (nnodes_x - 1);
190
+ const yMax = yMin + yinc * (nnodes_y - 1);
191
+ const zMax = -meshZValueRange[1];
192
+ // If map is rotated the bounding box must reflect that.
193
+ const center = (_u = this.props.frame.rotPoint) !== null && _u !== void 0 ? _u : this.props.frame.origin;
194
+ const rotDeg = (_v = this.props.frame.rotDeg) !== null && _v !== void 0 ? _v : 0;
195
+ const rotRad = (rotDeg * (2.0 * Math.PI)) / 360.0;
196
+ // Rotate x,y around "center" "rad" radians
197
+ const [x0, y0] = rotate(xMin, yMin, center[0], center[1], rotRad); // eslint-disable-line
198
+ const [x1, y1] = rotate(xMax, yMin, center[0], center[1], rotRad); // eslint-disable-line
199
+ const [x2, y2] = rotate(xMax, yMax, center[0], center[1], rotRad); // eslint-disable-line
200
+ const [x3, y3] = rotate(xMin, yMax, center[0], center[1], rotRad); // eslint-disable-line
201
+ // Rotated bounds in x/y plane.
202
+ const x_min = Math.min(x0, x1, x2, x3);
203
+ const x_max = Math.max(x0, x1, x2, x3);
204
+ const y_min = Math.min(y0, y1, y2, y3);
205
+ const y_max = Math.max(y0, y1, y2, y3);
206
+ this.props.setReportedBoundingBox([
207
+ x_min,
208
+ y_min,
209
+ zMin,
210
+ x_max,
211
+ y_max,
212
+ zMax,
213
+ ]);
214
+ }
215
+ webWorker.terminate();
216
+ };
217
+ });
218
+ }
219
+ initializeState() {
220
+ const reportBoundingBox = true;
221
+ this.rebuildData(reportBoundingBox);
222
+ }
223
+ updateState({ props, oldProps }) {
224
+ const needs_reload = !isEqual(props.meshUrl, oldProps.meshUrl) ||
225
+ !isEqual(props.propertiesUrl, oldProps.propertiesUrl) ||
226
+ !isEqual(props.meshData, oldProps.meshData) ||
227
+ !isEqual(props.propertiesData, oldProps.propertiesData) ||
228
+ !isEqual(props.frame, oldProps.frame) ||
229
+ !isEqual(props.ZIncreasingDownwards, oldProps.ZIncreasingDownwards) ||
230
+ !isEqual(props.gridLines, oldProps.gridLines);
231
+ if (needs_reload) {
232
+ const reportBoundingBox = false;
233
+ this.rebuildData(reportBoundingBox);
234
+ }
235
+ }
236
+ renderLayers() {
237
+ var _a, _b;
238
+ if (Object.keys(this.state).length === 0) {
239
+ return [];
240
+ }
241
+ const [minX, minY] = this.props.frame.origin;
242
+ const center = (_a = this.props.frame.rotPoint) !== null && _a !== void 0 ? _a : [minX, minY];
243
+ const rotatingModelMatrix = getModelMatrix((_b = this.props.frame.rotDeg) !== null && _b !== void 0 ? _b : 0, center[0], center[1]);
244
+ const isMesh = (typeof this.props.meshUrl !== "undefined" &&
245
+ this.props.meshUrl !== "") ||
246
+ (typeof this.props.meshData !== "undefined" &&
247
+ this.props.meshData !== "");
248
+ const isModelMatrix = typeof this.props.modelMatrix !== "undefined" &&
249
+ this.props.modelMatrix !== null;
250
+ if (isModelMatrix) {
251
+ rotatingModelMatrix.multiplyRight(this.props.modelMatrix);
252
+ }
253
+ const layer = new privateMapLayer(this.getSubLayerProps({
254
+ mesh: this.state["mesh"],
255
+ meshLines: this.state["mesh_lines"],
256
+ pickable: this.props.pickable,
257
+ modelMatrix: rotatingModelMatrix,
258
+ contours: this.props.contours,
259
+ gridLines: this.props.gridLines,
260
+ isContoursDepth: !isMesh ? false : this.props.isContoursDepth,
261
+ colorMapName: this.props.colorMapName,
262
+ colorMapRange: this.props.colorMapRange,
263
+ colorMapClampColor: this.props.colorMapClampColor,
264
+ colorMapFunction: this.props.colorMapFunction,
265
+ propertyValueRange: this.state["propertyValueRange"],
266
+ material: this.props.material,
267
+ smoothShading: this.props.smoothShading,
268
+ depthTest: this.props.depthTest,
269
+ }));
270
+ return [layer];
271
+ }
272
+ }
273
+ MapLayer.layerName = "MapLayer";
274
+ MapLayer.defaultProps = defaultProps;
275
+ //# sourceMappingURL=mapLayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapLayer.js","sourceRoot":"","sources":["../../../src/layers/map/mapLayer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { Layer, PickingInfo, UpdateParameters, Color } from "@deck.gl/core/typed";
2
+ import { LayerPickInfo } from "../utils/layerTools";
3
+ import { Model } from "@luma.gl/engine";
4
+ import { DeckGLLayerContext } from "../../components/Map";
5
+ import { ExtendedLayerProps, colorMapFunctionType } from "../utils/layerTools";
6
+ export type MeshType = {
7
+ drawMode?: number;
8
+ attributes: {
9
+ positions: {
10
+ value: Float32Array;
11
+ size: number;
12
+ };
13
+ TEXCOORD_0?: {
14
+ value: Float32Array;
15
+ size: number;
16
+ };
17
+ normals: {
18
+ value: Float32Array;
19
+ size: number;
20
+ };
21
+ properties: {
22
+ value: Float32Array;
23
+ size: number;
24
+ };
25
+ vertex_indexs: {
26
+ value: Int32Array;
27
+ size: number;
28
+ };
29
+ };
30
+ vertexCount: number;
31
+ indices: {
32
+ value: Uint32Array;
33
+ size: number;
34
+ };
35
+ };
36
+ export type MeshTypeLines = {
37
+ drawMode: number;
38
+ attributes: {
39
+ positions: {
40
+ value: Float32Array;
41
+ size: number;
42
+ };
43
+ };
44
+ vertexCount: number;
45
+ };
46
+ export type Material = {
47
+ ambient: number;
48
+ diffuse: number;
49
+ shininess: number;
50
+ specularColor: [number, number, number];
51
+ } | boolean;
52
+ export interface privateMapLayerProps<D> extends ExtendedLayerProps<D> {
53
+ mesh: MeshType;
54
+ meshLines: MeshTypeLines;
55
+ contours: [number, number];
56
+ gridLines: boolean;
57
+ isContoursDepth: boolean;
58
+ colorMapName: string;
59
+ colorMapRange: [number, number];
60
+ colorMapClampColor: Color | undefined | boolean;
61
+ colorMapFunction?: colorMapFunctionType;
62
+ propertyValueRange: [number, number];
63
+ smoothShading: boolean;
64
+ depthTest: boolean;
65
+ }
66
+ export default class privateMapLayer extends Layer<privateMapLayerProps<unknown>> {
67
+ initializeState(context: DeckGLLayerContext): void;
68
+ shouldUpdateState({ props, oldProps, context, changeFlags, }: UpdateParameters<this>): boolean;
69
+ updateState({ context }: UpdateParameters<this>): void;
70
+ _getModels(gl: any): Model[];
71
+ draw(args: any): void;
72
+ decodePickingColor(): number;
73
+ getPickingInfo({ info }: {
74
+ info: PickingInfo;
75
+ }): LayerPickInfo;
76
+ }