From 5d2aa98f6d8bae3dfa1a137c0ca4ff43244b6516 Mon Sep 17 00:00:00 2001 From: Li Chen Date: Tue, 3 Jun 2025 16:18:16 +0200 Subject: [PATCH 1/3] fix double translation --- src/compas_robots/viewer/scene/robotmodelobject.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/compas_robots/viewer/scene/robotmodelobject.py b/src/compas_robots/viewer/scene/robotmodelobject.py index b9e00e9f6..6a994e650 100644 --- a/src/compas_robots/viewer/scene/robotmodelobject.py +++ b/src/compas_robots/viewer/scene/robotmodelobject.py @@ -113,8 +113,8 @@ def add_objects(objects, show_flag): for i, obj in enumerate(objects): obj.init() if show_flag: - if i > 0: - parent = objects[i - 1] + # if i > 0: + # parent = objects[i - 1] self.viewer.scene.add(obj, parent) self.viewer.scene.instance_colors[obj.instance_color.rgb255] = obj @@ -160,10 +160,10 @@ def update_joints(self, joint_state: Configuration): if self.show_visual: for obj in self.visual_objects: - obj._update_matrix() + obj.update() if self.show_collision: for obj in self.collision_objects: - obj._update_matrix() + obj.update() self.viewer.renderer.update() From e3bc3fa61b83c77f7d9dd2e3ff6bd52520d6ae4b Mon Sep 17 00:00:00 2001 From: Li Chen Date: Mon, 23 Jun 2025 14:11:29 +0200 Subject: [PATCH 2/3] change log and notes --- CHANGELOG.md | 1 + .../viewer/scene/robotmodelobject.py | 15 +++++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 35c626f95..8bab1366e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed * Fixed bug in `compas_viewer` due to import of `RobotModelObject` inside registration function. +* Fixed a double transformation issue with `RobotModelObject` for latest version of `compas_viewer`. ### Removed diff --git a/src/compas_robots/viewer/scene/robotmodelobject.py b/src/compas_robots/viewer/scene/robotmodelobject.py index 6a994e650..dafa15082 100644 --- a/src/compas_robots/viewer/scene/robotmodelobject.py +++ b/src/compas_robots/viewer/scene/robotmodelobject.py @@ -73,11 +73,12 @@ def show_visual(self, value: bool): if value == self._show_visual: return self._show_visual = value + parent = self for i, visual_object in enumerate(self.visual_objects): if value: - parent = self - if i > 0: - parent = self.visual_objects[i - 1] + # NOTE: This is a workaround to avoid double transformation issue with latest version of `compas_viewer`. + # if i > 0: + # parent = self.visual_objects[i - 1] self.scene.add(visual_object, parent) self.scene.instance_colors[visual_object.instance_color.rgb255] = visual_object else: @@ -91,12 +92,13 @@ def show_collision(self): def show_collision(self, value: bool): if value == self._show_collision: return + parent = self self._show_collision = value for i, collision_object in enumerate(self.collision_objects): if value: - parent = self - if i > 0: - parent = self.visual_objects[i - 1] + # NOTE: This is a workaround to avoid double transformation issue with latest version of `compas_viewer`. + # if i > 0: + # parent = self.visual_objects[i - 1] self.scene.add(collision_object, parent) self.scene.instance_colors[collision_object.instance_color.rgb255] = collision_object else: @@ -113,6 +115,7 @@ def add_objects(objects, show_flag): for i, obj in enumerate(objects): obj.init() if show_flag: + # NOTE: This is a workaround to avoid double transformation issue with latest version of `compas_viewer`. # if i > 0: # parent = objects[i - 1] self.viewer.scene.add(obj, parent) From 895cb239273a224a9cebd25ba21c5484056d0967 Mon Sep 17 00:00:00 2001 From: Li Chen Date: Mon, 23 Jun 2025 14:13:58 +0200 Subject: [PATCH 3/3] update changelog again --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8bab1366e..58f64cc2a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed * Fixed bug in `compas_viewer` due to import of `RobotModelObject` inside registration function. -* Fixed a double transformation issue with `RobotModelObject` for latest version of `compas_viewer`. +* Fixed a double transformation issue with `RobotModelObject` for `compas_viewer>=1.4.0`. ### Removed