diff --git a/src/opengeodeweb_viewer/rpc/model/model_protocols.py b/src/opengeodeweb_viewer/rpc/model/model_protocols.py index 16117f6..c27ec65 100644 --- a/src/opengeodeweb_viewer/rpc/model/model_protocols.py +++ b/src/opengeodeweb_viewer/rpc/model/model_protocols.py @@ -44,6 +44,14 @@ def deregisterModel(self, params): id = params["id"] self.deregisterObject(id) + @exportRpc(model_prefix + model_schemas_dict["visibility"]["rpc"]) + def setModelVisibility(self, params): + validate_schema( + params, self.model_schemas_dict["visibility"], self.model_prefix + ) + id, visibility = params["id"], params["visibility"] + self.SetVisibility(id, visibility) + @exportRpc(model_prefix + model_schemas_dict["points.visibility"]["rpc"]) def setModelPointsVisibility(self, params): validate_schema( diff --git a/src/tests/model/test_model_protocols.py b/src/tests/model/test_model_protocols.py index 5dba3a1..0583500 100644 --- a/src/tests/model/test_model_protocols.py +++ b/src/tests/model/test_model_protocols.py @@ -19,6 +19,18 @@ def test_register_model_cube(server): assert server.compare_image(3, "model/cube_register.jpeg") == True +def test_visibility_model(server): + + test_register_model(server) + + server.call( + VtkModelView.model_prefix + + VtkModelView.model_schemas_dict["visibility"]["rpc"], + [{"id": "123456789", "visibility": False}], + ) + assert server.compare_image(3, "model/visibility.jpeg") == True + + def test_deregister_model(server): test_register_model(server)