From c68ba90629d9c64311f6fdd520c6fe88d9b16fdb Mon Sep 17 00:00:00 2001 From: Dyst-0 <69257845+Dyst-0@users.noreply.github.com> Date: Sat, 22 Feb 2025 01:45:19 +0000 Subject: [PATCH] Update LogicalCamera plugin to detect nested models (#2788) Signed-off-by: Dyst-0 <69257845+Dyst-0@users.noreply.github.com> Signed-off-by: Ian Chen Co-authored-by: Ian Chen (cherry picked from commit 036515f970b9a81b724d09f9588af5d79b435a1e) --- src/systems/logical_camera/LogicalCamera.cc | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/systems/logical_camera/LogicalCamera.cc b/src/systems/logical_camera/LogicalCamera.cc index ded8c9c36f..1ba2904163 100644 --- a/src/systems/logical_camera/LogicalCamera.cc +++ b/src/systems/logical_camera/LogicalCamera.cc @@ -255,18 +255,14 @@ void LogicalCameraPrivate::UpdateLogicalCameras( GZ_PROFILE("LogicalCameraPrivate::UpdateLogicalCameras"); std::map modelPoses; - _ecm.Each( - [&](const Entity &, - const components::Model *, - const components::Name *_name, - const components::Pose *_pose)->bool - { - /// todo(anyone) We currently assume there are only top level models - /// Update to retrieve world pose when nested models are supported. - modelPoses[_name->Data()] = _pose->Data(); - return true; - }); - + _ecm.Each( + [&](const Entity &_entity, + const components::Model *, + const components::Name *_name)->bool + { + modelPoses[_name->Data()] = worldPose(_entity, _ecm); + return true; + }); _ecm.Each( [&](const Entity &_entity,