Skip to content

Commit 6a2c0df

Browse files
authored
Merge pull request #82 from Geode-solutions/feat_z_scaling
feat(ZScaling): New function ZScaling
2 parents 8755a15 + e1020bf commit 6a2c0df

File tree

7 files changed

+82
-22
lines changed

7 files changed

+82
-22
lines changed

requirements.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1+
wslink<2
12
fastjsonschema
2-
wslink
33
websocket-client

requirements.txt

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,42 @@
11
#
2-
# This file is autogenerated by pip-compile with Python 3.12
2+
# This file is autogenerated by pip-compile with Python 3.10
33
# by the following command:
44
#
55
# pip-compile requirements.in
66
#
7-
aiohttp==3.9.3
7+
aiohappyeyeballs==2.6.1
8+
# via aiohttp
9+
aiohttp==3.12.14
810
# via wslink
9-
aiosignal==1.3.1
11+
aiosignal==1.4.0
12+
# via aiohttp
13+
async-timeout==5.0.1
1014
# via aiohttp
11-
attrs==23.2.0
15+
attrs==25.3.0
1216
# via aiohttp
1317
fastjsonschema==2.21.1
1418
# via -r requirements.in
15-
frozenlist==1.4.1
19+
frozenlist==1.7.0
1620
# via
1721
# aiohttp
1822
# aiosignal
19-
idna==3.6
23+
idna==3.10
2024
# via yarl
21-
multidict==6.0.5
25+
multidict==6.6.3
2226
# via
2327
# aiohttp
2428
# yarl
25-
websocket-client==1.7.0
29+
propcache==0.3.2
30+
# via
31+
# aiohttp
32+
# yarl
33+
typing-extensions==4.14.1
34+
# via
35+
# aiosignal
36+
# multidict
37+
websocket-client==1.8.0
2638
# via -r requirements.in
2739
wslink==1.12.4
2840
# via -r requirements.in
29-
yarl==1.9.4
41+
yarl==1.20.1
3042
# via aiohttp

src/opengeodeweb_viewer/rpc/viewer/schemas/set_z_scaling.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
"type": "object",
44
"properties": {
55
"z_scale": {
6-
"type": "number"
6+
"type": "number",
7+
"minimum": 1
78
}
89
},
910
"required": [

src/opengeodeweb_viewer/rpc/viewer/viewer_protocols.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -238,8 +238,9 @@ def toggleGridScale(self, params):
238238
params, self.viewer_schemas_dict["grid_scale"], self.viewer_prefix
239239
)
240240
id, visibility = "grid_scale", params["visibility"]
241-
actor = self.get_object(id)["actor"]
242-
actor.SetVisibility(visibility)
241+
if "grid_scale" in self.get_data_base():
242+
actor = self.get_object(id)["actor"]
243+
actor.SetVisibility(visibility)
243244
self.render()
244245

245246
@exportRpc(viewer_prefix + viewer_schemas_dict["axes"]["rpc"])
@@ -281,19 +282,18 @@ def renderNow(self, params):
281282

282283
@exportRpc(viewer_prefix + viewer_schemas_dict["set_z_scaling"]["rpc"])
283284
def setZScaling(self, params):
284-
285285
validate_schema(
286286
params, self.viewer_schemas_dict["set_z_scaling"], self.viewer_prefix
287287
)
288288
z_scale = params["z_scale"]
289-
290289
renderWindow = self.getView("-1")
291290
renderer = renderWindow.GetRenderers().GetFirstRenderer()
292-
293-
actors = renderer.GetActors()
294-
295-
for actor in actors:
296-
transform = vtkTransform()
297-
transform.Scale(1, 1, z_scale)
298-
actor.SetUserTransform(transform)
291+
cam = renderer.GetActiveCamera()
292+
transform = vtk.vtkTransform()
293+
transform.Scale(1, 1, z_scale)
294+
cam.SetModelTransformMatrix(transform.GetMatrix())
295+
296+
if "grid_scale" in self.get_data_base():
297+
cube_axes_actor = self.get_object("grid_scale")["actor"]
298+
cube_axes_actor.SetUse2DMode(1)
299299
self.render()
26 KB
Loading
8.53 KB
Loading

src/tests/test_viewer_protocols.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,3 +298,50 @@ def test_set_z_scaling(server):
298298
[{"z_scale": 2.5}],
299299
)
300300
assert server.compare_image(3, "viewer/set_z_scaling.jpeg") == True
301+
302+
303+
def test_combined_scaling_and_grid(server):
304+
# test_set_z_scaling(server)
305+
306+
# server.call(
307+
# VtkViewerView.viewer_prefix
308+
# + VtkViewerView.viewer_schemas_dict["set_background_color"]["rpc"],
309+
# [{"color": {"r": 180, "g": 180, "b": 180}}],
310+
# )
311+
# assert server.compare_image(3, "viewer/scaling_and_grid_color.jpeg") == True
312+
313+
# server.call(
314+
# VtkViewerView.viewer_prefix
315+
# + VtkViewerView.viewer_schemas_dict["grid_scale"]["rpc"],
316+
# [{"visibility": True}],
317+
# )
318+
319+
# assert server.compare_image(3, "viewer/grid_scale_on.jpeg") == True
320+
server.call(
321+
VtkViewerView.viewer_prefix
322+
+ VtkViewerView.viewer_schemas_dict["reset_visualization"]["rpc"],
323+
)
324+
325+
assert server.compare_image(3, "viewer/reset_visualization.jpeg") == True
326+
327+
server.call(
328+
VtkMeshView.mesh_prefix + VtkMeshView.mesh_schemas_dict["register"]["rpc"],
329+
[{"id": "123456789", "file_name": "hat.vtp"}],
330+
)
331+
assert server.compare_image(3, "viewer/register_hat.jpeg") == True
332+
333+
server.call(
334+
VtkViewerView.viewer_prefix
335+
+ VtkViewerView.viewer_schemas_dict["grid_scale"]["rpc"],
336+
[{"visibility": True}],
337+
)
338+
339+
assert server.compare_image(3, "viewer/grid_scale_on.jpeg") == True
340+
341+
server.call(
342+
VtkViewerView.viewer_prefix
343+
+ VtkViewerView.viewer_schemas_dict["set_z_scaling"]["rpc"],
344+
[{"z_scale": 2.5}],
345+
)
346+
347+
assert server.compare_image(3, "viewer/combined_scaling_and_grid.jpeg") == True

0 commit comments

Comments
 (0)