From 91a5ab5bf0b1fd3b8dadb121d0ae7c07bbeefafb Mon Sep 17 00:00:00 2001 From: gntoni Date: Wed, 20 Oct 2021 15:44:46 +0900 Subject: [PATCH] Modifies the function load_model_from_xml to allow relative paths in the xml. --- mujoco_py/cymj.pyx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mujoco_py/cymj.pyx b/mujoco_py/cymj.pyx index 45cbce3a..cb8729f8 100644 --- a/mujoco_py/cymj.pyx +++ b/mujoco_py/cymj.pyx @@ -175,7 +175,7 @@ def load_model_from_path(str path): raise Exception('Failed to load XML file: %s. mj_loadXML error: %s' % (path, errstr,)) return WrapMjModel(model) -def load_model_from_xml(str xml_str): +def load_model_from_xml(str xml_str, str path=None): """ Loads and returns a PyMjModel model from a string containing XML markup. Saves the XML string used to create the returned model in `model.xml`. @@ -183,7 +183,7 @@ def load_model_from_xml(str xml_str): cdef char errstr[300] cdef mjModel *model with wrap_mujoco_warning(): - with tempfile.NamedTemporaryFile(suffix=".xml", delete=True) as fp: + with tempfile.NamedTemporaryFile(suffix=".xml", dir=path, delete=True) as fp: fp.write(xml_str.encode()) fp.flush() model = mj_loadXML(fp.name.encode(), NULL, errstr, 300)