From 077079c1b4b7076582997fb3debe6a1ccd09605e Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Fri, 3 Apr 2026 13:07:20 +0200 Subject: [PATCH 1/6] useBounds --- src/opengeodeweb_viewer/rpc/viewer/viewer_protocols.py | 2 ++ src/opengeodeweb_viewer/vtk_protocol.py | 1 + 2 files changed, 3 insertions(+) diff --git a/src/opengeodeweb_viewer/rpc/viewer/viewer_protocols.py b/src/opengeodeweb_viewer/rpc/viewer/viewer_protocols.py index 5738c5e..986eafa 100644 --- a/src/opengeodeweb_viewer/rpc/viewer/viewer_protocols.py +++ b/src/opengeodeweb_viewer/rpc/viewer/viewer_protocols.py @@ -75,6 +75,7 @@ def resetVisualization(self, rpc_params: RpcParams) -> None: grid_scale.SetZTitle("Z") grid_scale.SetVisibility(False) + grid_scale.SetUseBounds(False) self.set_grid_scale(grid_scale) renderer.AddActor(grid_scale) @@ -276,6 +277,7 @@ def updateCamera(self, rpc_params: RpcParams) -> None: camera.SetPosition(camera_options.position) camera.SetViewAngle(camera_options.view_angle) camera.SetClippingRange(camera_options.clipping_range) + renderWindow.GetRenderers().GetFirstRenderer().ResetCameraClippingRange() @exportRpc(viewer_prefix + viewer_schemas_dict["render"]["rpc"]) def renderNow(self, rpc_params: RpcParams) -> None: diff --git a/src/opengeodeweb_viewer/vtk_protocol.py b/src/opengeodeweb_viewer/vtk_protocol.py index 4fb092a..10b9628 100644 --- a/src/opengeodeweb_viewer/vtk_protocol.py +++ b/src/opengeodeweb_viewer/vtk_protocol.py @@ -128,6 +128,7 @@ def render(self, view: int = -1) -> None: renderer = self.get_renderer() renderer_bounds = renderer.ComputeVisiblePropBounds() grid_scale.SetBounds(renderer_bounds) + self.get_renderer().ResetCameraClippingRange() self.getSharedObject("publisher").imagePush({"view": view}) def register_object(self, id: str, data: VtkPipeline) -> None: From b6e82d7a7797b8c232a0d1c5c6a4e8cc09d4f2d0 Mon Sep 17 00:00:00 2001 From: MaxNumerique <144453705+MaxNumerique@users.noreply.github.com> Date: Fri, 3 Apr 2026 11:28:34 +0000 Subject: [PATCH 2/6] Apply prepare changes --- requirements.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 5750c62..13efd77 100644 --- a/requirements.txt +++ b/requirements.txt @@ -61,4 +61,3 @@ wslink==1.12.4 yarl>=1 # via aiohttp -opengeodeweb-microservice==1.*,>=1.1.1 From 53856a160d986e6ca62e5ec0d15b9614e7fe492d Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Mon, 13 Apr 2026 10:41:43 +0200 Subject: [PATCH 3/6] clean up --- .../rpc/viewer/viewer_protocols.py | 1 - src/opengeodeweb_viewer/vtk_protocol.py | 33 ++++++++++++++++--- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/opengeodeweb_viewer/rpc/viewer/viewer_protocols.py b/src/opengeodeweb_viewer/rpc/viewer/viewer_protocols.py index c45e393..ad3c165 100644 --- a/src/opengeodeweb_viewer/rpc/viewer/viewer_protocols.py +++ b/src/opengeodeweb_viewer/rpc/viewer/viewer_protocols.py @@ -289,7 +289,6 @@ def updateCamera(self, rpc_params: RpcParams) -> None: camera.SetPosition(camera_options.position) camera.SetViewAngle(camera_options.view_angle) camera.SetClippingRange(camera_options.clipping_range) - renderWindow.GetRenderers().GetFirstRenderer().ResetCameraClippingRange() @exportRpc(viewer_prefix + viewer_schemas_dict["render"]["rpc"]) def renderNow(self, rpc_params: RpcParams) -> None: diff --git a/src/opengeodeweb_viewer/vtk_protocol.py b/src/opengeodeweb_viewer/vtk_protocol.py index 10b9628..4b6d513 100644 --- a/src/opengeodeweb_viewer/vtk_protocol.py +++ b/src/opengeodeweb_viewer/vtk_protocol.py @@ -18,7 +18,7 @@ vtkRenderWindow, vtkCompositePolyDataMapper, ) -from vtkmodules.vtkCommonDataModel import vtkDataObject +from vtkmodules.vtkCommonDataModel import vtkDataObject, vtkBoundingBox from vtkmodules.vtkRenderingAnnotation import vtkCubeAxesActor, vtkAxesActor from vtkmodules.vtkInteractionWidgets import vtkOrientationMarkerWidget @@ -122,13 +122,36 @@ def get_data_file_path(self, data_id: str, filename: str | None = None) -> str: def get_renderer(self) -> vtkRenderer: return cast(vtkRenderer, self.getSharedObject("renderer")) - def render(self, view: int = -1) -> None: + def reset_camera_clipping_range(self) -> None: + renderer = self.get_renderer() + grid_scale = self.get_grid_scale() + if grid_scale is not None and grid_scale.GetVisibility(): + grid_scale.SetUseBounds(True) + renderer.ResetCameraClippingRange() + grid_scale.SetUseBounds(False) + else: + renderer.ResetCameraClippingRange() + + def update_grid_scale_and_clipping_range(self) -> None: grid_scale = self.get_grid_scale() if grid_scale is not None: renderer = self.get_renderer() - renderer_bounds = renderer.ComputeVisiblePropBounds() - grid_scale.SetBounds(renderer_bounds) - self.get_renderer().ResetCameraClippingRange() + bounds = vtkBoundingBox() + props = renderer.GetViewProps() + props.InitTraversal() + prop = props.GetNextProp() + while prop: + if prop.GetUseBounds() and prop != grid_scale: + bounds.AddBounds(prop.GetBounds()) + prop = props.GetNextProp() + if bounds.IsValid(): + final_bounds = [0.0] * 6 + bounds.GetBounds(final_bounds) + grid_scale.SetBounds(final_bounds) + self.reset_camera_clipping_range() + + def render(self, view: int = -1) -> None: + self.update_grid_scale_and_clipping_range() self.getSharedObject("publisher").imagePush({"view": view}) def register_object(self, id: str, data: VtkPipeline) -> None: From ed628be69d19a17795755b023c29a5231329107e Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Mon, 13 Apr 2026 11:07:33 +0200 Subject: [PATCH 4/6] update tests images without clipping --- .../viewer/combined_scaling_and_grid.jpeg | Bin 25228 -> 28248 bytes .../viewer/vertex_and_polygon_attribute.jpeg | Bin 9251 -> 8640 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/data/images/viewer/combined_scaling_and_grid.jpeg b/tests/data/images/viewer/combined_scaling_and_grid.jpeg index 9b7af6c6378b437aed9551c889219cd4e0faeb76..d5f1540c559db79c3a48509ffebcf94d4b38aa88 100644 GIT binary patch delta 26246 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%0Douhy~zI*8Zq1a)2nq`Zx+k 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 a`c1V@YNoElk+?cq;mumF)=9_0AOG2+cJ5*T delta 23048 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 Date: Mon, 13 Apr 2026 11:12:01 +0200 Subject: [PATCH 5/6] clean up --- src/opengeodeweb_viewer/rpc/viewer/viewer_protocols.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/opengeodeweb_viewer/rpc/viewer/viewer_protocols.py b/src/opengeodeweb_viewer/rpc/viewer/viewer_protocols.py index ad3c165..4da6bf5 100644 --- a/src/opengeodeweb_viewer/rpc/viewer/viewer_protocols.py +++ b/src/opengeodeweb_viewer/rpc/viewer/viewer_protocols.py @@ -77,7 +77,6 @@ def resetVisualization(self, rpc_params: RpcParams) -> None: grid_scale.SetZTitle("Z") grid_scale.SetVisibility(False) - grid_scale.SetUseBounds(False) self.set_grid_scale(grid_scale) renderer.AddActor(grid_scale) From 83fc763bd27942e61131dd40ad9f302a41323fae Mon Sep 17 00:00:00 2001 From: MaxNumerique Date: Mon, 13 Apr 2026 11:20:28 +0200 Subject: [PATCH 6/6] fix(clipping): ensure grid scale and camera range encompass all datas