OpenGeodeWeb-Viewer 1.13.3rc1__py3-none-any.whl → 1.13.4rc1__py3-none-any.whl

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 (23) hide show
  1. opengeodeweb_viewer/config.py +3 -2
  2. opengeodeweb_viewer/object/object_methods.py +21 -8
  3. opengeodeweb_viewer/py.typed +0 -1
  4. opengeodeweb_viewer/rpc/mesh/mesh_protocols.py +4 -4
  5. opengeodeweb_viewer/rpc/mesh/points/mesh_points_protocols.py +1 -1
  6. opengeodeweb_viewer/rpc/mesh/polygons/polygons_protocols.py +1 -1
  7. opengeodeweb_viewer/rpc/mesh/polyhedra/polyhedra_protocols.py +1 -1
  8. opengeodeweb_viewer/rpc/model/blocks/model_blocks_protocols.py +1 -1
  9. opengeodeweb_viewer/rpc/model/corners/model_corners_protocols.py +1 -1
  10. opengeodeweb_viewer/rpc/model/edges/model_edges_protocols.py +1 -1
  11. opengeodeweb_viewer/rpc/model/lines/model_lines_protocols.py +1 -1
  12. opengeodeweb_viewer/rpc/model/model_protocols.py +1 -1
  13. opengeodeweb_viewer/rpc/model/points/model_points_protocols.py +1 -1
  14. opengeodeweb_viewer/rpc/model/surfaces/model_surfaces_protocols.py +1 -1
  15. opengeodeweb_viewer/rpc/viewer/viewer_protocols.py +14 -7
  16. opengeodeweb_viewer/vtk_protocol.py +15 -1
  17. opengeodeweb_viewer/vtkw_server.py +11 -9
  18. {opengeodeweb_viewer-1.13.3rc1.dist-info → opengeodeweb_viewer-1.13.4rc1.dist-info}/METADATA +2 -2
  19. {opengeodeweb_viewer-1.13.3rc1.dist-info → opengeodeweb_viewer-1.13.4rc1.dist-info}/RECORD +23 -23
  20. {opengeodeweb_viewer-1.13.3rc1.dist-info → opengeodeweb_viewer-1.13.4rc1.dist-info}/WHEEL +0 -0
  21. {opengeodeweb_viewer-1.13.3rc1.dist-info → opengeodeweb_viewer-1.13.4rc1.dist-info}/entry_points.txt +0 -0
  22. {opengeodeweb_viewer-1.13.3rc1.dist-info → opengeodeweb_viewer-1.13.4rc1.dist-info}/licenses/LICENSE +0 -0
  23. {opengeodeweb_viewer-1.13.3rc1.dist-info → opengeodeweb_viewer-1.13.4rc1.dist-info}/top_level.txt +0 -0
@@ -21,8 +21,9 @@ def dev_config() -> None:
21
21
  os.environ["DATA_FOLDER_PATH"] = os.path.join(
22
22
  "C:/Users", os.getlogin(), "OpenGeodeWeb_Data"
23
23
  )
24
- if not os.path.exists(os.environ.get("DATA_FOLDER_PATH")):
25
- os.mkdir(os.environ.get("DATA_FOLDER_PATH"))
24
+ data_folder_path = os.environ.get("DATA_FOLDER_PATH")
25
+ if data_folder_path and not os.path.exists(data_folder_path):
26
+ os.mkdir(data_folder_path)
26
27
 
27
28
 
28
29
  def _copy_test_assets(
@@ -4,8 +4,13 @@ import os
4
4
  # Third party imports
5
5
  from vtkmodules.vtkIOXML import vtkXMLDataReader, vtkXMLImageDataReader
6
6
  from vtkmodules.vtkCommonExecutionModel import vtkAlgorithm
7
- from vtkmodules.vtkRenderingCore import vtkMapper, vtkActor, vtkTexture
8
- from vtkmodules.vtkCommonDataModel import vtkDataObject
7
+ from vtkmodules.vtkRenderingCore import (
8
+ vtkMapper,
9
+ vtkActor,
10
+ vtkTexture,
11
+ vtkCompositePolyDataMapper,
12
+ )
13
+ from vtkmodules.vtkCommonDataModel import vtkDataObject, vtkDataSet
9
14
 
10
15
  # Local application imports
11
16
  from opengeodeweb_viewer.vtk_protocol import VtkView, vtkData
@@ -32,8 +37,10 @@ class VtkObjectView(VtkView):
32
37
  renderWindow = self.getView("-1")
33
38
  renderer = renderWindow.GetRenderers().GetFirstRenderer()
34
39
  resetCamara = True
35
- for registered_actor in renderer.GetActors():
36
- if registered_actor.visibility == True:
40
+ actors = renderer.GetActors()
41
+ actors.InitTraversal()
42
+ while actor := actors.GetNextItem():
43
+ if actor.visibility == True:
37
44
  resetCamara = False
38
45
  renderer.AddActor(data.actor)
39
46
  if resetCamara:
@@ -104,6 +111,8 @@ class VtkObjectView(VtkView):
104
111
  self, data_id: str, block_ids: list[int], visibility: bool
105
112
  ) -> None:
106
113
  mapper = self.get_object(data_id).mapper
114
+ if not isinstance(mapper, vtkCompositePolyDataMapper):
115
+ raise Exception("Mapper is not a vtkCompositePolyDataMapper")
107
116
  for block_id in block_ids:
108
117
  mapper.SetBlockVisibility(block_id, visibility)
109
118
 
@@ -111,13 +120,17 @@ class VtkObjectView(VtkView):
111
120
  self, data_id: str, block_ids: list[int], red: int, green: int, blue: int
112
121
  ) -> None:
113
122
  mapper = self.get_object(data_id).mapper
123
+ if not isinstance(mapper, vtkCompositePolyDataMapper):
124
+ raise Exception("Mapper is not a vtkCompositePolyDataMapper")
114
125
  for block_id in block_ids:
115
126
  mapper.SetBlockColor(block_id, [red / 255, green / 255, blue / 255])
116
127
 
117
128
  def clearColors(self, data_id: str) -> None:
118
129
  db = self.get_object(data_id)
119
- mapper = db["mapper"]
120
- reader = db["reader"]
121
- reader.GetOutput().GetPointData().SetActiveScalars("")
122
- reader.GetOutput().GetCellData().SetActiveScalars("")
130
+ mapper = db.mapper
131
+ reader = db.reader
132
+ output = reader.GetOutputDataObject(0)
133
+ if isinstance(output, vtkDataSet):
134
+ output.GetPointData().SetActiveScalars("")
135
+ output.GetCellData().SetActiveScalars("")
123
136
  mapper.ScalarVisibilityOff()
@@ -1 +0,0 @@
1
- partial
@@ -109,7 +109,7 @@ class VtkMeshView(VtkObjectView):
109
109
  if texture_data is None:
110
110
  continue
111
111
  texture_file = texture_data.viewable_file
112
- if not texture_file.lower().endswith(".vti"):
112
+ if texture_file is None or not texture_file.lower().endswith(".vti"):
113
113
  continue
114
114
  texture_file_path = self.get_data_file_path(texture_id)
115
115
  texture_reader = vtkXMLImageDataReader()
@@ -119,7 +119,7 @@ class VtkMeshView(VtkObjectView):
119
119
  texture.SetInputConnection(texture_reader.GetOutputPort())
120
120
  texture.InterpolateOn()
121
121
  reader = self.get_object(mesh_id).reader
122
- output = reader.GetOutput()
122
+ output = reader.GetOutputAsDataSet()
123
123
  point_data = output.GetPointData()
124
124
  for i in range(point_data.GetNumberOfArrays()):
125
125
  array = point_data.GetArray(i)
@@ -131,7 +131,7 @@ class VtkMeshView(VtkObjectView):
131
131
 
132
132
  def displayAttributeOnVertices(self, data_id: str, name: str) -> None:
133
133
  reader = self.get_object(data_id).reader
134
- points = reader.GetOutput().GetPointData()
134
+ points = reader.GetOutputAsDataSet().GetPointData()
135
135
  points.SetActiveScalars(name)
136
136
  mapper = self.get_object(data_id).mapper
137
137
  mapper.ScalarVisibilityOn()
@@ -140,7 +140,7 @@ class VtkMeshView(VtkObjectView):
140
140
 
141
141
  def displayAttributeOnCells(self, data_id: str, name: str) -> None:
142
142
  reader = self.get_object(data_id).reader
143
- cells = reader.GetOutput().GetCellData()
143
+ cells = reader.GetOutputAsDataSet().GetCellData()
144
144
  cells.SetActiveScalars(name)
145
145
  mapper = self.get_object(data_id).mapper
146
146
  mapper.ScalarVisibilityOn()
@@ -2,7 +2,7 @@
2
2
  import os
3
3
 
4
4
  # Third party imports
5
- from wslink import register as exportRpc
5
+ from wslink import register as exportRpc # type: ignore
6
6
  from opengeodeweb_microservice.schemas import get_schemas_dict
7
7
 
8
8
  # Local application imports
@@ -20,7 +20,7 @@ class VtkMeshPolygonsView(VtkMeshView):
20
20
  os.path.join(os.path.dirname(__file__), "schemas")
21
21
  )
22
22
 
23
- def __init__(self):
23
+ def __init__(self) -> None:
24
24
  super().__init__()
25
25
 
26
26
  @exportRpc(mesh_polygons_prefix + mesh_polygons_schemas_dict["visibility"]["rpc"])
@@ -20,7 +20,7 @@ class VtkMeshPolyhedraView(VtkMeshView):
20
20
  os.path.join(os.path.dirname(__file__), "schemas")
21
21
  )
22
22
 
23
- def __init__(self):
23
+ def __init__(self) -> None:
24
24
  super().__init__()
25
25
 
26
26
  @exportRpc(mesh_polyhedra_prefix + mesh_polyhedra_schemas_dict["visibility"]["rpc"])
@@ -20,7 +20,7 @@ class VtkModelBlocksView(VtkModelView):
20
20
  os.path.join(os.path.dirname(__file__), "schemas")
21
21
  )
22
22
 
23
- def __init__(self):
23
+ def __init__(self) -> None:
24
24
  super().__init__()
25
25
 
26
26
  @exportRpc(model_blocks_prefix + model_blocks_schemas_dict["visibility"]["rpc"])
@@ -20,7 +20,7 @@ class VtkModelCornersView(VtkModelView):
20
20
  os.path.join(os.path.dirname(__file__), "schemas")
21
21
  )
22
22
 
23
- def __init__(self):
23
+ def __init__(self) -> None:
24
24
  super().__init__()
25
25
 
26
26
  @exportRpc(model_corners_prefix + model_corners_schemas_dict["visibility"]["rpc"])
@@ -20,7 +20,7 @@ class VtkModelEdgesView(VtkModelView):
20
20
  os.path.join(os.path.dirname(__file__), "schemas")
21
21
  )
22
22
 
23
- def __init__(self):
23
+ def __init__(self) -> None:
24
24
  super().__init__()
25
25
 
26
26
  @exportRpc(model_edges_prefix + model_edges_schemas_dict["visibility"]["rpc"])
@@ -20,7 +20,7 @@ class VtkModelLinesView(VtkModelView):
20
20
  os.path.join(os.path.dirname(__file__), "schemas")
21
21
  )
22
22
 
23
- def __init__(self):
23
+ def __init__(self) -> None:
24
24
  super().__init__()
25
25
 
26
26
  @exportRpc(model_lines_prefix + model_lines_schemas_dict["visibility"]["rpc"])
@@ -27,7 +27,7 @@ class VtkModelView(VtkObjectView):
27
27
  os.path.join(os.path.dirname(__file__), "schemas")
28
28
  )
29
29
 
30
- def __init__(self):
30
+ def __init__(self) -> None:
31
31
  super().__init__()
32
32
 
33
33
  @exportRpc(model_prefix + model_schemas_dict["register"]["rpc"])
@@ -20,7 +20,7 @@ class VtkModelPointsView(VtkModelView):
20
20
  os.path.join(os.path.dirname(__file__), "schemas")
21
21
  )
22
22
 
23
- def __init__(self):
23
+ def __init__(self) -> None:
24
24
  super().__init__()
25
25
 
26
26
  @exportRpc(model_points_prefix + model_points_schemas_dict["visibility"]["rpc"])
@@ -20,7 +20,7 @@ class VtkModelSurfacesView(VtkModelView):
20
20
  os.path.join(os.path.dirname(__file__), "schemas")
21
21
  )
22
22
 
23
- def __init__(self):
23
+ def __init__(self) -> None:
24
24
  super().__init__()
25
25
 
26
26
  @exportRpc(model_surfaces_prefix + model_surfaces_schemas_dict["visibility"]["rpc"])
@@ -1,6 +1,7 @@
1
1
  # Standard library imports
2
2
  import math
3
3
  import os
4
+ from typing import cast, Any
4
5
 
5
6
  # Third party imports
6
7
  from wslink import register as exportRpc # type: ignore
@@ -15,7 +16,7 @@ from vtkmodules.vtkRenderingCore import (
15
16
  )
16
17
  from vtkmodules.vtkInteractionStyle import vtkInteractorStyleTrackball
17
18
  from vtkmodules.vtkCommonCore import reference
18
- from vtkmodules.vtkCommonDataModel import vtkBoundingBox
19
+ from vtkmodules.vtkCommonDataModel import vtkBoundingBox, vtkDataSet
19
20
  from vtkmodules.vtkCommonTransforms import vtkTransform
20
21
  from vtkmodules.vtkInteractionWidgets import vtkOrientationMarkerWidget
21
22
  from opengeodeweb_microservice.schemas import get_schemas_dict
@@ -140,6 +141,7 @@ class VtkViewerView(VtkView):
140
141
  w2if.ReadFrontBufferOff()
141
142
  w2if.Update()
142
143
  output_extension = params.output_extension
144
+ writer: vtkPNGWriter | vtkJPEGWriter
143
145
  if output_extension == schemas.OutputExtension.PNG:
144
146
  writer = vtkPNGWriter()
145
147
  elif output_extension == schemas.OutputExtension.JPG:
@@ -167,12 +169,16 @@ class VtkViewerView(VtkView):
167
169
  )
168
170
  params = schemas.UpdateData.from_dict(rpc_params)
169
171
  data = self.get_object(params.id)
170
- reader = data["reader"]
172
+ reader = data.reader
171
173
  reader.Update()
172
- mapper = data["mapper"]
173
- tag = reference(0)
174
+ mapper = data.mapper
175
+ tag: Any = reference(0)
176
+ output = reader.GetOutputDataObject(0)
177
+ if not isinstance(output, vtkDataSet):
178
+ raise Exception("Output is not a vtkDataSet")
179
+
174
180
  scalars = vtkAbstractMapper.GetAbstractScalars(
175
- reader.GetOutput(),
181
+ output,
176
182
  mapper.GetScalarMode(),
177
183
  mapper.GetArrayAccessMode(),
178
184
  mapper.GetArrayId(),
@@ -203,7 +209,7 @@ class VtkViewerView(VtkView):
203
209
  renderer.SetDisplayPoint(size[0], size[1], z)
204
210
  renderer.DisplayToWorld()
205
211
  windowUpperRight = renderer.GetWorldPoint()
206
- epsilon = 0
212
+ epsilon: float = 0.0
207
213
  for i in range(3):
208
214
  epsilon += (windowUpperRight[i] - windowLowerLeft[i]) * (
209
215
  windowUpperRight[i] - windowLowerLeft[i]
@@ -229,7 +235,8 @@ class VtkViewerView(VtkView):
229
235
  array_ids = []
230
236
  for id in params.ids:
231
237
  bounds = self.get_object(id).actor.GetBounds()
232
- if bbox.Intersects(bounds):
238
+ bounds_box = vtkBoundingBox(bounds)
239
+ if bbox.Intersects(bounds_box):
233
240
  array_ids.append(id)
234
241
 
235
242
  return {"array_ids": array_ids}
@@ -9,11 +9,14 @@ from vtkmodules.web import protocols as vtk_protocols
9
9
  from vtkmodules.vtkIOXML import (
10
10
  vtkXMLReader,
11
11
  )
12
+ from vtkmodules.vtkWebCore import vtkWebApplication
12
13
  from vtkmodules.vtkCommonExecutionModel import vtkAlgorithm
13
14
  from vtkmodules.vtkRenderingCore import (
14
15
  vtkActor,
15
16
  vtkMapper,
16
17
  vtkRenderer,
18
+ vtkRenderWindow,
19
+ vtkCompositePolyDataMapper,
17
20
  )
18
21
  from vtkmodules.vtkRenderingAnnotation import vtkCubeAxesActor, vtkAxesActor
19
22
  from vtkmodules.vtkInteractionWidgets import vtkOrientationMarkerWidget
@@ -34,7 +37,18 @@ class vtkData:
34
37
  )
35
38
 
36
39
 
37
- class VtkView(vtk_protocols.vtkWebProtocol):
40
+ class VtkTypingMixin:
41
+ def getView(self, view_id: str) -> vtkRenderWindow:
42
+ return cast(vtkRenderWindow, super().getView(view_id)) # type: ignore
43
+
44
+ def registerVtkWebProtocol(self, protocol: Any) -> None:
45
+ super().registerVtkWebProtocol(protocol) # type: ignore
46
+
47
+ def getApplication(self) -> vtkWebApplication:
48
+ return cast(vtkWebApplication, super().getApplication()) # type: ignore
49
+
50
+
51
+ class VtkView(VtkTypingMixin, vtk_protocols.vtkWebProtocol):
38
52
  def __init__(self) -> None:
39
53
  super().__init__()
40
54
  self.DATA_FOLDER_PATH = os.getenv("DATA_FOLDER_PATH", ".")
@@ -1,18 +1,20 @@
1
1
  # Standard library imports
2
2
  import argparse
3
3
  import os
4
+ from typing import Any, cast, Protocol, runtime_checkable
4
5
 
5
6
  # Third party imports
6
- from vtkmodules.web import wslink as vtk_wslink
7
+ from vtkmodules.web.wslink import ServerProtocol
7
8
  from vtkmodules.web import protocols as vtk_protocols
8
9
  from wslink import server # type: ignore
10
+ from vtkmodules.vtkWebCore import vtkWebApplication
9
11
  from vtkmodules.vtkRenderingCore import vtkRenderer, vtkRenderWindow
10
12
  from vtkmodules.vtkCommonCore import vtkFileOutputWindow, vtkOutputWindow
11
13
  from opengeodeweb_microservice.database import connection
12
14
 
13
15
  # Local application imports
14
16
  from .config import *
15
- from .vtk_protocol import VtkView
17
+ from .vtk_protocol import VtkView, VtkTypingMixin
16
18
  from .rpc.viewer.viewer_protocols import VtkViewerView
17
19
  from .rpc.mesh.mesh_protocols import VtkMeshView
18
20
  from .rpc.mesh.points.mesh_points_protocols import VtkMeshPointsView
@@ -48,14 +50,14 @@ from .rpc.utils_protocols import VtkUtilsView
48
50
  # =============================================================================
49
51
 
50
52
 
51
- class _Server(vtk_wslink.ServerProtocol):
53
+ class _Server(VtkTypingMixin, ServerProtocol):
52
54
  # Defaults
53
55
  authKey = "wslink-secret"
54
56
  view = None
55
57
  debug = False
56
58
 
57
59
  @staticmethod
58
- def add_arguments(parser):
60
+ def add_arguments(parser: argparse.ArgumentParser) -> None:
59
61
  parser.add_argument(
60
62
  "--data_folder_path",
61
63
  default=os.environ.get("DATA_FOLDER_PATH"),
@@ -63,15 +65,15 @@ class _Server(vtk_wslink.ServerProtocol):
63
65
  )
64
66
 
65
67
  @staticmethod
66
- def configure(args):
68
+ def configure(args: argparse.Namespace) -> None:
67
69
  # Standard args
68
70
  _Server.authKey = args.authKey
69
71
 
70
- def initialize(self):
72
+ def initialize(self) -> None:
71
73
  # Bring used components
72
74
  self.registerVtkWebProtocol(vtk_protocols.vtkWebMouseHandler())
73
75
  self.registerVtkWebProtocol(vtk_protocols.vtkWebViewPort())
74
- publisher = vtk_protocols.vtkWebPublishImageDelivery(decode=False)
76
+ publisher = vtk_protocols.vtkWebPublishImageDelivery(decode=False) # type: ignore
75
77
  publisher.deltaStaleTimeBeforeRender = 0.1
76
78
  self.registerVtkWebProtocol(publisher)
77
79
  self.setSharedObject("db", dict())
@@ -87,7 +89,7 @@ class _Server(vtk_wslink.ServerProtocol):
87
89
  self.registerVtkWebProtocol(mesh_protocols)
88
90
  self.registerVtkWebProtocol(VtkMeshPointsView())
89
91
  self.registerVtkWebProtocol(VtkMeshEdgesView())
90
- self.registerVtkWebProtocol(VtkMeshCellsView()) # type: ignore
92
+ self.registerVtkWebProtocol(VtkMeshCellsView())
91
93
  self.registerVtkWebProtocol(VtkMeshPolygonsView())
92
94
  self.registerVtkWebProtocol(VtkMeshPolyhedraView())
93
95
  self.registerVtkWebProtocol(model_protocols)
@@ -126,7 +128,7 @@ class _Server(vtk_wslink.ServerProtocol):
126
128
  # =============================================================================
127
129
 
128
130
 
129
- def run_server(Server=_Server):
131
+ def run_server(Server: type[ServerProtocol] = _Server) -> None:
130
132
  PYTHON_ENV = os.environ.get("PYTHON_ENV", default="prod").strip().lower()
131
133
  if PYTHON_ENV == "prod":
132
134
  prod_config()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: OpenGeodeWeb-Viewer
3
- Version: 1.13.3rc1
3
+ Version: 1.13.4rc1
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
36
36
  Requires-Dist: wslink==1.12.4
37
37
  Requires-Dist: yarl>=1
38
- Requires-Dist: opengeodeweb-microservice==1.*,>=1.0.11
38
+ Requires-Dist: opengeodeweb-microservice==1.*,>=1.0.12rc1
39
39
  Dynamic: license-file
40
40
 
41
41
  # OpenGeodeWeb-Viewer
@@ -1,10 +1,10 @@
1
1
  opengeodeweb_viewer/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
2
- opengeodeweb_viewer/config.py,sha256=0Ycy-_eZsXfzVfIgvNevTnPwlzcpu0eQaIKSEmkSQ6o,2084
3
- opengeodeweb_viewer/py.typed,sha256=la67KBlbjXN-_-DfGNcdOcjYumVpKG_Tkw-8n5dnGB4,8
2
+ opengeodeweb_viewer/config.py,sha256=Iq04mCJWy3_1toGyLwkm2domVl3CEVPQY1kcPZM9sQA,2127
3
+ opengeodeweb_viewer/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  opengeodeweb_viewer/utils_functions.py,sha256=Nh0tS78ctULkLjOtVtDoHaMLxKn2A70ARFGkucTe-Sk,758
5
- opengeodeweb_viewer/vtk_protocol.py,sha256=sP87GcTybrbiRnfln5_ybVUxJtvDn879a9MKoO91Fh8,4484
6
- opengeodeweb_viewer/vtkw_server.py,sha256=t9Ph2BPd_WvEEX1nCzeMdHB2q_5dmE0A_7SKvUEGJv0,5894
7
- opengeodeweb_viewer/object/object_methods.py,sha256=Ptd_KFYhjtQqMgABTXBvMBOB48FN8TDmIueU33BiapQ,4972
5
+ opengeodeweb_viewer/vtk_protocol.py,sha256=jip7S-u4ZbtigDeZ2KPH8mpzhZdTeNZbRE52O2SuzUg,5024
6
+ opengeodeweb_viewer/vtkw_server.py,sha256=83Khwt_cLtT9ugefZZOfcY5wzQgQyOnER1ANoHTKgiE,6127
7
+ opengeodeweb_viewer/object/object_methods.py,sha256=aZRfNtZDnJ-YJtuyfBBbklbEiy2sri7YUR7wtV8v3ak,5424
8
8
  opengeodeweb_viewer/rpc/utils_protocols.py,sha256=18w2N9AuXpNke7wL66Jg_k86NNOhEoRy_cK1v6Z3gX8,2506
9
9
  opengeodeweb_viewer/rpc/generic/generic_protocols.py,sha256=GtBN4eopb95Ook84ioz4jelu2sE1A-ukC_nbGx343BA,2324
10
10
  opengeodeweb_viewer/rpc/generic/schemas/__init__.py,sha256=Foxm034o9OVDZ5cZkUVNlrZ6phd68HRrXBuvaLx-PD0,50
@@ -12,7 +12,7 @@ opengeodeweb_viewer/rpc/generic/schemas/deregister.json,sha256=HqFQ1Y8Y4Xj08gDN_
12
12
  opengeodeweb_viewer/rpc/generic/schemas/deregister.py,sha256=Seu-KiYPh8Bb1Wxd4W1WtLAoan4xuPjxOPtgqlK9D_w,215
13
13
  opengeodeweb_viewer/rpc/generic/schemas/register.json,sha256=45uECnAbC7Y7uBAZ0pRTzrSg3G2fL3yn4Cz0eby6KrQ,192
14
14
  opengeodeweb_viewer/rpc/generic/schemas/register.py,sha256=5Y7idPuRLHyADe8nSLixFd04EmCKHsZuGOV1sHibebU,213
15
- opengeodeweb_viewer/rpc/mesh/mesh_protocols.py,sha256=MwKjOL1_08W9BjQJxFoQPVcclnLYJRBqJz2TQwKVI4U,6332
15
+ opengeodeweb_viewer/rpc/mesh/mesh_protocols.py,sha256=dPcTLammyqmfLj1frca8lQfeRS8N46ipnT-cX3-6bTo,6383
16
16
  opengeodeweb_viewer/rpc/mesh/cells/cells_protocols.py,sha256=Xzb6rfR1bCUGXu5JE5fpTOkn6dujyLzvb3E28vEdBN8,2384
17
17
  opengeodeweb_viewer/rpc/mesh/cells/schemas/__init__.py,sha256=Ok-EWaTjYQPT-V995l0kexPrE5F6To8sAhqyFyjdogM,109
18
18
  opengeodeweb_viewer/rpc/mesh/cells/schemas/cell_attribute.json,sha256=KSjcfw2WSKS7LvP85vAI9rAtKdunvjewtBcsLlCCHuc,265
@@ -35,7 +35,7 @@ opengeodeweb_viewer/rpc/mesh/edges/schemas/visibility.json,sha256=MSlbqbHsPOiUZX
35
35
  opengeodeweb_viewer/rpc/mesh/edges/schemas/visibility.py,sha256=OAC2F5S08RuSte2V1elIU1UwZf-IKiA39eY8yOMqr3I,236
36
36
  opengeodeweb_viewer/rpc/mesh/edges/schemas/width.json,sha256=-TrnInMPuQFKcCBuL9ihrQQNGyGzX8JgZhT_aiQ8Q2c,246
37
37
  opengeodeweb_viewer/rpc/mesh/edges/schemas/width.py,sha256=ms0xK5dePaWdf4WiV1Zeqcro00-6yNmNVcP6NTjKkR4,227
38
- opengeodeweb_viewer/rpc/mesh/points/mesh_points_protocols.py,sha256=eVF5KXjQWQyFt03o3E13kYbilMcEEpOjBjo-Udh98ys,2306
38
+ opengeodeweb_viewer/rpc/mesh/points/mesh_points_protocols.py,sha256=IzXR_J3aYtMaSoVqHJ8WNrg18vCUhDMCioM5QjMOcF8,2322
39
39
  opengeodeweb_viewer/rpc/mesh/points/schemas/__init__.py,sha256=J_FnIWPfiS4dvZWkc_6Fu-x_DQPbfWnCpbHJVRAaSas,99
40
40
  opengeodeweb_viewer/rpc/mesh/points/schemas/color.json,sha256=tGWsxiaaYsiDmyF7Ed1RTWxqfe63mHAWxSi2SmTUN6Y,818
41
41
  opengeodeweb_viewer/rpc/mesh/points/schemas/color.py,sha256=RdjSQB-ZKsJHP10roQV0pVt8jvu6trJ20NuZTVrNAIM,444
@@ -45,7 +45,7 @@ opengeodeweb_viewer/rpc/mesh/points/schemas/vertex_attribute.json,sha256=0ep_P2-
45
45
  opengeodeweb_viewer/rpc/mesh/points/schemas/vertex_attribute.py,sha256=iHcmXyaEiftkiCEMIK3KcUO-Iq3SBjpSy6PEP3Z8e2s,234
46
46
  opengeodeweb_viewer/rpc/mesh/points/schemas/visibility.json,sha256=MSlbqbHsPOiUZXzSfVrZXtYIMbnBQR4PhRKtrkZHtv8,263
47
47
  opengeodeweb_viewer/rpc/mesh/points/schemas/visibility.py,sha256=OAC2F5S08RuSte2V1elIU1UwZf-IKiA39eY8yOMqr3I,236
48
- opengeodeweb_viewer/rpc/mesh/polygons/polygons_protocols.py,sha256=NE6XghDlihZAwLQfoOPxI7L8JgSgDvCJrIAoBKbv0lI,2488
48
+ opengeodeweb_viewer/rpc/mesh/polygons/polygons_protocols.py,sha256=zruaiXPN0YMkpXSKkAU8j2_xUX-YBpabEbr1ExU2L00,2496
49
49
  opengeodeweb_viewer/rpc/mesh/polygons/schemas/__init__.py,sha256=lXKXC0Sgb8e-a_F7v3uC2tirGQbhb_sBqG2gnPQ7nyE,112
50
50
  opengeodeweb_viewer/rpc/mesh/polygons/schemas/color.json,sha256=tGWsxiaaYsiDmyF7Ed1RTWxqfe63mHAWxSi2SmTUN6Y,818
51
51
  opengeodeweb_viewer/rpc/mesh/polygons/schemas/color.py,sha256=RdjSQB-ZKsJHP10roQV0pVt8jvu6trJ20NuZTVrNAIM,444
@@ -55,7 +55,7 @@ opengeodeweb_viewer/rpc/mesh/polygons/schemas/vertex_attribute.json,sha256=0ep_P
55
55
  opengeodeweb_viewer/rpc/mesh/polygons/schemas/vertex_attribute.py,sha256=iHcmXyaEiftkiCEMIK3KcUO-Iq3SBjpSy6PEP3Z8e2s,234
56
56
  opengeodeweb_viewer/rpc/mesh/polygons/schemas/visibility.json,sha256=MSlbqbHsPOiUZXzSfVrZXtYIMbnBQR4PhRKtrkZHtv8,263
57
57
  opengeodeweb_viewer/rpc/mesh/polygons/schemas/visibility.py,sha256=OAC2F5S08RuSte2V1elIU1UwZf-IKiA39eY8yOMqr3I,236
58
- opengeodeweb_viewer/rpc/mesh/polyhedra/polyhedra_protocols.py,sha256=GzaoXB2scPFm2NuJfUeyMBq5RqKp9gSO_c_bobKw7u4,2532
58
+ opengeodeweb_viewer/rpc/mesh/polyhedra/polyhedra_protocols.py,sha256=e_R1hpZPQTkPMnD6_kAy2e90ZrCUbWnaux6wmdoKx1M,2540
59
59
  opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/__init__.py,sha256=kkx2otsOhsFL0zLocbrNKzkCvAlN_wQsfFMviic6RBU,115
60
60
  opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/color.json,sha256=tGWsxiaaYsiDmyF7Ed1RTWxqfe63mHAWxSi2SmTUN6Y,818
61
61
  opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/color.py,sha256=RdjSQB-ZKsJHP10roQV0pVt8jvu6trJ20NuZTVrNAIM,444
@@ -78,30 +78,30 @@ opengeodeweb_viewer/rpc/mesh/schemas/register.json,sha256=45uECnAbC7Y7uBAZ0pRTzr
78
78
  opengeodeweb_viewer/rpc/mesh/schemas/register.py,sha256=5Y7idPuRLHyADe8nSLixFd04EmCKHsZuGOV1sHibebU,213
79
79
  opengeodeweb_viewer/rpc/mesh/schemas/visibility.json,sha256=MSlbqbHsPOiUZXzSfVrZXtYIMbnBQR4PhRKtrkZHtv8,263
80
80
  opengeodeweb_viewer/rpc/mesh/schemas/visibility.py,sha256=OAC2F5S08RuSte2V1elIU1UwZf-IKiA39eY8yOMqr3I,236
81
- opengeodeweb_viewer/rpc/model/model_protocols.py,sha256=wCYDsUWyo-w2Q8BrO-dBOoPycgbQvvf_beNf6m6ZpzU,2673
82
- opengeodeweb_viewer/rpc/model/blocks/model_blocks_protocols.py,sha256=2nGr3Wt7ofqJdUEMbUTpor7325uq-rRCwrJoESwOPtg,1593
81
+ opengeodeweb_viewer/rpc/model/model_protocols.py,sha256=e38NaEVBTitqkrvIEgDXGa7JesgM3cybTvD2BoAhuDc,2681
82
+ opengeodeweb_viewer/rpc/model/blocks/model_blocks_protocols.py,sha256=-WLFV5I-aaVkqOd_rnuqwH8TTRCxH-7FfLSX44bcdYg,1601
83
83
  opengeodeweb_viewer/rpc/model/blocks/schemas/__init__.py,sha256=4dIuZUiLRp9hlfOnm6IBzXRP46CguG-PCtAJYCZHrjs,47
84
84
  opengeodeweb_viewer/rpc/model/blocks/schemas/color.json,sha256=OxCbraFaFGKMTiGOP-ogrlMSIOE5FiNvTYyOsxXuD_4,956
85
85
  opengeodeweb_viewer/rpc/model/blocks/schemas/color.py,sha256=cB8uHQsvDttKlxqnU5Jc91bniAwIAhZ05GU6IbofQXo,475
86
86
  opengeodeweb_viewer/rpc/model/blocks/schemas/visibility.json,sha256=W6uveAf1iI19dW3zpAACRqQfcHjRwBDjvbtR4P496iM,401
87
87
  opengeodeweb_viewer/rpc/model/blocks/schemas/visibility.py,sha256=OBzcUJ3uujscxllBrPd0EeoGArMDZPfjQEwir_PhlH0,285
88
- opengeodeweb_viewer/rpc/model/corners/model_corners_protocols.py,sha256=Lu6o1DfB9HYgJLR4aCBP-U68tQ0EZPxbFVKeu3Q79bs,1601
88
+ opengeodeweb_viewer/rpc/model/corners/model_corners_protocols.py,sha256=wr8jaiBxciU9PijHrWPVQlNjKN7hiEfLEBfl4ZUdi_4,1609
89
89
  opengeodeweb_viewer/rpc/model/corners/schemas/__init__.py,sha256=4dIuZUiLRp9hlfOnm6IBzXRP46CguG-PCtAJYCZHrjs,47
90
90
  opengeodeweb_viewer/rpc/model/corners/schemas/color.json,sha256=OxCbraFaFGKMTiGOP-ogrlMSIOE5FiNvTYyOsxXuD_4,956
91
91
  opengeodeweb_viewer/rpc/model/corners/schemas/color.py,sha256=cB8uHQsvDttKlxqnU5Jc91bniAwIAhZ05GU6IbofQXo,475
92
92
  opengeodeweb_viewer/rpc/model/corners/schemas/visibility.json,sha256=W6uveAf1iI19dW3zpAACRqQfcHjRwBDjvbtR4P496iM,401
93
93
  opengeodeweb_viewer/rpc/model/corners/schemas/visibility.py,sha256=OBzcUJ3uujscxllBrPd0EeoGArMDZPfjQEwir_PhlH0,285
94
- opengeodeweb_viewer/rpc/model/edges/model_edges_protocols.py,sha256=T4H31k37ZovWvbIMUToGKaTEt595qIfIIdXGwO88pXg,1084
94
+ opengeodeweb_viewer/rpc/model/edges/model_edges_protocols.py,sha256=LwBsvLDLr6P7aGrVB2pqQtSB0CxxoVLz5BxAwSa49Yc,1092
95
95
  opengeodeweb_viewer/rpc/model/edges/schemas/__init__.py,sha256=-2mVIZx3T1SaI-A1Gc1HPOxYbaspPkUChcCp8sEiqHw,26
96
96
  opengeodeweb_viewer/rpc/model/edges/schemas/visibility.json,sha256=MSlbqbHsPOiUZXzSfVrZXtYIMbnBQR4PhRKtrkZHtv8,263
97
97
  opengeodeweb_viewer/rpc/model/edges/schemas/visibility.py,sha256=OAC2F5S08RuSte2V1elIU1UwZf-IKiA39eY8yOMqr3I,236
98
- opengeodeweb_viewer/rpc/model/lines/model_lines_protocols.py,sha256=mzf4doPDZHq8lNXcxi0QlmWj6XN9KNE-e_znOjdM-L8,1571
98
+ opengeodeweb_viewer/rpc/model/lines/model_lines_protocols.py,sha256=j2g8V5cqk6Css34VUmJ13ZcwqYXZXGuZMoS-c40QH8U,1579
99
99
  opengeodeweb_viewer/rpc/model/lines/schemas/__init__.py,sha256=4dIuZUiLRp9hlfOnm6IBzXRP46CguG-PCtAJYCZHrjs,47
100
100
  opengeodeweb_viewer/rpc/model/lines/schemas/color.json,sha256=OxCbraFaFGKMTiGOP-ogrlMSIOE5FiNvTYyOsxXuD_4,956
101
101
  opengeodeweb_viewer/rpc/model/lines/schemas/color.py,sha256=cB8uHQsvDttKlxqnU5Jc91bniAwIAhZ05GU6IbofQXo,475
102
102
  opengeodeweb_viewer/rpc/model/lines/schemas/visibility.json,sha256=W6uveAf1iI19dW3zpAACRqQfcHjRwBDjvbtR4P496iM,401
103
103
  opengeodeweb_viewer/rpc/model/lines/schemas/visibility.py,sha256=OBzcUJ3uujscxllBrPd0EeoGArMDZPfjQEwir_PhlH0,285
104
- opengeodeweb_viewer/rpc/model/points/model_points_protocols.py,sha256=SIQql2DJC6z_qpmNDgkWHqV92gDdYN78ZvrB1pZArSw,1466
104
+ opengeodeweb_viewer/rpc/model/points/model_points_protocols.py,sha256=E_-Tn8RNWjRF70s5op9rLoCHvydLOwyPOfmro2GAoOA,1474
105
105
  opengeodeweb_viewer/rpc/model/points/schemas/__init__.py,sha256=xSvcPAsYT5qXkeOmVLybaT2HaLXf6GDIED-KQEulhYc,46
106
106
  opengeodeweb_viewer/rpc/model/points/schemas/size.json,sha256=BCAKwWmwludQp2oGHDgKW45s7FU8Y16Ah2ILPlu2Nos,244
107
107
  opengeodeweb_viewer/rpc/model/points/schemas/size.py,sha256=vpBbBqZDaS_keS0cjcQQWFgR7QDpmq2a5lXC3C6abcA,225
@@ -114,7 +114,7 @@ opengeodeweb_viewer/rpc/model/schemas/register.json,sha256=45uECnAbC7Y7uBAZ0pRTz
114
114
  opengeodeweb_viewer/rpc/model/schemas/register.py,sha256=5Y7idPuRLHyADe8nSLixFd04EmCKHsZuGOV1sHibebU,213
115
115
  opengeodeweb_viewer/rpc/model/schemas/visibility.json,sha256=MSlbqbHsPOiUZXzSfVrZXtYIMbnBQR4PhRKtrkZHtv8,263
116
116
  opengeodeweb_viewer/rpc/model/schemas/visibility.py,sha256=OAC2F5S08RuSte2V1elIU1UwZf-IKiA39eY8yOMqr3I,236
117
- opengeodeweb_viewer/rpc/model/surfaces/model_surfaces_protocols.py,sha256=vVidV216IdI9VwK9m0NTYsO_klVWuxmFpE4qdUvU-e0,1619
117
+ opengeodeweb_viewer/rpc/model/surfaces/model_surfaces_protocols.py,sha256=r-doBkkfBiAdss5QdPA4mryMHGMKEAbSG_KYwpt0HRc,1627
118
118
  opengeodeweb_viewer/rpc/model/surfaces/schemas/__init__.py,sha256=DQ-E7qPnAxZE6vEhwag_0OmQGvkN_NIMvd6SiG_Q99M,77
119
119
  opengeodeweb_viewer/rpc/model/surfaces/schemas/apply_textures.json,sha256=g7COk8HoGjsiLjj67HuWmybhchR_IZx09TXG8jnSrUM,696
120
120
  opengeodeweb_viewer/rpc/model/surfaces/schemas/apply_textures.py,sha256=REUbL-PW5HEAed_hn1hI2v-E7ebs3kBEB2tWrkn_Inw,437
@@ -127,7 +127,7 @@ opengeodeweb_viewer/rpc/schemas/import_project.json,sha256=c6v1iXiGQYfHQXA9qWEe6
127
127
  opengeodeweb_viewer/rpc/schemas/import_project.py,sha256=bjK9KdlkpC8kQFN6Ni8i9OIp9z8hE-mhPT0czTxyedo,215
128
128
  opengeodeweb_viewer/rpc/schemas/kill.json,sha256=RRvuOM7424eFBwdd_0gG51zHpUMKnMmLHzIhw6PoUcs,110
129
129
  opengeodeweb_viewer/rpc/schemas/kill.py,sha256=DbQyF57NJ4BsOo7UbKzKwm5rERkphIAh28QVt2DJcA8,206
130
- opengeodeweb_viewer/rpc/viewer/viewer_protocols.py,sha256=FQqB-6UTFrqoa6JbMxsQHEbZWNbWgeTwt4XbwILXEKA,11900
130
+ opengeodeweb_viewer/rpc/viewer/viewer_protocols.py,sha256=ry0ui0eX_sFLU-aRwyD5rnBCn96yk4X-nl9Pg6fcjok,12187
131
131
  opengeodeweb_viewer/rpc/viewer/schemas/__init__.py,sha256=ej0Q9XCiNjhF1segnn-YlhQV1HzWayoeBzo7OOZ2kvY,343
132
132
  opengeodeweb_viewer/rpc/viewer/schemas/axes.json,sha256=-HC7kogMCpqKr1YS53fxzhEn3CKkKFd6EsVDv4BCthw,183
133
133
  opengeodeweb_viewer/rpc/viewer/schemas/axes.py,sha256=A3UCe6nBvIox41mlXokjPgskxD2_p6AZIoVk47xUf7s,218
@@ -153,9 +153,9 @@ opengeodeweb_viewer/rpc/viewer/schemas/update_camera.json,sha256=OtovtEwLvR4L63y
153
153
  opengeodeweb_viewer/rpc/viewer/schemas/update_camera.py,sha256=noEZ3V2AysEn5NFXBFLwKE0I4sb0KB5fnP9KaJL1hms,521
154
154
  opengeodeweb_viewer/rpc/viewer/schemas/update_data.json,sha256=h1T_aNWZFaJ-LTXyqjTK4MLbFJgt9vH23CHY1Gr55f4,195
155
155
  opengeodeweb_viewer/rpc/viewer/schemas/update_data.py,sha256=E-S4ZP_6nYhlFitKp2ynvztDcmeL5zqoAZD96WyvIhw,215
156
- opengeodeweb_viewer-1.13.3rc1.dist-info/licenses/LICENSE,sha256=LoTB-aqQvzTGxoTRXNnhNV0LKiqdk2bQv6MB34l8zkI,1079
157
- opengeodeweb_viewer-1.13.3rc1.dist-info/METADATA,sha256=o5NsLULvBMqaxH-JPgoylZsrwYcTbmoa9OlyPc2A-7A,1503
158
- opengeodeweb_viewer-1.13.3rc1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
159
- opengeodeweb_viewer-1.13.3rc1.dist-info/entry_points.txt,sha256=j4uMjTs3z5mwZYxNRBtnmuQV5mDH9XUFHfVTDMEciG0,83
160
- opengeodeweb_viewer-1.13.3rc1.dist-info/top_level.txt,sha256=wTvrUNOJeR3p9tJ68l0AzSUSWPwA2mCeCZHYBafdoP8,20
161
- opengeodeweb_viewer-1.13.3rc1.dist-info/RECORD,,
156
+ opengeodeweb_viewer-1.13.4rc1.dist-info/licenses/LICENSE,sha256=LoTB-aqQvzTGxoTRXNnhNV0LKiqdk2bQv6MB34l8zkI,1079
157
+ opengeodeweb_viewer-1.13.4rc1.dist-info/METADATA,sha256=wT7hcq2mn8tM4pgII2uI8UiRhmz3ryuIRx1d8xgc7yo,1506
158
+ opengeodeweb_viewer-1.13.4rc1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
159
+ opengeodeweb_viewer-1.13.4rc1.dist-info/entry_points.txt,sha256=j4uMjTs3z5mwZYxNRBtnmuQV5mDH9XUFHfVTDMEciG0,83
160
+ opengeodeweb_viewer-1.13.4rc1.dist-info/top_level.txt,sha256=wTvrUNOJeR3p9tJ68l0AzSUSWPwA2mCeCZHYBafdoP8,20
161
+ opengeodeweb_viewer-1.13.4rc1.dist-info/RECORD,,