OpenGeodeWeb-Viewer 1.26.0rc2__tar.gz → 1.27.0__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 (235) hide show
  1. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/PKG-INFO +2 -2
  2. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/pyproject.toml +1 -1
  3. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/requirements.txt +1 -1
  4. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/OpenGeodeWeb_Viewer.egg-info/PKG-INFO +2 -2
  5. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/OpenGeodeWeb_Viewer.egg-info/SOURCES.txt +4 -0
  6. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/OpenGeodeWeb_Viewer.egg-info/requires.txt +1 -1
  7. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/__init__.py +2 -0
  8. opengeodeweb_viewer-1.27.0/src/opengeodeweb_viewer/rpc/viewer/schemas/reset_ruler.json +7 -0
  9. opengeodeweb_viewer-1.27.0/src/opengeodeweb_viewer/rpc/viewer/schemas/reset_ruler.py +10 -0
  10. opengeodeweb_viewer-1.27.0/src/opengeodeweb_viewer/rpc/viewer/schemas/ruler.json +23 -0
  11. opengeodeweb_viewer-1.27.0/src/opengeodeweb_viewer/rpc/viewer/schemas/ruler.py +11 -0
  12. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/viewer_protocols.py +33 -0
  13. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/vtk_pipeline.py +133 -0
  14. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/vtk_protocol.py +8 -1
  15. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/tests/test_viewer_protocols.py +16 -0
  16. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/LICENSE +0 -0
  17. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/README.md +0 -0
  18. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/setup.cfg +0 -0
  19. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/OpenGeodeWeb_Viewer.egg-info/dependency_links.txt +0 -0
  20. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/OpenGeodeWeb_Viewer.egg-info/entry_points.txt +0 -0
  21. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/OpenGeodeWeb_Viewer.egg-info/top_level.txt +0 -0
  22. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/__init__.py +0 -0
  23. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/app.py +0 -0
  24. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/config.py +0 -0
  25. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/object/object_methods.py +0 -0
  26. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/py.typed +0 -0
  27. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/generic/generic_protocols.py +0 -0
  28. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/generic/schemas/__init__.py +0 -0
  29. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/generic/schemas/deregister.json +0 -0
  30. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/generic/schemas/deregister.py +0 -0
  31. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/generic/schemas/register.json +0 -0
  32. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/generic/schemas/register.py +0 -0
  33. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/cells/attribute/cell/cells_attribute_cell_protocols.py +0 -0
  34. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/cells/attribute/cell/schemas/__init__.py +0 -0
  35. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/cells/attribute/cell/schemas/attribute.json +0 -0
  36. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/cells/attribute/cell/schemas/attribute.py +0 -0
  37. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/cells/attribute/vertex/cells_attribute_vertex_protocols.py +0 -0
  38. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/cells/attribute/vertex/schemas/__init__.py +0 -0
  39. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/cells/attribute/vertex/schemas/attribute.json +0 -0
  40. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/cells/attribute/vertex/schemas/attribute.py +0 -0
  41. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/cells/cells_protocols.py +0 -0
  42. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/cells/schemas/__init__.py +0 -0
  43. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/cells/schemas/color.json +0 -0
  44. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/cells/schemas/color.py +0 -0
  45. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/cells/schemas/visibility.json +0 -0
  46. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/cells/schemas/visibility.py +0 -0
  47. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/edges/attribute/edge/edges_attribute_edge_protocols.py +0 -0
  48. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/edges/attribute/edge/schemas/__init__.py +0 -0
  49. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/edges/attribute/edge/schemas/attribute.json +0 -0
  50. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/edges/attribute/edge/schemas/attribute.py +0 -0
  51. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/edges/attribute/vertex/edges_attribute_vertex_protocols.py +0 -0
  52. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/edges/attribute/vertex/schemas/__init__.py +0 -0
  53. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/edges/attribute/vertex/schemas/attribute.json +0 -0
  54. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/edges/attribute/vertex/schemas/attribute.py +0 -0
  55. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/edges/edges_protocols.py +0 -0
  56. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/edges/schemas/__init__.py +0 -0
  57. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/edges/schemas/color.json +0 -0
  58. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/edges/schemas/color.py +0 -0
  59. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/edges/schemas/visibility.json +0 -0
  60. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/edges/schemas/visibility.py +0 -0
  61. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/edges/schemas/width.json +0 -0
  62. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/edges/schemas/width.py +0 -0
  63. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/mesh_protocols.py +0 -0
  64. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/points/attribute/vertex/points_attribute_vertex_protocols.py +0 -0
  65. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/points/attribute/vertex/schemas/__init__.py +0 -0
  66. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/points/attribute/vertex/schemas/attribute.json +0 -0
  67. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/points/attribute/vertex/schemas/attribute.py +0 -0
  68. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/points/points_protocols.py +0 -0
  69. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/points/schemas/__init__.py +0 -0
  70. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/points/schemas/color.json +0 -0
  71. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/points/schemas/color.py +0 -0
  72. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/points/schemas/size.json +0 -0
  73. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/points/schemas/size.py +0 -0
  74. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/points/schemas/visibility.json +0 -0
  75. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/points/schemas/visibility.py +0 -0
  76. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polygons/attribute/polygon/polygons_attribute_polygon_protocols.py +0 -0
  77. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polygons/attribute/polygon/schemas/__init__.py +0 -0
  78. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polygons/attribute/polygon/schemas/attribute.json +0 -0
  79. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polygons/attribute/polygon/schemas/attribute.py +0 -0
  80. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polygons/attribute/vertex/polygons_attribute_vertex_protocols.py +0 -0
  81. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polygons/attribute/vertex/schemas/__init__.py +0 -0
  82. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polygons/attribute/vertex/schemas/attribute.json +0 -0
  83. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polygons/attribute/vertex/schemas/attribute.py +0 -0
  84. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polygons/polygons_protocols.py +0 -0
  85. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polygons/schemas/__init__.py +0 -0
  86. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polygons/schemas/color.json +0 -0
  87. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polygons/schemas/color.py +0 -0
  88. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polygons/schemas/visibility.json +0 -0
  89. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polygons/schemas/visibility.py +0 -0
  90. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polyhedra/attribute/polyhedron/polyhedra_attribute_polyhedron_protocols.py +0 -0
  91. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polyhedra/attribute/polyhedron/schemas/__init__.py +0 -0
  92. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polyhedra/attribute/polyhedron/schemas/attribute.json +0 -0
  93. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polyhedra/attribute/polyhedron/schemas/attribute.py +0 -0
  94. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polyhedra/attribute/vertex/polyhedra_attribute_vertex_protocols.py +0 -0
  95. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polyhedra/attribute/vertex/schemas/__init__.py +0 -0
  96. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polyhedra/attribute/vertex/schemas/attribute.json +0 -0
  97. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polyhedra/attribute/vertex/schemas/attribute.py +0 -0
  98. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polyhedra/polyhedra_protocols.py +0 -0
  99. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/__init__.py +0 -0
  100. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/color.json +0 -0
  101. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/color.py +0 -0
  102. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/visibility.json +0 -0
  103. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/visibility.py +0 -0
  104. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/schemas/__init__.py +0 -0
  105. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/schemas/apply_textures.json +0 -0
  106. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/schemas/apply_textures.py +0 -0
  107. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/schemas/color.json +0 -0
  108. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/schemas/color.py +0 -0
  109. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/schemas/deregister.json +0 -0
  110. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/schemas/deregister.py +0 -0
  111. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/schemas/highlight.json +0 -0
  112. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/schemas/highlight.py +0 -0
  113. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/schemas/register.json +0 -0
  114. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/schemas/register.py +0 -0
  115. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/schemas/visibility.json +0 -0
  116. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/mesh/schemas/visibility.py +0 -0
  117. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/blocks/attribute/polyhedron/blocks_attribute_polyhedron_protocols.py +0 -0
  118. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/blocks/attribute/polyhedron/schemas/__init__.py +0 -0
  119. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/blocks/attribute/polyhedron/schemas/attribute.json +0 -0
  120. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/blocks/attribute/polyhedron/schemas/attribute.py +0 -0
  121. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/blocks/attribute/vertex/blocks_attribute_vertex_protocols.py +0 -0
  122. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/blocks/attribute/vertex/schemas/__init__.py +0 -0
  123. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/blocks/attribute/vertex/schemas/attribute.json +0 -0
  124. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/blocks/attribute/vertex/schemas/attribute.py +0 -0
  125. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/blocks/model_blocks_protocols.py +0 -0
  126. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/blocks/schemas/__init__.py +0 -0
  127. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/blocks/schemas/color.json +0 -0
  128. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/blocks/schemas/color.py +0 -0
  129. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/blocks/schemas/visibility.json +0 -0
  130. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/blocks/schemas/visibility.py +0 -0
  131. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/corners/attribute/vertex/corners_attribute_vertex_protocols.py +0 -0
  132. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/corners/attribute/vertex/schemas/__init__.py +0 -0
  133. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/corners/attribute/vertex/schemas/attribute.json +0 -0
  134. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/corners/attribute/vertex/schemas/attribute.py +0 -0
  135. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/corners/model_corners_protocols.py +0 -0
  136. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/corners/schemas/__init__.py +0 -0
  137. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/corners/schemas/color.json +0 -0
  138. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/corners/schemas/color.py +0 -0
  139. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/corners/schemas/visibility.json +0 -0
  140. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/corners/schemas/visibility.py +0 -0
  141. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/edges/model_edges_protocols.py +0 -0
  142. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/edges/schemas/__init__.py +0 -0
  143. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/edges/schemas/visibility.json +0 -0
  144. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/edges/schemas/visibility.py +0 -0
  145. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/lines/attribute/edge/lines_attribute_edge_protocols.py +0 -0
  146. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/lines/attribute/edge/schemas/__init__.py +0 -0
  147. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/lines/attribute/edge/schemas/attribute.json +0 -0
  148. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/lines/attribute/edge/schemas/attribute.py +0 -0
  149. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/lines/attribute/vertex/lines_attribute_vertex_protocols.py +0 -0
  150. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/lines/attribute/vertex/schemas/__init__.py +0 -0
  151. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/lines/attribute/vertex/schemas/attribute.json +0 -0
  152. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/lines/attribute/vertex/schemas/attribute.py +0 -0
  153. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/lines/model_lines_protocols.py +0 -0
  154. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/lines/schemas/__init__.py +0 -0
  155. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/lines/schemas/color.json +0 -0
  156. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/lines/schemas/color.py +0 -0
  157. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/lines/schemas/visibility.json +0 -0
  158. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/lines/schemas/visibility.py +0 -0
  159. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/model_protocols.py +0 -0
  160. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/points/model_points_protocols.py +0 -0
  161. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/points/schemas/__init__.py +0 -0
  162. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/points/schemas/size.json +0 -0
  163. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/points/schemas/size.py +0 -0
  164. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/points/schemas/visibility.json +0 -0
  165. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/points/schemas/visibility.py +0 -0
  166. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/schemas/__init__.py +0 -0
  167. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/schemas/deregister.json +0 -0
  168. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/schemas/deregister.py +0 -0
  169. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/schemas/get_blocks_bounds.json +0 -0
  170. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/schemas/get_blocks_bounds.py +0 -0
  171. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/schemas/highlight.json +0 -0
  172. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/schemas/highlight.py +0 -0
  173. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/schemas/register.json +0 -0
  174. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/schemas/register.py +0 -0
  175. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/schemas/visibility.json +0 -0
  176. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/schemas/visibility.py +0 -0
  177. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/surfaces/attribute/polygon/schemas/__init__.py +0 -0
  178. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/surfaces/attribute/polygon/schemas/attribute.json +0 -0
  179. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/surfaces/attribute/polygon/schemas/attribute.py +0 -0
  180. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/surfaces/attribute/polygon/surfaces_attribute_polygon_protocols.py +0 -0
  181. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/surfaces/attribute/vertex/schemas/__init__.py +0 -0
  182. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/surfaces/attribute/vertex/schemas/attribute.json +0 -0
  183. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/surfaces/attribute/vertex/schemas/attribute.py +0 -0
  184. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/surfaces/attribute/vertex/surfaces_attribute_vertex_protocols.py +0 -0
  185. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/surfaces/model_surfaces_protocols.py +0 -0
  186. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/surfaces/schemas/__init__.py +0 -0
  187. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/surfaces/schemas/apply_textures.json +0 -0
  188. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/surfaces/schemas/apply_textures.py +0 -0
  189. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/surfaces/schemas/color.json +0 -0
  190. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/surfaces/schemas/color.py +0 -0
  191. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/surfaces/schemas/visibility.json +0 -0
  192. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/model/surfaces/schemas/visibility.py +0 -0
  193. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/schemas/__init__.py +0 -0
  194. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/schemas/import_project.json +0 -0
  195. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/schemas/import_project.py +0 -0
  196. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/schemas/kill.json +0 -0
  197. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/schemas/kill.py +0 -0
  198. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/utils_protocols.py +0 -0
  199. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/axes.json +0 -0
  200. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/axes.py +0 -0
  201. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/clipping_planes.json +0 -0
  202. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/clipping_planes.py +0 -0
  203. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/get_point_position.json +0 -0
  204. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/get_point_position.py +0 -0
  205. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/grid_scale.json +0 -0
  206. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/grid_scale.py +0 -0
  207. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/highlight.json +0 -0
  208. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/highlight.py +0 -0
  209. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/pick_colormap.json +0 -0
  210. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/pick_colormap.py +0 -0
  211. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/picked_ids.json +0 -0
  212. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/picked_ids.py +0 -0
  213. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/preview_points.json +0 -0
  214. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/preview_points.py +0 -0
  215. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/render.json +0 -0
  216. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/render.py +0 -0
  217. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/reset_camera.json +0 -0
  218. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/reset_camera.py +0 -0
  219. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/reset_visualization.json +0 -0
  220. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/reset_visualization.py +0 -0
  221. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/set_background_color.json +0 -0
  222. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/set_background_color.py +0 -0
  223. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/set_z_scaling.json +0 -0
  224. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/set_z_scaling.py +0 -0
  225. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/shrink.json +0 -0
  226. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/shrink.py +0 -0
  227. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/take_screenshot.json +0 -0
  228. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/take_screenshot.py +0 -0
  229. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/update_camera.json +0 -0
  230. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/update_camera.py +0 -0
  231. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/update_data.json +0 -0
  232. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/rpc/viewer/schemas/update_data.py +0 -0
  233. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/src/opengeodeweb_viewer/utils_functions.py +0 -0
  234. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/tests/test_generic_protocols.py +0 -0
  235. {opengeodeweb_viewer-1.26.0rc2 → opengeodeweb_viewer-1.27.0}/tests/test_utils_protocols.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: OpenGeodeWeb-Viewer
3
- Version: 1.26.0rc2
3
+ Version: 1.27.0
4
4
  Summary: OpenGeodeWeb-Viewer 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-Viewer
@@ -35,7 +35,7 @@ Requires-Dist: vtk==9.5.2
35
35
  Requires-Dist: websocket-client==1.8.0
36
36
  Requires-Dist: wslink==1.12.4
37
37
  Requires-Dist: yarl>=1
38
- Requires-Dist: opengeodeweb-microservice==1.*,>=1.2.1rc1
38
+ Requires-Dist: opengeodeweb-microservice==1.*,>=1.2.1
39
39
  Dynamic: license-file
40
40
 
41
41
  # OpenGeodeWeb-Viewer
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
 
6
6
  [project]
7
7
  name = "OpenGeodeWeb-Viewer"
8
- version = "1.26.0-rc.2"
8
+ version = "1.27.0"
9
9
  dynamic = ["dependencies"]
10
10
  authors = [{ name = "Geode-solutions", email = "team-web@geode-solutions.com" }]
11
11
  description = "OpenGeodeWeb-Viewer is an open source framework that proposes handy python functions and wrappers for the OpenGeode ecosystem"
@@ -63,4 +63,4 @@ wslink==1.12.4
63
63
  yarl>=1
64
64
  # via aiohttp
65
65
 
66
- opengeodeweb-microservice==1.*,>=1.2.1rc1
66
+ opengeodeweb-microservice==1.*,>=1.2.1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: OpenGeodeWeb-Viewer
3
- Version: 1.26.0rc2
3
+ Version: 1.27.0
4
4
  Summary: OpenGeodeWeb-Viewer 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-Viewer
@@ -35,7 +35,7 @@ Requires-Dist: vtk==9.5.2
35
35
  Requires-Dist: websocket-client==1.8.0
36
36
  Requires-Dist: wslink==1.12.4
37
37
  Requires-Dist: yarl>=1
38
- Requires-Dist: opengeodeweb-microservice==1.*,>=1.2.1rc1
38
+ Requires-Dist: opengeodeweb-microservice==1.*,>=1.2.1
39
39
  Dynamic: license-file
40
40
 
41
41
  # OpenGeodeWeb-Viewer
@@ -210,8 +210,12 @@ src/opengeodeweb_viewer/rpc/viewer/schemas/render.json
210
210
  src/opengeodeweb_viewer/rpc/viewer/schemas/render.py
211
211
  src/opengeodeweb_viewer/rpc/viewer/schemas/reset_camera.json
212
212
  src/opengeodeweb_viewer/rpc/viewer/schemas/reset_camera.py
213
+ src/opengeodeweb_viewer/rpc/viewer/schemas/reset_ruler.json
214
+ src/opengeodeweb_viewer/rpc/viewer/schemas/reset_ruler.py
213
215
  src/opengeodeweb_viewer/rpc/viewer/schemas/reset_visualization.json
214
216
  src/opengeodeweb_viewer/rpc/viewer/schemas/reset_visualization.py
217
+ src/opengeodeweb_viewer/rpc/viewer/schemas/ruler.json
218
+ src/opengeodeweb_viewer/rpc/viewer/schemas/ruler.py
215
219
  src/opengeodeweb_viewer/rpc/viewer/schemas/set_background_color.json
216
220
  src/opengeodeweb_viewer/rpc/viewer/schemas/set_background_color.py
217
221
  src/opengeodeweb_viewer/rpc/viewer/schemas/set_z_scaling.json
@@ -22,4 +22,4 @@ vtk==9.5.2
22
22
  websocket-client==1.8.0
23
23
  wslink==1.12.4
24
24
  yarl>=1
25
- opengeodeweb-microservice==1.*,>=1.2.1rc1
25
+ opengeodeweb-microservice==1.*,>=1.2.1
@@ -4,7 +4,9 @@ from .take_screenshot import *
4
4
  from .shrink import *
5
5
  from .set_z_scaling import *
6
6
  from .set_background_color import *
7
+ from .ruler import *
7
8
  from .reset_visualization import *
9
+ from .reset_ruler import *
8
10
  from .reset_camera import *
9
11
  from .render import *
10
12
  from .preview_points import *
@@ -0,0 +1,7 @@
1
+ {
2
+ "rpc": "reset_ruler",
3
+ "type": "object",
4
+ "properties": {},
5
+ "required": [],
6
+ "additionalProperties": false
7
+ }
@@ -0,0 +1,10 @@
1
+ from dataclasses_json import DataClassJsonMixin
2
+ from dataclasses import dataclass
3
+
4
+
5
+ @dataclass
6
+ class ResetRuler(DataClassJsonMixin):
7
+ def __post_init__(self) -> None:
8
+ print(self, flush=True)
9
+
10
+ pass
@@ -0,0 +1,23 @@
1
+ {
2
+ "rpc": "ruler",
3
+ "type": "object",
4
+ "properties": {
5
+ "points": {
6
+ "type": "array",
7
+ "items": {
8
+ "type": "array",
9
+ "items": {
10
+ "type": "number"
11
+ },
12
+ "minItems": 3,
13
+ "maxItems": 3
14
+ },
15
+ "minItems": 1,
16
+ "maxItems": 2
17
+ }
18
+ },
19
+ "required": [
20
+ "points"
21
+ ],
22
+ "additionalProperties": false
23
+ }
@@ -0,0 +1,11 @@
1
+ from dataclasses_json import DataClassJsonMixin
2
+ from dataclasses import dataclass
3
+ from typing import List
4
+
5
+
6
+ @dataclass
7
+ class Ruler(DataClassJsonMixin):
8
+ def __post_init__(self) -> None:
9
+ print(self, flush=True)
10
+
11
+ points: List[List[float]]
@@ -30,6 +30,7 @@ from opengeodeweb_viewer.utils_functions import (
30
30
  validate_schema,
31
31
  RpcParams,
32
32
  )
33
+ from opengeodeweb_viewer.vtk_pipeline import RulerPipeline
33
34
  from opengeodeweb_viewer.vtk_protocol import VtkView
34
35
  from opengeodeweb_viewer.rpc.viewer import schemas
35
36
 
@@ -98,6 +99,9 @@ class VtkViewerView(VtkView):
98
99
 
99
100
  self.set_axes(axes)
100
101
  self.set_widget(widget)
102
+ ruler = RulerPipeline()
103
+ ruler.add_to_renderer(renderer)
104
+ self.set_ruler(ruler)
101
105
 
102
106
  renderer.SetBackground([180 / 255, 180 / 255, 180 / 255])
103
107
 
@@ -319,6 +323,9 @@ class VtkViewerView(VtkView):
319
323
  camera.SetPosition(camera_options.position)
320
324
  camera.SetViewAngle(camera_options.view_angle)
321
325
  camera.SetClippingRange(camera_options.clipping_range)
326
+ ruler = self.get_ruler()
327
+ if ruler is not None:
328
+ ruler.update_scale(self.get_renderer())
322
329
 
323
330
  @exportRpc(viewer_prefix + viewer_schemas_dict["render"]["rpc"])
324
331
  def renderNow(self, rpc_params: RpcParams) -> None:
@@ -465,3 +472,29 @@ class VtkViewerView(VtkView):
465
472
  self._preview_polydata.SetPolys(polys)
466
473
  self._preview_polydata.Modified()
467
474
  self.render(-1)
475
+
476
+ @exportRpc(viewer_prefix + viewer_schemas_dict["ruler"]["rpc"])
477
+ def setRuler(self, rpc_params: RpcParams) -> dict[str, float | list[float] | None]:
478
+ validate_schema(
479
+ rpc_params, self.viewer_schemas_dict["ruler"], self.viewer_prefix
480
+ )
481
+ params = schemas.Ruler.from_dict(rpc_params)
482
+ ruler = self.get_ruler()
483
+ assert ruler is not None
484
+ point1 = params.points[0]
485
+ point2 = params.points[1] if len(params.points) > 1 else None
486
+ distance = ruler.set_endpoints(point1, point2, renderer=self.get_renderer())
487
+ return {
488
+ "distance": distance,
489
+ "point1": point1,
490
+ "point2": point2,
491
+ }
492
+
493
+ @exportRpc(viewer_prefix + viewer_schemas_dict["reset_ruler"]["rpc"])
494
+ def resetRuler(self, rpc_params: RpcParams) -> None:
495
+ validate_schema(
496
+ rpc_params, self.viewer_schemas_dict["reset_ruler"], self.viewer_prefix
497
+ )
498
+ ruler = self.get_ruler()
499
+ assert ruler is not None
500
+ ruler.reset()
@@ -1,19 +1,25 @@
1
1
  # Standard library imports
2
2
  from dataclasses import dataclass, field
3
+ import math
3
4
  from typing import cast, Literal, TypedDict
4
5
 
5
6
  # Third party imports
6
7
  from vtkmodules.vtkRenderingCore import (
7
8
  vtkActor,
8
9
  vtkDataSetMapper,
10
+ vtkFollower,
9
11
  vtkMapper,
12
+ vtkPolyDataMapper,
10
13
  vtkCompositePolyDataMapper,
11
14
  vtkCompositeDataDisplayAttributes,
12
15
  vtkColorTransferFunction,
16
+ vtkRenderer,
13
17
  )
14
18
  from vtkmodules.vtkRenderingAnnotation import (
15
19
  vtkScalarBarActor,
16
20
  )
21
+ from vtkmodules.vtkRenderingFreeType import vtkVectorText
22
+ from vtkmodules.vtkFiltersSources import vtkLineSource, vtkSphereSource
17
23
  from vtkmodules.vtkCommonDataModel import (
18
24
  vtkDataObject,
19
25
  vtkDataSet,
@@ -55,6 +61,133 @@ class HighlightPipeline:
55
61
  extractSelection: vtkExtractSelection = field(default_factory=vtkExtractSelection)
56
62
 
57
63
 
64
+ @dataclass
65
+ class RulerPipeline:
66
+ _SPHERE_RESOLUTION = 32
67
+ _PRIMARY_COLOR = (60 / 255, 153 / 255, 131 / 255)
68
+ _TEXT_COLOR = (0.05, 0.05, 0.05)
69
+
70
+ _point1: list[float] | None = field(default=None, init=False)
71
+ _point2: list[float] | None = field(default=None, init=False)
72
+ _line_source: vtkLineSource = field(default_factory=vtkLineSource)
73
+ line_actor: vtkActor = field(init=False)
74
+ _point1_source: vtkSphereSource = field(init=False)
75
+ point1_actor: vtkActor = field(init=False)
76
+ _point2_source: vtkSphereSource = field(init=False)
77
+ point2_actor: vtkActor = field(init=False)
78
+ _text_source: vtkVectorText = field(default_factory=vtkVectorText)
79
+ text_follower: vtkFollower = field(init=False)
80
+
81
+ def __post_init__(self) -> None:
82
+ self.line_actor = vtkActor()
83
+ self._setup_actor(
84
+ self.line_actor, self._line_source, self._PRIMARY_COLOR, line_width=3.0
85
+ )
86
+ self._point1_source, self.point1_actor = self._make_sphere()
87
+ self._point2_source, self.point2_actor = self._make_sphere()
88
+ self.text_follower = vtkFollower()
89
+ self._setup_actor(
90
+ self.text_follower, self._text_source, self._TEXT_COLOR, offset=-50000.0
91
+ )
92
+
93
+ def add_to_renderer(self, renderer: vtkRenderer) -> None:
94
+ self.text_follower.SetCamera(renderer.GetActiveCamera())
95
+ for actor in (
96
+ self.line_actor,
97
+ self.point1_actor,
98
+ self.point2_actor,
99
+ self.text_follower,
100
+ ):
101
+ actor.VisibilityOff()
102
+ renderer.AddActor(actor)
103
+
104
+ def _setup_actor(
105
+ self,
106
+ actor: vtkActor,
107
+ source: vtkAlgorithm,
108
+ color: tuple[float, float, float],
109
+ line_width: float | None = None,
110
+ offset: float = -10000.0,
111
+ ) -> None:
112
+ mapper = vtkPolyDataMapper()
113
+ mapper.SetInputConnection(source.GetOutputPort())
114
+ mapper.SetRelativeCoincidentTopologyPolygonOffsetParameters(offset, offset)
115
+ mapper.SetRelativeCoincidentTopologyLineOffsetParameters(offset, offset)
116
+ mapper.SetRelativeCoincidentTopologyPointOffsetParameter(offset)
117
+ actor.SetMapper(mapper)
118
+ actor.SetPickable(False)
119
+ actor_property = actor.GetProperty()
120
+ actor_property.SetColor(*color)
121
+ actor_property.SetAmbient(1.0)
122
+ actor_property.SetDiffuse(0.0)
123
+ if line_width is not None:
124
+ actor_property.SetLineWidth(line_width)
125
+
126
+ def _make_sphere(self) -> tuple[vtkSphereSource, vtkActor]:
127
+ source = vtkSphereSource()
128
+ source.SetPhiResolution(self._SPHERE_RESOLUTION)
129
+ source.SetThetaResolution(self._SPHERE_RESOLUTION)
130
+ actor = vtkActor()
131
+ self._setup_actor(actor, source, self._PRIMARY_COLOR)
132
+ return source, actor
133
+
134
+ def update_scale(self, renderer: vtkRenderer | None = None) -> None:
135
+ if self._point1 is None or renderer is None:
136
+ return
137
+ camera_position = renderer.GetActiveCamera().GetPosition()
138
+ self._point1_source.SetRadius(
139
+ max(math.dist(self._point1, camera_position) * 0.003, 0.0001)
140
+ )
141
+ if self._point2 is None:
142
+ return
143
+ self._point2_source.SetRadius(
144
+ max(math.dist(self._point2, camera_position) * 0.003, 0.0001)
145
+ )
146
+ midpoint = tuple(
147
+ (coord1 + coord2) / 2 for coord1, coord2 in zip(self._point1, self._point2)
148
+ )
149
+ text_scale = max(math.dist(midpoint, camera_position) * 0.008, 0.001)
150
+ self.text_follower.SetPosition(
151
+ midpoint[0], midpoint[1] + text_scale * 1.2, midpoint[2]
152
+ )
153
+ self.text_follower.SetScale(text_scale, text_scale, text_scale)
154
+
155
+ def reset(self) -> None:
156
+ self._point1 = None
157
+ self._point2 = None
158
+ self.point1_actor.VisibilityOff()
159
+ self.point2_actor.VisibilityOff()
160
+ self.line_actor.VisibilityOff()
161
+ self.text_follower.VisibilityOff()
162
+
163
+ def set_endpoints(
164
+ self,
165
+ point1: list[float],
166
+ point2: list[float] | None,
167
+ renderer: vtkRenderer | None = None,
168
+ ) -> float:
169
+ self._point1 = point1
170
+ self._point2 = point2
171
+ self.point1_actor.VisibilityOn()
172
+ self._point1_source.SetCenter(*point1)
173
+ if point2 is None:
174
+ self.point2_actor.VisibilityOff()
175
+ self.line_actor.VisibilityOff()
176
+ self.text_follower.VisibilityOff()
177
+ self.update_scale(renderer)
178
+ return 0.0
179
+ self.point2_actor.VisibilityOn()
180
+ self.line_actor.VisibilityOn()
181
+ self.text_follower.VisibilityOn()
182
+ self._line_source.SetPoint1(*point1)
183
+ self._line_source.SetPoint2(*point2)
184
+ self._point2_source.SetCenter(*point2)
185
+ distance = math.dist(point1, point2)
186
+ self._text_source.SetText(f"{distance:.2f}")
187
+ self.update_scale(renderer)
188
+ return distance
189
+
190
+
58
191
  class BlockStyle(TypedDict):
59
192
  name: str
60
193
  attribute_location: Literal["point", "cell"]
@@ -38,6 +38,7 @@ from opengeodeweb_microservice.database.connection import get_session
38
38
  from opengeodeweb_microservice.database.data import Data
39
39
  from opengeodeweb_viewer.rpc.viewer.schemas.clipping_planes import Plane
40
40
  from opengeodeweb_viewer.vtk_pipeline import (
41
+ RulerPipeline,
41
42
  ViewerData,
42
43
  VtkPipeline,
43
44
  )
@@ -83,6 +84,12 @@ class VtkView(VtkTypingMixin, vtk_protocols.vtkWebProtocol):
83
84
  def set_widget(self, widget: vtkOrientationMarkerWidget) -> None:
84
85
  self.coreServer.setSharedObject("widget", widget)
85
86
 
87
+ def get_ruler(self) -> RulerPipeline | None:
88
+ return cast(RulerPipeline | None, self.getSharedObject("ruler"))
89
+
90
+ def set_ruler(self, ruler: RulerPipeline) -> None:
91
+ self.coreServer.setSharedObject("ruler", ruler)
92
+
86
93
  def get_viewer_data(self, data_id: str) -> ViewerData:
87
94
  if Data is None:
88
95
  raise Exception("Data model not available")
@@ -309,7 +316,7 @@ class VtkView(VtkTypingMixin, vtk_protocols.vtkWebProtocol):
309
316
  field_type: str,
310
317
  dataset: vtkDataObject | None,
311
318
  ) -> dict[str, list[float] | float]:
312
- data_object = dataset or pipeline.reader.GetOutputDataObject(0)
319
+ data_object = dataset or pipeline.mapper.GetInputDataObject(0, 0)
313
320
  if not isinstance(data_object, vtkDataSet):
314
321
  return {}
315
322
  field_data = (
@@ -464,3 +464,19 @@ def test_shrink_then_clipping(
464
464
  ],
465
465
  )
466
466
  assert server.compare_image("viewer/clipping_then_shrink.jpeg") == True
467
+
468
+
469
+ def test_ruler(server: ServerMonitor, dataset_factory: Callable[..., str]) -> None:
470
+ server.call(
471
+ VtkViewerView.viewer_prefix
472
+ + VtkViewerView.viewer_schemas_dict["reset_visualization"]["rpc"]
473
+ )
474
+ server.call(
475
+ VtkViewerView.viewer_prefix + VtkViewerView.viewer_schemas_dict["ruler"]["rpc"],
476
+ [
477
+ {
478
+ "points": [[-0.2, -0.2, 0.0], [0.2, 0.2, 0.0]],
479
+ }
480
+ ],
481
+ )
482
+ assert server.compare_image("viewer/ruler.jpeg") == True