From a31c03f4b3f61c2c7ecfcd00737d4aef21c6263c Mon Sep 17 00:00:00 2001
From: Guilhem Saurel <guilhem.saurel@laas.fr>
Date: Fri, 23 Oct 2020 11:32:14 +0200
Subject: [PATCH] load: allow to load multiple robots with different
 rootNodeName

---
 python/example_robot_data/robots_loader.py | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/python/example_robot_data/robots_loader.py b/python/example_robot_data/robots_loader.py
index 60752ad..95b05fc 100644
--- a/python/example_robot_data/robots_loader.py
+++ b/python/example_robot_data/robots_loader.py
@@ -470,24 +470,28 @@ ROBOTS = {
 }
 
 
-def loader(name, display=False):
+def loader(name, display=False, rootNodeName=''):
     """Load a robot by its name, and optionnaly display it in a viewer."""
     if name not in ROBOTS:
         robots = ", ".join(sorted(ROBOTS.keys()))
         raise ValueError("Robot '%s' not found. Possible values are %s" % (name, robots))
     inst = ROBOTS[name]()
     if display:
-        inst.robot.initViewer(loadModel=True)
-        inst.robot.display(inst.q0)
+        if rootNodeName:
+            inst.robot.initViewer()
+            inst.robot.viz.loadViewerModel(rootNodeName=rootNodeName)
+        else:
+            inst.robot.initViewer(loadModel=True)
+        inst.robot.display(inst.robot.q0)
     return inst
 
 
-def load(name, display=False):
+def load(name, display=False, rootNodeName=''):
     """Load a robot by its name, and optionnaly display it in a viewer."""
-    return loader(name, display).robot
+    return loader(name, display, rootNodeName).robot
 
 
-def load_full(name, display=False):
+def load_full(name, display=False, rootNodeName=''):
     """Load a robot by its name, optionnaly display it in a viewer, and provide its q0 and paths."""
-    inst = loader(name, display)
+    inst = loader(name, display, rootNodeName)
     return inst.robot, inst.q0, inst.urdf_path, inst.srdf_path
-- 
GitLab