From 3dc97660c519f07c425610eb707959c6446fef75 Mon Sep 17 00:00:00 2001 From: gerkey Date: Mon, 9 Mar 2020 15:29:02 -0700 Subject: [PATCH 1/2] Allow name attribute in visual tag (#31) * Allow name attribute in visual tag * Add name kwarg at end Signed-off-by: Shane Loretz * Add test for Signed-off-by: Shane Loretz * Add version attribute to test Signed-off-by: Shane Loretz Co-authored-by: Brian Gerkey Co-authored-by: Shane Loretz --- src/urdf_parser_py/urdf.py | 4 +++- test/test_urdf.py | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/urdf_parser_py/urdf.py b/src/urdf_parser_py/urdf.py index 41fa2b7..4adf86f 100644 --- a/src/urdf_parser_py/urdf.py +++ b/src/urdf_parser_py/urdf.py @@ -194,13 +194,15 @@ def check_valid(self): class Visual(xmlr.Object): - def __init__(self, geometry=None, material=None, origin=None): + def __init__(self, geometry=None, material=None, origin=None, name=None): self.geometry = geometry self.material = material + self.name = name self.origin = origin xmlr.reflect(Visual, tag='visual', params=[ + xmlr.Attribute('name', str, False), origin_element, xmlr.Element('geometry', 'geometric'), xmlr.Element('material', LinkMaterial, False) diff --git a/test/test_urdf.py b/test/test_urdf.py index b78432d..7097bbf 100644 --- a/test/test_urdf.py +++ b/test/test_urdf.py @@ -163,6 +163,20 @@ def test_link_multiple_visual(self): ''' self.parse_and_compare(xml) + def test_visual_with_name(self): + xml = ''' + + + + + + + + + +''' + self.parse_and_compare(xml) + def test_link_multiple_collision(self): xml = ''' From 38d7f126997ac7fc786cd6aad2002a9edb5334ab Mon Sep 17 00:00:00 2001 From: Nick Lamprianidis Date: Tue, 14 Sep 2021 17:25:07 +0200 Subject: [PATCH 2/2] Support name attribute for collisions (#67) --- src/urdf_parser_py/urdf.py | 4 +++- test/test_urdf.py | 13 +++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/urdf_parser_py/urdf.py b/src/urdf_parser_py/urdf.py index 4adf86f..dbd03ad 100644 --- a/src/urdf_parser_py/urdf.py +++ b/src/urdf_parser_py/urdf.py @@ -149,12 +149,14 @@ def write_xml(self, node, obj): class Collision(xmlr.Object): - def __init__(self, geometry=None, origin=None): + def __init__(self, geometry=None, origin=None, name=None): self.geometry = geometry + self.name = name self.origin = origin xmlr.reflect(Collision, tag='collision', params=[ + xmlr.Attribute('name', str, False), origin_element, xmlr.Element('geometry', 'geometric') ]) diff --git a/test/test_urdf.py b/test/test_urdf.py index 7097bbf..09fad45 100644 --- a/test/test_urdf.py +++ b/test/test_urdf.py @@ -195,6 +195,19 @@ def test_link_multiple_collision(self): ''' self.parse_and_compare(xml) + def test_collision_with_name(self): + xml = ''' + + + + + + + + +''' + self.parse_and_compare(xml) + def test_version_attribute_not_enough_dots(self): xml = '''