diff --git a/src/parser.cc b/src/parser.cc index 5fde25f7d..a92e44d8b 100644 --- a/src/parser.cc +++ b/src/parser.cc @@ -1322,6 +1322,7 @@ void addNestedModel(ElementPtr _sdf, ElementPtr _includeSDF, Errors &_errors) while (elem) { if ((elem->GetName() == "link") || + (elem->GetName() == "model") || (elem->GetName() == "joint") || (elem->GetName() == "frame")) { @@ -1330,7 +1331,7 @@ void addNestedModel(ElementPtr _sdf, ElementPtr _includeSDF, Errors &_errors) replace[elemName] = newName; } - if ((elem->GetName() == "link")) + if ((elem->GetName() == "link") || (elem->GetName() == "model")) { // Add a pose element even if the element doesn't originally have one auto elemPose = elem->GetElement("pose"); diff --git a/test/integration/model/test_model_with_frames/model.sdf b/test/integration/model/test_model_with_frames/model.sdf index f085ec4b8..b34e0375c 100644 --- a/test/integration/model/test_model_with_frames/model.sdf +++ b/test/integration/model/test_model_with_frames/model.sdf @@ -59,5 +59,11 @@ L3 L4 + + 1 0 0 0 0 0 + + 1 0 0 0 0 0 + + diff --git a/test/integration/nested_model_with_frames_expected.sdf b/test/integration/nested_model_with_frames_expected.sdf index 6e3f1dcbe..2385f000f 100644 --- a/test/integration/nested_model_with_frames_expected.sdf +++ b/test/integration/nested_model_with_frames_expected.sdf @@ -63,6 +63,12 @@ M1::L3 M1::L4 + + 1 0 0 0 -0 0 + + 1 0 0 0 -0 0 + + diff --git a/test/integration/two_level_nested_model_with_frames_expected.sdf b/test/integration/two_level_nested_model_with_frames_expected.sdf index f96fae7ba..807fa6d6c 100644 --- a/test/integration/two_level_nested_model_with_frames_expected.sdf +++ b/test/integration/two_level_nested_model_with_frames_expected.sdf @@ -66,6 +66,12 @@ M1::test_model_with_frames::L3 M1::test_model_with_frames::L4 + + 1 0 0 0 -0 0 + + 1 0 0 0 -0 0 + +