OpenGeodeWeb-Viewer 1.15.0rc2__py3-none-any.whl → 1.15.1rc1__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.
- opengeodeweb_viewer/object/object_methods.py +21 -26
- opengeodeweb_viewer/rpc/generic/generic_protocols.py +2 -4
- opengeodeweb_viewer/rpc/mesh/mesh_protocols.py +12 -30
- opengeodeweb_viewer/rpc/model/model_protocols.py +3 -3
- opengeodeweb_viewer/rpc/viewer/viewer_protocols.py +2 -2
- opengeodeweb_viewer/vtk_protocol.py +21 -25
- {opengeodeweb_viewer-1.15.0rc2.dist-info → opengeodeweb_viewer-1.15.1rc1.dist-info}/METADATA +2 -2
- {opengeodeweb_viewer-1.15.0rc2.dist-info → opengeodeweb_viewer-1.15.1rc1.dist-info}/RECORD +12 -12
- {opengeodeweb_viewer-1.15.0rc2.dist-info → opengeodeweb_viewer-1.15.1rc1.dist-info}/WHEEL +0 -0
- {opengeodeweb_viewer-1.15.0rc2.dist-info → opengeodeweb_viewer-1.15.1rc1.dist-info}/entry_points.txt +0 -0
- {opengeodeweb_viewer-1.15.0rc2.dist-info → opengeodeweb_viewer-1.15.1rc1.dist-info}/licenses/LICENSE +0 -0
- {opengeodeweb_viewer-1.15.0rc2.dist-info → opengeodeweb_viewer-1.15.1rc1.dist-info}/top_level.txt +0 -0
|
@@ -13,7 +13,7 @@ from vtkmodules.vtkRenderingCore import (
|
|
|
13
13
|
from vtkmodules.vtkCommonDataModel import vtkDataObject, vtkDataSet
|
|
14
14
|
|
|
15
15
|
# Local application imports
|
|
16
|
-
from opengeodeweb_viewer.vtk_protocol import VtkView,
|
|
16
|
+
from opengeodeweb_viewer.vtk_protocol import VtkView, VtkPipeline
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
class VtkObjectView(VtkView):
|
|
@@ -24,7 +24,7 @@ class VtkObjectView(VtkView):
|
|
|
24
24
|
self,
|
|
25
25
|
id: str,
|
|
26
26
|
file_name: str,
|
|
27
|
-
data:
|
|
27
|
+
data: VtkPipeline,
|
|
28
28
|
) -> None:
|
|
29
29
|
self.register_object(id, data)
|
|
30
30
|
data.reader.SetFileName(os.path.join(self.DATA_FOLDER_PATH, id, file_name))
|
|
@@ -47,74 +47,69 @@ class VtkObjectView(VtkView):
|
|
|
47
47
|
renderer.ResetCamera()
|
|
48
48
|
|
|
49
49
|
def deregisterObject(self, data_id: str) -> None:
|
|
50
|
-
actor = self.
|
|
50
|
+
actor = self.get_vtk_pipeline(data_id).actor
|
|
51
51
|
renderWindow = self.getView("-1")
|
|
52
52
|
renderer = renderWindow.GetRenderers().GetFirstRenderer()
|
|
53
53
|
renderer.RemoveActor(actor)
|
|
54
54
|
self.deregister_object(data_id)
|
|
55
55
|
|
|
56
56
|
def SetVisibility(self, data_id: str, visibility: bool) -> None:
|
|
57
|
-
actor = self.
|
|
57
|
+
actor = self.get_vtk_pipeline(data_id).actor
|
|
58
58
|
actor.SetVisibility(visibility)
|
|
59
59
|
|
|
60
60
|
def SetOpacity(self, data_id: str, opacity: float) -> None:
|
|
61
|
-
actor = self.
|
|
61
|
+
actor = self.get_vtk_pipeline(data_id).actor
|
|
62
62
|
actor.GetProperty().SetOpacity(opacity)
|
|
63
63
|
|
|
64
64
|
def SetColor(self, data_id: str, red: int, green: int, blue: int) -> None:
|
|
65
|
-
mapper = self.
|
|
65
|
+
mapper = self.get_vtk_pipeline(data_id).mapper
|
|
66
66
|
mapper.ScalarVisibilityOff()
|
|
67
|
-
actor = self.
|
|
67
|
+
actor = self.get_vtk_pipeline(data_id).actor
|
|
68
68
|
actor.GetProperty().SetColor([red / 255, green / 255, blue / 255])
|
|
69
69
|
|
|
70
70
|
def SetEdgesVisibility(self, data_id: str, visibility: bool) -> None:
|
|
71
|
-
|
|
72
|
-
max_dimension = self.get_object(data_id).max_dimension
|
|
73
|
-
if max_dimension == "edges":
|
|
71
|
+
if self.get_viewer_data(data_id).viewer_elements_type == "edges":
|
|
74
72
|
self.SetVisibility(data_id, visibility)
|
|
75
73
|
else:
|
|
74
|
+
actor = self.get_vtk_pipeline(data_id).actor
|
|
76
75
|
actor.GetProperty().SetEdgeVisibility(visibility)
|
|
77
76
|
|
|
78
77
|
def SetEdgesWidth(self, data_id: str, width: float) -> None:
|
|
79
|
-
actor = self.
|
|
80
|
-
|
|
81
|
-
if max_dimension == "edges":
|
|
78
|
+
actor = self.get_vtk_pipeline(data_id).actor
|
|
79
|
+
if self.get_viewer_data(data_id).viewer_elements_type == "edges":
|
|
82
80
|
actor.GetProperty().SetLineWidth(width)
|
|
83
81
|
else:
|
|
84
82
|
actor.GetProperty().SetEdgeWidth(width)
|
|
85
83
|
|
|
86
84
|
def SetEdgesColor(self, data_id: str, red: int, green: int, blue: int) -> None:
|
|
87
|
-
|
|
88
|
-
max_dimension = self.get_object(data_id).max_dimension
|
|
89
|
-
if max_dimension == "edges":
|
|
85
|
+
if self.get_viewer_data(data_id).viewer_elements_type == "edges":
|
|
90
86
|
self.SetColor(data_id, red, green, blue)
|
|
91
87
|
else:
|
|
88
|
+
actor = self.get_vtk_pipeline(data_id).actor
|
|
92
89
|
actor.GetProperty().SetEdgeColor([red / 255, green / 255, blue / 255])
|
|
93
90
|
|
|
94
91
|
def SetPointsVisibility(self, data_id: str, visibility: bool) -> None:
|
|
95
|
-
|
|
96
|
-
max_dimension = self.get_object(data_id).max_dimension
|
|
97
|
-
if max_dimension == "points":
|
|
92
|
+
if self.get_viewer_data(data_id).viewer_elements_type == "points":
|
|
98
93
|
self.SetVisibility(data_id, visibility)
|
|
99
94
|
else:
|
|
95
|
+
actor = self.get_vtk_pipeline(data_id).actor
|
|
100
96
|
actor.GetProperty().SetVertexVisibility(visibility)
|
|
101
97
|
|
|
102
98
|
def SetPointsSize(self, data_id: str, size: float) -> None:
|
|
103
|
-
actor = self.
|
|
99
|
+
actor = self.get_vtk_pipeline(data_id).actor
|
|
104
100
|
actor.GetProperty().SetPointSize(size)
|
|
105
101
|
|
|
106
102
|
def SetPointsColor(self, data_id: str, red: int, green: int, blue: int) -> None:
|
|
107
|
-
|
|
108
|
-
max_dimension = self.get_object(data_id).max_dimension
|
|
109
|
-
if max_dimension == "points":
|
|
103
|
+
if self.get_viewer_data(data_id).viewer_elements_type == "points":
|
|
110
104
|
self.SetColor(data_id, red, green, blue)
|
|
111
105
|
else:
|
|
106
|
+
actor = self.get_vtk_pipeline(data_id).actor
|
|
112
107
|
actor.GetProperty().SetVertexColor([red / 255, green / 255, blue / 255])
|
|
113
108
|
|
|
114
109
|
def SetBlocksVisibility(
|
|
115
110
|
self, data_id: str, block_ids: list[int], visibility: bool
|
|
116
111
|
) -> None:
|
|
117
|
-
mapper = self.
|
|
112
|
+
mapper = self.get_vtk_pipeline(data_id).mapper
|
|
118
113
|
if not isinstance(mapper, vtkCompositePolyDataMapper):
|
|
119
114
|
raise Exception("Mapper is not a vtkCompositePolyDataMapper")
|
|
120
115
|
for block_id in block_ids:
|
|
@@ -123,14 +118,14 @@ class VtkObjectView(VtkView):
|
|
|
123
118
|
def SetBlocksColor(
|
|
124
119
|
self, data_id: str, block_ids: list[int], red: int, green: int, blue: int
|
|
125
120
|
) -> None:
|
|
126
|
-
mapper = self.
|
|
121
|
+
mapper = self.get_vtk_pipeline(data_id).mapper
|
|
127
122
|
if not isinstance(mapper, vtkCompositePolyDataMapper):
|
|
128
123
|
raise Exception("Mapper is not a vtkCompositePolyDataMapper")
|
|
129
124
|
for block_id in block_ids:
|
|
130
125
|
mapper.SetBlockColor(block_id, [red / 255, green / 255, blue / 255])
|
|
131
126
|
|
|
132
127
|
def clearColors(self, data_id: str) -> None:
|
|
133
|
-
db = self.
|
|
128
|
+
db = self.get_vtk_pipeline(data_id)
|
|
134
129
|
mapper = db.mapper
|
|
135
130
|
reader = db.reader
|
|
136
131
|
output = reader.GetOutputDataObject(0)
|
|
@@ -38,8 +38,7 @@ class VtkGenericView(VtkView):
|
|
|
38
38
|
params = schemas.Register.from_dict(rpc_params)
|
|
39
39
|
data_id = params.id
|
|
40
40
|
specific_params = {"id": data_id}
|
|
41
|
-
|
|
42
|
-
viewer_object = str(data["viewer_object"])
|
|
41
|
+
viewer_object = self.get_viewer_data(data_id).viewer_object
|
|
43
42
|
if viewer_object == "mesh":
|
|
44
43
|
self.mesh_protocols.registerMesh(specific_params)
|
|
45
44
|
elif viewer_object == "model":
|
|
@@ -53,8 +52,7 @@ class VtkGenericView(VtkView):
|
|
|
53
52
|
params = schemas.Deregister.from_dict(rpc_params)
|
|
54
53
|
data_id = params.id
|
|
55
54
|
specific_params = {"id": data_id}
|
|
56
|
-
|
|
57
|
-
viewer_object = str(data["viewer_object"])
|
|
55
|
+
viewer_object = self.get_viewer_data(data_id).viewer_object
|
|
58
56
|
if viewer_object == "mesh":
|
|
59
57
|
self.mesh_protocols.deregisterMesh(specific_params)
|
|
60
58
|
elif viewer_object == "model":
|
|
@@ -12,6 +12,7 @@ from vtkmodules.vtkRenderingCore import (
|
|
|
12
12
|
)
|
|
13
13
|
from vtkmodules.vtkCommonDataModel import vtkDataSet, vtkCellTypes
|
|
14
14
|
from vtkmodules.vtkCommonExecutionModel import vtkAlgorithm
|
|
15
|
+
from vtkmodules.vtkCommonDataModel import vtkPolyData
|
|
15
16
|
from opengeodeweb_microservice.database.data import Data
|
|
16
17
|
from opengeodeweb_microservice.schemas import get_schemas_dict
|
|
17
18
|
|
|
@@ -21,7 +22,7 @@ from opengeodeweb_viewer.utils_functions import (
|
|
|
21
22
|
RpcParams,
|
|
22
23
|
)
|
|
23
24
|
from opengeodeweb_viewer.object.object_methods import VtkObjectView
|
|
24
|
-
from opengeodeweb_viewer.vtk_protocol import
|
|
25
|
+
from opengeodeweb_viewer.vtk_protocol import VtkPipeline
|
|
25
26
|
from . import schemas
|
|
26
27
|
|
|
27
28
|
|
|
@@ -43,31 +44,12 @@ class VtkMeshView(VtkObjectView):
|
|
|
43
44
|
params = schemas.Register.from_dict(rpc_params)
|
|
44
45
|
data_id = params.id
|
|
45
46
|
try:
|
|
46
|
-
file_name = str(self.
|
|
47
|
+
file_name = str(self.get_viewer_data(data_id).viewable_file)
|
|
47
48
|
reader = vtkXMLGenericDataObjectReader()
|
|
48
49
|
mapper = vtkDataSetMapper()
|
|
49
50
|
mapper.SetInputConnection(reader.GetOutputPort())
|
|
50
|
-
data =
|
|
51
|
+
data = VtkPipeline(reader, mapper)
|
|
51
52
|
self.registerObject(data_id, file_name, data)
|
|
52
|
-
data_object = reader.GetOutput()
|
|
53
|
-
data_set = vtkDataSet.SafeDownCast(data_object)
|
|
54
|
-
cell_types = vtkCellTypes()
|
|
55
|
-
data_set.GetCellTypes(cell_types)
|
|
56
|
-
cell_data = cell_types.GetCellTypesArray()
|
|
57
|
-
max_id = -1
|
|
58
|
-
for t in range(cell_data.GetSize()):
|
|
59
|
-
t_id = cell_data.GetValue(t)
|
|
60
|
-
max_id = max(max_id, t_id)
|
|
61
|
-
print(f"{max_id=}", flush=True)
|
|
62
|
-
if max_id < 3:
|
|
63
|
-
data.max_dimension = "points"
|
|
64
|
-
elif max_id < 5:
|
|
65
|
-
data.max_dimension = "edges"
|
|
66
|
-
elif max_id < 7:
|
|
67
|
-
data.max_dimension = "polygons"
|
|
68
|
-
elif max_id >= 7:
|
|
69
|
-
data.max_dimension = "polyhedra"
|
|
70
|
-
|
|
71
53
|
except Exception as e:
|
|
72
54
|
print(f"Error registering mesh {data_id}: {str(e)}", flush=True)
|
|
73
55
|
raise
|
|
@@ -123,7 +105,7 @@ class VtkMeshView(VtkObjectView):
|
|
|
123
105
|
texture = vtkTexture()
|
|
124
106
|
texture.SetInputConnection(texture_reader.GetOutputPort())
|
|
125
107
|
texture.InterpolateOn()
|
|
126
|
-
reader = self.
|
|
108
|
+
reader = self.get_vtk_pipeline(mesh_id).reader
|
|
127
109
|
output = reader.GetOutputAsDataSet()
|
|
128
110
|
point_data = output.GetPointData()
|
|
129
111
|
for i in range(point_data.GetNumberOfArrays()):
|
|
@@ -131,29 +113,29 @@ class VtkMeshView(VtkObjectView):
|
|
|
131
113
|
if array.GetName() == tex_info.texture_name:
|
|
132
114
|
point_data.SetTCoords(array)
|
|
133
115
|
break
|
|
134
|
-
actor = self.
|
|
116
|
+
actor = self.get_vtk_pipeline(mesh_id).actor
|
|
135
117
|
actor.SetTexture(texture)
|
|
136
118
|
|
|
137
119
|
def displayAttributeOnVertices(self, data_id: str, name: str) -> None:
|
|
138
|
-
reader = self.
|
|
120
|
+
reader = self.get_vtk_pipeline(data_id).reader
|
|
139
121
|
points = reader.GetOutputAsDataSet().GetPointData()
|
|
140
122
|
points.SetActiveScalars(name)
|
|
141
|
-
mapper = self.
|
|
123
|
+
mapper = self.get_vtk_pipeline(data_id).mapper
|
|
142
124
|
mapper.ScalarVisibilityOn()
|
|
143
125
|
mapper.SetScalarModeToUsePointData()
|
|
144
126
|
mapper.SetScalarRange(points.GetScalars().GetRange())
|
|
145
127
|
|
|
146
128
|
def displayAttributeOnCells(self, data_id: str, name: str) -> None:
|
|
147
|
-
reader = self.
|
|
129
|
+
reader = self.get_vtk_pipeline(data_id).reader
|
|
148
130
|
cells = reader.GetOutputAsDataSet().GetCellData()
|
|
149
131
|
cells.SetActiveScalars(name)
|
|
150
|
-
mapper = self.
|
|
132
|
+
mapper = self.get_vtk_pipeline(data_id).mapper
|
|
151
133
|
mapper.ScalarVisibilityOn()
|
|
152
134
|
mapper.SetScalarModeToUseCellData()
|
|
153
135
|
mapper.SetScalarRange(cells.GetScalars().GetRange())
|
|
154
136
|
|
|
155
137
|
def displayScalarRange(self, data_id: str, minimum: float, maximum: float) -> None:
|
|
156
|
-
data = self.
|
|
138
|
+
data = self.get_vtk_pipeline(data_id)
|
|
157
139
|
data.mapper.SetScalarRange(minimum, maximum)
|
|
158
140
|
if hasattr(data, "color_map_points") and data.color_map_points:
|
|
159
141
|
lut = vtkColorTransferFunction()
|
|
@@ -163,7 +145,7 @@ class VtkMeshView(VtkObjectView):
|
|
|
163
145
|
data.mapper.SetLookupTable(lut)
|
|
164
146
|
|
|
165
147
|
def setupColorMap(self, data_id: str, points: list[list[float]]) -> None:
|
|
166
|
-
data = self.
|
|
148
|
+
data = self.get_vtk_pipeline(data_id)
|
|
167
149
|
sorted_points = sorted(points, key=lambda x: x[0])
|
|
168
150
|
points_min = sorted_points[0][0]
|
|
169
151
|
points_max = sorted_points[-1][0]
|
|
@@ -17,7 +17,7 @@ from opengeodeweb_viewer.utils_functions import (
|
|
|
17
17
|
RpcParams,
|
|
18
18
|
)
|
|
19
19
|
from opengeodeweb_viewer.object.object_methods import VtkObjectView
|
|
20
|
-
from opengeodeweb_viewer.vtk_protocol import
|
|
20
|
+
from opengeodeweb_viewer.vtk_protocol import VtkPipeline
|
|
21
21
|
from . import schemas
|
|
22
22
|
|
|
23
23
|
|
|
@@ -38,7 +38,7 @@ class VtkModelView(VtkObjectView):
|
|
|
38
38
|
params = schemas.Register.from_dict(rpc_params)
|
|
39
39
|
data_id = params.id
|
|
40
40
|
try:
|
|
41
|
-
file_name = str(self.
|
|
41
|
+
file_name = str(self.get_viewer_data(data_id).viewable_file)
|
|
42
42
|
reader = vtkXMLMultiBlockDataReader()
|
|
43
43
|
filter = vtkGeometryFilter()
|
|
44
44
|
filter.SetInputConnection(reader.GetOutputPort())
|
|
@@ -46,7 +46,7 @@ class VtkModelView(VtkObjectView):
|
|
|
46
46
|
mapper.SetInputConnection(filter.GetOutputPort())
|
|
47
47
|
attributes = vtkCompositeDataDisplayAttributes()
|
|
48
48
|
mapper.SetCompositeDataDisplayAttributes(attributes)
|
|
49
|
-
data =
|
|
49
|
+
data = VtkPipeline(reader, mapper, filter)
|
|
50
50
|
self.registerObject(data_id, file_name, data)
|
|
51
51
|
except Exception as e:
|
|
52
52
|
print(f"Error registering model {data_id}: {str(e)}", flush=True)
|
|
@@ -169,7 +169,7 @@ class VtkViewerView(VtkView):
|
|
|
169
169
|
rpc_params, self.viewer_schemas_dict["update_data"], self.viewer_prefix
|
|
170
170
|
)
|
|
171
171
|
params = schemas.UpdateData.from_dict(rpc_params)
|
|
172
|
-
data = self.
|
|
172
|
+
data = self.get_vtk_pipeline(params.id)
|
|
173
173
|
reader = data.reader
|
|
174
174
|
reader.Update()
|
|
175
175
|
mapper = data.mapper
|
|
@@ -231,7 +231,7 @@ class VtkViewerView(VtkView):
|
|
|
231
231
|
array_ids = []
|
|
232
232
|
if picked_actor:
|
|
233
233
|
for id in params.ids:
|
|
234
|
-
if self.
|
|
234
|
+
if self.get_vtk_pipeline(id).actor == picked_actor:
|
|
235
235
|
array_ids.append(id)
|
|
236
236
|
break
|
|
237
237
|
|
|
@@ -27,14 +27,19 @@ from opengeodeweb_microservice.database.data import Data
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
@dataclass
|
|
30
|
-
class
|
|
30
|
+
class ViewerData:
|
|
31
|
+
id: str
|
|
32
|
+
viewable_file: str | None
|
|
33
|
+
viewer_object: str
|
|
34
|
+
viewer_elements_type: str
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
@dataclass
|
|
38
|
+
class VtkPipeline:
|
|
31
39
|
reader: vtkXMLReader
|
|
32
40
|
mapper: vtkMapper
|
|
33
41
|
filter: vtkAlgorithm | None = None
|
|
34
42
|
actor: vtkActor = field(default_factory=vtkActor)
|
|
35
|
-
max_dimension: Literal["points", "edges", "polygons", "polyhedra", "default"] = (
|
|
36
|
-
"default"
|
|
37
|
-
)
|
|
38
43
|
color_map_points: list[list[float]] = field(default_factory=list)
|
|
39
44
|
|
|
40
45
|
|
|
@@ -57,8 +62,8 @@ class VtkView(VtkTypingMixin, vtk_protocols.vtkWebProtocol):
|
|
|
57
62
|
def get_data_base(self) -> Any:
|
|
58
63
|
return self.getSharedObject("db")
|
|
59
64
|
|
|
60
|
-
def
|
|
61
|
-
return cast(
|
|
65
|
+
def get_vtk_pipeline(self, id: str) -> VtkPipeline:
|
|
66
|
+
return cast(VtkPipeline, self.get_data_base()[id])
|
|
62
67
|
|
|
63
68
|
def get_grid_scale(self) -> vtkCubeAxesActor | None:
|
|
64
69
|
return cast(vtkCubeAxesActor | None, self.getSharedObject("grid_scale"))
|
|
@@ -78,16 +83,7 @@ class VtkView(VtkTypingMixin, vtk_protocols.vtkWebProtocol):
|
|
|
78
83
|
def set_widget(self, widget: vtkOrientationMarkerWidget) -> None:
|
|
79
84
|
self.coreServer.setSharedObject("widget", widget)
|
|
80
85
|
|
|
81
|
-
def
|
|
82
|
-
data = self.get_data(data_id)
|
|
83
|
-
object_type = data.get("object_type")
|
|
84
|
-
if object_type == "mesh":
|
|
85
|
-
return "mesh"
|
|
86
|
-
elif object_type == "model":
|
|
87
|
-
return "model"
|
|
88
|
-
raise Exception(f"Unknown object_type type: {object_type}")
|
|
89
|
-
|
|
90
|
-
def get_data(self, data_id: str) -> dict[str, str | list[str] | None]:
|
|
86
|
+
def get_viewer_data(self, data_id: str) -> ViewerData:
|
|
91
87
|
if Data is None:
|
|
92
88
|
raise Exception("Data model not available")
|
|
93
89
|
|
|
@@ -99,20 +95,20 @@ class VtkView(VtkTypingMixin, vtk_protocols.vtkWebProtocol):
|
|
|
99
95
|
data = session.get(Data, data_id)
|
|
100
96
|
if not data:
|
|
101
97
|
raise Exception(f"Data with id {data_id} not found in database")
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
98
|
+
return ViewerData(
|
|
99
|
+
id=data.id,
|
|
100
|
+
viewable_file=data.viewable_file,
|
|
101
|
+
viewer_object=data.viewer_object,
|
|
102
|
+
viewer_elements_type=data.viewer_elements_type,
|
|
103
|
+
)
|
|
108
104
|
except Exception as e:
|
|
109
105
|
print(f"Error fetching data {data_id}: {e}")
|
|
110
106
|
raise
|
|
111
107
|
|
|
112
108
|
def get_data_file_path(self, data_id: str, filename: str | None = None) -> str:
|
|
113
109
|
if filename is None:
|
|
114
|
-
data = self.
|
|
115
|
-
viewable_file = data
|
|
110
|
+
data = self.get_viewer_data(data_id)
|
|
111
|
+
viewable_file = data.viewable_file
|
|
116
112
|
filename = str(viewable_file) if viewable_file is not None else ""
|
|
117
113
|
|
|
118
114
|
data_folder_path = self.DATA_FOLDER_PATH
|
|
@@ -132,7 +128,7 @@ class VtkView(VtkTypingMixin, vtk_protocols.vtkWebProtocol):
|
|
|
132
128
|
grid_scale.SetBounds(renderer_bounds)
|
|
133
129
|
self.getSharedObject("publisher").imagePush({"view": view})
|
|
134
130
|
|
|
135
|
-
def register_object(self, id: str, data:
|
|
131
|
+
def register_object(self, id: str, data: VtkPipeline) -> None:
|
|
136
132
|
self.get_data_base()[id] = data
|
|
137
133
|
|
|
138
134
|
def deregister_object(self, id: str) -> None:
|
{opengeodeweb_viewer-1.15.0rc2.dist-info → opengeodeweb_viewer-1.15.1rc1.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: OpenGeodeWeb-Viewer
|
|
3
|
-
Version: 1.15.
|
|
3
|
+
Version: 1.15.1rc1
|
|
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.
|
|
38
|
+
Requires-Dist: opengeodeweb-microservice==1.*,>=1.0.13
|
|
39
39
|
Dynamic: license-file
|
|
40
40
|
|
|
41
41
|
# OpenGeodeWeb-Viewer
|
|
@@ -2,17 +2,17 @@ opengeodeweb_viewer/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKV
|
|
|
2
2
|
opengeodeweb_viewer/config.py,sha256=Iq04mCJWy3_1toGyLwkm2domVl3CEVPQY1kcPZM9sQA,2127
|
|
3
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=
|
|
5
|
+
opengeodeweb_viewer/vtk_protocol.py,sha256=Phg4iSDPAmmlzIOPcmJkgEF4VNACPDkP9xnoO6ZQGuA,4852
|
|
6
6
|
opengeodeweb_viewer/vtkw_server.py,sha256=10BQJCL79MVZh2zF2ZJ8X8bVH-WdSXzyj6TD7Hlk29Q,6126
|
|
7
|
-
opengeodeweb_viewer/object/object_methods.py,sha256=
|
|
7
|
+
opengeodeweb_viewer/object/object_methods.py,sha256=JqNBVnkAfI6WBd6m-vyUmedMRFSyTZ8gCrkuJcbfDTg,5572
|
|
8
8
|
opengeodeweb_viewer/rpc/utils_protocols.py,sha256=18w2N9AuXpNke7wL66Jg_k86NNOhEoRy_cK1v6Z3gX8,2506
|
|
9
|
-
opengeodeweb_viewer/rpc/generic/generic_protocols.py,sha256=
|
|
9
|
+
opengeodeweb_viewer/rpc/generic/generic_protocols.py,sha256=x8tHL5V1Ro9t1K_G597T0R6j8uL9DpEwiEKjq5AcLO8,2282
|
|
10
10
|
opengeodeweb_viewer/rpc/generic/schemas/__init__.py,sha256=Foxm034o9OVDZ5cZkUVNlrZ6phd68HRrXBuvaLx-PD0,50
|
|
11
11
|
opengeodeweb_viewer/rpc/generic/schemas/deregister.json,sha256=HqFQ1Y8Y4Xj08gDN_WqdwNwMdMaEq9E35oiECfGKKCo,194
|
|
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=
|
|
15
|
+
opengeodeweb_viewer/rpc/mesh/mesh_protocols.py,sha256=FAnVBPd76RyTs_E1UmozywhJNTK11QywQSZd1WHm4cY,7060
|
|
16
16
|
opengeodeweb_viewer/rpc/mesh/cells/cells_protocols.py,sha256=awXUQmTN-4I8jR2-L6loBld54J1CtYls4gUDMxvo81Q,4182
|
|
17
17
|
opengeodeweb_viewer/rpc/mesh/cells/schemas/__init__.py,sha256=AJ5I34FVw4rbo1rNagWDLCXExjhTk8P0y5whGLznHu0,239
|
|
18
18
|
opengeodeweb_viewer/rpc/mesh/cells/schemas/cell_attribute.json,sha256=KSjcfw2WSKS7LvP85vAI9rAtKdunvjewtBcsLlCCHuc,265
|
|
@@ -110,7 +110,7 @@ opengeodeweb_viewer/rpc/mesh/schemas/register.json,sha256=45uECnAbC7Y7uBAZ0pRTzr
|
|
|
110
110
|
opengeodeweb_viewer/rpc/mesh/schemas/register.py,sha256=5Y7idPuRLHyADe8nSLixFd04EmCKHsZuGOV1sHibebU,213
|
|
111
111
|
opengeodeweb_viewer/rpc/mesh/schemas/visibility.json,sha256=MSlbqbHsPOiUZXzSfVrZXtYIMbnBQR4PhRKtrkZHtv8,263
|
|
112
112
|
opengeodeweb_viewer/rpc/mesh/schemas/visibility.py,sha256=OAC2F5S08RuSte2V1elIU1UwZf-IKiA39eY8yOMqr3I,236
|
|
113
|
-
opengeodeweb_viewer/rpc/model/model_protocols.py,sha256=
|
|
113
|
+
opengeodeweb_viewer/rpc/model/model_protocols.py,sha256=H1NrhUPlG6BArlHGHru3yPFOlmxemIHpig3JZ1Czgho,2693
|
|
114
114
|
opengeodeweb_viewer/rpc/model/blocks/model_blocks_protocols.py,sha256=-WLFV5I-aaVkqOd_rnuqwH8TTRCxH-7FfLSX44bcdYg,1601
|
|
115
115
|
opengeodeweb_viewer/rpc/model/blocks/schemas/__init__.py,sha256=4dIuZUiLRp9hlfOnm6IBzXRP46CguG-PCtAJYCZHrjs,47
|
|
116
116
|
opengeodeweb_viewer/rpc/model/blocks/schemas/color.json,sha256=OxCbraFaFGKMTiGOP-ogrlMSIOE5FiNvTYyOsxXuD_4,956
|
|
@@ -159,7 +159,7 @@ opengeodeweb_viewer/rpc/schemas/import_project.json,sha256=c6v1iXiGQYfHQXA9qWEe6
|
|
|
159
159
|
opengeodeweb_viewer/rpc/schemas/import_project.py,sha256=bjK9KdlkpC8kQFN6Ni8i9OIp9z8hE-mhPT0czTxyedo,215
|
|
160
160
|
opengeodeweb_viewer/rpc/schemas/kill.json,sha256=RRvuOM7424eFBwdd_0gG51zHpUMKnMmLHzIhw6PoUcs,110
|
|
161
161
|
opengeodeweb_viewer/rpc/schemas/kill.py,sha256=DbQyF57NJ4BsOo7UbKzKwm5rERkphIAh28QVt2DJcA8,206
|
|
162
|
-
opengeodeweb_viewer/rpc/viewer/viewer_protocols.py,sha256=
|
|
162
|
+
opengeodeweb_viewer/rpc/viewer/viewer_protocols.py,sha256=n5g6q0HaRZTCqA0ZTrzS4QatmTawWTIFLRoETn-BNWI,11917
|
|
163
163
|
opengeodeweb_viewer/rpc/viewer/schemas/__init__.py,sha256=ej0Q9XCiNjhF1segnn-YlhQV1HzWayoeBzo7OOZ2kvY,343
|
|
164
164
|
opengeodeweb_viewer/rpc/viewer/schemas/axes.json,sha256=-HC7kogMCpqKr1YS53fxzhEn3CKkKFd6EsVDv4BCthw,183
|
|
165
165
|
opengeodeweb_viewer/rpc/viewer/schemas/axes.py,sha256=A3UCe6nBvIox41mlXokjPgskxD2_p6AZIoVk47xUf7s,218
|
|
@@ -185,9 +185,9 @@ opengeodeweb_viewer/rpc/viewer/schemas/update_camera.json,sha256=OtovtEwLvR4L63y
|
|
|
185
185
|
opengeodeweb_viewer/rpc/viewer/schemas/update_camera.py,sha256=noEZ3V2AysEn5NFXBFLwKE0I4sb0KB5fnP9KaJL1hms,521
|
|
186
186
|
opengeodeweb_viewer/rpc/viewer/schemas/update_data.json,sha256=h1T_aNWZFaJ-LTXyqjTK4MLbFJgt9vH23CHY1Gr55f4,195
|
|
187
187
|
opengeodeweb_viewer/rpc/viewer/schemas/update_data.py,sha256=E-S4ZP_6nYhlFitKp2ynvztDcmeL5zqoAZD96WyvIhw,215
|
|
188
|
-
opengeodeweb_viewer-1.15.
|
|
189
|
-
opengeodeweb_viewer-1.15.
|
|
190
|
-
opengeodeweb_viewer-1.15.
|
|
191
|
-
opengeodeweb_viewer-1.15.
|
|
192
|
-
opengeodeweb_viewer-1.15.
|
|
193
|
-
opengeodeweb_viewer-1.15.
|
|
188
|
+
opengeodeweb_viewer-1.15.1rc1.dist-info/licenses/LICENSE,sha256=LoTB-aqQvzTGxoTRXNnhNV0LKiqdk2bQv6MB34l8zkI,1079
|
|
189
|
+
opengeodeweb_viewer-1.15.1rc1.dist-info/METADATA,sha256=FPvXotI_xbhdDxbkG8yk5rhkQ0QB5clJsPLY1BboE80,1503
|
|
190
|
+
opengeodeweb_viewer-1.15.1rc1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
191
|
+
opengeodeweb_viewer-1.15.1rc1.dist-info/entry_points.txt,sha256=j4uMjTs3z5mwZYxNRBtnmuQV5mDH9XUFHfVTDMEciG0,83
|
|
192
|
+
opengeodeweb_viewer-1.15.1rc1.dist-info/top_level.txt,sha256=wTvrUNOJeR3p9tJ68l0AzSUSWPwA2mCeCZHYBafdoP8,20
|
|
193
|
+
opengeodeweb_viewer-1.15.1rc1.dist-info/RECORD,,
|
|
File without changes
|
{opengeodeweb_viewer-1.15.0rc2.dist-info → opengeodeweb_viewer-1.15.1rc1.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{opengeodeweb_viewer-1.15.0rc2.dist-info → opengeodeweb_viewer-1.15.1rc1.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{opengeodeweb_viewer-1.15.0rc2.dist-info → opengeodeweb_viewer-1.15.1rc1.dist-info}/top_level.txt
RENAMED
|
File without changes
|