Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Should support nested canonical links for libsdformat (implicit for 9/10, implicit+explicit for 11) #342

Closed
EricCousineau-TRI opened this issue Aug 20, 2020 · 4 comments

Comments

@EricCousineau-TRI
Copy link
Collaborator

No description provided.

@scpeters
Copy link
Member

scpeters commented Sep 2, 2020

With the implementation merged in #341, I think the update to the proposal in gazebosim/sdf_tutorials#40 will complete this task

@EricCousineau-TRI EricCousineau-TRI changed the title Should support nested canonical links for libsdformat9 Should support nested canonical links for libsdformat (implicit for 9, implicit+explicit for 10/11) Sep 3, 2020
@EricCousineau-TRI EricCousineau-TRI changed the title Should support nested canonical links for libsdformat (implicit for 9, implicit+explicit for 10/11) Should support nested canonical links for libsdformat (implicit for 9/10, implicit+explicit for 11) Sep 3, 2020
@EricCousineau-TRI
Copy link
Collaborator Author

PR: #355

@EricCousineau-TRI
Copy link
Collaborator Author

To clarify, explicit nesting will come as part of #293. This issue will be closed before then, but the proposal will help track this feature.

scpeters added a commit to scpeters/sdformat that referenced this issue Oct 30, 2020
This extends the `Model::*NameExists` and `Model::*ByName` APIs
(like LinkNameExists and LinkByName) that allow passing
nested names that can begin with a sequence of nested model
names separated by :: and may end with the name of an object
of the specified type, such as "outer_model::inner_model::inner_joint".

For now, if a nested model is not found that matches the nested name
preceding the final ::, then it checks for objects in the current model
that match the entire name. This extra check should be disabled
when "::" is reserved and not allowed in frame names.

Add test showing that Model::ModelByName and Model::ModelNameExists
have trouble with model names that contain "::" with TODO
comments to remind that they should be fixed.

* README: note master is unstable development branch

Split nested_invalid_explicit_canonical_link.sdf
into nested_explicit_canonical_link.sdf and
nested_without_links_invalid.sdf and update tests
to expect that nested_explicit_canonical_link.sdf is valid.

Part of gazebosim#342.

Signed-off-by: Steve Peters <scpeters@openrobotics.org>
scpeters added a commit that referenced this issue Oct 30, 2020
This extends the `Model::*NameExists` and `Model::*ByName` APIs
(like LinkNameExists and LinkByName) that allow passing
nested names that can begin with a sequence of nested model
names separated by :: and may end with the name of an object
of the specified type, such as "outer_model::inner_model::inner_joint".

For now, if a nested model is not found that matches the nested name
preceding the final ::, then it checks for objects in the current model
that match the entire name. This extra check should be disabled
when "::" is reserved and not allowed in frame names.

Add test showing that Model::ModelByName and Model::ModelNameExists
have trouble with model names that contain "::" with TODO
comments to remind that they should be fixed.

* README: note master is unstable development branch

Split nested_invalid_explicit_canonical_link.sdf
into nested_explicit_canonical_link.sdf and
nested_without_links_invalid.sdf and update tests
to expect that nested_explicit_canonical_link.sdf is valid.

Part of #342.

Signed-off-by: Steve Peters <scpeters@openrobotics.org>
@scpeters
Copy link
Member

scpeters commented Dec 2, 2020

I think this has been finished

@scpeters scpeters closed this as completed Dec 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants