Skip to content

Commit 06992c6

Browse files
feat(rpc): set_viewer_background_color
1 parent 5767099 commit 06992c6

File tree

4 files changed

+46
-0
lines changed

4 files changed

+46
-0
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"rpc": "set_viewer_background_color",
3+
"type": "object",
4+
"properties": {
5+
"red": {
6+
"type": "integer",
7+
"minimum": 0,
8+
"maximum": 255
9+
},
10+
"green": {
11+
"type": "integer",
12+
"minimum": 0,
13+
"maximum": 255
14+
},
15+
"blue": {
16+
"type": "integer",
17+
"minimum": 0,
18+
"maximum": 255
19+
}
20+
},
21+
"required": [
22+
"red",
23+
"green",
24+
"blue"
25+
],
26+
"additionalProperties": false
27+
}

src/opengeodeweb_viewer/vtk_protocol.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818

1919
with open(os.path.join(schemas, "create_visualization.json"), "r") as file:
2020
create_visualization_json = json.load(file)
21+
with open(os.path.join(schemas, "set_viewer_background_color.json"), "r") as file:
22+
set_viewer_background_color_json = json.load(file)
2123
with open(os.path.join(schemas, "reset_camera.json"), "r") as file:
2224
reset_camera_json = json.load(file)
2325
with open(os.path.join(schemas, "create_object_pipeline.json"), "r") as file:
@@ -64,6 +66,20 @@ def create_visualization(self, params):
6466
renderWindow.Render()
6567
self.render()
6668

69+
@exportRpc(set_viewer_background_color_json["rpc"])
70+
def set_viewer_background_color(self, params):
71+
validate_schemas(params, set_viewer_background_color_json)
72+
renderWindow = self.getView("-1")
73+
renderer = renderWindow.GetRenderers().GetFirstRenderer()
74+
red = params["red"]
75+
green = params["green"]
76+
blue = params["blue"]
77+
78+
renderer.SetBackground([red, green, blue])
79+
renderer.ResetCamera()
80+
renderWindow.Render()
81+
self.render()
82+
6783
@exportRpc(reset_camera_json["rpc"])
6884
def reset_camera(self, params):
6985
print(f"{params=}", flush=True)
Loading

src/tests/test_protocol.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ def test_reset_camera(server):
1010
server.call("reset_camera")
1111
assert server.compare_image(3, "reset_camera.jpeg") == True
1212

13+
def test_set_viewer_background_color(server):
14+
server.call("set_viewer_background_color", [{"red": 0, "green": 0, "blue": 255}])
15+
assert server.compare_image(3, "set_viewer_background_color.jpeg") == True
1316

1417
def test_create_object_pipeline(server):
1518
server.call("create_object_pipeline", [{"id": "123456", "file_name": "hat.vtp"}])

0 commit comments

Comments
 (0)