From 7859d11e784735979bee5bd8148ac585a40aa8e4 Mon Sep 17 00:00:00 2001
From: Fabian Reister <fabian.reister@kit.edu>
Date: Fri, 27 Sep 2024 09:43:40 +0200
Subject: [PATCH] boundingBoxOrientaiton: optiona

---
 .../libraries/armem_objects/aron/FamiliarObjectInstance.xml | 2 +-
 .../armem_objects/server/familiar_object_instance/Visu.cpp  | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/source/RobotAPI/libraries/armem_objects/aron/FamiliarObjectInstance.xml b/source/RobotAPI/libraries/armem_objects/aron/FamiliarObjectInstance.xml
index 13a51e4e8..f6b968f7b 100644
--- a/source/RobotAPI/libraries/armem_objects/aron/FamiliarObjectInstance.xml
+++ b/source/RobotAPI/libraries/armem_objects/aron/FamiliarObjectInstance.xml
@@ -53,7 +53,7 @@ Core segment type of Object/Instance.
 
             <!-- Orientation of the bounding box in the 'sens' frame -->
             <ObjectChild key="boundingBoxOrientation">
-                <Orientation />
+                <FramedOrientation optional="true" />
             </ObjectChild>
 
             <!-- bounding box in local sensFrame (see poseSensFrame) -->
diff --git a/source/RobotAPI/libraries/armem_objects/server/familiar_object_instance/Visu.cpp b/source/RobotAPI/libraries/armem_objects/server/familiar_object_instance/Visu.cpp
index 3dafc76a7..94354343f 100644
--- a/source/RobotAPI/libraries/armem_objects/server/familiar_object_instance/Visu.cpp
+++ b/source/RobotAPI/libraries/armem_objects/server/familiar_object_instance/Visu.cpp
@@ -91,7 +91,11 @@ namespace armarx::armem::server::obj::familiar_object_instance
                         const Eigen::Isometry3f global_T_obj{familiarObject.poseGlobal->pose};
                         Eigen::Isometry3f obj_T_bb = Eigen::Isometry3f::Identity();
                         obj_T_bb.translation() = familiarObject.bounding_box.center;
-                        obj_T_bb.linear() = familiarObject.boundingBoxOrientation.toRotationMatrix();
+
+                        if(familiarObject.boundingBoxOrientation.has_value())
+                        {
+                            obj_T_bb.linear() = familiarObject.boundingBoxOrientation->orientation.toRotationMatrix();
+                        }
 
                         const Eigen::Isometry3f global_T_bb = global_T_obj * obj_T_bb;
 
-- 
GitLab