From 983e8fae73ace20897c97dffacbd00fb0ec01ccc Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Thu, 3 Dec 2020 10:39:48 -0600 Subject: [PATCH 1/2] Make sdf::Model::CanonicalLinkAndRelativeName public (#426) This member function is the only way to obtain the relative name of the canonical link when the link is implicitly nested, i.e, the //model/@canonical_link attribute is empty and the canonical link resolves to a link nested in a child model. While `sdf::Model::CanonicalLink` can be used to resolve the link, the returned `sdf::Link*` can only provide the local (non-relative) name of the link. Signed-off-by: Addisu Z. Taddese --- Migration.md | 3 +++ include/sdf/Model.hh | 19 +++++++------------ 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/Migration.md b/Migration.md index 313586594..fa25735bd 100644 --- a/Migration.md +++ b/Migration.md @@ -20,6 +20,9 @@ but with improved human-readability.. + Errors ResolveChildLink(std::string&) const + Errors ResolveParentLink(std::string&) const +1. **sdf/Model.hh**: + + std::pair CanonicalLinkAndRelativeName() const; + ### Modifications 1. **sdf/Model.hh**: the following methods now accept nested names relative to diff --git a/include/sdf/Model.hh b/include/sdf/Model.hh index b581aa9f2..96885ac45 100644 --- a/include/sdf/Model.hh +++ b/include/sdf/Model.hh @@ -314,6 +314,13 @@ namespace sdf /// \param[in] _name Name of the placement frame. public: void SetPlacementFrameName(const std::string &_name); + /// \brief Get the model's canonical link and the nested name of the link + /// relative to the current model, delimited by "::". + /// \return An immutable pointer to the canonical link and the nested + /// name of the link relative to the current model. + public: std::pair CanonicalLinkAndRelativeName() + const; + /// \brief Give the scoped PoseRelativeToGraph to be used for resolving /// poses. This is private and is intended to be called by Root::Load or /// World::SetPoseRelativeToGraph if this is a standalone model and @@ -330,24 +337,12 @@ namespace sdf private: void SetFrameAttachedToGraph( sdf::ScopedGraph _graph); - /// \brief Get the model's canonical link and the nested name of the link - /// relative to the current model, delimited by "::". - /// \return An immutable pointer to the canonical link and the nested - /// name of the link relative to the current model. - private: std::pair CanonicalLinkAndRelativeName() - const; - /// \brief Allow Root::Load, World::SetPoseRelativeToGraph, or /// World::SetFrameAttachedToGraph to call SetPoseRelativeToGraph and /// SetFrameAttachedToGraph friend class Root; friend class World; - /// \brief Allow helper function in FrameSemantics.cc to call - /// CanonicalLinkAndRelativeName. - friend std::pair - modelCanonicalLinkAndRelativeName(const Model *); - /// \brief Private data pointer. private: ModelPrivate *dataPtr = nullptr; }; From 28e16c88267d8a6005298ae93a7b116b231443be Mon Sep 17 00:00:00 2001 From: Louise Poubel Date: Wed, 9 Dec 2020 19:24:14 -0800 Subject: [PATCH 2/2] Add contributing guide and code of conduct (#431) Signed-off-by: Louise Poubel --- CODE_OF_CONDUCT.md | 76 ++++++++++++++++++++++++++++++++++++++++++++++ CONTRIBUTING.md | 3 ++ 2 files changed, 79 insertions(+) create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..820e43fdb --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,76 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project +and our community a harassment-free experience for everyone, regardless of +age, body size, disability, ethnicity, sex characteristics, gender identity +and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at [https://ignitionrobotics.org/support](https://ignitionrobotics.org/support). All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..0a9fb33a7 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,3 @@ +See the +[Ignition Robotics contributing guide](https://ignitionrobotics.org/docs/all/contributing) +for how to contribute to SDFormat.