@geode/opengeodeweb-front 10.34.0-rc.2 → 10.34.0-rc.21

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 (499) hide show
  1. package/.build/opengeodeweb_front_schemas.js +175 -0
  2. package/.build/server/utils/app_config.js +57 -0
  3. package/.build/server/utils/cleanup.js +135 -0
  4. package/.build/server/utils/cloud.js +156 -0
  5. package/.build/server/utils/microservices.js +153 -0
  6. package/.build/server/utils/path.js +108 -0
  7. package/.build/server/utils/scripts.js +134 -0
  8. package/.build/server/utils/server.js +44 -0
  9. package/.build/server/utils/server_config.js +51 -0
  10. package/.build/server/utils/stream.js +6 -0
  11. package/.build/server/utils/ws_client.js +100 -0
  12. package/.build/shared/app_mode.js +8 -0
  13. package/.build/shared/scripts.js +49 -0
  14. package/.build/shared/utils/call_raw.js +31 -0
  15. package/.build/shared/utils/call_schema.js +28 -0
  16. package/.build/shared/utils/fetch_raw.js +52 -0
  17. package/.build/shared/utils/fetch_schema.js +32 -0
  18. package/.build/shared/utils/file.js +14 -0
  19. package/.build/shared/utils/parse_boolean.js +23 -0
  20. package/.build/shared/utils/response_handlers/load.js +50 -0
  21. package/.build/shared/utils/types.js +1 -0
  22. package/.build/shared/utils/validate_schema.js +17 -0
  23. package/README.md +8 -0
  24. package/app/assets/{geode_objects.js → geode_objects.ts} +8 -1
  25. package/app/components/ActionButton.vue +28 -12
  26. package/app/components/Basic/Slider.vue +2 -2
  27. package/app/components/Basic/Switch.vue +2 -2
  28. package/app/components/CameraManager/List.vue +11 -11
  29. package/app/components/CameraManager/Saver.vue +8 -4
  30. package/app/components/CameraManager.vue +24 -12
  31. package/app/components/CameraOrientation.vue +31 -17
  32. package/app/components/ClippingPlaneCard.vue +13 -12
  33. package/app/components/ClippingPlanes.vue +31 -21
  34. package/app/components/CrsSelector.vue +26 -18
  35. package/app/components/DeleteDialog.vue +18 -16
  36. package/app/components/DragAndDrop.vue +55 -37
  37. package/app/components/DragAndDropInternal/DragAndDropInline.vue +31 -16
  38. package/app/components/DragAndDropInternal/DragAndDropOverlay.vue +32 -19
  39. package/app/components/ExtensionSelector.vue +34 -18
  40. package/app/components/FeedBack/ErrorBanner.vue +4 -3
  41. package/app/components/FeedBack/Snackers.vue +6 -5
  42. package/app/components/FetchingData.vue +8 -12
  43. package/app/components/FileSelector.vue +27 -17
  44. package/app/components/FileUploader.vue +51 -30
  45. package/app/components/GlassCard.vue +17 -13
  46. package/app/components/HybridRenderingView.vue +25 -12
  47. package/app/components/HybridViewerTooltip.vue +28 -26
  48. package/app/components/InfraConnected.vue +1 -1
  49. package/app/components/Launcher.vue +12 -10
  50. package/app/components/Loading/EcoMessages.vue +24 -13
  51. package/app/components/Loading/Header.vue +6 -7
  52. package/app/components/Loading/Progress.vue +6 -7
  53. package/app/components/Loading.vue +10 -14
  54. package/app/components/MissingFilesSelector.vue +35 -19
  55. package/app/components/ObjectSelector.vue +37 -21
  56. package/app/components/PackagesVersions.vue +16 -8
  57. package/app/components/Recaptcha.vue +17 -23
  58. package/app/components/RemoteRenderingView.vue +21 -15
  59. package/app/components/Ruler.vue +11 -9
  60. package/app/components/Screenshot.vue +25 -19
  61. package/app/components/SearchBar.vue +12 -6
  62. package/app/components/ShrinkFilter.vue +19 -14
  63. package/app/components/Step.vue +32 -12
  64. package/app/components/Stepper.vue +19 -7
  65. package/app/components/ToolPanel.vue +29 -13
  66. package/app/components/ViewToolbar.vue +53 -44
  67. package/app/components/Viewer/ContextMenu/CenterButton.vue +16 -9
  68. package/app/components/Viewer/ContextMenu/CircularItems.vue +13 -10
  69. package/app/components/Viewer/ContextMenu/ContextMenu.vue +40 -32
  70. package/app/components/Viewer/ContextMenu/ContextMenuItem.vue +31 -17
  71. package/app/components/Viewer/ContextMenu/InfoCard.vue +38 -22
  72. package/app/components/Viewer/EdgedCurve/PointsOptions.vue +8 -5
  73. package/app/components/Viewer/EdgedCurve/SpecificEdgesOptions.vue +67 -48
  74. package/app/components/Viewer/Generic/Mesh/CellsOptions.vue +74 -50
  75. package/app/components/Viewer/Generic/Mesh/EdgesOptions.vue +69 -50
  76. package/app/components/Viewer/Generic/Mesh/PointsOptions.vue +47 -35
  77. package/app/components/Viewer/Generic/Mesh/PolygonsOptions.vue +91 -51
  78. package/app/components/Viewer/Generic/Mesh/PolyhedraOptions.vue +74 -49
  79. package/app/components/Viewer/Generic/Model/BlocksOptions.vue +115 -53
  80. package/app/components/Viewer/Generic/Model/CornersOptions.vue +75 -37
  81. package/app/components/Viewer/Generic/Model/EdgesOptions.vue +13 -9
  82. package/app/components/Viewer/Generic/Model/LinesOptions.vue +110 -61
  83. package/app/components/Viewer/Generic/Model/ModelStyleCard.vue +32 -21
  84. package/app/components/Viewer/Generic/Model/ModelStyleOptions.vue +9 -5
  85. package/app/components/Viewer/Generic/Model/PointsOptions.vue +19 -13
  86. package/app/components/Viewer/Generic/Model/SurfacesOptions.vue +119 -49
  87. package/app/components/Viewer/Grid/2D/CellsOptions.vue +8 -5
  88. package/app/components/Viewer/Grid/2D/EdgesOptions.vue +8 -5
  89. package/app/components/Viewer/Grid/2D/PointsOptions.vue +8 -5
  90. package/app/components/Viewer/Grid/3D/CellsOptions.vue +8 -5
  91. package/app/components/Viewer/Grid/3D/EdgesOptions.vue +8 -5
  92. package/app/components/Viewer/Grid/3D/FacetsOptions.vue +8 -5
  93. package/app/components/Viewer/Grid/3D/PointsOptions.vue +8 -5
  94. package/app/components/Viewer/ObjectTree/Base/CommonTreeView.vue +120 -76
  95. package/app/components/Viewer/ObjectTree/Base/Controls.vue +25 -10
  96. package/app/components/Viewer/ObjectTree/Base/ItemLabel.vue +42 -17
  97. package/app/components/Viewer/ObjectTree/Base/StickyHeader.vue +22 -9
  98. package/app/components/Viewer/ObjectTree/Base/TreeRow.vue +29 -14
  99. package/app/components/Viewer/ObjectTree/Box.vue +32 -15
  100. package/app/components/Viewer/ObjectTree/Layout.vue +55 -35
  101. package/app/components/Viewer/ObjectTree/Views/GlobalObjects.vue +63 -34
  102. package/app/components/Viewer/ObjectTree/Views/{ModelCollections.vue → ModelTree.vue} +101 -39
  103. package/app/components/Viewer/Options/AttributeColorBar.vue +14 -6
  104. package/app/components/Viewer/Options/AttributeRangeSelector.vue +8 -4
  105. package/app/components/Viewer/Options/AttributeSelector.vue +64 -33
  106. package/app/components/Viewer/Options/ColorMapList.vue +52 -24
  107. package/app/components/Viewer/Options/ColorMapPicker.vue +15 -11
  108. package/app/components/Viewer/Options/ColorPicker.vue +239 -50
  109. package/app/components/Viewer/Options/ColoringTypeSelector.vue +87 -67
  110. package/app/components/Viewer/Options/ColormapQuickPicker.vue +16 -12
  111. package/app/components/Viewer/Options/OptionsSection.vue +7 -5
  112. package/app/components/Viewer/Options/Sliders/Size.vue +3 -3
  113. package/app/components/Viewer/Options/Sliders/Slider.vue +9 -6
  114. package/app/components/Viewer/Options/Sliders/Width.vue +3 -3
  115. package/app/components/Viewer/Options/TextureItem.vue +29 -22
  116. package/app/components/Viewer/Options/TexturesSelector.vue +23 -12
  117. package/app/components/Viewer/Options/VisibilitySwitch.vue +3 -3
  118. package/app/components/Viewer/OverlappingObjectsPicker.vue +27 -12
  119. package/app/components/Viewer/PointSet/SpecificPointsOptions.vue +38 -26
  120. package/app/components/Viewer/Solid/EdgesOptions.vue +8 -5
  121. package/app/components/Viewer/Solid/PointsOptions.vue +8 -5
  122. package/app/components/Viewer/Solid/PolygonsOptions.vue +8 -5
  123. package/app/components/Viewer/Solid/SpecificPolyhedraOptions.vue +73 -48
  124. package/app/components/Viewer/Surface/EdgesOptions.vue +8 -5
  125. package/app/components/Viewer/Surface/PointsOptions.vue +8 -5
  126. package/app/components/Viewer/Surface/PolygonsOptions.vue +79 -49
  127. package/app/components/Viewer/Surface/Triangulated/TrianglesOptions.vue +8 -5
  128. package/app/components/Viewer/TetrahedralSolid/TetrahedraOptions.vue +8 -5
  129. package/app/components/Viewer/TetrahedralSolid/TrianglesOptions.vue +8 -5
  130. package/app/components/Viewer/Ui.vue +19 -14
  131. package/app/components/Wrapper.vue +16 -10
  132. package/app/components/ZScaling.vue +18 -10
  133. package/app/components/csv-preview/CsvPreviewer.vue +72 -50
  134. package/app/components/csv-preview/CsvSettings.vue +30 -50
  135. package/app/components/csv-preview/CsvTable.vue +34 -14
  136. package/app/composables/{batch_style.js → batch_style.ts} +9 -7
  137. package/app/composables/clipping_planes_widget.ts +204 -0
  138. package/app/composables/clipping_planes_widget_entries.ts +189 -0
  139. package/app/composables/copy_to_clipboard.ts +7 -0
  140. package/app/composables/global_attribute_style.ts +303 -0
  141. package/app/composables/hover_highlight.ts +127 -0
  142. package/app/composables/{model_collections.js → model_collections.ts} +28 -9
  143. package/app/composables/{model_components.js → model_components.ts} +28 -9
  144. package/app/composables/{project_manager.js → project_manager.ts} +77 -20
  145. package/app/composables/responsive_middle_truncate.ts +48 -0
  146. package/app/composables/{run_function_when_microservices_connected.js → run_function_when_microservices_connected.ts} +1 -1
  147. package/app/composables/stepper_tree.ts +79 -0
  148. package/app/composables/tree_filter.ts +194 -0
  149. package/app/composables/{tree_keyboard_nav.js → tree_keyboard_nav.ts} +62 -20
  150. package/app/composables/{tree_scroll.js → tree_scroll.ts} +61 -12
  151. package/app/composables/use_adaptive_styles.ts +186 -0
  152. package/app/composables/use_overlapping_picker.ts +263 -0
  153. package/app/composables/use_quick_colormap.ts +55 -0
  154. package/app/composables/virtual_tree.ts +271 -0
  155. package/app/composables/vtk_implicit_plane_widget.d.ts +2 -0
  156. package/app/plugins/{auto_store_register.js → auto_store_register.ts} +3 -5
  157. package/app/plugins/click_outside_ignore_snackbars.client.ts +36 -0
  158. package/app/stores/app.ts +252 -0
  159. package/app/stores/app_helpers/extension.ts +179 -0
  160. package/app/stores/{back.js → back.ts} +54 -28
  161. package/app/stores/camera_manager.ts +80 -0
  162. package/app/stores/{cloud.js → cloud.ts} +18 -13
  163. package/app/stores/data.ts +392 -0
  164. package/app/stores/data_helpers/collections.ts +138 -0
  165. package/app/stores/data_helpers/mesh.ts +169 -0
  166. package/app/stores/data_style.ts +167 -0
  167. package/app/stores/{feedback.js → feedback.ts} +19 -8
  168. package/app/stores/{hybrid_viewer.js → hybrid_viewer.ts} +49 -45
  169. package/app/stores/infra.ts +106 -0
  170. package/app/stores/{menu.js → menu.ts} +67 -36
  171. package/app/stores/treeview.ts +383 -0
  172. package/app/stores/{viewer.js → viewer.ts} +75 -42
  173. package/app/utils/attributes.ts +40 -0
  174. package/app/utils/clipping_planes.ts +222 -0
  175. package/app/utils/color_picker.js +54 -0
  176. package/app/utils/colormap.ts +102 -0
  177. package/app/utils/default_styles/{constants.js → constants.ts} +25 -12
  178. package/app/utils/default_styles/{index.js → index.ts} +4 -3
  179. package/app/utils/default_styles/meshes.ts +264 -0
  180. package/app/utils/default_styles/{models.js → models.ts} +106 -52
  181. package/app/utils/{extension.js → extension.ts} +63 -19
  182. package/app/utils/{import_workflow.js → import_workflow.ts} +39 -22
  183. package/app/utils/{log.js → log.ts} +12 -2
  184. package/app/utils/{name_cleaner.js → name_cleaner.ts} +6 -6
  185. package/app/utils/status.ts +19 -0
  186. package/app/utils/{stores.js → stores.ts} +5 -5
  187. package/app/utils/{string.js → string.ts} +6 -6
  188. package/app/utils/{treeview.js → treeview.ts} +4 -1
  189. package/internal/database/{base_database.js → base_database.ts} +7 -3
  190. package/internal/database/database.ts +102 -0
  191. package/internal/database/{extended_database.js → extended_database.ts} +5 -1
  192. package/internal/database/tables/camera_positions.ts +6 -0
  193. package/internal/database/tables/{data.js → data.ts} +3 -1
  194. package/internal/database/tables/data_style.ts +6 -0
  195. package/internal/database/tables/model_component_datastyle.ts +6 -0
  196. package/internal/database/tables/model_component_type_datastyle.ts +6 -0
  197. package/internal/database/tables/model_components.ts +6 -0
  198. package/internal/database/tables/model_components_relation.ts +6 -0
  199. package/internal/database/tables/table_definition.ts +5 -0
  200. package/internal/stores/data_style/mesh/cells/cell.ts +279 -0
  201. package/internal/stores/data_style/mesh/cells/{color.js → color.ts} +13 -7
  202. package/internal/stores/data_style/mesh/cells/common.ts +50 -0
  203. package/internal/stores/data_style/mesh/cells/index.ts +161 -0
  204. package/internal/stores/data_style/mesh/cells/{textures.js → textures.ts} +14 -8
  205. package/internal/stores/data_style/mesh/cells/vertex.ts +285 -0
  206. package/internal/stores/data_style/mesh/cells/visibility.ts +46 -0
  207. package/internal/stores/data_style/mesh/edges/{color.js → color.ts} +13 -7
  208. package/internal/stores/data_style/mesh/edges/common.ts +41 -0
  209. package/internal/stores/data_style/mesh/edges/edge.ts +279 -0
  210. package/internal/stores/data_style/mesh/edges/index.ts +155 -0
  211. package/internal/stores/data_style/mesh/edges/vertex.ts +285 -0
  212. package/internal/stores/data_style/mesh/edges/visibility.ts +45 -0
  213. package/internal/stores/data_style/mesh/edges/width.ts +42 -0
  214. package/internal/stores/data_style/mesh/{index.js → index.ts} +34 -14
  215. package/internal/stores/data_style/mesh/points/{color.js → color.ts} +13 -7
  216. package/internal/stores/data_style/mesh/points/common.ts +51 -0
  217. package/internal/stores/data_style/mesh/points/index.ts +133 -0
  218. package/internal/stores/data_style/mesh/points/size.ts +43 -0
  219. package/internal/stores/data_style/mesh/points/vertex.ts +285 -0
  220. package/internal/stores/data_style/mesh/points/visibility.ts +49 -0
  221. package/internal/stores/data_style/mesh/polygons/{color.js → color.ts} +13 -7
  222. package/internal/stores/data_style/mesh/polygons/common.ts +50 -0
  223. package/internal/stores/data_style/mesh/polygons/index.ts +167 -0
  224. package/internal/stores/data_style/mesh/polygons/polygon.ts +282 -0
  225. package/internal/stores/data_style/mesh/polygons/{textures.js → textures.ts} +14 -8
  226. package/internal/stores/data_style/mesh/polygons/vertex.ts +288 -0
  227. package/internal/stores/data_style/mesh/polygons/visibility.ts +48 -0
  228. package/internal/stores/data_style/mesh/polyhedra/{color.js → color.ts} +13 -7
  229. package/internal/stores/data_style/mesh/polyhedra/common.ts +41 -0
  230. package/internal/stores/data_style/mesh/polyhedra/index.ts +157 -0
  231. package/internal/stores/data_style/mesh/polyhedra/polyhedron.ts +294 -0
  232. package/internal/stores/data_style/mesh/polyhedra/vertex.ts +288 -0
  233. package/internal/stores/data_style/mesh/polyhedra/visibility.ts +48 -0
  234. package/internal/stores/data_style/model/blocks/{color.js → color.ts} +50 -13
  235. package/internal/stores/data_style/model/blocks/common.ts +67 -0
  236. package/internal/stores/data_style/model/blocks/{index.js → index.ts} +111 -66
  237. package/internal/stores/data_style/model/blocks/polyhedron.ts +363 -0
  238. package/internal/stores/data_style/model/blocks/vertex.ts +349 -0
  239. package/internal/stores/data_style/model/blocks/visibility.ts +37 -0
  240. package/internal/stores/data_style/model/color.ts +348 -0
  241. package/internal/stores/data_style/model/common.ts +262 -0
  242. package/internal/stores/data_style/model/corners/{color.js → color.ts} +49 -10
  243. package/internal/stores/data_style/model/corners/common.ts +71 -0
  244. package/internal/stores/data_style/model/corners/{index.js → index.ts} +86 -47
  245. package/internal/stores/data_style/model/corners/vertex.ts +315 -0
  246. package/internal/stores/data_style/model/corners/visibility.ts +39 -0
  247. package/internal/stores/data_style/model/edges/common.ts +29 -0
  248. package/internal/stores/data_style/model/edges/{index.js → index.ts} +2 -7
  249. package/internal/stores/data_style/model/edges/visibility.ts +55 -0
  250. package/internal/stores/data_style/model/{index.js → index.ts} +24 -11
  251. package/internal/stores/data_style/model/lines/{color.js → color.ts} +47 -10
  252. package/internal/stores/data_style/model/lines/common.ts +63 -0
  253. package/internal/stores/data_style/model/lines/edge.ts +343 -0
  254. package/internal/stores/data_style/model/lines/{index.js → index.ts} +108 -66
  255. package/internal/stores/data_style/model/lines/vertex.ts +344 -0
  256. package/internal/stores/data_style/model/lines/visibility.ts +37 -0
  257. package/internal/stores/data_style/model/points/common.ts +25 -0
  258. package/internal/stores/data_style/model/points/index.ts +35 -0
  259. package/internal/stores/data_style/model/points/size.ts +44 -0
  260. package/internal/stores/data_style/model/points/visibility.ts +46 -0
  261. package/internal/stores/data_style/model/selection.ts +138 -0
  262. package/internal/stores/data_style/model/surfaces/{color.js → color.ts} +47 -10
  263. package/internal/stores/data_style/model/surfaces/common.ts +69 -0
  264. package/internal/stores/data_style/model/surfaces/{index.js → index.ts} +113 -66
  265. package/internal/stores/data_style/model/surfaces/polygon.ts +347 -0
  266. package/internal/stores/data_style/model/surfaces/vertex.ts +351 -0
  267. package/internal/stores/data_style/model/surfaces/visibility.ts +37 -0
  268. package/internal/stores/data_style/model/{visibility.js → visibility.ts} +112 -32
  269. package/internal/stores/data_style/state.ts +281 -0
  270. package/internal/stores/data_style/types.ts +30 -0
  271. package/internal/stores/hybrid_viewer/brightness.ts +124 -0
  272. package/internal/stores/hybrid_viewer/camera.ts +326 -0
  273. package/internal/stores/hybrid_viewer/{camera_animation.js → camera_animation.ts} +30 -12
  274. package/internal/stores/hybrid_viewer/{constants.js → constants.ts} +2 -2
  275. package/internal/stores/hybrid_viewer/core.ts +64 -0
  276. package/internal/stores/hybrid_viewer/{filters.js → filters.ts} +10 -13
  277. package/internal/stores/hybrid_viewer/highlight.ts +183 -0
  278. package/internal/stores/hybrid_viewer/{ruler.js → ruler.ts} +50 -22
  279. package/internal/stores/hybrid_viewer/scene.ts +125 -0
  280. package/internal/stores/hybrid_viewer/viewport.ts +177 -0
  281. package/internal/stores/hybrid_viewer/vtk_types.ts +58 -0
  282. package/internal/utils/api_fetch.ts +133 -0
  283. package/internal/utils/upload_file.ts +115 -0
  284. package/internal/utils/viewer_call.ts +99 -0
  285. package/internal/utils/ws_client.ts +54 -0
  286. package/nuxt.config.ts +168 -0
  287. package/opengeodeweb_front_schemas.json +2 -2
  288. package/package.json +49 -13
  289. package/server/api/cloud/extensions/{run.post.js → run.post.ts} +16 -12
  290. package/server/api/local/app/project_folder_path.post.ts +33 -0
  291. package/server/api/local/app/run_back.post.ts +39 -0
  292. package/server/api/local/app/run_viewer.post.ts +39 -0
  293. package/server/api/local/extensions/{kill.post.js → kill.post.ts} +15 -8
  294. package/server/api/local/extensions/{run.post.js → run.post.ts} +17 -12
  295. package/server/api/local/extensions/upload.put.ts +71 -0
  296. package/server/api/microservice/app/{get_is_app_ready.get.js → get_is_app_ready.get.ts} +5 -5
  297. package/server/api/microservice/app/schemas/get_is_app_ready.json +1 -1
  298. package/server/api/microservice/app/set_app_base_url.post.ts +29 -0
  299. package/server/api/microservice/app/set_back_base_url.post.ts +26 -0
  300. package/server/api/microservice/app/set_is_app_ready.post.ts +29 -0
  301. package/server/api/microservice/app/set_viewer_base_url.post.ts +26 -0
  302. package/server/api/microservice/extensions/{download.post.js → download.post.ts} +13 -6
  303. package/server/api/serverless/run_cloud.post.ts +92 -0
  304. package/server/utils/{app_config.js → app_config.ts} +40 -18
  305. package/server/utils/{cleanup.js → cleanup.ts} +76 -29
  306. package/server/utils/{cloud.js → cloud.ts} +33 -17
  307. package/server/utils/{extension.js → extension.ts} +31 -4
  308. package/server/utils/{microservices.js → microservices.ts} +68 -27
  309. package/server/utils/{path.js → path.ts} +36 -17
  310. package/server/utils/{scripts.js → scripts.ts} +49 -33
  311. package/server/utils/{server.js → server.ts} +13 -6
  312. package/server/utils/server_config.ts +74 -0
  313. package/server/utils/stream.ts +6 -0
  314. package/server/utils/ws_client.ts +165 -0
  315. package/shared/{scripts.js → scripts.ts} +15 -10
  316. package/shared/utils/call_raw.ts +73 -0
  317. package/shared/utils/{call_schema.js → call_schema.ts} +15 -6
  318. package/shared/utils/fetch_raw.ts +125 -0
  319. package/shared/utils/{fetch_schema.js → fetch_schema.ts} +16 -7
  320. package/shared/utils/file.ts +22 -0
  321. package/shared/utils/{parse_boolean.js → parse_boolean.ts} +1 -1
  322. package/shared/utils/response_handlers/load.ts +109 -0
  323. package/shared/utils/types.ts +27 -0
  324. package/shared/utils/{validate_schema.js → validate_schema.ts} +3 -1
  325. package/.github/workflows/config.json +0 -5
  326. package/.github/workflows/deploy.yml +0 -15
  327. package/.github/workflows/manual_release.yml +0 -11
  328. package/.github/workflows/merge_request.yml +0 -9
  329. package/.github/workflows/pr_update.yml +0 -11
  330. package/.github/workflows/prepare_deploy.yml +0 -9
  331. package/.github/workflows/schedule.yml +0 -18
  332. package/.github/workflows/test.yml +0 -14
  333. package/.github/workflows/test_pr.yml +0 -12
  334. package/.oxlintrc.json +0 -150
  335. package/.releaserc +0 -11
  336. package/app/components/Viewer/ObjectTree/Views/ModelComponents.vue +0 -224
  337. package/app/composables/clipping_planes_widget.js +0 -249
  338. package/app/composables/global_attribute_style.js +0 -181
  339. package/app/composables/hover_highlight.js +0 -91
  340. package/app/composables/responsive_middle_truncate.js +0 -34
  341. package/app/composables/stepper_tree.js +0 -56
  342. package/app/composables/tree_filter.js +0 -138
  343. package/app/composables/use_adaptive_styles.js +0 -120
  344. package/app/composables/use_overlapping_picker.js +0 -169
  345. package/app/composables/use_quick_colormap.js +0 -32
  346. package/app/composables/virtual_tree.js +0 -191
  347. package/app/stores/app.js +0 -326
  348. package/app/stores/camera_manager.js +0 -57
  349. package/app/stores/data.js +0 -278
  350. package/app/stores/data_helpers/collections.js +0 -96
  351. package/app/stores/data_helpers/mesh.js +0 -122
  352. package/app/stores/data_style.js +0 -116
  353. package/app/stores/infra.js +0 -95
  354. package/app/stores/treeview.js +0 -290
  355. package/app/utils/attributes.js +0 -23
  356. package/app/utils/clipping_planes.js +0 -110
  357. package/app/utils/colormap.js +0 -64
  358. package/app/utils/default_styles/meshes.js +0 -191
  359. package/app/utils/status.js +0 -10
  360. package/commitlint.config.js +0 -20
  361. package/internal/database/database.js +0 -80
  362. package/internal/database/tables/camera_positions.js +0 -4
  363. package/internal/database/tables/data_style.js +0 -4
  364. package/internal/database/tables/model_component_datastyle.js +0 -4
  365. package/internal/database/tables/model_component_type_datastyle.js +0 -4
  366. package/internal/database/tables/model_components.js +0 -4
  367. package/internal/database/tables/model_components_relation.js +0 -4
  368. package/internal/stores/data_style/mesh/cells/cell.js +0 -196
  369. package/internal/stores/data_style/mesh/cells/common.js +0 -39
  370. package/internal/stores/data_style/mesh/cells/index.js +0 -81
  371. package/internal/stores/data_style/mesh/cells/vertex.js +0 -193
  372. package/internal/stores/data_style/mesh/cells/visibility.js +0 -35
  373. package/internal/stores/data_style/mesh/edges/common.js +0 -32
  374. package/internal/stores/data_style/mesh/edges/edge.js +0 -195
  375. package/internal/stores/data_style/mesh/edges/index.js +0 -81
  376. package/internal/stores/data_style/mesh/edges/vertex.js +0 -196
  377. package/internal/stores/data_style/mesh/edges/visibility.js +0 -34
  378. package/internal/stores/data_style/mesh/edges/width.js +0 -34
  379. package/internal/stores/data_style/mesh/points/common.js +0 -37
  380. package/internal/stores/data_style/mesh/points/index.js +0 -82
  381. package/internal/stores/data_style/mesh/points/size.js +0 -35
  382. package/internal/stores/data_style/mesh/points/vertex.js +0 -193
  383. package/internal/stores/data_style/mesh/points/visibility.js +0 -37
  384. package/internal/stores/data_style/mesh/polygons/common.js +0 -32
  385. package/internal/stores/data_style/mesh/polygons/index.js +0 -107
  386. package/internal/stores/data_style/mesh/polygons/polygon.js +0 -196
  387. package/internal/stores/data_style/mesh/polygons/vertex.js +0 -196
  388. package/internal/stores/data_style/mesh/polygons/visibility.js +0 -38
  389. package/internal/stores/data_style/mesh/polyhedra/common.js +0 -32
  390. package/internal/stores/data_style/mesh/polyhedra/index.js +0 -98
  391. package/internal/stores/data_style/mesh/polyhedra/polyhedron.js +0 -196
  392. package/internal/stores/data_style/mesh/polyhedra/vertex.js +0 -196
  393. package/internal/stores/data_style/mesh/polyhedra/visibility.js +0 -38
  394. package/internal/stores/data_style/model/blocks/common.js +0 -51
  395. package/internal/stores/data_style/model/blocks/polyhedron.js +0 -215
  396. package/internal/stores/data_style/model/blocks/vertex.js +0 -204
  397. package/internal/stores/data_style/model/blocks/visibility.js +0 -20
  398. package/internal/stores/data_style/model/color.js +0 -218
  399. package/internal/stores/data_style/model/common.js +0 -141
  400. package/internal/stores/data_style/model/corners/common.js +0 -51
  401. package/internal/stores/data_style/model/corners/vertex.js +0 -204
  402. package/internal/stores/data_style/model/corners/visibility.js +0 -20
  403. package/internal/stores/data_style/model/edges/common.js +0 -20
  404. package/internal/stores/data_style/model/edges/visibility.js +0 -38
  405. package/internal/stores/data_style/model/lines/common.js +0 -51
  406. package/internal/stores/data_style/model/lines/edge.js +0 -203
  407. package/internal/stores/data_style/model/lines/vertex.js +0 -204
  408. package/internal/stores/data_style/model/lines/visibility.js +0 -20
  409. package/internal/stores/data_style/model/points/common.js +0 -20
  410. package/internal/stores/data_style/model/points/index.js +0 -25
  411. package/internal/stores/data_style/model/points/size.js +0 -36
  412. package/internal/stores/data_style/model/points/visibility.js +0 -36
  413. package/internal/stores/data_style/model/selection.js +0 -89
  414. package/internal/stores/data_style/model/surfaces/common.js +0 -51
  415. package/internal/stores/data_style/model/surfaces/polygon.js +0 -215
  416. package/internal/stores/data_style/model/surfaces/vertex.js +0 -215
  417. package/internal/stores/data_style/model/surfaces/visibility.js +0 -20
  418. package/internal/stores/data_style/state.js +0 -197
  419. package/internal/stores/hybrid_viewer/brightness.js +0 -82
  420. package/internal/stores/hybrid_viewer/camera.js +0 -274
  421. package/internal/stores/hybrid_viewer/highlight.js +0 -170
  422. package/internal/stores/hybrid_viewer/scene.js +0 -136
  423. package/internal/stores/hybrid_viewer/viewport.js +0 -140
  424. package/internal/utils/api_fetch.js +0 -52
  425. package/internal/utils/upload_file.js +0 -57
  426. package/internal/utils/viewer_call.js +0 -49
  427. package/internal/utils/ws_client.js +0 -29
  428. package/nuxt.config.js +0 -106
  429. package/scripts/generate_geode_objects.js +0 -24
  430. package/server/api/local/app/project_folder_path.post.js +0 -29
  431. package/server/api/local/app/run_back.post.js +0 -33
  432. package/server/api/local/app/run_viewer.post.js +0 -33
  433. package/server/api/local/extensions/upload.put.js +0 -72
  434. package/server/api/microservice/app/set_app_base_url.post.js +0 -25
  435. package/server/api/microservice/app/set_back_base_url.post.js +0 -22
  436. package/server/api/microservice/app/set_is_app_ready.post.js +0 -25
  437. package/server/api/microservice/app/set_viewer_base_url.post.js +0 -22
  438. package/server/api/serverless/run_cloud.post.js +0 -44
  439. package/server/utils/server_config.js +0 -58
  440. package/server/utils/ws_client.js +0 -112
  441. package/shared/utils/call_raw.js +0 -46
  442. package/shared/utils/fetch_raw.js +0 -61
  443. package/shared/utils/file.js +0 -16
  444. package/shared/utils/response_handlers/load.js +0 -74
  445. package/tests/integration/data/uploads/test.og_brep +0 -0
  446. package/tests/integration/data/uploads/test.og_edc2d +0 -0
  447. package/tests/integration/data/uploads/test.og_edc3d +0 -0
  448. package/tests/integration/data/uploads/test.og_psf3d +0 -0
  449. package/tests/integration/data/uploads/test.og_rgd2d +0 -0
  450. package/tests/integration/data/uploads/test.og_rgd3d +0 -0
  451. package/tests/integration/data/uploads/test.vtu +0 -22
  452. package/tests/integration/setup.js +0 -92
  453. package/tests/integration/stores/data_style/mesh/cells.nuxt.test.js +0 -343
  454. package/tests/integration/stores/data_style/mesh/edges.nuxt.test.js +0 -254
  455. package/tests/integration/stores/data_style/mesh/index.nuxt.test.js +0 -62
  456. package/tests/integration/stores/data_style/mesh/points.nuxt.test.js +0 -201
  457. package/tests/integration/stores/data_style/mesh/polygons.nuxt.test.js +0 -260
  458. package/tests/integration/stores/data_style/mesh/polyhedra.nuxt.test.js +0 -267
  459. package/tests/integration/stores/data_style/model/blocks.nuxt.test.js +0 -397
  460. package/tests/integration/stores/data_style/model/corners.nuxt.test.js +0 -264
  461. package/tests/integration/stores/data_style/model/edges.nuxt.test.js +0 -71
  462. package/tests/integration/stores/data_style/model/index.nuxt.test.js +0 -92
  463. package/tests/integration/stores/data_style/model/lines.nuxt.test.js +0 -379
  464. package/tests/integration/stores/data_style/model/points.nuxt.test.js +0 -95
  465. package/tests/integration/stores/data_style/model/surfaces.nuxt.test.js +0 -574
  466. package/tests/integration/stores/viewer.nuxt.test.js +0 -69
  467. package/tests/setup_indexeddb.js +0 -4
  468. package/tests/unit/components/CrsSelector.nuxt.test.js +0 -55
  469. package/tests/unit/components/DragAndDrop.nuxt.test.js +0 -89
  470. package/tests/unit/components/ExtensionSelector.nuxt.test.js +0 -65
  471. package/tests/unit/components/FeedBack/ErrorsBanner.nuxt.test.js +0 -41
  472. package/tests/unit/components/FeedBack/Snackers.nuxt.test.js +0 -49
  473. package/tests/unit/components/FileSelector.nuxt.test.js +0 -124
  474. package/tests/unit/components/FileUploader.nuxt.test.js +0 -69
  475. package/tests/unit/components/MissingFilesSelector.nuxt.test.js +0 -77
  476. package/tests/unit/components/ObjectSelector.nuxt.test.js +0 -118
  477. package/tests/unit/components/PackagesVersions.nuxt.test.js +0 -42
  478. package/tests/unit/components/Step.nuxt.test.js +0 -51
  479. package/tests/unit/components/Stepper.nuxt.test.js +0 -41
  480. package/tests/unit/components/ToolPanel.nuxt.test.js +0 -66
  481. package/tests/unit/composables/api_fetch.nuxt.test.js +0 -75
  482. package/tests/unit/composables/project_manager.nuxt.test.js +0 -299
  483. package/tests/unit/composables/run_function_when_microservices_connected.nuxt.test.js +0 -57
  484. package/tests/unit/composables/upload_file.nuxt.test.js +0 -45
  485. package/tests/unit/composables/virtual_tree.nuxt.test.js +0 -63
  486. package/tests/unit/plugins/project_load.nuxt.test.js +0 -98
  487. package/tests/unit/stores/app.nuxt.test.js +0 -189
  488. package/tests/unit/stores/back.nuxt.test.js +0 -147
  489. package/tests/unit/stores/cloud.nuxt.test.js +0 -90
  490. package/tests/unit/stores/data.nuxt.test.js +0 -162
  491. package/tests/unit/stores/feedback.nuxt.test.js +0 -90
  492. package/tests/unit/stores/infra.nuxt.test.js +0 -313
  493. package/tests/unit/stores/treeview.nuxt.test.js +0 -63
  494. package/tests/unit/stores/viewer.nuxt.test.js +0 -161
  495. package/tests/unit/utils/validate_schema.nuxt.test.js +0 -38
  496. package/tests/utils.js +0 -20
  497. package/tests/vitest.config.js +0 -67
  498. /package/server/api/local/app/{kill.post.js → kill.post.ts} +0 -0
  499. /package/shared/{app_mode.js → app_mode.ts} +0 -0
@@ -1,89 +0,0 @@
1
- import { MESH_COMPONENT_TYPES } from "@ogw_front/utils/default_styles";
2
- import { database } from "@ogw_internal/database/database";
3
-
4
- function buildSelection(
5
- modelId,
6
- components,
7
- componentStyles,
8
- modelComponentTypeStyles,
9
- dataStyleState,
10
- ) {
11
- const componentsByType = Object.fromEntries(
12
- MESH_COMPONENT_TYPES.map((componentType) => [componentType, []]),
13
- );
14
- for (const component of components) {
15
- if (componentsByType[component.type]) {
16
- componentsByType[component.type].push(component);
17
- }
18
- }
19
-
20
- const groupStyles = dataStyleState.getStyle(modelId);
21
- const selection = [];
22
- for (const componentType of MESH_COMPONENT_TYPES) {
23
- const typeComponents = componentsByType[componentType];
24
- if (typeComponents.length === 0) {
25
- continue;
26
- }
27
-
28
- const typeKey = `${componentType.toLowerCase()}s`;
29
- const typeStyleKey = `${modelId}_${componentType}`;
30
- const typeStyle = modelComponentTypeStyles.value[typeStyleKey];
31
- const defaultVisibility = typeStyle?.visibility ?? groupStyles[typeKey]?.visibility ?? true;
32
-
33
- let allVisible = true;
34
- for (const component of typeComponents) {
35
- const styleKey = `${modelId}_${component.geode_id}`;
36
- const isVisible = componentStyles.value[styleKey]?.visibility ?? defaultVisibility;
37
- if (isVisible) {
38
- selection.push(component.geode_id);
39
- } else {
40
- allVisible = false;
41
- }
42
- }
43
- if (allVisible) {
44
- selection.push(componentType);
45
- }
46
- }
47
- return selection;
48
- }
49
-
50
- const selectionCache = new Map();
51
-
52
- function useModelSelection(modelId, dataStyleState) {
53
- if (!modelId) {
54
- return computed(() => []);
55
- }
56
-
57
- const cacheKey = `${modelId}`;
58
- if (selectionCache.has(cacheKey)) {
59
- return selectionCache.get(cacheKey);
60
- }
61
-
62
- const allComponents = ref([]);
63
-
64
- (async () => {
65
- try {
66
- allComponents.value = await database.model_components.where("id").equals(modelId).toArray();
67
- } catch (error) {
68
- console.error("Error fetching model components:", error);
69
- }
70
- })();
71
-
72
- const computedSelection = computed(() => {
73
- if (allComponents.value.length === 0) {
74
- return [];
75
- }
76
- return buildSelection(
77
- modelId,
78
- allComponents.value,
79
- dataStyleState.componentStyles,
80
- dataStyleState.modelComponentTypeStyles,
81
- dataStyleState,
82
- );
83
- });
84
-
85
- selectionCache.set(cacheKey, computedSelection);
86
- return computedSelection;
87
- }
88
-
89
- export { buildSelection, useModelSelection };
@@ -1,51 +0,0 @@
1
- import merge from "lodash/merge";
2
- import { useDataStyleState } from "@ogw_internal/stores/data_style/state";
3
- import { useModelCommonStyle } from "@ogw_internal/stores/data_style/model/common";
4
-
5
- export function useModelSurfacesCommonStyle() {
6
- const dataStyleState = useDataStyleState();
7
- const modelCommonStyle = useModelCommonStyle();
8
-
9
- function modelSurfacesStyle(id) {
10
- return dataStyleState.getStyle(id).surfaces;
11
- }
12
-
13
- function modelComponentTypeSurfacesStyle(id) {
14
- const defaultStyle = modelSurfacesStyle(id);
15
- const typeStyle = dataStyleState.getModelComponentTypeStyle(id, "Surface");
16
- return merge({}, defaultStyle, typeStyle);
17
- }
18
-
19
- function modelSurfaceStyle(id, surface_id) {
20
- if (surface_id === undefined) {
21
- return modelComponentTypeSurfacesStyle(id);
22
- }
23
- const typeStyle = modelComponentTypeSurfacesStyle(id);
24
- const individualStyle = dataStyleState.getComponentStyle(id, surface_id);
25
- return merge({}, typeStyle, individualStyle);
26
- }
27
-
28
- function modelSurfaceColoring(id, surface_id) {
29
- return modelSurfaceStyle(id, surface_id).coloring;
30
- }
31
-
32
- function mutateModelSurfacesColoring(id, surfaces_ids, values) {
33
- return modelCommonStyle.mutateComponentStyles(id, surfaces_ids, {
34
- coloring: values,
35
- });
36
- }
37
-
38
- function mutateModelSurfacesTypeColoring(id, values) {
39
- return modelCommonStyle.mutateModelComponentTypeStyle(id, "Surface", {
40
- coloring: values,
41
- });
42
- }
43
-
44
- return {
45
- modelSurfacesStyle,
46
- modelSurfaceStyle,
47
- modelSurfaceColoring,
48
- mutateModelSurfacesColoring,
49
- mutateModelSurfacesTypeColoring,
50
- };
51
- }
@@ -1,215 +0,0 @@
1
- import { DEFAULT_NO_DATA_COLOR } from "@ogw_front/utils/default_styles/constants";
2
- // Third party imports
3
- import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json";
4
-
5
- // Local imports
6
- import { getRGBPointsFromPreset } from "@ogw_front/utils/colormap";
7
- import { useDataStore } from "@ogw_front/stores/data";
8
- import { useModelSurfacesCommonStyle } from "./common";
9
- import { useViewerStore } from "@ogw_front/stores/viewer";
10
-
11
- // Local constants
12
- const attributeSchema =
13
- viewer_schemas.opengeodeweb_viewer.model.surfaces.attribute.polygon.attribute;
14
- function isModelSurfacesPolygonAttributeValid({ name, item, minimum, maximum, colorMap }) {
15
- return (
16
- name !== undefined &&
17
- item !== undefined &&
18
- minimum !== undefined &&
19
- maximum !== undefined &&
20
- colorMap !== undefined
21
- );
22
- }
23
-
24
- // oxlint-disable-next-line max-lines-per-function
25
- function useModelSurfacesPolygonAttribute() {
26
- const dataStore = useDataStore();
27
- const modelSurfacesCommonStyle = useModelSurfacesCommonStyle();
28
- const viewerStore = useViewerStore();
29
- function modelSurfacesPolygonAttribute(modelId, surfaceId) {
30
- return modelSurfacesCommonStyle.modelSurfaceColoring(modelId, surfaceId).polygon;
31
- }
32
- function modelSurfacesPolygonAttributeStoredConfig(modelId, surfaceId, name, item) {
33
- const { storedConfigs } = modelSurfacesPolygonAttribute(modelId, surfaceId);
34
- if (storedConfigs && name in storedConfigs && item in storedConfigs[name]) {
35
- return storedConfigs[name][item];
36
- }
37
- return {
38
- minimum: undefined,
39
- maximum: undefined,
40
- colorMap: undefined,
41
- no_data_color: DEFAULT_NO_DATA_COLOR,
42
- };
43
- }
44
- function mutateModelSurfacesPolygonStyle(modelId, surfaceIds, values) {
45
- if (surfaceIds.length > 1) {
46
- modelSurfacesCommonStyle.mutateModelSurfacesTypeColoring(modelId, {
47
- polygon: values,
48
- });
49
- }
50
- return modelSurfacesCommonStyle.mutateModelSurfacesColoring(modelId, surfaceIds, {
51
- polygon: values,
52
- });
53
- }
54
- function setModelSurfacesPolygonAttributeStoredConfig(modelId, surfaceIds, name, item, config) {
55
- return mutateModelSurfacesPolygonStyle(modelId, surfaceIds, {
56
- storedConfigs: {
57
- [name]: {
58
- lastItem: item,
59
- [item]: config,
60
- },
61
- },
62
- });
63
- }
64
- function modelSurfacesPolygonAttributeName(modelId, surfaceId) {
65
- return modelSurfacesPolygonAttribute(modelId, surfaceId).name;
66
- }
67
- function modelSurfacesPolygonAttributeLastItem(modelId, surfaceId, name) {
68
- const { storedConfigs } = modelSurfacesPolygonAttribute(modelId, surfaceId);
69
- if (!(name in storedConfigs)) {
70
- return 0;
71
- }
72
- return storedConfigs[name].lastItem;
73
- }
74
- function modelSurfacesPolygonAttributeItem(modelId, surfaceId) {
75
- const polygonAttribute = modelSurfacesPolygonAttribute(modelId, surfaceId);
76
- return (
77
- polygonAttribute.item ??
78
- modelSurfacesPolygonAttributeLastItem(modelId, surfaceId, polygonAttribute.name)
79
- );
80
- }
81
- function modelSurfacesPolygonAttributeRange(modelId, surfaceId) {
82
- const name = modelSurfacesPolygonAttributeName(modelId, surfaceId);
83
- const item = modelSurfacesPolygonAttributeItem(modelId, surfaceId);
84
- const storedConfig = modelSurfacesPolygonAttributeStoredConfig(modelId, surfaceId, name, item);
85
- const { minimum, maximum } = storedConfig;
86
- return [minimum, maximum];
87
- }
88
- function modelSurfacesPolygonAttributeColorMap(modelId, surfaceId) {
89
- const name = modelSurfacesPolygonAttributeName(modelId, surfaceId);
90
- const item = modelSurfacesPolygonAttributeItem(modelId, surfaceId);
91
- const storedConfig = modelSurfacesPolygonAttributeStoredConfig(modelId, surfaceId, name, item);
92
- return storedConfig.colorMap;
93
- }
94
- async function setModelSurfacesPolygonAttribute(
95
- modelId,
96
- surfaceIds,
97
- { name, item, minimum, maximum, colorMap, no_data_color = DEFAULT_NO_DATA_COLOR },
98
- ) {
99
- mutateModelSurfacesPolygonStyle(modelId, surfaceIds, {
100
- name,
101
- item,
102
- });
103
- setModelSurfacesPolygonAttributeStoredConfig(modelId, surfaceIds, name, item, {
104
- minimum,
105
- maximum,
106
- colorMap,
107
- no_data_color,
108
- });
109
- const points = getRGBPointsFromPreset(colorMap);
110
- const surface_viewer_ids = await dataStore.getMeshComponentsViewerIds(modelId, surfaceIds);
111
- const params = {
112
- id: modelId,
113
- block_ids: surface_viewer_ids,
114
- name,
115
- item,
116
- points,
117
- minimum,
118
- maximum,
119
- no_data_color,
120
- };
121
- return viewerStore.request({
122
- schema: attributeSchema,
123
- params,
124
- });
125
- }
126
- function applyPolygonAttribute(modelId, surfaceIds) {
127
- const name = modelSurfacesPolygonAttributeName(modelId, surfaceIds[0]);
128
- const item = modelSurfacesPolygonAttributeItem(modelId, surfaceIds[0]);
129
- const storedConfig = modelSurfacesPolygonAttributeStoredConfig(
130
- modelId,
131
- surfaceIds[0],
132
- name,
133
- item,
134
- );
135
- const attribute = {
136
- name,
137
- item,
138
- minimum: storedConfig.minimum,
139
- maximum: storedConfig.maximum,
140
- colorMap: storedConfig.colorMap,
141
- no_data_color: storedConfig.no_data_color,
142
- };
143
- if (isModelSurfacesPolygonAttributeValid(attribute)) {
144
- return setModelSurfacesPolygonAttribute(modelId, surfaceIds, attribute);
145
- }
146
- return Promise.resolve();
147
- }
148
- function setModelSurfacesPolygonAttributeName(modelId, surfaceIds, name) {
149
- const item = modelSurfacesPolygonAttributeLastItem(modelId, surfaceIds[0], name);
150
- mutateModelSurfacesPolygonStyle(modelId, surfaceIds, {
151
- name,
152
- item,
153
- });
154
- return applyPolygonAttribute(modelId, surfaceIds);
155
- }
156
- function setModelSurfacesPolygonAttributeItem(modelId, surfaceIds, item) {
157
- mutateModelSurfacesPolygonStyle(modelId, surfaceIds, {
158
- item,
159
- });
160
- return applyPolygonAttribute(modelId, surfaceIds);
161
- }
162
- function setModelSurfacesPolygonAttributeRange(modelId, surfaceIds, minimum, maximum) {
163
- const name = modelSurfacesPolygonAttributeName(modelId, surfaceIds[0]);
164
- const item = modelSurfacesPolygonAttributeItem(modelId, surfaceIds[0]);
165
- setModelSurfacesPolygonAttributeStoredConfig(modelId, surfaceIds, name, item, {
166
- minimum,
167
- maximum,
168
- });
169
- return applyPolygonAttribute(modelId, surfaceIds);
170
- }
171
- function setModelSurfacesPolygonAttributeColorMap(modelId, surfaceIds, colorMap) {
172
- const name = modelSurfacesPolygonAttributeName(modelId, surfaceIds[0]);
173
- const item = modelSurfacesPolygonAttributeItem(modelId, surfaceIds[0]);
174
- setModelSurfacesPolygonAttributeStoredConfig(modelId, surfaceIds, name, item, {
175
- colorMap,
176
- });
177
- return applyPolygonAttribute(modelId, surfaceIds);
178
- }
179
- function modelSurfacesPolygonAttributeNoDataColor(modelId, surfaceId) {
180
- const name = modelSurfacesPolygonAttributeName(modelId, surfaceId);
181
- const item = modelSurfacesPolygonAttributeItem(modelId, surfaceId);
182
- const storedConfig = modelSurfacesPolygonAttributeStoredConfig(modelId, surfaceId, name, item);
183
- return storedConfig.no_data_color;
184
- }
185
- async function setModelSurfacesPolygonAttributeNoDataColor(modelId, surfaceIds, no_data_color) {
186
- const name = modelSurfacesPolygonAttributeName(modelId, surfaceIds[0]);
187
- const item = modelSurfacesPolygonAttributeItem(modelId, surfaceIds[0]);
188
- const storedConfig = modelSurfacesPolygonAttributeStoredConfig(
189
- modelId,
190
- surfaceIds[0],
191
- name,
192
- item,
193
- );
194
- await setModelSurfacesPolygonAttributeStoredConfig(modelId, surfaceIds, name, item, {
195
- ...storedConfig,
196
- no_data_color,
197
- });
198
- return applyPolygonAttribute(modelId, surfaceIds);
199
- }
200
- return {
201
- modelSurfacesPolygonAttributeName,
202
- modelSurfacesPolygonAttributeItem,
203
- modelSurfacesPolygonAttributeRange,
204
- modelSurfacesPolygonAttributeColorMap,
205
- modelSurfacesPolygonAttributeStoredConfig,
206
- setModelSurfacesPolygonAttribute,
207
- setModelSurfacesPolygonAttributeName,
208
- setModelSurfacesPolygonAttributeItem,
209
- setModelSurfacesPolygonAttributeRange,
210
- setModelSurfacesPolygonAttributeColorMap,
211
- modelSurfacesPolygonAttributeNoDataColor,
212
- setModelSurfacesPolygonAttributeNoDataColor,
213
- };
214
- }
215
- export { isModelSurfacesPolygonAttributeValid, useModelSurfacesPolygonAttribute };
@@ -1,215 +0,0 @@
1
- import { DEFAULT_NO_DATA_COLOR } from "@ogw_front/utils/default_styles/constants";
2
- // Third party imports
3
- import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json";
4
-
5
- // Local imports
6
- import { getRGBPointsFromPreset } from "@ogw_front/utils/colormap";
7
- import { useDataStore } from "@ogw_front/stores/data";
8
- import { useModelSurfacesCommonStyle } from "./common";
9
- import { useViewerStore } from "@ogw_front/stores/viewer";
10
-
11
- // Local constants
12
- const attributeSchema =
13
- viewer_schemas.opengeodeweb_viewer.model.surfaces.attribute.vertex.attribute;
14
- function isModelSurfacesVertexAttributeValid({ name, item, minimum, maximum, colorMap }) {
15
- return (
16
- name !== undefined &&
17
- item !== undefined &&
18
- minimum !== undefined &&
19
- maximum !== undefined &&
20
- colorMap !== undefined
21
- );
22
- }
23
-
24
- // oxlint-disable-next-line max-lines-per-function
25
- function useModelSurfacesVertexAttribute() {
26
- const dataStore = useDataStore();
27
- const modelSurfacesCommonStyle = useModelSurfacesCommonStyle();
28
- const viewerStore = useViewerStore();
29
- function modelSurfacesVertexAttribute(modelId, surfaceId) {
30
- return modelSurfacesCommonStyle.modelSurfaceColoring(modelId, surfaceId).vertex;
31
- }
32
- function modelSurfacesVertexAttributeStoredConfig(modelId, surfaceId, name, item) {
33
- const { storedConfigs } = modelSurfacesVertexAttribute(modelId, surfaceId);
34
- if (storedConfigs && name in storedConfigs && item in storedConfigs[name]) {
35
- return storedConfigs[name][item];
36
- }
37
- return {
38
- minimum: undefined,
39
- maximum: undefined,
40
- colorMap: undefined,
41
- no_data_color: DEFAULT_NO_DATA_COLOR,
42
- };
43
- }
44
- function mutateModelSurfacesVertexStyle(modelId, surfaceIds, values) {
45
- if (surfaceIds.length > 1) {
46
- modelSurfacesCommonStyle.mutateModelSurfacesTypeColoring(modelId, {
47
- vertex: values,
48
- });
49
- }
50
- return modelSurfacesCommonStyle.mutateModelSurfacesColoring(modelId, surfaceIds, {
51
- vertex: values,
52
- });
53
- }
54
- function setModelSurfacesVertexAttributeStoredConfig(modelId, surfaceIds, name, item, config) {
55
- return mutateModelSurfacesVertexStyle(modelId, surfaceIds, {
56
- storedConfigs: {
57
- [name]: {
58
- lastItem: item,
59
- [item]: config,
60
- },
61
- },
62
- });
63
- }
64
- function modelSurfacesVertexAttributeName(modelId, surfaceId) {
65
- return modelSurfacesVertexAttribute(modelId, surfaceId).name;
66
- }
67
- function modelSurfacesVertexAttributeLastItem(modelId, surfaceId, name) {
68
- const { storedConfigs } = modelSurfacesVertexAttribute(modelId, surfaceId);
69
- if (!(name in storedConfigs)) {
70
- return 0;
71
- }
72
- return storedConfigs[name].lastItem;
73
- }
74
- function modelSurfacesVertexAttributeItem(modelId, surfaceId) {
75
- const vertexAttribute = modelSurfacesVertexAttribute(modelId, surfaceId);
76
- return (
77
- vertexAttribute.item ??
78
- modelSurfacesVertexAttributeLastItem(modelId, surfaceId, vertexAttribute.name)
79
- );
80
- }
81
- function modelSurfacesVertexAttributeRange(modelId, surfaceId) {
82
- const name = modelSurfacesVertexAttributeName(modelId, surfaceId);
83
- const item = modelSurfacesVertexAttributeItem(modelId, surfaceId);
84
- const storedConfig = modelSurfacesVertexAttributeStoredConfig(modelId, surfaceId, name, item);
85
- const { minimum, maximum } = storedConfig;
86
- return [minimum, maximum];
87
- }
88
- function modelSurfacesVertexAttributeColorMap(modelId, surfaceId) {
89
- const name = modelSurfacesVertexAttributeName(modelId, surfaceId);
90
- const item = modelSurfacesVertexAttributeItem(modelId, surfaceId);
91
- const storedConfig = modelSurfacesVertexAttributeStoredConfig(modelId, surfaceId, name, item);
92
- return storedConfig.colorMap;
93
- }
94
- async function setModelSurfacesVertexAttribute(
95
- modelId,
96
- surfaceIds,
97
- { name, item, minimum, maximum, colorMap, no_data_color = DEFAULT_NO_DATA_COLOR },
98
- ) {
99
- mutateModelSurfacesVertexStyle(modelId, surfaceIds, {
100
- name,
101
- item,
102
- });
103
- setModelSurfacesVertexAttributeStoredConfig(modelId, surfaceIds, name, item, {
104
- minimum,
105
- maximum,
106
- colorMap,
107
- no_data_color,
108
- });
109
- const points = getRGBPointsFromPreset(colorMap);
110
- const surface_viewer_ids = await dataStore.getMeshComponentsViewerIds(modelId, surfaceIds);
111
- const params = {
112
- id: modelId,
113
- block_ids: surface_viewer_ids,
114
- name,
115
- item,
116
- points,
117
- minimum,
118
- maximum,
119
- no_data_color,
120
- };
121
- return viewerStore.request({
122
- schema: attributeSchema,
123
- params,
124
- });
125
- }
126
- function applyVertexAttribute(modelId, surfaceIds) {
127
- const name = modelSurfacesVertexAttributeName(modelId, surfaceIds[0]);
128
- const item = modelSurfacesVertexAttributeItem(modelId, surfaceIds[0]);
129
- const storedConfig = modelSurfacesVertexAttributeStoredConfig(
130
- modelId,
131
- surfaceIds[0],
132
- name,
133
- item,
134
- );
135
- const attribute = {
136
- name,
137
- item,
138
- minimum: storedConfig.minimum,
139
- maximum: storedConfig.maximum,
140
- colorMap: storedConfig.colorMap,
141
- no_data_color: storedConfig.no_data_color,
142
- };
143
- if (isModelSurfacesVertexAttributeValid(attribute)) {
144
- return setModelSurfacesVertexAttribute(modelId, surfaceIds, attribute);
145
- }
146
- return Promise.resolve();
147
- }
148
- function setModelSurfacesVertexAttributeName(modelId, surfaceIds, name) {
149
- const item = modelSurfacesVertexAttributeLastItem(modelId, surfaceIds[0], name);
150
- mutateModelSurfacesVertexStyle(modelId, surfaceIds, {
151
- name,
152
- item,
153
- });
154
- return applyVertexAttribute(modelId, surfaceIds);
155
- }
156
- function setModelSurfacesVertexAttributeItem(modelId, surfaceIds, item) {
157
- mutateModelSurfacesVertexStyle(modelId, surfaceIds, {
158
- item,
159
- });
160
- return applyVertexAttribute(modelId, surfaceIds);
161
- }
162
- function setModelSurfacesVertexAttributeRange(modelId, surfaceIds, minimum, maximum) {
163
- const name = modelSurfacesVertexAttributeName(modelId, surfaceIds[0]);
164
- const item = modelSurfacesVertexAttributeItem(modelId, surfaceIds[0]);
165
- setModelSurfacesVertexAttributeStoredConfig(modelId, surfaceIds, name, item, {
166
- minimum,
167
- maximum,
168
- });
169
- return applyVertexAttribute(modelId, surfaceIds);
170
- }
171
- function setModelSurfacesVertexAttributeColorMap(modelId, surfaceIds, colorMap) {
172
- const name = modelSurfacesVertexAttributeName(modelId, surfaceIds[0]);
173
- const item = modelSurfacesVertexAttributeItem(modelId, surfaceIds[0]);
174
- setModelSurfacesVertexAttributeStoredConfig(modelId, surfaceIds, name, item, {
175
- colorMap,
176
- });
177
- return applyVertexAttribute(modelId, surfaceIds);
178
- }
179
- function modelSurfacesVertexAttributeNoDataColor(modelId, surfaceId) {
180
- const name = modelSurfacesVertexAttributeName(modelId, surfaceId);
181
- const item = modelSurfacesVertexAttributeItem(modelId, surfaceId);
182
- const storedConfig = modelSurfacesVertexAttributeStoredConfig(modelId, surfaceId, name, item);
183
- return storedConfig.no_data_color;
184
- }
185
- async function setModelSurfacesVertexAttributeNoDataColor(modelId, surfaceIds, no_data_color) {
186
- const name = modelSurfacesVertexAttributeName(modelId, surfaceIds[0]);
187
- const item = modelSurfacesVertexAttributeItem(modelId, surfaceIds[0]);
188
- const storedConfig = modelSurfacesVertexAttributeStoredConfig(
189
- modelId,
190
- surfaceIds[0],
191
- name,
192
- item,
193
- );
194
- await setModelSurfacesVertexAttributeStoredConfig(modelId, surfaceIds, name, item, {
195
- ...storedConfig,
196
- no_data_color,
197
- });
198
- return applyVertexAttribute(modelId, surfaceIds);
199
- }
200
- return {
201
- modelSurfacesVertexAttributeName,
202
- modelSurfacesVertexAttributeItem,
203
- modelSurfacesVertexAttributeRange,
204
- modelSurfacesVertexAttributeColorMap,
205
- modelSurfacesVertexAttributeStoredConfig,
206
- setModelSurfacesVertexAttribute,
207
- setModelSurfacesVertexAttributeName,
208
- setModelSurfacesVertexAttributeItem,
209
- setModelSurfacesVertexAttributeRange,
210
- setModelSurfacesVertexAttributeColorMap,
211
- modelSurfacesVertexAttributeNoDataColor,
212
- setModelSurfacesVertexAttributeNoDataColor,
213
- };
214
- }
215
- export { isModelSurfacesVertexAttributeValid, useModelSurfacesVertexAttribute };
@@ -1,20 +0,0 @@
1
- import { useModelCommonStyle } from "@ogw_internal/stores/data_style/model/common";
2
- import { useModelSurfacesCommonStyle } from "./common";
3
- import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json";
4
-
5
- const schema = viewer_schemas.opengeodeweb_viewer.model.surfaces.visibility;
6
-
7
- export function useModelSurfacesVisibility() {
8
- const modelCommonStyle = useModelCommonStyle();
9
- const modelSurfacesCommonStyle = useModelSurfacesCommonStyle();
10
-
11
- function modelSurfaceVisibility(id, surface_id) {
12
- return modelSurfacesCommonStyle.modelSurfaceStyle(id, surface_id).visibility;
13
- }
14
-
15
- function setModelSurfacesVisibility(modelId, surfaces_ids, visibility) {
16
- return modelCommonStyle.setModelTypeVisibility(modelId, surfaces_ids, visibility, schema);
17
- }
18
-
19
- return { setModelSurfacesVisibility, modelSurfaceVisibility };
20
- }