OpenGeodeWeb-Back 6.1.0rc2__tar.gz → 6.1.1__tar.gz

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 (107) hide show
  1. {opengeodeweb_back-6.1.0rc2/src/OpenGeodeWeb_Back.egg-info → opengeodeweb_back-6.1.1}/PKG-INFO +2 -2
  2. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/pyproject.toml +1 -1
  3. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/requirements.txt +1 -1
  4. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1/src/OpenGeodeWeb_Back.egg-info}/PKG-INFO +2 -2
  5. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/OpenGeodeWeb_Back.egg-info/requires.txt +1 -1
  6. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/app.py +4 -11
  7. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_graph.py +5 -1
  8. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_grid2d.py +5 -0
  9. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_grid3d.py +5 -0
  10. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_model.py +5 -1
  11. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_object.py +5 -1
  12. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_raster_image2d.py +5 -1
  13. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_raster_image3d.py +5 -1
  14. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_solid_mesh3d.py +5 -0
  15. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_surface_mesh2d.py +5 -0
  16. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_surface_mesh3d.py +5 -0
  17. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_vertex_set.py +5 -1
  18. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/types.py +2 -0
  19. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/utils_functions.py +2 -0
  20. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/tests/test_models_routes.py +3 -1
  21. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/tests/test_routes.py +6 -0
  22. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/tests/test_utils_functions.py +2 -0
  23. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/LICENSE +0 -0
  24. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/README.md +0 -0
  25. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/setup.cfg +0 -0
  26. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/OpenGeodeWeb_Back.egg-info/SOURCES.txt +0 -0
  27. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/OpenGeodeWeb_Back.egg-info/dependency_links.txt +0 -0
  28. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/OpenGeodeWeb_Back.egg-info/entry_points.txt +0 -0
  29. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/OpenGeodeWeb_Back.egg-info/top_level.txt +0 -0
  30. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/__init__.py +0 -0
  31. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/app_config.py +0 -0
  32. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_functions.py +0 -0
  33. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/__init__.py +0 -0
  34. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_brep.py +0 -0
  35. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_cross_section.py +0 -0
  36. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_edged_curve2d.py +0 -0
  37. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_edged_curve3d.py +0 -0
  38. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_hybrid_solid3d.py +0 -0
  39. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_implicit_cross_section.py +0 -0
  40. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_implicit_structural_model.py +0 -0
  41. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_light_regular_grid2d.py +0 -0
  42. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_light_regular_grid3d.py +0 -0
  43. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_mesh.py +0 -0
  44. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_point_set2d.py +0 -0
  45. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_point_set3d.py +0 -0
  46. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_polygonal_surface2d.py +0 -0
  47. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_polygonal_surface3d.py +0 -0
  48. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_polyhedral_solid3d.py +0 -0
  49. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_regular_grid2d.py +0 -0
  50. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_regular_grid3d.py +0 -0
  51. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_section.py +0 -0
  52. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_structural_model.py +0 -0
  53. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_tetrahedral_solid3d.py +0 -0
  54. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_triangulated_surface2d.py +0 -0
  55. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/geode_objects/geode_triangulated_surface3d.py +0 -0
  56. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/py.typed +0 -0
  57. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/blueprint_routes.py +0 -0
  58. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/create/blueprint_create.py +0 -0
  59. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/create/schemas/__init__.py +0 -0
  60. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/create/schemas/point.json +0 -0
  61. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/create/schemas/point.py +0 -0
  62. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/models/blueprint_models.py +0 -0
  63. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/models/schemas/__init__.py +0 -0
  64. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/models/schemas/mesh_components.json +0 -0
  65. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/models/schemas/mesh_components.py +0 -0
  66. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/__init__.py +0 -0
  67. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/allowed_files.json +0 -0
  68. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/allowed_files.py +0 -0
  69. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/allowed_objects.json +0 -0
  70. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/allowed_objects.py +0 -0
  71. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/cell_attribute_names.json +0 -0
  72. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/cell_attribute_names.py +0 -0
  73. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/edge_attribute_names.json +0 -0
  74. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/edge_attribute_names.py +0 -0
  75. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/export_project.json +0 -0
  76. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/export_project.py +0 -0
  77. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.json +0 -0
  78. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/geode_objects_and_output_extensions.py +0 -0
  79. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.json +0 -0
  80. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/geographic_coordinate_systems.py +0 -0
  81. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/import_extension.json +0 -0
  82. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/import_extension.py +0 -0
  83. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/import_project.json +0 -0
  84. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/import_project.py +0 -0
  85. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/inspect_file.json +0 -0
  86. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/inspect_file.py +0 -0
  87. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/kill.json +0 -0
  88. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/kill.py +0 -0
  89. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/missing_files.json +0 -0
  90. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/missing_files.py +0 -0
  91. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/ping.json +0 -0
  92. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/ping.py +0 -0
  93. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/polygon_attribute_names.json +0 -0
  94. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/polygon_attribute_names.py +0 -0
  95. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/polyhedron_attribute_names.json +0 -0
  96. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/polyhedron_attribute_names.py +0 -0
  97. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/save_viewable_file.json +0 -0
  98. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/save_viewable_file.py +0 -0
  99. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/texture_coordinates.json +0 -0
  100. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/texture_coordinates.py +0 -0
  101. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/upload_file.json +0 -0
  102. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/upload_file.py +0 -0
  103. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/vertex_attribute_names.json +0 -0
  104. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/routes/schemas/vertex_attribute_names.py +0 -0
  105. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/src/opengeodeweb_back/test_utils.py +0 -0
  106. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/tests/test_create_routes.py +0 -0
  107. {opengeodeweb_back-6.1.0rc2 → opengeodeweb_back-6.1.1}/tests/test_geode_functions.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: OpenGeodeWeb-Back
3
- Version: 6.1.0rc2
3
+ Version: 6.1.1
4
4
  Summary: OpenGeodeWeb-Back is an open source framework that proposes handy python functions and wrappers for the OpenGeode ecosystem
5
5
  Author-email: Geode-solutions <team-web@geode-solutions.com>
6
6
  Project-URL: Homepage, https://github.com/Geode-solutions/OpenGeodeWeb-Back
@@ -27,7 +27,7 @@ Requires-Dist: opengeode-geosciencesio==5.8.6
27
27
  Requires-Dist: opengeode-inspector==6.8.6
28
28
  Requires-Dist: opengeode-io==7.4.6
29
29
  Requires-Dist: werkzeug==3.1.2
30
- Requires-Dist: opengeodeweb-microservice==1.*,>=1.0.13
30
+ Requires-Dist: opengeodeweb-microservice==1.*,>=1.0.14
31
31
  Dynamic: license-file
32
32
 
33
33
  <h1 align="center">OpenGeodeWeb-Back<sup><i>by Geode-solutions</i></sup></h1>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "OpenGeodeWeb-Back"
7
- version = "6.1.0-rc.2"
7
+ version = "6.1.1"
8
8
  dynamic = ["dependencies"]
9
9
  authors = [{ name = "Geode-solutions", email = "team-web@geode-solutions.com" }]
10
10
  description = "OpenGeodeWeb-Back is an open source framework that proposes handy python functions and wrappers for the OpenGeode ecosystem"
@@ -60,4 +60,4 @@ werkzeug==3.1.2
60
60
  # flask
61
61
  # flask-cors
62
62
 
63
- opengeodeweb-microservice==1.*,>=1.0.13
63
+ opengeodeweb-microservice==1.*,>=1.0.14
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: OpenGeodeWeb-Back
3
- Version: 6.1.0rc2
3
+ Version: 6.1.1
4
4
  Summary: OpenGeodeWeb-Back is an open source framework that proposes handy python functions and wrappers for the OpenGeode ecosystem
5
5
  Author-email: Geode-solutions <team-web@geode-solutions.com>
6
6
  Project-URL: Homepage, https://github.com/Geode-solutions/OpenGeodeWeb-Back
@@ -27,7 +27,7 @@ Requires-Dist: opengeode-geosciencesio==5.8.6
27
27
  Requires-Dist: opengeode-inspector==6.8.6
28
28
  Requires-Dist: opengeode-io==7.4.6
29
29
  Requires-Dist: werkzeug==3.1.2
30
- Requires-Dist: opengeodeweb-microservice==1.*,>=1.0.13
30
+ Requires-Dist: opengeodeweb-microservice==1.*,>=1.0.14
31
31
  Dynamic: license-file
32
32
 
33
33
  <h1 align="center">OpenGeodeWeb-Back<sup><i>by Geode-solutions</i></sup></h1>
@@ -14,4 +14,4 @@ opengeode-geosciencesio==5.8.6
14
14
  opengeode-inspector==6.8.6
15
15
  opengeode-io==7.4.6
16
16
  werkzeug==3.1.2
17
- opengeodeweb-microservice==1.*,>=1.0.13
17
+ opengeodeweb-microservice==1.*,>=1.0.14
@@ -24,16 +24,14 @@ def create_app(name: str) -> flask.Flask:
24
24
  )
25
25
  if FLASK_DEBUG == False:
26
26
  app.config.from_object(app_config.ProdConfig)
27
- else:
28
- app.config.from_object(app_config.DevConfig)
29
-
30
- if FLASK_DEBUG == False:
31
27
  SECONDS_BETWEEN_SHUTDOWNS: float = float(
32
28
  app.config.get("SECONDS_BETWEEN_SHUTDOWNS") or 60.0
33
29
  )
34
30
  utils_functions.set_interval(
35
31
  utils_functions.kill_task, SECONDS_BETWEEN_SHUTDOWNS, app
36
32
  )
33
+ else:
34
+ app.config.from_object(app_config.DevConfig)
37
35
 
38
36
  @app.before_request
39
37
  def before_request() -> flask.Response | None:
@@ -134,7 +132,7 @@ def run_server(app: Flask) -> None:
134
132
  "-ufp",
135
133
  "--upload_folder_path",
136
134
  type=str,
137
- default=app.config.get("DEFAULT_DATA_FOLDER_PATH"),
135
+ default=app.config.get("UPLOAD_FOLDER"),
138
136
  help="Path to the folder where uploads are stored",
139
137
  )
140
138
  parser.add_argument(
@@ -157,12 +155,7 @@ def run_server(app: Flask) -> None:
157
155
  app.config.update(UPLOAD_FOLDER=args.upload_folder_path)
158
156
  app.config.update(MINUTES_BEFORE_TIMEOUT=args.timeout)
159
157
  flask_cors.CORS(app, origins=args.allowed_origins)
160
- print(
161
- f"Host: {args.host}, Port: {args.port}, Debug: {args.debug}, "
162
- f"Data folder path: {args.data_folder_path}, Timeout: {args.timeout}, "
163
- f"Origins: {args.allowed_origins}",
164
- flush=True,
165
- )
158
+ print(f"{args=}", flush=True)
166
159
 
167
160
  db_filename: str = app.config.get("DATABASE_FILENAME") or "project.db"
168
161
  db_path = os.path.join(str(args.data_folder_path), db_filename)
@@ -5,7 +5,7 @@ from __future__ import annotations
5
5
  import opengeode as og
6
6
 
7
7
  # Local application imports
8
- from .types import GeodeMeshType
8
+ from .types import GeodeMeshType, ViewerElementsType
9
9
  from .geode_vertex_set import GeodeVertexSet
10
10
 
11
11
 
@@ -20,6 +20,10 @@ class GeodeGraph(GeodeVertexSet):
20
20
  def geode_object_type(cls) -> GeodeMeshType:
21
21
  return "Graph"
22
22
 
23
+ @classmethod
24
+ def viewer_elements_type(cls) -> ViewerElementsType:
25
+ return "edges"
26
+
23
27
  def native_extension(self) -> str:
24
28
  return self.graph.native_extension()
25
29
 
@@ -7,6 +7,7 @@ import opengeode as og
7
7
 
8
8
  # Local application imports
9
9
  from .geode_mesh import GeodeMesh
10
+ from .types import ViewerElementsType
10
11
 
11
12
 
12
13
  class GeodeGrid2D(GeodeMesh):
@@ -18,6 +19,10 @@ class GeodeGrid2D(GeodeMesh):
18
19
  def is_viewable(cls) -> bool:
19
20
  return True
20
21
 
22
+ @classmethod
23
+ def viewer_elements_type(cls) -> ViewerElementsType:
24
+ return "polygons"
25
+
21
26
  def builder(self) -> object:
22
27
  return None
23
28
 
@@ -7,6 +7,7 @@ import opengeode as og
7
7
 
8
8
  # Local application imports
9
9
  from .geode_mesh import GeodeMesh
10
+ from .types import ViewerElementsType
10
11
 
11
12
 
12
13
  class GeodeGrid3D(GeodeMesh):
@@ -18,6 +19,10 @@ class GeodeGrid3D(GeodeMesh):
18
19
  def is_viewable(cls) -> bool:
19
20
  return True
20
21
 
22
+ @classmethod
23
+ def viewer_elements_type(cls) -> ViewerElementsType:
24
+ return "polyhedra"
25
+
21
26
  def builder(self) -> object:
22
27
  return None
23
28
 
@@ -6,7 +6,7 @@ from abc import abstractmethod
6
6
  import opengeode as og
7
7
 
8
8
  # Local application imports
9
- from .types import ViewerType
9
+ from .types import ViewerType, ViewerElementsType
10
10
  from .geode_object import GeodeObject
11
11
 
12
12
  ComponentRegistry = dict[og.ComponentType, list[og.uuid]]
@@ -17,5 +17,9 @@ class GeodeModel(GeodeObject):
17
17
  def viewer_type(cls) -> ViewerType:
18
18
  return "model"
19
19
 
20
+ @classmethod
21
+ def viewer_elements_type(cls) -> ViewerElementsType:
22
+ return "default"
23
+
20
24
  @abstractmethod
21
25
  def mesh_components(self) -> ComponentRegistry: ...
@@ -7,7 +7,7 @@ from typing import Any
7
7
  import opengeode as og
8
8
 
9
9
  # Local application imports
10
- from .types import GeodeObjectType, ViewerType
10
+ from .types import GeodeObjectType, ViewerType, ViewerElementsType
11
11
 
12
12
 
13
13
  class GeodeObject(ABC):
@@ -24,6 +24,10 @@ class GeodeObject(ABC):
24
24
  @abstractmethod
25
25
  def viewer_type(cls) -> ViewerType: ...
26
26
 
27
+ @classmethod
28
+ @abstractmethod
29
+ def viewer_elements_type(cls) -> ViewerElementsType: ...
30
+
27
31
  @classmethod
28
32
  @abstractmethod
29
33
  def is_3D(cls) -> bool: ...
@@ -6,7 +6,7 @@ import opengeode as og
6
6
  import geode_viewables as viewables
7
7
 
8
8
  # Local application imports
9
- from .types import GeodeMeshType
9
+ from .types import GeodeMeshType, ViewerElementsType
10
10
  from .geode_mesh import GeodeMesh
11
11
 
12
12
 
@@ -21,6 +21,10 @@ class GeodeRasterImage2D(GeodeMesh):
21
21
  def geode_object_type(cls) -> GeodeMeshType:
22
22
  return "RasterImage2D"
23
23
 
24
+ @classmethod
25
+ def viewer_elements_type(cls) -> ViewerElementsType:
26
+ return "polygons"
27
+
24
28
  def native_extension(self) -> str:
25
29
  return self.raster_image.native_extension()
26
30
 
@@ -6,7 +6,7 @@ import opengeode as og
6
6
  import geode_viewables as viewables
7
7
 
8
8
  # Local application imports
9
- from .types import GeodeMeshType
9
+ from .types import GeodeMeshType, ViewerElementsType
10
10
  from .geode_mesh import GeodeMesh
11
11
 
12
12
 
@@ -21,6 +21,10 @@ class GeodeRasterImage3D(GeodeMesh):
21
21
  def geode_object_type(cls) -> GeodeMeshType:
22
22
  return "RasterImage3D"
23
23
 
24
+ @classmethod
25
+ def viewer_elements_type(cls) -> ViewerElementsType:
26
+ return "polyhedra"
27
+
24
28
  def native_extension(self) -> str:
25
29
  return self.raster_image.native_extension()
26
30
 
@@ -8,6 +8,7 @@ import opengeode_inspector as og_inspector
8
8
 
9
9
  # Local application imports
10
10
  from .geode_vertex_set import GeodeVertexSet
11
+ from .types import ViewerElementsType
11
12
 
12
13
 
13
14
  class GeodeSolidMesh3D(GeodeVertexSet):
@@ -25,6 +26,10 @@ class GeodeSolidMesh3D(GeodeVertexSet):
25
26
  def is_viewable(cls) -> bool:
26
27
  return True
27
28
 
29
+ @classmethod
30
+ def viewer_elements_type(cls) -> ViewerElementsType:
31
+ return "polyhedra"
32
+
28
33
  def builder(self) -> og.SolidMeshBuilder3D:
29
34
  return og.SolidMeshBuilder3D.create(self.solid_mesh)
30
35
 
@@ -8,6 +8,7 @@ import opengeode_inspector as og_inspector
8
8
 
9
9
  # Local application imports
10
10
  from .geode_vertex_set import GeodeVertexSet
11
+ from .types import ViewerElementsType
11
12
 
12
13
 
13
14
  class GeodeSurfaceMesh2D(GeodeVertexSet):
@@ -27,6 +28,10 @@ class GeodeSurfaceMesh2D(GeodeVertexSet):
27
28
  def is_viewable(cls) -> bool:
28
29
  return True
29
30
 
31
+ @classmethod
32
+ def viewer_elements_type(cls) -> ViewerElementsType:
33
+ return "polygons"
34
+
30
35
  def builder(self) -> og.SurfaceMeshBuilder2D:
31
36
  return og.SurfaceMeshBuilder2D.create(self.surface_mesh)
32
37
 
@@ -8,6 +8,7 @@ import opengeode_inspector as og_inspector
8
8
 
9
9
  # Local application imports
10
10
  from .geode_vertex_set import GeodeVertexSet
11
+ from .types import ViewerElementsType
11
12
 
12
13
 
13
14
  class GeodeSurfaceMesh3D(GeodeVertexSet):
@@ -27,6 +28,10 @@ class GeodeSurfaceMesh3D(GeodeVertexSet):
27
28
  def is_viewable(cls) -> bool:
28
29
  return True
29
30
 
31
+ @classmethod
32
+ def viewer_elements_type(cls) -> ViewerElementsType:
33
+ return "polygons"
34
+
30
35
  def builder(self) -> og.SurfaceMeshBuilder3D:
31
36
  return og.SurfaceMeshBuilder3D.create(self.surface_mesh)
32
37
 
@@ -5,7 +5,7 @@ from __future__ import annotations
5
5
  import opengeode as og
6
6
 
7
7
  # Local application imports
8
- from .types import GeodeMeshType
8
+ from .types import GeodeMeshType, ViewerElementsType
9
9
  from .geode_mesh import GeodeMesh
10
10
 
11
11
 
@@ -22,6 +22,10 @@ class GeodeVertexSet(GeodeMesh):
22
22
  def geode_object_type(cls) -> GeodeMeshType:
23
23
  return "VertexSet"
24
24
 
25
+ @classmethod
26
+ def viewer_elements_type(cls) -> ViewerElementsType:
27
+ return "points"
28
+
25
29
  def native_extension(self) -> str:
26
30
  return self.vertex_set.native_extension()
27
31
 
@@ -73,3 +73,5 @@ def geode_object_type(value: str) -> GeodeObjectType:
73
73
 
74
74
 
75
75
  ViewerType = Literal["mesh", "model"]
76
+
77
+ ViewerElementsType = Literal["points", "edges", "polygons", "polyhedra", "default"]
@@ -237,6 +237,7 @@ def generate_native_viewable_and_light_viewable_from_object(
237
237
  data = Data.create(
238
238
  geode_object=geode_object.geode_object_type(),
239
239
  viewer_object=geode_object.viewer_type(),
240
+ viewer_elements_type=geode_object.viewer_elements_type(),
240
241
  )
241
242
  data_path = create_data_folder_from_id(data.id)
242
243
  return save_all_viewables_and_return_info(geode_object, data, data_path)
@@ -249,6 +250,7 @@ def generate_native_viewable_and_light_viewable_from_file(
249
250
  data = Data.create(
250
251
  geode_object=geode_object_type,
251
252
  viewer_object=generic_geode_object.viewer_type(),
253
+ viewer_elements_type=generic_geode_object.viewer_elements_type(),
252
254
  input_file=input_file,
253
255
  )
254
256
 
@@ -61,6 +61,7 @@ def test_export_project_route(client: FlaskClient, tmp_path: Path) -> None:
61
61
  id="test_data_1",
62
62
  geode_object="BRep",
63
63
  viewer_object="BRep",
64
+ viewer_elements_type="default",
64
65
  input_file="test_native.txt",
65
66
  native_file="test_native.txt",
66
67
  additional_files=[],
@@ -69,6 +70,7 @@ def test_export_project_route(client: FlaskClient, tmp_path: Path) -> None:
69
70
  id="test_data_2",
70
71
  geode_object="Section",
71
72
  viewer_object="Section",
73
+ viewer_elements_type="default",
72
74
  input_file="test_input.txt",
73
75
  native_file="test_native2.txt",
74
76
  additional_files=[],
@@ -129,7 +131,7 @@ def test_import_project_route(client: FlaskClient, tmp_path: Path) -> None:
129
131
  temp_db = tmp_path / "temp_project.db"
130
132
  conn = sqlite3.connect(str(temp_db))
131
133
  conn.execute(
132
- "CREATE TABLE datas (id TEXT PRIMARY KEY, geode_object TEXT, viewer_object TEXT, native_file TEXT, "
134
+ "CREATE TABLE datas (id TEXT PRIMARY KEY, geode_object TEXT, viewer_object TEXT, viewer_elements_type TEXT, native_file TEXT, "
133
135
  "viewable_file TEXT, light_viewable_file TEXT, input_file TEXT, additional_files TEXT)"
134
136
  )
135
137
  conn.commit()
@@ -204,6 +204,7 @@ def test_texture_coordinates(client: FlaskClient, test_id: str) -> None:
204
204
  data = Data.create(
205
205
  geode_object=GeodePolygonalSurface3D.geode_object_type(),
206
206
  viewer_object=GeodePolygonalSurface3D.viewer_type(),
207
+ viewer_elements_type=GeodePolygonalSurface3D.viewer_elements_type(),
207
208
  input_file=file,
208
209
  )
209
210
  data.native_file = file
@@ -232,6 +233,7 @@ def test_vertex_attribute_names(client: FlaskClient, test_id: str) -> None:
232
233
  data = Data.create(
233
234
  geode_object=GeodePolygonalSurface3D.geode_object_type(),
234
235
  viewer_object=GeodePolygonalSurface3D.viewer_type(),
236
+ viewer_elements_type=GeodePolygonalSurface3D.viewer_elements_type(),
235
237
  input_file=file,
236
238
  )
237
239
  data.native_file = file
@@ -261,6 +263,7 @@ def test_cell_attribute_names(client: FlaskClient, test_id: str) -> None:
261
263
  data = Data.create(
262
264
  geode_object=GeodeRegularGrid2D.geode_object_type(),
263
265
  viewer_object=GeodeRegularGrid2D.viewer_type(),
266
+ viewer_elements_type=GeodeRegularGrid2D.viewer_elements_type(),
264
267
  input_file=file,
265
268
  )
266
269
  data.native_file = file
@@ -290,6 +293,7 @@ def test_polygon_attribute_names(client: FlaskClient, test_id: str) -> None:
290
293
  data = Data.create(
291
294
  geode_object=GeodePolygonalSurface3D.geode_object_type(),
292
295
  viewer_object=GeodePolygonalSurface3D.viewer_type(),
296
+ viewer_elements_type=GeodePolygonalSurface3D.viewer_elements_type(),
293
297
  input_file=file,
294
298
  )
295
299
  data.native_file = file
@@ -319,6 +323,7 @@ def test_polyhedron_attribute_names(client: FlaskClient, test_id: str) -> None:
319
323
  data = Data.create(
320
324
  geode_object=GeodePolyhedralSolid3D.geode_object_type(),
321
325
  viewer_object=GeodePolyhedralSolid3D.viewer_type(),
326
+ viewer_elements_type=GeodePolyhedralSolid3D.viewer_elements_type(),
322
327
  input_file=file,
323
328
  )
324
329
  data.native_file = file
@@ -352,6 +357,7 @@ def test_edge_attribute_names(client: FlaskClient, test_id: str) -> None:
352
357
  data = Data.create(
353
358
  geode_object=GeodeEdgedCurve3D.geode_object_type(),
354
359
  viewer_object=GeodeEdgedCurve3D.viewer_type(),
360
+ viewer_elements_type=GeodeEdgedCurve3D.viewer_elements_type(),
355
361
  input_file=file,
356
362
  )
357
363
  data.native_file = file
@@ -111,6 +111,7 @@ def test_save_all_viewables_and_return_info(client: FlaskClient) -> None:
111
111
  data_entry = Data.create(
112
112
  geode_object=geode_object.geode_object_type(),
113
113
  viewer_object=geode_object.viewer_type(),
114
+ viewer_elements_type=geode_object.viewer_elements_type(),
114
115
  input_file=input_file,
115
116
  additional_files=additional_files,
116
117
  )
@@ -155,6 +156,7 @@ def test_save_all_viewables_commits_to_db(client: FlaskClient) -> None:
155
156
  data_entry = Data.create(
156
157
  geode_object=geode_object.geode_object_type(),
157
158
  viewer_object=geode_object.viewer_type(),
159
+ viewer_elements_type=geode_object.viewer_elements_type(),
158
160
  input_file=input_file,
159
161
  additional_files=[],
160
162
  )